"Rank","Song","Artist","Year","Lyrics","Source"
1,"wooly bully","sam the sham and the pharaohs",1965,"sam the sham miscellaneous wooly bully wooly bully sam the sham  the pharaohs  domingo samudio uno dos one two tres quatro matty told hatty about a thing she saw had two big horns and a wooly jaw wooly bully wooly bully wooly bully wooly bully wooly bully hatty told matty lets dont take no chance lets not belseven come and learn to dance wooly bully wooly bully wooly bully wooly bully wooly bully matty told hatty thats the thing to do get you someone really to pull the wool with you wooly bully wooly bully wooly bully wooly bully wooly bully lseven  the letter l and the number 7 when typed they form a rough square l7 so the lyrics mean lets not be square",3
2,"i cant help myself sugar pie honey bunch","four tops",1965," sugar pie honey bunch you know that i love you i cant help myself i love you and nobody elsein and out my life you come and you go leaving just your picture behind and i kissed it a thousand timeswhen you snap your finger or wink your eye i come arunning to you im tied to your apron strings and theres nothing that i can docant help myself no i cant help myselfsugar pie honey bunch im weaker than a man should be i cant help myself im a fool in love you seewanna tell you i dont love you tell you that were through and ive tried but every time i see your face i get all choked up insidewhen i call your name girl it starts the flame burning in my heart tearing it all apart no matter how i try my love i cannot hidecause sugar pie honey bunch you know that im weak for you cant help myself i love you and nobody elsesugar pie honey bunch do anything you ask me to cant help myself i want you and nobody elsesugar pie honey bunch you know that i love you i cant help myself i cant help myself ",1
3,"i cant get no satisfaction","the rolling stones",1965,"  ",1
4,"you were on my mind","we five",1965," when i woke up this morning you were on my mind and you were on my mind i got troubles whoaoh i got worries whoaoh i got wounds to bind so i went to the corner just to ease my pains yeah just to ease my pains i got troubles whoaoh i got worries whoaoh i came home again when i woke up this morning you were on my miiiind and you were on my mind i got troubles whoaoh i got worries whoaoh i got wounds to bind and i got a feelin down in my shooooooes said way down in my shooooes yeah i got to ramble whoaoh i got to move on whoaoh i got to walk away my blues when i woke up this morning you were on my mind you were on my mind i got troubles whoaoh i got worries whoaoh i got wounds to bind ",1
5,"youve lost that lovin feelin","the righteous brothers",1965," you never close your eyes anymore when i kiss your lips and theres no tenderness like before in your fingertips youre trying hard not to show it but baby baby i know ityou lost that lovin feelin whoa that lovin feelin you lost that lovin feelin now its gone gone gone wohnow theres no welcome look in your eyes when i reach for you and now youre starting to criticize little things i do it makes me just feel like crying cause baby something beautifuls dyinyou lost that lovin feelin whoa that lovin feelin you lost that lovin feelin now its gone gone gone wohbaby baby id get down on my knees for you if you would only love me like you used to do yeah we had a love a love a love you dont find everyday so dont dont dont dont let it slip awaybaby baby baby baby i beg you please please please please i need your love need your love i need your love i need your love so bring it on back so bring it on back bring it on back bring it on backbring back that lovin feelin whoa that lovin feelin bring back that lovin feelin cause its gone gone gone and i cant go on wohbring back that lovin feelin whoa that lovin feelin bring back that lovin feelin cause its gone gone gone ",1
6,"downtown","petula clark",1965," when youre alone and life is making you lonely you can always go downtown when youve got worries all the noise and the hurry seems to help i know downtownjust listen to the music of the traffic in the city linger on the sidewalk where the neon signs are pretty how can you lose the lights are much brighter there you can forget all your troubles forget all your caresso go downtown things will be great when youre downtown no finer place for sure downtown every things waiting for youdont hang around and let your problems surround you there are movie shows downtown maybe you know some little places to go to where they never close downtownjust listen to the rhythm of a gentle bossa nova youll be dancing with em too before the night is over happy again the lights are much brighter there you can forget all your troubles forget all your caresso go downtown where all the lights are bright downtown waiting for you tonight downtown youre gonna be alright nowdowntownand you may find somebody kind to help and understand you someone who is just like you and needs a gentle hand to guide them along so maybe ill see you there we can forget all our troubles forget all our caresso go downtown things will be great when youre downtown dont wait a minute more downtown everything is waiting for you downtown downtown downtown downtown ",1
7,"help","the beatles",1965,"help i need somebody help not just anybody help you know i need someone help when i was younger so much younger than today i never needed anybodys help in any way but now these days are gone im not so selfassured now i find ive changed my mind and opened up the doors help me if you can im feeling down and i do appreciate you being round help me get my feet back on the ground wont you please please help me and now my life has changed in oh so many ways my independence seems to vanish in the haze but every now and then i feel so insecure i know that i just need you like ive never done before help me if you can im feeling down and i do appreciate you being round help me get my feet back on the ground wont you please please help me when i was younger so much younger than today i never needed anybodys help in any way but now these days are gone im not so selfassured now i find ive changed my mind ive opened up the doors help me if you can im feeling down and i do appreciate you being round help me get my feet back on the ground wont you please please help me help me help me ooo",3
8,"cant you hear my heart beat","hermans hermits",1965,"carterlewis every time i see you lookin my way baby baby cant you hear my heartbeat in the car or walking down the highway baby baby cant you hear my heartbeat when you move up closer to me i get a feelin thats ooowee cant you hear the poundin of my heartbeat cause youre the one i love youre the one i love when i feel you put your arms around me baby baby cant you hear my heartbeat then im glad im mighty glad i found you baby baby cant you hear my heartbeat when you asked me to meet your ma i knew that baby wed be going far cant you hear the poundin of my heartbeat cause youre the one i love youre the one i love  rhythm guitar  all my friends are cryin out to meet you baby baby cant you hear my heartbeat nows the time to go and see the preacher baby baby cant you hear my heartbeat wedding bells are gonna chime baby baby youre gonna be mine cant you hear the poundin of my heartbeat cause youre the one i love youre the one i love baby baby cant you hear my heartbeat baby baby cant you hear my heartbeat baby baby cant you hear my heartbeat",5
9,"crying in the chapel","elvis presley",1965," you saw me crying in the chapel the tears i shed were tears of joy i know the meaning of contentment i am happy with the lordjust a plain and simple chapel where all bumble people go to pray i prayed the lord that ill grow stronger as i live from day to dayi searched i searched and i searched i searched but i couldnt find no way on earth to gain peace of mindnow im happy in the chapel where people are of one accord one accord yes we gather in the chapel just to sing and praise the lordyoull search and youll search but youll never find no way on earth to find peace of mindtake your troubles to the chapel get down on your knees and pray then your burdens will be lighter and youll surely find the way and youll surely find the way ",1
10,"my girl","the temptations",1965,"ive got sunshine on a cloudy day when its cold outside ive got the moth of may well i guess you say what can make me feel this way my girl talkin bout my girl my girl ive got so much honey the bees envy me ive got a sweeter song than the birds in the trees well i guess you say what can make me feel this way my girl talkin bout my girl my girl i dont need no money fortune or fame i got all the riches baby one man can claim well i guess you say what can make me feel this way my girl talkin bout my girl my girl i got sunshine on a cloudy day with my girl ive even got the month of may with my girl talkin bout talkin bout my girl my girl all i can talk about is my girl my girl",3
11,"help me rhonda","the beach boys",1965,"well since she put me down i ve been out doin in my head come in late at night and in the mornin i just lay in bed well rhonda you look so fine look so fine and i know it wouldnt take much time for you to help me rhonda help me get her out of my heart help me rhonda help help me rhonda help me rhonda help help me rhonda help me rhonda help help me rhonda help me rhonda help help me rhonda help me rhonda help help me rhonda help me rhonda help help me rhonda help me rhonda yeah get her out of my heart she was gonna be my wife and i was gonna be her man but she let another guy come between us and it ruined our plan well rhonda you caught my eye caught my eye and i can give you lotsa reasons why you gotta help me rhonda help me get her out of my heart help me rhonda help help me rhonda help me rhonda help help me rhonda help me rhonda help help me rhonda help me rhonda help help me rhonda help me rhonda help help me rhonda help me rhonda help help me rhonda help me rhonda yeah get her out of my heart help me rhonda help help me rhonda help me rhonda help help me rhonda help me rhonda help help me rhonda help me rhonda help help me rhonda help me rhonda help help me rhonda help me rhonda help help me rhonda help me rhonda yeah get her out of my heart help me rhonda help help me rhonda help me rhonda help help me rhonda help me rhonda help help me rhonda help me rhonda help help me rhonda",3
12,"king of the road","roger miller",1965," trailer for sale or rent rooms to let fifty cents no phone no pool no pets i aint got no cigarettes ah but two hours of pushin broom buys an eight by twelve fourbit room im a man of means by no means king of the roadthird boxcar midnight train destination bangor maine old worn out clothes and shoes i dont pay no union dues i smoke old stogies i have found short but not too big around im a man of means by no means king of the roadi know every engineer on every train all of their children and all of their names and every handout in every town and every lock that aint locked when no ones aroundi sing trailers for sale or rent rooms to let fifty cents no phone no pool no pets i aint got no cigarettes ah but two hours of pushin broom buys an eight by twelve fourbit room im a man of means by no means king of the road ",1
13,"the birds and the bees","jewel akens",1965,"let me tell ya bout the birds and the bees and the flowers and the trees and the moon up above and a thing called love let me tell ya bout the stars in the sky and a girl and a guy and the way they could kiss on a night like this when i look into your big brown eyes its so very plain to see that its time you learned about the facts of life starting from a to z let me tell ya bout the birds and the bees and the flowers and the trees and the moon up above and a thing called love yeah when i look into your big brown eyes its so very plain to see that its time you learned about the facts of life starting from a to z let me tell ya bout the birds and the bees and the flowers and the trees and the moon up above and a thing called love let me tell ya bout the birds and the bees and the flowers and the trees and the birds and the bees and the flowers and the trees bout the birds and the bees and the bees and the bees ",3
14,"hold me thrill me kiss me","mel carter",1965," hold me hold me never let me go until youve told me told me what i want to know and then just hold me hold me make me tell you im in love with you thrill me thrill me thrill me thrill me walk me down the lane where shadows will be will be will be will be hiding lovers just the same as well be well be when you make me tell you i love you they told me be sensible with your new love dont be fooled thinking this is the last youll find but they never stood in the dark with you love when you take me in your arms and drive me slowly out of my mind kiss me kiss me kiss me kiss me and when you do ill know that you will miss me miss me miss me miss me if we ever say adieu so kiss me kiss me make me tell you im in love with you kiss me kiss me kiss me kiss me when you do ill know that you will miss me miss me miss me miss me if we ever say adieu so kiss me kiss me make me tell you im in love with you hold me thrill me never never never let me go never never never let me go hold me thrill me never never never let me go never never never let me go fade ",1
15,"shotgun","junior walker  the all stars",1965,"i said ̢shotgun shoot em for he runs now do the jerk baby do the jerk now hey̢ put on your red dress and then you go downtown now i said ̢buy yourself a shotgun now were gonna break it down baby now were gonna load it up baby now and then you shoot him for he runs now̢ shotgun shoot em for he runs now do the jerk baby do the jerk now hey put on your high heels shoes i said were goin down here listen to em play blues were gonna dig potatoes were gonna pick tomatoes i said ̢shotgun shoot em for he runs now do the jerk baby do the jerk now hey̢ i said ̢its twine time̢ i said ̢its twine time̢ i said ̢its twine time̢ hey",3
16,"i got you babe","sonny  cher",1965,"they say were young and we dont know we wont find out until we grow well i dont know if all thats true cause you got me and baby i got you babe i got you babe i got you babe they say our love wont pay the rent before its earned our moneys all been spent i guess thats so we dont have a pot but at least im sure of all the things we got babe i got you babe i got you babe i got flowers in the spring i got you to wear my ring and when im sad youre a clown and if i get scared youre always around dont let them tell your hairs too long cause i dont care with you i cant go wrong then put your little hand in mine there aint no hill or mountain we cant climb babe i got you babe i got you babe i got you to hold my hand i got you to understand i got you to walk with me i got you to talk with me i got you to kiss goodnight i got you to hold me tight i got you i wont let go i got you to love me so i got you babe i got you babe i got you babe ",3
17,"this diamond ring","gary lewis  the playboys",1965,"who wants to buy this diamond ring she took it off her finger now it doesnt mean a thing this diamond ring doesnt shine for me anymore and this diamond ring doesnt mean what it did before so if youve got someone whose love is true let it shine for you this stone is genuine like love should be and if your babys truer than my baby was to me this diamond ring can mean something beautiful and this diamond ring can mean dreams that are coming true and then your heart wont have to break like mine did if theres love behind it this diamond ring can mean something beautiful and this diamond ring can be dreams that are coming true and then your heart wont have to break like mine did if theres love behind it this diamond ring doesnt shine for me anymore and this diamond ring doesnt mean what it did before so if youve got someone whose love is true let it shine for you",3
18,"the in crowd","ramsey lewis trio",1965,"instrumental",3
19,"mrs brown youve got a lovely daughter","hermans hermits",1965," mrs brown youve got a lovely daughter girls as sharp as her are somethin rare but its sad she doesnt love me now shes made it clear enough it aint no good to pineshe wants to return those things i bought her tell her she can keep them just the same things have changed she doesnt love me now shes made it clear enough it aint no good to callwalkin about even in a crowd well youll pick her out makes a bloke feel so proudif she finds that ive been round to see you tell her that im well and feelin fine dont let on dont say she broke my heart id go down on my knees but its no good to pinewalkin about even in a crowd well youll pick her out makes a bloke feel so proudif she finds that ive been round to see you tell her that im well and feelin fine dont let on dont say she broke my heart id go down on my knees but its no good to pinemrs brown youve got a lovely daughter mrs brown youve got a lovely daughter mrs brown youve got a lovely daughter  ",1
20,"stop in the name of love","the supremes",1965," stop in the name of love before you break my heartbaby baby im aware of where you go each time you leave my door i watch you walk down the street knowing your other love youll meet but this time before you run to her leaving me alone and hurt think it over after ive been good to you think it over after ive been sweet to youstop in the name of love before you break my heart stop in the name of love before you break my heart think it over think it overive known of your your secluded nights ive even seen her maybe once or twice but is her sweet expression worth more than my love and affection but this time before you leave my arms and rush off to her charms think it over havent i been good to you think it over havent i been sweet to youstop in the name of love before you break my heart stop in the name of love before you break my heart think it over think it overive tried so hard hard to be patient hoping youd stop this infatuation but each time you are together im so afraid ill be losing you foreverstop in the name of love before you break my heart stop in the name of love before you break my heart stop in the name of love ",1
21,"unchained melody","the righteous brothers",1965," oh my love my darling ive hungered for your touch a long lonely time time goes by so slowly and time can do so much are you still mine i need your love i need your love god speed your love to me    meaning  byamandah   editor    written in 1955 unchained melody has become one of the mostrecorded songs of the 20th centurythe righteous brothers version remaining probably the most    see all   lonely rivers flow to the sea to the sea to the open arms of the sea lonely rivers sigh wait for me wait for me ill be coming home wait for meoh my love my darling ive hungered for your touch a long lonely time time goes by so slowly and time can do so much are you still mine i need your love i need your love god speed your love to me lonely mountains gaze at the stars at the stars waiting for the dawn of the dayall alone i gaze at the stars at the stars dreaming of my love far away ",1
22,"silhouettes","hermans hermits",1965," slaycrewetook a walk and passed your house late last night all the shades were pulled and drawn way down tight from within the dim light cast two silhouettes on the shade oh what a lovely couple they madeput his arms around your waist held you tight kisses i could almost taste in the night wondered why im not the guy whos silhouettes on the shade i couldnt hide the tears in my eyesahahahahah ahahahahah lead guitar lost control and rang your bell i was sore let me in or else ill beat down your door when two strangers who have been two silhouettes on the shade said to my shock youre on the wrong blockrushed down to your house with wings on my feet loved you like id never loved you my sweet vowed that you and i would be two silhouettes on the shade all of our days two silhouettes on the shadeahahahahah ahahahahah ",1
23,"ill never find another you","the seekers",1965," theres a new world somewhere they call the promised land and ill be there someday if you will hold my handi still need you there beside me no matter what i do for i know ill never find another youthere is always someone for each of us they say and youll be my someone forever and a dayi could search the whole world over until my life is through but i know ill never find another youits a long long journey so stay by my side when ill walk through the storm youll be my guide be my guideif they gave me a fortune my pleasure would be small i could lose it all tomorrow and never mind at allbut if i should lose your love dear i dont know what id do for i know ill never find another youbut if i should lose your love dear i dont know what id do for i know ill never find another you another you another you ",1
24,"cara mia","jay and the americans",1965,"mantovani cara mia why must we say goodbye each time we part my heart wants to die darling hear my prayer cara mia fair ill be your love till the end of time cara mia mine cara mia mine cara mia mine cara mia mine cara mia why must we say goodbye each time we part my heart wants to die darling hear my prayer cara mia fair ill be your love till the end of time cara mia mine cara mia mine cara mia mine cara mia mine oh oh oh oh oh oh oh oh oh oh each time we part my heart wants to die darling hear my prayer cara mia fair ill be your love till the end of time cara mia mine cara mia mine cara mia mine cara mia mine cara mia mine cara mia mine cara mia mine cara mia mine",3
25,"mr tambourine man","the byrds",1965," hey mr tambourine man play a song for me im not sleepy and there aint no place im going to hey mr tambourine man play a song for me in the jingle jangle morning ill come followin youtake me for a trip upon your magic swirling ship all my senses have been stripped and my hands cant feel to grip and my toes too numb to step wait only for my boot heels to be wanderingim ready to go anywhere im ready for to fade into my own parade cast your dancing spell my way i promise to go under ithey mr tambourine man play a song for me im not sleepy and there aint no place im going to hey mr tambourine man play a song for me in the jingle jangle morning ill come followin you ",1
26,"cast your fate to the wind","sounds orchestral",1965,"a month of nights a year of days octobers drifting into mays i set my sail when the tide comes in i just cast my fate to the wind i shift my course along the breeze wont sail upwind on memories the empty sky is my best friend i just cast my fate to the wind a month of nights a year of days octobers drifting into mays i set my sail when the tide comes in i just cast my fate to the wind",3
27,"yes im ready","barbara mason",1965,"are you ready yes im ready are you ready yes im ready i dont even know how to love you just the way you want me to but im ready ready to learn yes im ready ready to learn to fall in love to fall in love to fall in love with you i dont even know how to hold your hand just to make you understand but im ready ready to learn yes im ready ready to learn to hold your hand and make you understand to hold your hand right now i dont even know how to kiss your lips kiss your lips at a moment like this but im going to learn how to do all the things you want me to are you ready yes im ready are you ready yes im ready to fall in love to fall in love to fall in love right now are you ready yes im ready are you ready yes im ready to kiss me yes im ready to love me to kiss you to love you to hug you baby im ready",5
28,"whats new pussycat","tom jones",1965," whats new pussycat woah woah whats new pussycat woah woahpussycat pussycat ive got flowers and lots of hours to spend with you so go and powder your cute little pussycat nosepussycat pussycat i love you yes i do you and your pussycat nosewhats new pussycat woah woah whats new pussycat woah woahpussycat pussycat youre so thrilling and im so willing to care for you so go and make up your big little pussycat eyespussycat pussycat i love you yes i do you and your pussycat eyeswhats new pussycat woah woah whats new pussycat woah woahpussycat pussycat youre delicious and if my wishes can all come true ill soon be kissing your sweet little pussycat lipspussycat pussycat i love you yes i do you and your pussycat lips you and your pussycat eyes you and your pussycat nose ",1
29,"eve of destruction","barry mcguire",1965," the eastern world it is explodin violence flarin bullets loadin youre old enough to kill but not for votin you dont believe in war but whats that gun youre totin and even the jordan river has bodies floatinbut you tell me over and over and over again my friend ah you dont believe were on the eve of destructiondont you understand what im trying to say cant you feel the fears that im feeling today if the button is pushed theres no running away therell be none to save with the world in a grave take a look around you boy its bound to scare you boyand you tell me over and over and over again my friend ah you dont believe were on the eve of destructionyeah my bloods so mad feels like coagulatin im sittin here just contemplatin i cant twist the truth it knows no regulation handful of senators dont pass legislationand marches alone cant bring integration when human respect is disintegratin this whole crazy world is just too frustratinand you tell me over and over and over again my friend ah you dont believe were on the eve of destructionthink of all the hate there is in red china then take a look around to selma alabama ah you may leave here for four days in space but when you return its the same old placethe poundin of the drums the pride and disgrace you can bury your dead but dont leave a trace hate your next door neighbor but dont forget to say graceand tell me over and over and over and over again my friend you dont believe were on the eve of destruction no no you dont believe were on the eve of destruction ",1
30,"hang on sloopy","the mccoys",1965,"hang on sloopy sloopy hang on hang on sloopy sloopy hang on sloopy lives in a very bad part of town and everybody there tries to put my sloopy down sloopy i dont care what your daddy do cause you know sloopy girl im in love with you and so im singing yeah yeah yeah yeah sloopy let your hair down girl let it run down on me sloopy let your hair down girl let it run down on me come on sloopy come on come on come on sloopy come on come on well come on sloopy come on come on well come on sloopy come on come on well it feels so good come on come on you know it feels so good come on come on well shake it shake it shake it sloopy come on come on well shake it shake it shake it yeah yeah yeah yeah yeah yeah",3
31,"ticket to ride","the beatles",1965,"i think im gonna be sad i think its today yeah the girl thats driving me mad is going away shes got a ticket to ride shes got a ticket to ride shes got a ticket to ride but she dont care she said that living with me is bringing her down yeah for she would never be free when i was around shes got a ticket to ride shes got a ticket to ride shes got a ticket to ride but she dont care i dont know why shes riding so high she ought to think twice she ought to do right by me before she gets to saying goodbye she ought to think twice she ought to do right by me i think im gonna be sad i think its today yeah the girl thats driving me mad is going away yeah oh shes got a ticket to ride shes got a ticket to ride shes got a ticket to ride but she dont care i dont know why shes riding so high she ought to think twice she ought to do right by me before she gets to saying goodbye she ought to think twice she ought to do right by me she said that living with me was bringing her down yeah for she would never be free when i was around oh shes got a ticket to ride shes got a ticket to ride shes got a ticket to ride but she dont care my baby dont care my baby dont care my baby dont care my baby dont care my baby dont care my baby dont care",3
32,"red roses for a blue lady","bert kaempfert",1965,"i want some red roses for a blue lady mister florist take my order please we had a silly quarrel the other day i hope these pretty flowers chase her blues away i want some red roses for a blue lady send them to the sweetest gal in town and if they do the trick ill hurry back to pick your best white orchid for her wedding gown i want some red roses for a blue lady we had a silly quarrel the other day i hope these pretty flowers chase her blues away i want some red roses for a blue blue lady send them to the sweetest gal in town and if they do the trick ill hurry back to pick your best white orchid for her wedding gown your best white orchid for her wedding gown",3
33,"papas got a brand new bag","james brown",1965," come here sister papas in the swing he aint too hip about that new breed babe he aint no drag papas got a brand new bagcome here mama and dig this crazy scene hes not too fancy but his line is pretty clean he aint no drag papas got a brand new baghes doing the jerk hes doing the fly dont play him cheap cause you know he aint shy hes doing the monkey the mashed potatoes jump back jack see you later alligatorcome here sister papas in the swing he aint too hip now but i can dig that new breed babe he aint no drag hes got a brand new bag ",1
34,"game of love","wayne fontana  the mindbenders",1965,"the purpose of a man is to love a woman and the purpose of a woman is to love a man so come on baby lets start today come on baby lets play the game of love love la la la la la love it started long ago in the garden of eden when adam said to eve baby youre for me so come on baby lets start today come on baby lets play the game of love love la la la la la love come on baby cause the time is right love your daddy with all your might put your arms around me hold me tight play the game of love the purpose of a man is to love a woman and the purpose of a woman is to love a man so come on baby lets start today come on baby lets play the game of love love la la la la la love come on baby cause the time is right love your daddy with all your might put your arms around me hold me tight play the game of love the purpose of a man is to love a woman and the purpose of a woman is to love a man so come on baby lets start today come on baby lets play the game of love love la la la la la love the game of love baby the game of la la la la love the game of love baby the game of la la la la love the game of love baby",3
35,"the name game","shirley ellis",1965,"shirley ellis miscellaneous the name game the name game shirley  shirley shirley bo birley bonana fanna fo firley  fee fy mo mirley shirley lincoln  lincoln lincoln bo bincoln bonana fanna fo fincoln  fee fy mo mincoln lincoln come on everybody i say now lets play a game i betcha i can make a rhyme out of anybodys name the first letter of the name i treat it like it wasnt there but a b or an f or an m will appear and then i say bo add a b then i say the name and bonana fanna and a fo and then i say the name again with an f very plain  and a fee fy and a mo and then i say the name again with an m this time  and there isnt any name that i cant rhyme arnold  arnold arnold bo barnold bonana fanna fo farnold  fee fy mo marnold arnold but if the first two letters are ever the same  i drop them both and say the name like  bob bob drop the bs bo ob  for fred fred drop the fs fo red  for mary mary drop the ms mo ary  thats the only rule that is contrary okay now say bo bo  now tony with a b bony then bonana fanna fo bonana fanna fo then you say the name again with an f very plain fony then a fee fy and a mo fee fy mo then you say the name again with an m this time mony and there isnt any name that you cant rhyme every body do tony pretty good lets do billy very good lets do marsha a little trick with nick the name game",3
36,"i know a place","petula clark",1965," every day when the work is behind you and the shop and the store put the lock on the door just get away where your worries wont find you if you like well ill tell you moredont let the day get the better of you when the evening comes theres so much to do you better put on your best and wear a smile just come along with me awhile cuz i tell youi know a place where the music is fine and the lights are always low i know a place where we can goat the door theres a man who will greet you then you go downstairs to some tables and chairs soon im sure youll be tappin your feet because the beat is the greatest thereall around there are girls and boys its a swingin place a cellar full of noise its got an atmosphere of its own somehow you gotta come along right now cuz i tell youi know a place where the music is fine and the lights are always low i know a place where we can gowell all around there are girls and boys its a swingin place a cellar full of noise its got an atmosphere of its own somehow you gotta come along right now cuz i tell youi know a place where the music is fine and the lights are always low i know a place where we can goi know a place where we can go i know a place where the lights are low youre gonna love this place i know i know a place where we can go i know a place where the lights are low ",1
37,"back in my arms again","the supremes",1965," ooooohall day long i hear my telephone ring friends calling giving their advice from the boy i love i should break away cause heartaches hell bring one dayi lost him once through friends advice but its not gonna happen twice cause all advice ever gotten me was really long and sleepless nights ooooohbut now hes back in my arms again right by my side i got him back in my arms again so satisfied ooooohits easy for friends to say let him go but im the one who needs him so its his love that makes me strong without him i cant go onthis time ill live my life at ease being happy loving whom i please and each time we make romance ill be thankful for a second chance ooooohcause hes back in my arms again right by my side i got him back in my arms again so satisfied ooooohhow can mary tell me what to do when she lost her love so true and flo she dont know cause the boy she loves is a romeoi listened once to my friends advice but its not gonna happen twice cause all advice ever gotten me was really long and sleepless nights ooooohi got him back in my arms again right by my side i got him back in my arms again so satisfied ooooohim satisfied so satisfied im satisfied im satisfied so satisfied ",1
38,"baby im yours","barbara lewis",1965," baby im yours and ill be yours until the stars fall from the sky yours until the rivers all run dry in other words until i die baby im yours and ill be yours until the sun no longer shines yours until the poets run out of rhyme in other words until the end of time im gonna stay right here by your side do my best to keep you satisfied nothing in this world can drive me away cause every day youll hear me say baby im yours and ill be yours until two and two is three yours until the mountain crumbles to the sea in other words until eternity baby im yours till the stars fall from the sky baby im yours till the rivers all run dry baby im yours till the poets run out of rhyme baby im yours ",1
39,"the jolly green giant","the kingsmen",1965,"in the valley of the jolly heard about the jolly green giant potatoes hes so big and mean artichoke hearts well he stands there laughin with his hands on his hips and then he hits you with a can of beans well he lives down there in his valley brussels sprouts the cat stands tall and green spinach well he aint no prize and theres no women his size and thats why the cats so mean one day he left his valley pad i mean to say this cat was mad now lookin round he was incomprehensible and then he ran into an amazon well this changed his whole complexion broccoli he had never seen such a beautiful sight corn then he looked at her and she looked at him and she almost passed out from fright he looked at her thought what a dilly he touched her once she slapped him silly this was something he had never sensed he looked at her as she commenced now listen pal this aint no fluke i cant see goin with a big green kook youve heard about the jolly green giant   eggplant dont let his troubles cross your mind celery stalks he couldnt get sally so went back to his valley the cat was colorblind carrots canned beans",3
40,"hush hush sweet charlotte","patti page",1965," hush hush sweet charlotte charlotte dont you cry hush hush sweet charlotte hell love you till he diesoh hold him darling please hold him tight and brush the tear from your eyes you weep because you had a dream last night you dreamed that he said goodbyehe held two roses within his hand two roses he gave to you the red rose tells you of his passion the white rose his love so truehush hush sweet charlotte charlotte dont you cry hush hush sweet charlotte hell love you till he diesand every night after he shall die yes every night when hes gone the wind will sing to you this lullaby sweet charlotte was loved by johnhush hush sweet charlotte charlotte dont you cry hush hush sweet charlotte hell love you till he dies ",1
41,"like a rolling stone","bob dylan",1965," once upon a time you dressed so fine threw the bums a dime in your prime didnt you people call say beware doll youre bound to fall you thought they were all kidding you you used to laugh about everybody that was hanging out now you dont talk so loud now you dont seem so proud about having to be scrounging your next mealhow does it feel how does it feel to be without a home like a complete unknown like a rolling stoneahh youve gone to the finest schools alright miss lonely but you know you only used to get juiced in it nobodys ever taught you how to live out on the street and now youre gonna have to get used to it you say you never compromise with the mystery tramp but now you realize hes not selling any alibis as you stare into the vacuum of his eyes and say do you want to make a dealhow does it feel how does it feel to be on your own with no direction home a complete unknown like a rolling stoneah you never turned around to see the frowns on the jugglers and the clowns when they all did tricks for you you never understood that it aint no good you shouldnt let other people get your kicks for you you used to ride on a chrome horse with your diplomat who carried on his shoulder a siamese cat aint it hard when you discovered that he really wasnt where its at after he took from you everything he could stealhow does it feel how does it feel to have on your own with no direction home like a complete unknown like a rolling stoneahh princess on a steeple and all the pretty people theyre all drinking thinking that theyve got it made exchanging all precious gifts but you better take your diamond ring you better pawn it babe you used to be so amused at napoleon in rags and the language that he used go to him he calls you you cant refuse when you aint got nothing you got nothing to lose youre invisible now youve got no secrets to concealhow does it feel ah how does it feel to be on your own with no direction home like a complete unknown like a rolling stone ",1
42,"im telling you now","freddie and the dreamers",1965,NA,NA
43,"ferry cross the mersey","gerry and the pacemakers",1965,"gerry miscellaneous ferry cross the mersey ferry cross the mersey gerry and pace makers gerry marsden life goes on day after day hearts torn in every way so ferry cross the mersey cause this lands the place i love and here ill stay people they rush everywhere each with their own secret care so ferry cross the mersey and always take me there the place i love people around every corner they seem to smile and say we dont care what your name is boy well never turn you away so ill continue to say here i always will stay so ferry cross the mersey cause this lands the place i love and here ill stay and here ill stay here ill stay",3
44,"just once in my life","the righteous brothers",1965," theres alot of things i want a lot of things that id like to be but girl i dont forsee a ragstoriches story for me theres just one little dream ive got to come true theres just one round ive gotta win i cant be a loser with youbaby baby once in my life let me get what i want girl dont let me down just once in my life let me hold on to one good thing i found dont let me down baby say that youll be stayincause i couldnt face a day if you werent here by my side if you went away then id be left without any pride ive given up on schemes cause all of them fell through ive given up so many things dont ask me to give up on youbaby baby once in my life let me get what i want girl dont let me down just once in my life let me hold on to one good thing i found dont let me down baby say that youll be stayinthat old pot of gold aint so easy to find but if you stand by me ill keep my peace of mind i cant give you the world but i ill work hard for you girl ill work hard evryday all my life so baby please dont leave me just do this for meonce in my life let me get what i want girl dont let me down just once in my life let me hold on to one good thing i found dont let me down baby say that youll be stayin  ",1
45,"the seventh son","johnny rivers",1965,NA,NA
46,"im henery the eighth i am","hermans hermits",1965,NA,NA
47,"a walk in the black forest","horst jankowski",1965,"original is an instrumental music vocals recorded by salena jones the trees join hands and say hello and suddenly evrywhere we go the sun beams through in fun the  leaves form patterns like a heart and whisper forever never part  be true cause  i love you shadows write words of love across our path birds sing how lucky those whose love just grows together blades of grass stand on and on and chatter together in a calm  thats green and so serene a   memry of our walk   of love in a dream a stream goes by reflecting a message from the sky above and here and there we look around to see other lovers who have found  their way crickets tap out their symphony  in code rabbits run helter skelter finding shelter here and flowers swaying in the breeze look up to the branches of the trees and  sing as  birds take wing all this is true cause i love you",3
48,"for your love","the yardbirds",1965,"for your love for your love for your love id give you everything and more and thats for sure for your love id bring you diamond rings and things right to your door for your love to thrill you with delight id bring you diamonds bright double takes i will excite to make you dream of me at night for your love for your love for your love for your love for your love i would give the stars above for your love for your love i would give you all i could for your love for your love for your love id give the moon if it were mine to give for your love id give the stars and the sun for i live for your love to thrill you with delight id bring you diamonds bright double takes i will excite to make you dream of me at night for your love for your love for your love ",3
49,"california girls","the beach boys",1965,"well east coast girls are hip i really dig those styles they wear and the southern girls with the way they talk they knock me out when im down there the midwest farmers daughter really makes you feel alright and the northern girls with the way they kiss they keep their boyfriends warm at night i wish they all could be california wish they all could be california i wish they all could be california girls the west coast has the sunshine and the girls all get so tan i dig a french bikini on hawiian island dollsby a palm tree in the sand i been all round this great big world and i seen all kinds of girls yeah but i couldnt wait to get back in the states back to the cutest girls in the world i wish they all could be california wish they all could be california i wish they all could be california girls i wish they all could be california wish they all could be california i wish they all could be california girls",3
50,"go now","the moody blues",1965,"weve already said goodbye since you gotta go oh youd better go now go now go now go now before you see me cry i dont want you to tell me just what you intend to do now cause how many times i have to tell you darlin darlin im still in love with you now woah weve already said so long i dont wanna see you go oh you had better go now go now go now go now dont you even try telling me that you really dont want me to end this way yeah but darlin darlin cant you see i want you to stay yeah since you gotta go oh you had better go now go now go now go now before you see me cry i dont want you to tell me just what you intend to do now but how many times do i have to tell you darlin darlin im still in love still in love with you now i dont wanna see you go but darlin youd better go now",3
51,"goldfinger","shirley bassey",1965," goldfinger hes the man the man with the midas touch a spiders touch such a cold finger beckons you to enter his web of sin but dont go ingolden words he will pour in your ear but his lies cant disguise what you fear for a golden girl knows when hes kissed her its the kiss of death from mister goldfinger pretty girl beware of his heart of gold this heart is coldgolden words he will pour in your ear but his lies cant disguise what you fear for a golden girl knows when hes kissed her its the kiss of death from mister goldfinger pretty girl beware of his heart of gold this heart is coldhe loves only gold only gold he loves gold he loves only gold only gold he loves gold ",1
52,"down in the boondocks","billy joe royal",1965," down in the boondocks down in the boondocks people put me down cause thats the side of town i was born in i love her she loves me but i dont fit in her society lord have mercy on the boy from down in the boondocksevry night i watch the lights from the house up on the hill i love a little girl who lives up there and i guess i always will but i dont dare knock on her door cause her daddy is my boss man so i have to try to be content just to see her when ever i candown in the boondocks down in the boondocks people put me down cause thats the side of town i was born in i love her she loves me but i dont fit in her society lord have mercy on the boy from down in the boondocksdown in the boondocks down in the boondocksone fine day ill find the way to move from this old shack ill hold my head up like a king and i never never will look back until that morning ill work and slave and ill save evry dime but tonight shell have to steal away to see me one more timedown in the boondocks down in the boondocks people put me down cause thats the side of town i was born in i love her she loves me but i dont fit in her society lord have mercy on the boy from down in the boondocks lord have mercy on the boy from down in the boondocks lord have mercy on the boy from down in the boondocks ",1
53,"baby the rain must fall","glenn yarbrough",1965,"some men climb the mountains some men swim the seas some men fly above the sky they are what they must be baby the rain must fall baby the wind must blow wherever my heart leads me baby i must go baby i must go i do not love for silver i do not love for gold my heart is mine to give away it never will be sold baby the rain must fall baby the wind must blow wherever my heart leads me baby i must go baby i must go",3
54,"catch us if you can","the dave clark five",1965,"here they come again mmm catch us if you can mmm time to get a move on mmm we will yell with all of our might catch us if you can catch us if you can catch us if you can catch us if you can now we gotta run mmm no more time for fun mmm when were getting angry mmm we will yell with all of our might catch us if you can catch us if you can catch us if you can catch us if you can yeah here they come again mmm catch us if you can mmm time to get a move on mmm we will yell with all of our might catch us if you can catch us if you can catch us if you can catch us if you can",3
55,"eight days a week","the beatles",1965,"ooh i need your love babe guess you know its true hope you need my love babe just like i need you hold me love me hold me love me i aint got nothing but love babe eight days a week love you every day girl always on my mind one thing i can say girl love you all the time hold me love me hold me love me i aint got nothing but love girl eight days a week eight days a week i love you eight days a week is not enough to show i care ooh i need your love babe guess you know its true hope you need my love babe just like i need you oh hold me love me hold me love me i aint got nothing but love babe eight days a week eight days a week i love you eight days a week is not enough to show i care love you every day girl always on my mind one thing i can say girl love you all the time hold me love me hold me love me i aint got nothing but love babe eight days a week eight days a week eight days a week",3
56,"just a little","the beau brummels",1965,"the beau brummels miscellaneous just a little just a little beau brummels ahhhhhhhhhhhhhhhhhhhhhhhh i cant stay yes i know you know i hate to go but goodbye love was sweet i was kind never mean so ill cry just a little cause i love you so and ill die just a little cause i have to go away cant you see how i feel when i say loves unreal so goodbye its been sweet even though incomplete so ill cry just a little cause i love you so and ill die just a little cause i have to go away instrumental interlude every night i still hear oh your sighs very near now its gone gone away as i once heard you say now ill cry just a little cause i love you so and ill die just a little cause i have to go away ahhhhhhhhhhhhhhhhhhhhhhhhh tmazanec1junocom or tom mazanec to humans",3
57,"you turn me on","ian whitcomb",1965,"ian whitcomb miscellaneous you turn me on turn on song you turn me on ian whitcomb come on now honey you know you really turn me on come on now honey you know you really turn me on and when and when you do uh huh huh huh uh uh thats my song come on now baby come on and do the jerk with me come on now honey come on and do the jerk with me and if if you do uh huh huh huh uh uh thats my song break come on now baby you know you really turn me on ah come on now honey you know you really turn me on ah yeah and when and when you do uh huh huh huh uh uh thats my song lets go taken from the 45 from kay w simons",3
58,"ill be doggone","marvin gaye",1965," well ill be doggone if i wouldnt work all day and ill be doggone if i wouldnt bring you my pay baby but if i ever caught you running around blowing my money all over this town then i wouldnt be doggone hey hey id be long gone then i wouldnt be doggone wouldnt be doggone id be long gone mmhmm id be long gone now hey hey heyill be doggone if you aint a pretty thing baby and ill be doggone if you aint warm as a breath of spring baby and if we live to be a hundred years old if you ever let that spring turn cold then i wouldnt be doggone wouldnt be doggone hey hey hey id be long gone id be long gone oh i wouldnt be doggone wouldnt be doggone baby id be long gone id be long gone mmhmm now did you hear me well now what i say oh believe mewell every woman should try to be whatever her man wants her to be and i dont want much all i want from you is for you to be true to meill be doggone if love aint a mans best friend oh baby oh baby and ill be doggone if you aint the loving end baby though i know you make me feel like nobody could if i ever found out that youre no good then i wouldnt be doggone wouldnt be wouldnt be wouldnt be doggone id be long gone id be long gone well i wouldnt be doggone wouldnt be doggone id be long gone id be long gone i wouldnt be doggone wouldnt be doggone catch me a train id be long gone no baby i wouldnt be doggone im gonna catch me a train ",1
59,"save your heart for me","gary lewis  the playboys",1965,"walk along the lake with someone new have yourself a summer fling or two but remember im in love with you and save your heart for me when the summer moon is on the rise and youre dancin under starlit skies please dont let the stars get in your eyes just save your heart for me when youre all alone far away from home someones gonna flirt with you i wont think its wrong if you play along just dont fall for someone new when the autumn winds begin to blow and the summertime is long ago youll be in my arms again i know so save your heart for me darlin save your heart for me please remember im in love with you so save your heart for me darlin save your heart for me",3
60,"tired of waiting for you","the kinks",1965,"so tired tired of waiting tired of waiting for you so tired tired of waiting tired of waiting for you i was a lonely soul i had nobody till i met you but you keeping me waiting all of the time what can i do its your life and you can do what you want do what you like but please dont keep me waiting please dont keep me waiting cuz im so tired tired of waiting tired of waiting for you so tired tired of waiting tired of waiting for you i was a lonely soul i had nobody till i met you but you keeping me waiting all of the time what can i do its your life and you can do what you want do what you like but please dont keep me waiting please dont keep me waiting cuz im so tired tired of waiting tired of waiting for you so tired tired of waiting tired of waiting for you for you for you",3
61,"count me in","gary lewis  the playboys",1965,"if you need someone to count on count me in someone you can rely on through thick and thin when you start to count the ones that you might ever doubt if you think of counting me count me out when you count the ones that want you count me too and if im not first on your list count me blue just be sure you count on me and when the countins through count me madly in love with you if you need someone to count on when youre down and all your other friends youve lost count me found just be sure you count on me when youre down and out count me in through thick and thin or it dont count when you count the ones that want you count me too and if im not first on your list count me blue just be sure you count on me and when the countins through count me madly in love with you",3
62,"all day and all of the night","the kinks",1965,"and here come the kinks with all day and all of the night im not content to be with you in the daytime girl i want to be with you all of the time the only time i feel alright is by your side girl i want to be with you all of the time all day and all of the night all day and all of the night all day and all of the night i believe that you and me last forever oh yeah all day and nighttime yours leave me never the only time i feel alright is by your side girl i want to be with you all of the time all day and all of the night all day and all of the night oh come on i believe that you and me last forever oh yeah all day and nighttime yours leave me never the only time i feel alright is by your side girl i want to be with you all of the time all day and all of the night all day and all of the night time all day and all of the night",3
63,"what the world needs now is love","jackie deshannon",1965," what the world needs now is love sweet love its the only thing that theres just too little of what the world needs now is love sweet love no not just for some but for everyonelord we dont need another mountain there are mountains and hillsides enough to climb there are oceans and rivers enough to cross enough to last till the end of timewhat the world needs now is love sweet love its the only thing that theres just too little of what the world needs now is love sweet love no not just for some but for everyonelord we dont need another meadow there are cornfields and wheat fields enough to grow there are sunbeams and moonbeams enough to shine oh listen lord if you want to knowwhat the world needs now is love sweet love its the only thing that theres just too little of what the world needs now is love sweet love no not just for some oh but just for ever every everyonewhat the world needs now is love sweet love oh is love what the world needs now is love sweet love oh is love what the world needs now is love sweet love oh is love ",1
64,"its not unusual","tom jones",1965," its not unusual to be loved by anyone its not unusual to have fun with anyone but when i see you hanging about with anyone its not unusual to see me cry oh i wanna dieits not unusual to go out at any time but when i see you out and about its such a crime if you should ever want to be loved by anyone its not unusualit happens every day no matter what you say you find it happens all the time love will never do what you want it to why cant this crazy love be mineits not unusual to be mad with anyone its not unusual to be sad with anyone but if i ever find that youve changed at anytime its not unusual to find out that im in love with you whoa oh oh oh oh ",1
65,"shes about a mover","sir douglas quintet",1965,"well she was walking down the street looking fine as she could be hey hey well she was walking down that street looking fine as she can be well you know i love you baby wo yeah what id say shes about a mover shes about a mover shes about a mover shes about a mover hey hey hey hey what id say shes about a mover shes about a mover well you know i love you baby wo yeah what id say hey hey she strolled on up to me said hey big boy whats your name hey hey well she strolled on up to me she said hey big boy whats your name if you want love and conversation wo yeah what id say shes about a mover shes about a mover shes about a mover shes about a mover hey hey hey hey what id say shes about a mover shes about a mover if you want love and conversation wo yeah what id say hey hey well you know i love you baby wo yeah what id say hey hey come on do it to me baby yeah",5
66,"shake","sam cooke",1965," shake shake shake shakelistenlisten while i talk to you i tell you what were gonna do theres a new thing thats going around and ill tell you what theyre puttin downjust move your body all around and just shake oh mamma shake thats the way to do it shake oh youre looking good now shake yeah hashake it like a bowl of soup and make your body loop de loop put your hands on your hips and kinda let your backbone slip move your body like a whip and just shakeumm thats doing it shake yeah youre looking good now shake go on do it baby shake yeah ohha ringalingaling honey shakin is the latest thing and if you want to swing just loosen up them shouldersand if you want to really roll you got to do the thing with soul shake the shake with all your might oh if you do it do it right just make your body loose and light and kinda shake oh honeyshake hoo shake oh thats the way to do it shake ah ah ah ah ahyeahalrightoh youre doing it now honeycmon loosen up them shouldersif you want to really roll got to do the thing with soul shake the shake with all your might now if you do it do it right make your body loose and light and just shake oh i like to do it shake make me feel good now shake all gone baby shake dont be shy now shake dance with you mama shake dont do it baby shake oh yeah shake ",1
67,"wonderful world","hermans hermits",1965," i dont know much about my history now dont know much about biology dont know much about the science book now dont know much about the french i tookall i do know is i love you now and i wonder if you love me too ooh what a wonderful world this could beooh i dont know much about geography now dont know much about trigonometry now dont know much about the algebra dont know what a slide rule is forbut i do know one and one is two now and i wonder if you love me too ooh what a wonderful world this could bei dont claim to be an a student but thats what im trying to be but by being an a student baby look like i could win your love for medont know much about the history now oh now dont know much about biology i dont know much about the science book now dont know much about the good french i took ohall i do know is i love you now oh now and i wonder if you love me too ooh what a wonderful world this could begood lord i dont claim to be an a student but thats what im trying to be oh now but if i have to be an a student baby im gonna win your love for mei dont know much about geography now oh now dont know much about trigonometry dont know much about the algebra now dont know what a good slide rule is forbut i do know one and one is two now oh now and i wonder if you love me too ooh what a wonderful world this could beoh my my good lord ive been trying ive been trying ive been trying oh lord to understand the thing that ive been looking for ",1
68,"nowhere to run","martha and the vandellas",1965,"nowhere to run to baby nowhere to hide got nowhere to run to baby nowhere to hide its not love im runnin from its the heartaches i know will come cause i know youre no good for me but youve become a part of me everywhere i go your face i see every step i take you take with me nowhere to run to baby nowhere to hide got nowhere to run to baby nowhere to hide i know youre no good for me but free of you ill never be no each time as i speak into my heart you creep i wake up feelin sorry i met you hopin soon that ill forget you when i look in the mirror and comb my hair i see your face just asmilin there nowhere to run nowhere to hide love is my fate got nowhere to run to baby nowhere to hide i know youre no good for me but youve become a part of me how can i fight a love thats sugarsweet when its soul deep soul deep deep inside of me my love reaches so high i cant get over it its so wide i cant get around it no nowhere to run nowhere to hide love is my fate just cant get away from you baby no matter how i try i know youre no good for me but free of you ill never be nowhere to run to baby nowhere to hide got nowhere to run to baby nowhere to hide ive nowhere to run",3
69,"heart full of soul","the yardbirds",1965,"sick at heart and lonely deep in dark despair thinking one thought only where is she tell me where and if she says to you she dont love me just give her my message tell her of my plea and i know well if she had me back again well i would never make her sad ive gotta heart full of soul and i know well if she had me back again well i would never make her sad ive gotta heart full of soul shes been gone such a long time longer than i can bear but if she says she wants me tell her that ill be there and if she says to you she dont love me just give her my message tell her of my plea and i know well if she had me back again well i would never make her sad ive gotta heart full of soul",3
70,"love potion no 9","the searchers",1965,"i took my troubles down to madam ruth you know that gypsy with the gold capped tooth shes got a path down on thirtyfourth and vine sellin little bottles of love potion no 9 i told her that i was a flop with chicks ive been that way since nineteen fiftysix she looked at my palm and she made a magic sign she said what you need is love potion no 9 she bent down and turned around and gave me a wink she said im gonna make it up right here in the sink it smelled like turpentine and looked like indian ink i held my nose i closed my eyes i took a drink i didnt know if it was day or night i started kissin evry thing in sight but when i kissed a cop down at thirtyfourth and vine he broke my little bottle of love potion no 9 i held my nose i closed my eyes i took a drink i didnt know if it was day or night i started kissin evry thing in sight but when i kissed a cop down at thirtyfourth and vine he broke my little bottle of love potion no 9 love potion no 9 love potion no 9 love potion no 9",3
71,"laurie strange things happen","dickey lee",1965,"last night at the dance i met laurie so lovely and warm an angel of a girl last night i fell in love with laurie strange things happen in this world as i walked her home she said it was her birthday i pulled her close and said will i see you anymore then suddenly she asked for my sweater and said that she was very very cold i kissed her goodnight at her door and started home then thought about my sweater and went right back instead i knocked at her door and a man appeared i told why id come then he said youre wrong son you werent with my daughter how can you be so cruel to come to me this way my laurie left this world on her birthday she died a year ago today a strange force drew me to the graveyard i stood in the dark i saw the shadows wave and then i looked and saw my sweater lyin there upon her grave strange things happen in this world",3
72,"baby dont go","sonny  cher",1965,"sonny  cher baby dont go pretty baby please dont go i never had a mother i hardly knew my dad ive been in town for eighteen years youre the only boy ive had i cant stay maybe ill be back some day baby dont go pretty baby please dont go i love you so pretty baby please dont go i never had no money i bought at the second hand store the way this old town laughs at me i just cant take it no more i cant stay im gonna be a lady some day baby dont go pretty baby please dont go i love you so pretty baby please dont go when i get to the city my tears will all be dry my eyes will look so pretty no ones gonna know i cried yes im goin away maybe ill be back some day baby dont go maybe ill be back some day baby dont go",5
73,"it aint me babe","the turtles",1965," go away from my window leave at your own chosen speed im not the one you want babe im not the one you needyou say youre lookin for someone whos never weak but always strong to protect you an defend you whether you are right or wrongsomeone to open each and every door but it aint me babe no no no it aint me babe well it aint me youre lookin for babego lightly from the ledge babe go lightly on the ground im not the one you want babe ill only lead your downyou say youre lookin for someone wholl promise never to part someone to close his eyes to you someone to close his heartsomeone who will die for you an more but it aint me babe no no no it aint me babe well it aint me youre lookin for babe no it aint me youre lookin for babei said no no no it aint me babe i said no no no it aint me babe i said no no no it aint me babe i said no no no it aint me babe ",1
74,"tell her no","the zombies",1965," and if she should tell you come closer and if she tempts you with her charmstell her no no no no no no no no no no no no no no no no no no no no no dont hurt me now for her love belongs to meand if she should tell you come closer and if she tempts you with her charmstell her no no no no no no no no no no no no no no no no dont take her love for your arms no no no no no dont hurt me now for her love belongs to mei know shes the kind of girl whod throw my love away but i still love her so dont hurt me now dont hurt me nowif she tells you i love you just remember she said that to metell her no no no no no no no no no no no no no no no no dont take her love from my arms no no no no no dont leave her now for her love belongs to me ",1
75,"i go to pieces","peter and gordon",1965,"peter miscellaneous i go to pieces i go to pieces del shannon d shannon when i see her comin down the street i get so shaky and i feel so weak i tell my eyes look the other way but they dont seem to hear a word i say and i go to pieces and i wanna hide go to pieces and i almost die everytime my baby passes by i tell my arms theyll hold someone new another love that will be true but they dont listen they dont seem to care they reach for her but shes not there and i go to pieces and i wanna hide go to pieces and i almost die everytime my baby passes by i remember what she said when she said goodbye baby well meet again soon maybe but until we do all my best to you im so lonely i think about her only i go to places we used to go but i know shell never show she hurt me so much inside now i hope shes satisfied and i go to pieces and i wanna hide go to pieces and i almost die everytime my baby passes by go to pieces and i cry everytime my baby passes by go to pieces and i cry",3
76,"red roses for a blue lady","vic dana",1965,"vic dana miscellaneous red roses for a blue lady red roses for a blue lady artist vic dana peak billboard position  10 in 1965 words and music by sid tepper and roy bennett just edged out contemporary  11 hit by bert kaempfert soundly beat wayne newtons contemporary  23 version previously a  3 hit for vaughn monroe in 1949 i want some red roses for a blue lady mister florist take my order please we had a silly quarrel the other day i hope these pretty flowers chase her blues away i want some red roses for a blue lady send them to the sweetest gal in town and if they do the trick ill hurry back to pick your best white orchid for her wedding gown i want some red roses for a blue lady we had a silly quarrel the other day i hope these pretty flowers chase her blues away i want some red roses for a blue blue lady send them to the sweetest gal in town and if they do the trick ill hurry back to pick your best white orchid for her wedding gown your best white orchid for her wedding gown transcribed by ronald e hontz ronhontzworldnetattnet",3
77,"dont just stand there","patty duke",1965,"please dont just stand there come and kiss me like before please dont just stand there looking down at the floor if something is wrong give me just one little sign if theres someone else please tell me tell me what what what whats on your mind once when wed meet youd run to hold me tight life was so sweet until tonight please dont just stand there get it over if were through please dont just stand there while my heart breaks in two knowing i care how can you be so unkind please stop hurting me and help me tell me what what what whats on your mind if its a game i dont want to play it and if its goodbye why cant you just say it why make me cry like you do how can you be so unkind please start loving me or leave me tell me what what what whats on your mind dont just stand there tell me what what what whats on your mind dont just stand there tell me what what what whats on your mind dont just stand there tell me what what what whats on your mind",5
78,"the tracks of my tears","the miracles",1965,"people say im the life of the party cause i tell a joke or two although i might be laughing loud and hearty deep inside im blue so take a good look at my face you know my smile looks out of place if you look closer its easy to trace the tracks of my tears i need you need you since you left me if you see me with another girl looking like im having fun although she may be cute shes just a substitute cause youre the permanent one so take a good look at my face you know my smile looks out of place if you look closer its easy to trace the tracks of my tears outside im masquerading inside my hope is fading im just a clown since you put me down my smile is my make up i wear since my breakup with you baby take a good look at my face you know my smile looks out of place if you look closer its easy to trace the tracks of my tears",3
79,"too many rivers","brenda lee",1965," i wish i could come back to you dear cause i know that you want me too but too much waters run under that old bridge theres too many rivers between me and youtheres too many rivers to cross dear too many dreams have been lost and theres too many long nights that ive turned and tossed theres too many rivers to crossnow dont think for a moment i blame only you we both peeled the fruit on the vine and when you try to put love back together theres always a few little pieces that you cant findyes theres too many rivers to cross dear and theres too many dreams that have been lost aah theres too many long nights that ive turned and ive tossed theres too many rivers to cross ",1
80,"i like it like that","the dave clark five",1965,"come on come on let me show you where its at ah come on come on let me show you where its at wow come on come on let me show you where its at i said the name of the place is i like it like that come on come on let me show you where its at ah come on come on let me show you where its at whoa i wanna show you come on let me show you where its at the name of the place is i like it like that they got a little place adown the track the name of the place is i like it like that you take sally and ill take sue and were gonna rock away all of our blues come on come on let me show you where its at oh come on come on let me show you where its at ah come on come on let me show you where its at the name of the place is i like it like that the last time i was down they lost my shoes they had some cat shoutin the blues the people was yellin and shoutin for more and all they kept sayin wasa go man go come on come on let me show you where its at ah come on come on let me show you where its at oh i wanna show you come on let me show you where its at i said the name of the place is i like it like that come on come on let me show you where its at ah come on come on let me show you where its at oh come on come on let me show you where its at the name of the place is i like it like that",3
81,"little things","bobby goldsboro",1965,"little things that you do  make me glad im in love with you little things that you say  make me glad that i feel this way the way you smile the way you hold my hand and when im down you always understand you know i love those little things i hear that you say when theres no one near little things that you do  let me know that your love is true when we walk you like to hold my hand and when we talk you tell me im your man you know i love those little things that i knew the little things you whispered in my ear i know there aint nobody else like you no one could do the little things you do little things that you do  make me glad im in love with you little things that you say  make me glad that i feel this way when we walk you like to hold my hand and when we talk you tell me im your man you know i love those little things that i knew the little things you whispered in my ear i know there aint nobody else like you",3
82,"true love ways","peter and gordon",1965,"peter miscellaneous true love ways true love ways buddy holly yes you know why why you and i will by and by know true love ways sometimes well sigh sometimes well cry and well know why just you and i know true love ways throughout the days our true love ways will bring us joy to share with those who really care sometimes well sigh sometimes well cry and well know why just you and i know true love ways",3
83,"its the same old song","four tops",1965," youre sweet as a honey bee but like a honey bee stings youve gone and left my heart in pain all you left is our favorite song the one we danced to all night long it used to bring sweet memories of a tender love that used to benow its the same old song but with a different meaning since you been gone its the same old song but with a different meaning since you been gone i oh isentimental fool am i to hear a old love song and wanna cry cause the melody keeps haunting me reminding me how in love we used to be keep hearing the part that used to touch my heart saying together forever breaking up neverits the same old song but with a different meaning since you been gone but its the same old song but with a different meaning since you been goneprecious memories keep a lingering on every time i hear our favorite song now youre gone left this emptiness i only reminisce the happiness we spent we used to dance to the music make romance through the musicnow its the same old song but with a different meaning since you been gone its the same old song but with a different meaning since you been gone i oh iits the same old song but with a different meaning since you been gone its the same old song ",1
84,"youve got your troubles","the fortunes",1965,NA,NA
85,"hold what youve got","joe tex",1965," youd better hold on hold on to what youve got youd better hold on hold on to what youve got cause if you think nobody wants it just throw it away and you will see someone will have it before you can count one two three yes they will yes they will listen fellows you know its not all the time that a man can have a good woman a women he can call his very own a woman who will stay right there at home and mind the children while hes gone to work a woman who will have his dinner cooked when he comes home where some men make mistakes is when they go out and stay because they feel that no other man wants his woman but him but listen if you think no other man wants her just throw her away and you will see some men will have her before you can count one two three yes he will yes he willlisten girls this goes for you too because you know ive seen so many women whove had so many good men in life men who would stand by them through thick and thin men whod go to work everyday and bring home their hard earned pay men whod give their woman anything that their little hearts desired where some women make mistakes is when their men go out and let em play they would stay because they felt that no other woman wanted him but her listen if you think no other woman wants him just pitch him out in the street and you will see some woman will have your man before you can count one two three yes she will yes she will ",1
86,"we gotta get out of this place","the animals",1965," midnight finds me cryin day time finds me cryin too ive got to get out of town this whole city just brings me down yeahgotta get away gotta get away gotta get awayi made a promise to you such a long time ago now baby now baby now baby now baby its time to make it come true yeah come through yeah come true yeah come through yeah come true yeahin this dirty old part of the city where the sun refuse to shine people tell me there aint no use in me trying no little girl youre so young and youre so pretty and one thing i know is true your going to be dead before your time is duesee my daddy in bed dying watched his hair been turning gray i know hes been working and slaving working and slaving slaving and working working yeah work yeah yeah yeah yeahwe gotta get out of this place if its the last thing we ever do we gotta get out of this place theres a better life dont you know dont you know man dont you know dont you know dont you knowwell well well time brings about a change time on the clock on the wall brings about a change yeah all of his life hes been slaving all of the life hes been workingfor what for what for what for what give it up give it up give it up give it up yeahsee my daddy in bed dying watched his hair been turning gray i know hes been working and slaving and slaving and working and working and slaving working yeah work yeah yeah yeah yeahwe gotta get out of this place if its the last thing we ever do we gotta get out of this place theres a better life dont you know dont you know dont you knowtake me take me take mewe gotta get out of this place if its the last thing we ever do we just gotta get out of this place theres a better life theres a better world theres a better way dont you know dont you know dont you knowwe gotta get out of this place if its the last thing we ever do we gotta get out of this place theres a better world dont you know dont you know dont you know i want to get you out of this placeout of this place out of this place yeah yeah yeah ",1
87,"laugh laugh","the beau brummels",1965,"i hate to say it but i told you so dont mind my preachin to you i said dont trust em baby now you know you dont learn evrything there is to know in school wouldnt believe me when i gave advice i said that he was a tease if you want help you better ask me nice so be sincere convince me with a pretty please laugh laugh i thought id die it seemed so funny to me laugh laugh you met a guy who taught you how it feels to be lonely oh so lonely dont think im bein funny when i say you got just what you deserve i cant help feeling you found out today you thought you would you could you had a lot of nerve wont say im sorry for the things i said im glad he packed up to go you kept on braggin he was yours instead found you dont know evrything there is to know laugh laugh i thought id die it seemed so funny to me laugh laugh you met a guy who taught you how it feels to be lonely oh so lonely before i go i got to say one thing dont close your ears to me take my advice and you find out that he is just another guy wholl cause you misery dont say you cant get any boy to call dont be so smug or else youll find you cant get any boy atall youll wind up an old lady sittin on the shelf laugh laugh i thought id die it seemed so funny to me laugh laugh you met a guy who taught you how it feels to be lonely oh so lonely",3
88,"the last time","the rolling stones",1965,"well i told you once and i told you twice but ya never listen to my advice you dont try very hard to please me with what you know it should be easy well this could be the last time this could be the last time maybe the last time i dont know oh no oh no well im sorry girl but i cant stay feelin like i do today its too much pain and too much sorrow guess ill feel the same tomorrow well this could be the last time this could be the last time maybe the last time i dont know oh no oh no well i told you once and i told you twice that someone will have to pay the price but heres a chance to change your mind cuz ill be gone a long long time well this could be the last time this could be the last time maybe the last time i dont know oh no oh no well this could be the last time",3
89,"do you believe in magic","the lovin spoonful",1965,"do you believe in magic in a young girls heart how the music can free her whenever it starts and its magic if the music is groovy it makes you feel happy like an oldtime movie ill tell you about the magic and itll free your soul but its like trying to tell a stranger bout rock and roll if you believe in magic dont bother to choose if its jug band music or rhythm and blues just go and listen itll start with a smile it wont wipe off your face no matter how hard you try your feet start tapping and you cant seem to find how you got there so just blow your mind if you believe in magic come along with me well dance until morning til theres just you and me and maybe if the music is right ill meet you tomorrow sort of late at night and well go dancing baby then youll see how the magics in the music and the musics in me yeah do you believe in magic yeah believe in the magic of a young girls soul believe in the magic of rock and roll believe in the magic that can set you free ohh talking bout magic do you believe like i believe do you believe in magic do you believe like i believe do you believe believer do you believe like i believe do you believe in magic fade",3
90,"all i really want to do","cher",1965," now i aint lookin to compete with you beat on cheat on mistreat you simplify you classify you deny defy mystify youall i really want to do is baby be friends with you baby be friends with younow i aint lookin to fight with you frighten you or uptighten you drag you down or drain you down chain you down or bring you downall i really want to do is baby be friends with you baby be friends with youi aint lookin to block you up dock or rock or lock you up analyze you categorize you finalize or advertise youall i really want to do yeah is baby be friends with you baby be friends with youi dont want to straightface you race or chase or track or trace you or disgrace you or displace you or define you or confine youall i really want to do yeah is baby be friends with you baby be friends with younow i dont want to meet your kin make you spin or do you in or select you or dissect you or inspect you or reject youall i really want to do is baby be friends with you baby be friends with you ",1
91,"take me back","little anthony and the imperials",1965,"take me back im beggin please take me back im on my knees for you to scold me hurt me hold me darling take me back when you belonged to me i had a jealous mind too late i learned that you were not the cheating kind take me back im beggin please take me back im on my knees for you to scold me hurt me hold me darling take me back my jealous eyes have learned to take a look or two they were too blind to see that i was losing you take me back im beggin please take me back im on my knees for you to scold me hurt me hold me darling take me back they say you live and learn and though ive tried before i promise never to be jealous any more take me back im beggin please take me back im on my knees for you to scold me hurt me hold me darling take me back",3
92,"i want candy","the strangeloves",1965,"i know a girl whos soft and sweet shes so fine she cant be beat got everything that i desire sets the summer sun on fire i want candy i want candy go to see her with her hair hung down aint no finer girl in town candys just what the doctor ordered shes so sweet she makes my mouth water i want candy i want candy i want candy i want candy i want candy i want candy candy on the beach theres nothing better but i like candy when its wrapped in a sweater some day soon ill make her mine then ill have candy all the time i want candy i want candy hey hey hey hey hey hey hey hey hey ",3
93,"ooo baby baby","the miracles",1965,"ooo la la la la i did you wrong my heart went out to play but in the game i lost you what a price to pay hey im crying ooo baby baby ooo baby baby mistakes i know ive made a few but im only human youve made mistakes too im crying ooo baby baby ooo baby baby im just about at the end of my rope but i cant stop trying i cant give up hope cause i feel that one day ill hold you near whisper i still love you until that day is here im crying ooo baby baby ooo baby baby ooo baby baby ooo baby baby ooo",3
94,"laugh at me","sonny bono",1965,"why cant i be like any guy why do they try to make me run son of a gun now what do they care about the clothes i wear why get their kicks from making fun yeah this worlds got a lot of space and if they dont like my face it aint me thats going anywhere no so i dont care let em laugh at me if thats the fare i have to pay to be free then baby laugh at me and ill cry for you and ill pray for you and ill do all the things that the man upstairs says to do ill do em for you ill do em ill do em all for you its gotta stop someplace its gotta stop sometime ill make sure that shes mine and maybe the next guy that dont wear a silk tie he can walk by and say hi say hi instead of why instead of why instead of why babe instead of why what did i do to you i dont know what to do",3
95,"treat her right","roy head",1965,"i wanna tell you a story  every man oughta know  if you want a little lovin you gotta start real slow  shes gonna love you tonight now  if you just treat her right now  squeeze her real gentle  gotta make her feel good  tell her that you love her  like you know you should  so if you dont treat her right  she wont love you tonight  if you practice my method  just as hard as you can  youre gonna get a reputation  as a lovin man  and youll be glad every night  that you treated her right  music to fade",3
96,"the race is on","jack jones",1965,"i feel tears well in up from deep inside like my hearts goin to break and a stab of loneliness sharp and painful that i may never shake you might say that i was takin it hard since you gave me the final goodbye but dont you wager that ill hide the sorrow when i may break right down and cry now the race is on and here comes pride up the backstretch heartaches are goin to the inside my tears are holdin back theyre tryin not to fall my hearts out of the runnin true loves scratched for anothers sake the race is on and it looks like heartaches and the winner loses all one day i ventured in love never once suspectin what the final results would be how i lived in fear of wakin up each mornin and find that youre gone from me theres ache and pain in my heart for the name of the one that ill never replaced somebody new came up to win her and i came out in second place now the race is on and here comes pride up the backstretch heartaches are goin to the inside my tears are holdin back theyre tryin not to fall my hearts out of the runnin true loves scratched for anothers sake the race is on and it looks like heartaches and the winner loses all",3
97,"im a fool","dino desi  billy",1965,NA,NA
98,"the boy from new york city","the ad libs",1965,"oo ah oo ah oo oo kitty tell us about the boy from new york city oo ah oo ah come on kitty tell us about the boy from new york city hes kinda tall hes really fine yeah yeah someday i hope to make him mine all mine yeah yeah and hes neat and oh so sweet and the way he looked at me just swept me off my feet yeah yeah oo ee you oughta come and see how he walks yeah yeah and he talks oo ah oo ah oo oos kitty tell us about the boy from new york city oo ah oo ah come on kitty tell us about the boy from new york city hes really down and hes no clown yeah yeah he has the finest penthouse ive ever seen in town yeah yeah and hes cute in his mohair suit and he keeps his pockets full of spending loot yeah yeah oo ee yeah were all right yeah oo oo evry time he says he loves me chills run down my spine evry time he wants to kiss me he makes me feel so fine thats him alright hes the boy from new york city we call him jill were all right oo ah oo ah kitty tell us about the boy from new york city oo ah oo ah kitty tell us about the boy from new york city",3
99,"keep searchin well follow the sun","del shannon",1965," no one will understand what ive gotta do ive gotta find a place to hide with my baby by my side shes been hurt so much they treat her mean and cruel they try to keep us far apart theres only one thing left we can dowe gotta keep searchin searchin find a place to hide searchin searchin shell be by my side if we gotta keep on the run well follow the sunah weeooh follow the sunah weeoohdoesnt matter doesnt matter what people might say shes mine and im gonna take her anywaygotta keep searchin searchin find a place to stay searchin searchin every night and day if we gotta keep on the run well follow the sunah weeooh follow the sunah weeooh ",1
100,"how sweet it is to be loved by you","marvin gaye",1965," how sweet it is to be loved by you yes baby how sweet it is to be loved by youooh baby i needed the shelter of someones arms and there you were i needed someone to understand my ups and downs and there you werewith sweet love and devotion deeply touching my emotioni want to stop stop and thank you baby i just want to stop and thank you baby hey nowhow sweet it is to be loved by you oh baby how sweet it is to be loved by you yes it isclose my eyes at night and wonder what would i be without you in my life everything was just a bore all the things i did seems ive done em before but you brightened up all of my days with a love so sweet in so many waysi want to stop stop and thank you baby i want to stop stop and thank you baby yeah how sweet it is to be loved by you oh yes it is how sweet it is to be loved by you yes it is babyyou were better to me than ive been to myself for me theres you and nobody elsestop stop and thank you baby i want to stop stop and thank you baby oh how sweet it is to be loved by you tell the truth baby how sweet it is to be loved by you well its like sugar in my soul how sweet it is to be loved by you oh yes it is ",1
1,"ballad of the green berets","ssgt barry sadler",1966,NA,NA
2,"cherish","the association",1966,"cherish is the word i use to describe all the feeling that i have hiding here for you inside you dont know how many times ive wished that i had told you you dont know how many times ive wished that i could hold you you dont know how many times ive wished that i could mold you into someone who could cherish me as much as i cherish you perish is the word that more than applies to the hope in my heart each time i realize that i am not gonna be the one to share your dreams that i am not gonna be the one to share your schemes that i am not gonna be the one to share what seems to be the life that you could cherish as much as i do yours oh im beginning to think that man has never found the words that could make you want me that have the right amount of letters just the right sound that could make you hear make you see that you are drivin me out of my mind oh i could say i need you but then youd realize that i want you just like a thousand other guys whod say they loved you with all the rest of their lies when all they wanted was to touch your face your hands and gaze into your eyes cherish is the word i use to describe all the feeling that i have hiding here for you inside you dont know how many times ive wished that i had told you you dont know how many times ive wished that i could hold you you dont know how many times ive wished that i could mold you into someone who could cherish me as much as i cherish you and i do cherish you and i do cherish you cherish is the word",3
3,"youre my soul and inspiration","the righteous brothers",1966," girl i cant let you do this let you walk away girl how can i live through this when youre all i wake up for each daybaby youre my soul and my lifes inspiration youre all ive got to get me by youre my soul and my inspiration without you baby what good am ii never had much goin but at least i had you how can you walk out knowin i aint got nothin left if you dobaby youre my soul and my lifes inspiration youre all ive got to get me by youre my soul and my inspiration without you baby what good am i oh what good am ibaby i cant make it withoutcha and im tellin ya honey youre my reason for laughin for cryin for livin and for dyinbaby i cant make it without you please im beggin you baby if you go it will kill me i swear it girl i just cant bear ityoure my soul and my lifes inspiration youre all ive got to get me by youre my soul and my inspiration without you baby what good am i oh what good am iyoure my soul and my lifes inspiration youre all ive got all ive got to get by soul inspiration oh baby im beggin you baby ",1
4,"reach out ill be there","the four tops",1966," now if you feel that you cant go on because all of your hope is gone and your life is filled with much confusion until happiness is just an illusion and your world around is crumblin down darling reach out come on girl reach on out for me reach out reach out for me ill be there with a love that will shelter you ill be there with a love that will see you throughwhen you feel lost and about to give up cause your best just aint good enough and you feel the world has grown cold and youre drifting out all on your own and you need a hand to hold darling reach out come on girl reach out for me reach out reach out for me ill be there to love and comfort you and ill be there to cherish and care for you ill be there with a love that will see you through ill be there to love and comfort youi can tell the way you hang your head youre without love and now youre afraid and through your tears you look around but theres no peace of mind to be found i know what youre thinkin youre alone now no love of your own but darling reach out come on girl reach out for me reach out just look over your shoulder ill be there to give you all the love you need and ill be there you can always depend on me ",1
5,"96 tears","  the mysterians",1966,"  the mysterians miscellaneous 96 tears too many teardrops for one heart to be cryin too many teardrops for one heart to carry on youre way on top now since you left me youre always laughin way down at me but watch out now im gonna get there well be together for just a little while and then im gonna put you way down here and youll start cryin ninetysix tears cry cry and when the sun comes up ill be on top youll be way down there lookin up and i might wave come up here but i dont see you wavin now im way down here wonderin how im gonna get you but i know now ill just cry cry ill just cry too many teardrops for one heart to be cryin too many teardrops for one heart to carry on youre gonna cry  ninetysix tears youre gonna cry  ninetysix tears youre gonna cry  cry cry cry now youre gonna cry  cry cry cry ninetysix tears  cmon and lemme hear you cry now ninetysix tears whoo   i wanna hear you cry night and day yeah all night long uhninetysix tears    cry cry cry cmon baby let me hear you cry now all night long uhninetysix tears  yeah  cmon now uhninetysix tears fade",3
6,"last train to clarksville","the monkees",1966,"take the last train to clarksville and ill meet you at the station you can be be here by four thirty cause ive made your reservation dont be slow oh no no no oh no no no cause im leavin in the morning and i must see you again well have one more night together til the morning brings my train and i must go oh no no no oh no no no and i dont know if im ever coming home take the last train to clarksville ill be waiting at the station well have time for coffee flavored kisses and a bit of conversation oh no no no oh no no no take the last train to clarksville now i must hang up the phone i cant hear you in this noisy railroad station all alone im feelin low oh no no no oh no no no and i dont know if im ever coming home take the last train to clarksville and ill meet you at the station you can be be here by four thirty cause i made your reservation dont be slow oh no no no oh no no no and i dont know if im ever coming home take the last train to clarksville take the last train to clarksville take the last train to clarksville take the last train to clarksville",3
7,"monday monday","the mamas  the papas",1966,"monday monday so good to me monday morning it was all i hoped it would be oh monday morning monday morning couldnt guarantee that monday evening you would still be here with me monday monday cant trust that day monday monday sometimes it just turns out that way oh monday morning you gave me no warning of what was to be oh monday monday how could you leave and not take me every other day every other day every other day of the week is fine yeah but whenever monday comes but whenever monday comes you can find me crying all of the time monday monday so good to me monday morning it was all i hoped it would be but monday morning monday morning couldnt guarantee that monday evening you would still be here with me every other day every other day every other day of the week is fine yeah but whenever monday comes but whenever monday comes you can find me crying all of the time monday monday cant trust that day monday monday it just turns out that way oh monday monday wont go away monday monday its here to stay oh monday monday oh monday monday oh",3
8,"you cant hurry love","the supremes",1966," i need love love to ease my mind i need to find find someone to call mine but mama saidyou cant hurry love no you just have to wait she said love dont come easy its a game of give and takeyou cant hurry love no you just have to wait you got to trust give it time no matter how long it takesbut how many heartaches must i stand before i find a love to let me live again right now the only thing that keeps me hangin on when i feel my strength yeah is almost gone i remember mama saidyou cant hurry love no you just have to wait she said love dont come easy its a game of give and takehow long must i wait how much more can i take before loneliness will cause my heart heart to breakno i cant bear to live my life alone i grow impatient for a love to call my own but when i feel that i i cant go on these precious words keeps me hangin on i remember mama saidyou cant hurry love no you just have to wait she said love dont come easy its a game of give and takeyou cant hurry love no you just have to wait she said trust give it time no matter how long it takesno love love dont come easy but i keep on waiting anticipating for that soft voice to talk to me at night for some tender arms to hold me tighti keep waiting i keep on waiting but it aint easy it aint easy but mama saidyou cant hurry love no you just have to wait she said to trust give it time no matter how long it takesyou cant hurry love no you just have to wait she said love dont come easy its a game of give and take ",1
9,"poor side of town","johnny rivers",1966," how can you tell me how much you miss me when the last time i saw you you wouldnt even kiss me that rich guy youve been seein must have put you down so welcome back baby to the poor side of townto him you were nothin but a little plaything not much more than an overnight fling to me you were the greatest thing this boy had ever found and girl its hard to find nice things on the poor side of towni cant blame you for tryin im tryin to make it too ive got one little hang up baby i just cant make it without youso tell me are you gonna stay now will you stand by me girl all the way now oh with you by my side they just cant keep us down together we can make it girl from the poor side of townso tell me how much you love me come be near to me and say you need me nowoh with you by my side this world cant keep us down together we can make it baby from the poor side of town ",1
10,"california dreamin","the mamas  the papas",1966,"all the leaves are brown and the sky is grey ive been for a walk on a winters day id be safe and warm if i was in la california dreamin on such a winters day stepped into a church i passed along the way well i get down on my knees and i pretend to pray you know the preacher likes the cold he knows im gonna stay california california dreamin on such a winters day all the leaves are brown and the sky is grey ive been for a walk on a winters day if i didnt tell her i could leave today california california dreamin on such a winters day california dreamin california dreamin california dreamin",3
11,"summer in the city","lovin spoonful",1966," hot town summer in the city back of my neck getting dirty and gritty been down isnt it a pity doesnt seem to be a shadow in the cityall around people looking half dead walking on the sidewalk hotter than a match headbut at night its a different world go out and find a girl comeon comeon and dance all night despite the heat itll be alrightand babe dont you know its a pity that the days cant be like the nights in the summer in the city in the summer in the citycool town evening in the city dressing so fine and looking so pretty cool cat looking for a kitty gonna look in every corner of the city till im wheezing like a bus stop running up the stairs gonna meet you on the rooftopbut at night its a different world go out and find a girl comeon comeon and dance all night despite the heat itll be alrightand babe dont you know its a pity that the days cant be like the nights in the summer in the city in the summer in the cityhot town summer in the city back of my neck getting dirty and gritty been down isnt it a pity doesnt seem to be a shadow in the cityall around people looking half dead walking on the sidewalk hotter than a match headbut at night its a different world go out and find a girl comeon comeon and dance all night despite the heat itll be alrightand babe dont you know its a pity that the days cant be like the nights in the summer in the city in the summer in the city ",1
12,"born free","roger williams",1966,"born free as free as the wind blows as free as the grass grows born free to follow your heart live free and beauty surrounds you the world still astounds you each time you look at a star stay free where no walls divide you youre free as the roaring tide so theres no need to hide born free and life is worth living but only worth living cause youre born free born free born free born free",3
13,"these boots are made for walkin","nancy sinatra",1966," you keep saying you got something for me something you call love but confess youve been amessin where you shouldnt ve been amessin and now someone else is getting all your bestthese boots are made for walking and thats just what theyll do one of these days these boots are gonna walk all over youyou keep lyin when you oughta be truthin you keep losing when you oughta not bet you keep samin when you oughta be achangin now whats right is right but you aint been right yetthese boots are made for walking and thats just what theyll do one of these days these boots are gonna walk all over youyou keep playing where you shouldnt be playing and you keep thinking that youll never get burnt hah i just found me a brand new box of matches yeah and what he knows you aint had time to learn these boots are made for walking and thats just what theyll do one of these days these boots are gonna walk all over youare you ready boots start walkin ",1
14,"what becomes of the brokenhearted","jimmy ruffin",1966," as i walk this land with broken dreams i have visions of many things loves happiness is just an illusion filled with sadness and confusion what becomes of the broken hearted who had love thats now departed i know ive got to find some kind of peace of mind maybe the fruits of love grow all around but for me they come a tumblin down every day heartaches grow a little stronger i cant stand this pain much longer i walk in shadows searching for light cold and alone no comfort in sight hoping and praying for someone to care always moving and goin to where what becomes of the broken hearted who had love thats now departed i know ive got to find some kind of peace of mind maybe im searching though i dont succeed but someone look theres a growing need oh he is lost theres no place for beginning all thats left is an unhappy ending now whats become of the brokenhearted who had love thats now departed i know ive got to find some kind of peace of mind ill be searching everywhere just to find someone to care ill be looking everyday i know im gonna find a way nothings gonna stop me now ill find a way somehow ill be searching everywhere ",1
15,"strangers in the night","frank sinatra",1966," strangers in the night exchanging glances wondering in the night what were the chances wed be sharing love before the night was through something in your eyes was so inviting something in your smile was so exciting something in my heart told me i must have youstrangers in the night two lonely people we were strangers in the night up to the moment when we said our first hello little did we know love was just a glance away a warm embracing dance away and ever since that night weve been together lovers at first sight in love forever it turned out so right for strangers in the nightlove was just a glance away a warm embracing dance away ever since that night weve been together lovers at first sight in love forever it turned out so right for strangers in the nightdoobeedoobeedoo doodoodeedah dahdahdahdahdah ",1
16,"we can work it out","the beatles",1966,"try to see it my way do i have to keep on talking till i cant go on while you see it your way run the risk of knowing that our love may soon be gone we can work it out we can work it out think of what youre saying you can get it wrong and still you think that its all right think of what im saying we can work it out and get it straight or say good night we can work it out we can work it out life is very short and theres no time for fussing and fighting my friend i have always thought that its a crime so i will ask you once again try to see it my way only time will tell if i am right or i am wrong while you see it your way theres a chance that we might fall apart before too long we can work it out we can work it out life is very short and theres no time for fussing and fighting my friend i have always thought that its a crime so i will ask you once again try to see it my way only time will tell if i am right or i am wrong while you see it your way theres a chance that we might fall apart before too long we can work it out we can work it out",3
17,"good lovin","the young rascals",1966,"good lovin good lovin good lovin good lovin i was feelin so bad i asked my family doctor just what i had i said doctor mr md now can you tell me whats ailin me̢ he said yeah yeah yeah yeah yeah yes indeed all i i really need good lovin now gimme that good good lovin good lovin all i need is lovin good lovin good good lovin baby good lovin honey please squeeze me tight dont you want your baby to be all right i said baby now its for sure i got the fever yeah and you got the cure unverified yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yes indeed all i really need good lovin cmon gimme that lovin good lovin all i need is lovin good lovin good good lovin baby good lovin good lovin good lovin good lovin all i need is lovin good lovin all i want is lovin good lovin lovin early in the morning good lovin lovin you late at night good lovin love love good lovin love love love love lovin",3
18,"winchester cathedral","new vaudeville band",1966,"winchester cathedral youre bringin me down you stood and you watched as my baby left town you couldve done something but you didnt try you didnt do nothing you let her walk by now everyone knows just how much i needed that gal she wouldnt have gone far away if only youd started ringing your bell winchester cathedral youre bringin me down you stood there and watched as my baby left town avodeeohdoe avodeeohdoe avodeeohdoedeeohdoe",3
19,"hanky panky","tommy james and the shondells",1966,"my baby does the hanky panky my baby does the hanky panky my baby does the hanky panky my baby does the hanky panky my baby does the hanky panky i saw her walking on down the line you know i saw her for the very first time a pretty little girl standing all alone hey baby can i take you home i never saw her never really saw her my baby does the hanky panky my baby does the hanky panky my baby does the hanky panky my baby does the hanky panky my baby does the hanky panky",3
20,"when a man loves a woman","percy sledge",1966," when a man loves a woman cant keep his mind on nothing else hell trade the world for the good thing hes found if shes bad he cant see it she can do no wrong turn his back on his best friend if he put her downwhen a man loves a woman spend his very last dime trying to hold on to what he needs hed give up all his comfort sleep out in the rain if she said thats the way it ought to bewell this man loves a woman i gave you everything i had trying to hold on to your precious love baby please dont treat me badwhen a man loves a woman down deep in his soul she can bring him such misery if she plays him for a fool hes the last one to know loving eyes cant ever seewhen a man loves a woman he can do no wrong he can never own some other girl yes when a man loves a woman i know exactly how he feels cause baby baby baby youre my worldwhen a man loves a woman ",1
21,"paint it black","the rolling stones",1966,"i see a red door and i want it painted black no colors anymore i want them to turn black i see the girls walk by dressed in their summer clothes i have to turn my head until my darkness goes i see a line of cars and theyre all painted black with flowers and my love both never to come back i see people turn their heads and quickly look away like a new born baby it just happens evry day i look inside myself and see my heart is black i see my red door and it has been painted black maybe then ill fade away and not have to face the facts its not easy facin up when your whole world is black no more will my green sea go turn a deeper blue i could not foresee this thing happening to you if i look hard enough into the settin sun my love will laugh with me before the mornin comes i see a red door and i want it painted black no colors anymore i want them to turn black i see the girls walk by dressed in their summer clothes i have to turn my head until my darkness goes hmm hmm hmm i wanna see it painted painted black black as night black as coal i wanna see the sun blotted out from the sky i wanna see it painted painted painted painted black yeah",3
22,"my love","petula clark",1966," my love is warmer than the warmest sunshine softer than a sigh my love is deeper than the deepest ocean wider than the sky my love is brighter than the brightest star that shines every night above and there is nothing in this world that can ever change my lovesomething happened to my heart the day that i met you something that i never felt before you are always on my mind no matter what i do and everyday it seems i want you moremy love is warmer than the warmest sunshine softer than a sigh my love is deeper than the deepest ocean wider than the sky my love is brighter than the brightest star that shines every night above and there is nothing in this world that can ever change my loveonce i thought that love was meant for anyone else but me once i thought youd never come my way now it only goes to show how wrong we all can be for now i have to tell you everydaymy love is warmer than the warmest sunshine softer than a sigh my love is deeper than the deepest ocean wider than the sky my love is brighter than the brightest star that shines every night above and there is nothing in this world that can ever change my lovemy love is warmer than the warmest sunshine softer than a sigh my love is deeper than the deepest ocean wider than the sky my love is brighter than the brightest star that shines every night above and there is nothing in this world that can ever change my love ",1
23,"lightnin strikes","lou christie",1966," listen to me baby you gotta understand youre old enough to know the makings of a man listen to me baby its hard to settle down am i asking too much for you to stick aroundevery boy wants a girl he can trust to the very end baby thats you wont you wait but til thenwhen i see lips beggin to be kissed stop i cant stop stop i cant stop myself stop stoplightnings striking again lightnings striking againnatures takin over my onetrack mind believe it or not youre in my heart all the time all the girls are sayin that youll end up a fool for the time being baby live by my ruleswhen i settle down i want one baby on my mind forgive and forget and ill make up for all lost timeif shes put together fine and shes readin my mind stop i cant stop stop i cant stop myself stop stoplightnings striking again lightnings striking again and again and again and againlightnings striking again lightnings striking againtheres a chapel in the pines waiting for us around the bend picture in your mind love forever but til thenif she gives me a sign that she wants to make time stop i cant stop stop i cant stop myself stop stoplightnings striking again lightnings striking again and again and again and again lightnings striking again and again and again and again ",1
24,"wild thing","the troggs",1966," wild thing you make my heart sing you make everything groovy wild thing wild thing i think i love you but i wanna know for sure come on and hold me tight i love youwild thing you make my heart sing you make everything groovy wild thing wild thing i think you move me but i wanna know for sure come on and hold me tight you move mewild thing you make my heart sing you make everything groovy wild thing wild thing you make my heart sing ",1
25,"kicks","paul revere  the raiders",1966,"girl you thought you found the answer on that magic carpet ride last night but when you wake up in the mornin the world still gets you uptight well theres nothin that you aint tried to fill the emptiness inside but when you come back down girl still aint feelin right and dont it seem like kicks just keep gettin harder to find and all your kicks aint bringin you peace of mind before you find out its too late girl you better get straight no but not with kicks you just need help girl well you think youre gonna find yourself a little piece of paradise but it aint happened yet so girl you better think twice dont you see no matter what you do youll never run away from you and if you keep on runnin youll have to pay the price and dont it seem like kicks just keep gettin harder to find and all your kicks aint bringin you peace of mind before you find out its too late girl you better get straight no you dont need kicks to help you face the world each day that road goes nowhere im gonna help you find yourself another way kicks just keep gettin harder to find and all your kicks aint bringin you peace of mind before you find out its too late girl you better get straight dont it seem like kicks just keep gettin harder to find and all your kicks aint bringin you peace of mind before you find out its too late girl you better get straight",3
26,"sunshine superman","donovan",1966," sunshine came softly through my awindow today couldve tripped out easy abut ive achanged my ways itll take time i know it but in a while youre gonna be mine i know it well do it in style cause i made my mind up youre going to be mineill tell you right now any trick in the book now baby all that i can find everybodys hustlin just to have a little scene when i say well be cool i think that you know what i mean we stood on a beach at sunset do you remember when i know a beach where baby ait never ends when youve made your mind up forever to be minehmm hmm hmm hmm hmm ill pick up your hand and slowly blow your little mind cause i made my mind up youre going to be mine ill tell you right now any trick in the book now baby all that i can findsuperman or green lantern aint got anothin on me i can make like a turtle and dive for your pearls in the sea yeah a youyouyou can just sit there athinking on your velvet throne bout all the rainbows ayou can ahave for your own when youve made your mind up forever to be mine ill pick up your hand and slowly blow your little mind when youve made your mind up forever to be mine ",1
27,"sunny","bobby hebb",1966," sunny yesterday my life was filled with rain sunny you smiled at me and really eased the pain now the dark days are gone and the bright days are here my sunny one shines so sincere sunny one so true i love yousunny thank you for the sunshine bouquet sunny thank you for the love you brought my way you gave to me your all and all and now i feel ten feet tall sunny one so true i love yousunny thank you for the truth you let me see sunny thank you for the facts from a to z my life was torn like windblown sand and a rock was formed when you held my hand oh sunny sunny one so true i love yousunny thank you for the smile upon your face hmm sunny thank you thank you for the gleam that shows its grace youre my spark of natures fire youre my sweet complete desire sunny one so true yes i love you ",1
28,"paperback writer","the beatles",1966,"paper back writer   paperback writer paperback writer dear sir or madam will you read my book it took me years to write will you take a look its based on a novel by a man named lear and i need a job so i want to be a paperback writer paperback writer its the dirty story of a dirty man and his cleaning wife just doesnt understand his son is working for the daily mail its a steady job but he wants to be a paperback writer paperback writer paper back writer   paperback writer paperback writer its a thousand pages give or take a few ill be writing more in a week or two i can make it longer if you like the style i can change it round then i want to be a paperback writer paperback writer if you really like it you can have the rights it could make a million for you overnight if you must return it you can send it here but i need a break and i want to be a paperback writer paperback writer paper back writer   paperback writer paperback writer paper back writer   paperback writer paper back writer   paperback writer paper back writer   paperback writer paper back writer   paperback writer",3
29,"see you in september","the happenings",1966,"ill be alone each and every night while youre away dont forget to write byebye so long farewell byebye so long see you in september see you when the summers through here we are bye baby goodbye saying goodbye at the station bye baby goodbye summer vacation bye baby bye baby is taking you away bye baby goodbye have a good time but remember there is danger in the summer moon above will i see you in september or lose you to a summer love counting the days til ill be with you counting the hours and the minutes too bye baby goodbye bye baby goodbye bye baby goodbye byebye so long farewell bye baby goodbye byebye so long have a good time but remember there is danger in the summer moon above will i see you in september or lose you to a summer love ill be alone each and every night while youre away dont forget to write see you byebye so long farewell in september byebye so long farewell im hopin ill see you byebye so long farewell in september byebye so long farewell well maybe ill see you byebye so long farewell in september byebye so long farewell",3
30,"you keep me hangin on","the supremes",1966," set me free why dont cha babe get out my life why dont cha babe cause you dont really love me you just keep me hangin on you dont really need me but you keep me hangin onwhy do you keep a comin around playing with my heart why dont cha get out of my life and let me make a new start let me get over you the way you gotten over me yeahset me free why dont cha babe let me be why dont you babe cause you dont really love me you just keep me hangin on no you dont really want me you just keep me hangin onyou say although we broke up you still wanna be just friends but how can we still be friends when seeing you only breaks my heart again and there aint nothing i can do about itwhoa ooh whoa ooh whoa set me free why dont you babe get out get out of my life why dont you babe set me free why dont you babe get out of my life why dont you babeyou claim you still care for me but your heart and soul needs to be free and now that youve got your freedom you wanna still hold on to me you dont want me for yourself so let me find somebody elsewhy dont cha be a man about it and set me free now you dont care a thing about me youre just using mego home get out get out of my life and let me sleep at night cause you dont really love me you just keep me hangin onyou dont really need me ",1
31,"lil red riding hood","sam the sham and the pharaohs",1966,"sam the sham miscellaneous lil red riding hood lil red riding hood sam the sham owoooooooo whos that i see walkin in these woods why its little red riding hood hey there little red riding hood you sure are looking good youre everything a big bad wolf could want listen to me little red riding hood i dont think little big girls should go walking in these spooky old woods alone owoooooooo what big eyes you have the kind of eyes that drive wolves mad so just to see that you dont get chased i think i ought to walk with you for a ways what full lips you have theyre sure to lure someone bad so until you get to grandmas place i think you ought to walk with me and be safe im gonna keep my sheep suit on until im sure that youve been shown that i can be trusted walking with you alone owoooooooo little red riding hood id like to hold you if i could but you might think im a big bad wolf so i wont owoooooooo what a big heart i havethe better to love you with little red riding hood even bad wolves can be good ill try to be satisfied just to walk close by your side maybe youll see things my way before we get to grandmas place hey there little red riding hood you sure are looking good youre everything that a big bad wolf could want owoooooooo i mean baaaaaa baaa",3
32,"devil with a blue dress ongood golly miss molly","mitch ryder  the detroit wheels",1966,NA,NA
33,"good vibrations","the beach boys",1966,"ii love the colorful clothes she wears and the way the sunlight plays upon her hair i hear the sound of a gentle word on the wind that lifts her perfume through the air im pickin up good vibrations shes giving me excitations oom bop bop im pickin up good vibrations good vibrations oom bop bop shes giving me excitations excitations oom bop bop good good good good vibrations oom bop bop shes giving me excitations excitations oom bop bop good good good good vibrations oom bop bop shes giving me excitations excitations close my eyes shes somehow closer now softly smile i know she must be kind when i look in her eyes she goes with me to a blossom world im pickin up good vibrations shes giving me excitations oom bop bop im pickin up good vibrations good vibrations oom bop bop shes giving me excitations excitations oom bop bop good good good good vibrations oom bop bop shes giving me excitations excitations oom bop bop good good good good vibrations oom bop bop shes giving me excitations excitations ahh ah my my what elation i dont know where but she sends me there oh my my what a sensation oh my my what elation oh my my what gotta keep those lovin good vibrations ahappenin with her gotta keep those lovin good vibrations ahappenin with her gotta keep those lovin good vibrations ahappenin ahh good good good good vibrations oom bop bop im pickin up good vibrations oom bop bop shes giving me excitations excitations oom bop bop good good good good vibrations na na na na na na na na na na na na na na na na bop bopbopbopbop bop do do do do do do do do bop bopbopbopbop bop do do do do do do do do bop bopbopbopbop bop",3
34,"a groovy kind of love","the mindbenders",1966,"when im feeling blue all i have to do  is take a look at you then im not so blue  when youre close to me i can feel your heart beat  i can hear you breathing near my ear  wouldnt you agree baby you and me got a groovy kind of love  anytime you want to you can turn me onto  anything you want to anytime at all  when i kiss your lips ooh i start to shiver  cant control the quivering inside  wouldnt you agree baby you and me got a groovy kind of love oh  when im feeling blue all i have to do  is take a look at you then im not so blue  when im in your arms nothing seems to matter  my whole world could shatter i dont care  wouldnt you agree baby you and me got a groovy kind of love  we got a groovy kind of love  we got a groovy kind of love oh  we got a groovy kind of love",3
35,"you dont have to say you love me","dusty springfield",1966," when i said i needed you you said you would always stay it wasnt me who changed but you and now youve gone away dont you see that now youve gone and im left here on my own that i have to follow you and beg you to come homeyou dont have to say you love me just be close at hand you dont have to stay forever i will understand believe me believe me i cant help but love you but believe me ill never tie you down left alone with just a memory life seems dead and quite unreal all thats left is loneliness theres nothing left to feelyou dont have to say you love me just be close at hand you dont have to stay forever i will understand believe me believe me you dont have to say you love me just be close at hand you dont have to stay forever i will understand believe me believe me ",1
36,"cool jerk","the capitols",1966," cool jerk cool jerk cool jerk cool jerk we know a cat who can really do the cool jerk we know a cat who can really do the cool jerk this cat theyre talking about i wonder who could it be cause i know im the heaviest cat the heaviest cat you ever did see when you see me walking down the street and they clapping and they speak all the business they wish to whisper it but they know im the king of the cool jerks cool jerk cool jerk cool jerk cool jerk ah ha haspokenlook at them guys looking at me like im a fool ah but deep down inside they know im cool i said now i said now the moment of truth has finally come when im gonna show you some some of that cool jerk now give me a little bit of the drums by himself here now give me a little bit of bass with those eightyeights ah youre cookin mmmmmm youre smokin now everybody i wanna hear you ahhhhhh can you do it can you do it can you do it can you do it can you do it can you do it cool jerk come on people cool jerk when you see me walkin down the street then you think twice and then the next beat on the chance that they dont make it work cause they know im the king of the cool jerk cool jerk cool jerk come on people can you do it can you do it can you do it can you do it can you do it can you do it can you do it can you do it can you do it can you do it can you do itfade ",1
37,"born a woman","sandy posey",1966," it makes no difference if youre rich or poor or if youre smart or dumb a womans place in this old world is under some mans thumband if youre born a woman youre born to be hurt youre born to be stepped on lied to cheated on and treated like dirtah if youre born a woman youre born to be hurt a womans lot is to give and give and go on giving a womans got to love and lose and go on livingwell i was born a woman i didnt have no say and when my man finally comes home he makes me glad it happened that way because to be his woman no price is too great to pay ",1
38,"red rubber ball","the cyrkle",1966,"i should have known youd bid me farewell theres a lesson to be learned from this and i learned it very well now i know youre not the only starfish in the sea if i never hear your name again its all the same to me and i think its gonna be all right yeah the worst is over now the mornin sun is shinin like a red rubber ball you never care for secrets i confide for you im just an ornament somethin for your pride always runnin never carin thats the life you live stolen minutes of your time were all ya had to give and i think its gonna be all right yeah the worst is over now the mornin sun is shinin like a red rubber ball the storys in the past with nothin to recall ive got my life to live and i dont need you at all the rollercoaster ride we took is nearly at an end i bought my ticket with my tears thats all im gonna spend and i think its gonna be all right yeah the worst is over now the mornin sun is shinin like a red rubber ball oh oh oh i think its gonna be all right yeah the worst is over now the mornin sun is shinin like a red rubber ball",3
39,"baby","carla thomas",1966," baby ooh baby i love to call you baby baby oh oh baby i love for you to call me babywhen you squeeze me real tight you make wrong things right and i cant stop loving you and i wont stop calling youbaby oh baby you look so good to me baby baby ooh baby you are so good to me baby just one look in your eye and my temperature goes skyhigh i live for you and cant help it you know i really dont want to help itbaby baby baby babywhenever the sun dont shine you go out to light my hind then i get real close to you and your sweet kisses see me throughi said baby ooh baby you look so good to me baby baby ooh baby how i love for you to call me baby when you squeeze me real tight you know you make wrong things right and i cant stop loving you and i wont stop calling youbaby baby ",1
40,"walk away renee","the left banke",1966," and when i see the sign that points one way the lot we used to pass by every dayjust walk away renee you wont see me follow you back home the empty sidewalks on my block are not the same youre not to blamefrom deep inside the tears that im forced to cry from deep inside the pain that i chose to hidejust walk away renee you wont see me follow you back home now as the rain beats down upon my weary eyes for me it criesjust walk away renee you wont see me follow you back home now as the rain beats down upon my weary eyes for me it criesyour name and mine inside a heart upon a wall still finds a way to haunt me though theyre so smalljust walk away renee you wont see me follow you back home the empty sidewalks on my block are not the same youre not to blame ",1
41,"daydream","the lovin spoonful",1966,"what a day for a daydream what a day for a daydreamin boy and im lost in a daydream dreamin bout my bundle of joy and even if time aint really on my side its one of those days for taking a walk outside im going to dare you to take a walk in the sun and smother my face on somebodys new mowed lawn ive been having a sweet dream i been dreaming since i woke up today its starring me and my sweet thing cause shes the one makes me feel this way and even if time is passing me by a lot i couldnt care less about the duce you say i got tomorrow ill pay the duce for garbage alone a pie and a place for being asleep before dawn and you can be sure that if youre feeling right a daydream will last long into the night tomorrow at breakfast you may pick up your ears or you may be daydreaming for a thousand years what a day for a daydream custommade for a daydreaming boy and im lost in a daydream dreaming bout my bundle of joy",3
42,"time wont let me","the outsiders",1966," i cant wait forever even though you want me to i cant wait forever to know if youll be true time wont let me time wont let me time wont let me wait too longcant you see ive waited too long to love you to hold you in my arms time wont let me time wont let me time wont let me aw ohi cant wait forever even though you want me to i cant wait forever to know if youll be true time wont let me time wont let me time wont let me wait that long it wont let me wait that long wait wait wait wait wait that long wait wait wait wait wait that long wait wait wait wait wait that long wait wait wait wait wait that long wait wait wait wait wait that long wait wait wait wait wait that long wait wait wait wait wait that long ",1
43,"hooray for hazel","tommy roe",1966," hooray for hazel she put me down hooray for hazel she made me her clown hooray for hazel shes up to her tricks hooray for hazel shes gettin her kickshazels been in love with many a guy she tells them that she loves them and then says goodbye hooray for hazel im now on her list im just another fool that couldnt resisthooray for hazel she put me down hooray for hazel she made me her clown hooray for hazel shes up to her tricks hooray for hazel shes gettin her kickshazel never feels any pity or shame a broken heart is just a part of her evil game hooray for hazel she did it again ill join the ranks of broken hearts that she put me inhooray for hazel she put me down hooray for hazel she made me her clown hooray for hazel shes up to her tricks hooray for hazel shes gettin her kickshazel only does things she wants to do shes selfish and shes spoiled and she knows that shes cute hooray for hazel she still gets her way but theres a time a comin well be able to sayhooray for hazel theres tears in her eyes hooray for hazel she knows how to cry hooray for hazel shes meek as a dove hooray for hazel shes beggin for lovehooray for hazel theres tears in her eyes hooray for hazel she know how to cry ",1
44,"sweet pea","tommy roe",1966," oh sweet pea come on and dance with me come on come on come on and dance with me oh sweet pea wont you be my girl wont you wont you wont you be my girli went to a dance just the other night i saw a girl there she was out of sight i asked a friend of mine who she could be he said that her friends just call her sweet peaoh sweet pea come on and dance with me come on come on come on and dance with me oh sweet pea wont you be my girl wont you wont you wont you be my girli walked on over and asked her to dance thinkin maybe later of makin romance but every guy there was thinkin like me i had to stand in line to get a dance with sweet peaoh sweet pea come on and dance with me come on come on come on and dance with me oh sweet pea wont you be my girl wont you wont you wont you be my girli finally got to whisper sweet words in her ear convinced her that we oughta get away from there we took a little walk i held her close to me and underneath the stars i said to sweet peaoh sweet pea i love you cant you see love you love you love you cant you see oh sweet pea wont you be my girl wont you wont you wont you be my girl ",1
45,"bus stop","the hollies",1966,"bus stop wet day shes there i say please share my umbrella bus stop bus goes she stays love grows under my umbrella all that summer we enjoyed it wind and rain and shine that umbrella we employed it by august she was mine every mornin i would see her waiting at the stop sometimes shed shopped and she would show me what she bought other people stared as if we were both quite insane someday my name and hers are going to be the same thats the way the whole thing started silly but its true thinkin of a sweet romance beginnin in a queue came the sun the ice was melting no more sheltering now nice to think that that umbrella led me to a vow every mornin i would see her waiting at the stop sometimes shed shopped and she would show me what she bought other people stared as if we were both quite insane someday my name and hers are going to be the same please share my umbrella bus stop wet day shes there i say please share my umbrella bus stop bus goes she stays love grows under my umbrella all that summer we enjoyed it wind and rain and shine that umbrella we employed it by august she was mine",3
46,"im your puppet","james  bobby purify",1966,"pull the string and ill wink at you im your puppet ill do funny things if you want me to im your puppet mm im yours to have and to hold darling youve got full control of your puppetpull them little strings and ill kiss your lips im your puppet snap your fingers and ill turn you some flips im your puppet mm your every wish is my command all you got to do is wiggle your little hand im your puppet im your puppet im just a toy just a funny boy that makes you laugh when youre blue ill be wonderful do just what im told ill do anything for youim your puppet im your puppetjust pull them little strings and ill sing you a song im your puppet make me do right or make me do wrong im your puppet mm treat me good and ill do anything im just a puppet and you hold my string im your puppetyour walking talking kissing loving puppet im hanging on a string ill do anything love you n kiss ya",5
47,"im so lonesome i could cry","bj thomas",1966," did you hear that lonesome whippoorwill he sounds too blue to fly the midnight train is whining low and im so lonesome i could crydid you ever see a night so long when time goes crawlin by the moon just went behind a cloud and im so lonesome i could crydid you ever see a robin weep when leaves begin to die that means hes lost the will to live and im so lonesome i could crythe silence of a fallin star lights up a purple sky and as i wonder where you are im so lonesome i could cry ",1
48,"aint too proud to beg","the temptations",1966," i know you wanna leave me but i refuse to let you go if i have to beg plead for your sympathy i dont mind cause you mean that much to meaint too proud to beg and you know it please dont leave me girl dont you go aint too proud to plead baby baby please dont leave me girl dont you gonow ive heard a cryin man is half a man with no sense of pride but if i have to cry to keep you i dont mind weepin if itll keep you by my sideaint too proud to beg sweet darling please dont leave me girl dont you go aint too proud to plead baby baby please dont leave me girl dont you goif i have to sleep on your doorstep all night and day just to keep you from walking away let your friends laugh even this i can stand cause i wanna keep you any way i canaint too proud to beg and you know it please dont leave me girl dont you go aint too proud to plead baby baby please dont leave me girl dont you go ooh hoonow ive got a love so deep in the pit of my heart and each day it grows more and more im not ashamed to call and plead to you baby if pleading keeps you from walking out that dooraint too proud to beg you know it please dont leave me girl dont you go aint too proud to plead baby baby please dont leave me girl dont you go baby sweet darling please dont go ",1
49,"dirty water","the standells",1966," spoken im gonna tell you a story im gonna tell you about my town im gonna tell you a big bad story baby aww its all about my townyeah down by the river down by the banks of the river charles aw thats whats happenin baby thats where youll find me along with lovers fuggers and thieves aw but theyre cool people well i love that dirty water oh boston youre my home oh youre the number one place frustrated women i mean theyre frustrated have to be in by twelve oclock oh thats a shame but im wishin and ahopin oh that just once those doors werent locked i like to save time for my baby to walk around well i love that dirty water oh boston youre my home oh yeahbecause i love that dirty water oh oh boston youre my home oh yeahwell i love that dirty water i love it baby i love that dirty water i love bawstun i love that dirty water have you heard about the strangler i love that dirty water im the man im the man i love that dirty water owww i love that dirty water come on come on ",1
50,"elusive butterfly","bob lind",1966," you might wake up some morning to the sound of something moving past your window in the wind and if youre quick enough to rise youll catch the fleeting glimpse of someones fading shadowout on the new horizon you may see the floating motion of a distant pair of wings and if the sleep has left your ears you might hear footsteps running through an open meadowdont be concerned it will not harm you its only me pursuing something im not sure of across my dreams with nets of wonder i chase the bright elusive butterfly of loveyou might have heard my footsteps echo softly in the distance through the canyons of your mind i might have even called your name as i ran searching after something to believe inyou might have seen me runnin through the long abandoned ruins of the dreams you left behind if you remember something there that glided past you followed close by heavy breathingdont be concerned it will not harm you its only me pursuing something im not sure of across my dreams with nets of wonder i chase the bright elusive butterfly of loveacross my dreams with nets of wonder i chase the bright elusive butterfly of love ",1
51,"i am a rock","simon  garfunkel",1966,"a winters day in a deep and dark december i am alone gazing from my window to the streets below on a freshly fallen silent shroud of snow i am a rock i am an island ive built walls a fortress steep and mighty that none may penetrate i have no need of friendship friendship causes pain its laughter and its loving i disdain i am a rock i am an island dont talk of love well ive heard the word before its sleeping in my memory i wont disturb the slumber of feelings that have died if i never loved i never would have cried i am a rock i am an island i have my books and my poetry to protect me i am shielded in my armor hiding in my room safe within my womb i touch no one and no one touches me i am a rock i am an island and a rock feels no pain and an island never cries",3
52,"crying time","ray charles",1966," oh its crying time again youre gonna leave me i can see that far away look in your eyes i can tell by the way you hold me darlin ooh that it wont be long before its crying timenow they say that absence makes the heart grow fonder fonder and that tears are only rain to make love grow well my love for you could never grow no stronger stronger if i lived to be a hundred years oldoh its crying time again youre gonna leave me i can see that far away look in your eyes i can tell by the way you hold me darlin yeah now that it wont be long before its crying timenow you say youve found someone that you love better better thats the way its happened every time before and as sure as the sun comes up tomorrow morrow crying time will start when you walk out the door ",1
53,"secret agent man","johnny rivers",1966," theres a man who leads a life of danger to everyone he meets he stays a stranger with every move he makes another chance he takes odds are he wont live to see tomorrowsecret agent man secret agent man theyve given you a number i know theyve take away your namebeware of pretty faces that you find a pretty face can hide an evil mind ah be careful what you say or youll give yourself away odds are you wont live to see tomorrowsecret agent man secret agent man theyve given you a number i know theyve take away your namesecret agent man secret agent man theyve given you a number oh theyve taken away your nameswingin on the riviera one day and then layin in the bombay alley next day oh dont you let you let the wrong word slip while kissing persuasive lips odds are you wont live to see tomorrowsecret agent man secret agent man theyve given you a number oh theyve take away your namesecret agent man ",1
54,"the sound of silence","simon  garfunkel",1966,"hello darkness my old friend ive come to talk with you again because a vision softly creeping left its seeds while i was sleeping and the vision that was planted in my brain still remains within the sound of silence in restless dreams i walked alone narrow streets of cobblestone neath the halo of a street lamp i turned my collar to the cold and damp when my eyes were stabbed by the flash of a neon light that split the night and touched the sound of silence and in the naked light i saw ten thousand people maybe more people talking without speaking people hearing without listening people writing songs that voices never share and no one dared disturb the sound of silence fools said i you do not know silence like a cancer grows hear my words that i might teach you take my arms that i might reach you but my words like silent raindrops fell and echoed in the wells of silence and the people bowed and prayed to the neon god they made and the sign flashed out its warning in the words that it was forming and the signs said the words of the prophets are written on the subway walls and tenement halls and whispered in the sounds of silence",3
55,"lady godiva","peter and gordon",1966,"peter miscellaneous lady godiva lady godiva peter  gordon m leander  c mills seventeen a beauty queen she made a ride that caused a scene in the town her long blonde hair hangin down around her knees all the cats who dig striptease prayin for a little breeze her long blonde hair falling down across her arms hiding all the ladys charms lady godiva she found fame and made her name a hollywood director came into town and said to her howd you like to be a star youre a girl that could go far specially dressed the way you are she smiled at him gave her pretty head a shake that was lady gs mistake aheyheyhey lady godiva he directs certificate x and people now are craning their necks to see her cause shes a star one that everybody knows finished with the striptease shows now she cant afford her clothes her long blonde hair lyin on the barbers floor doesnt need it long anymore lady godiva",3
56,"homeward bound","simon  garfunkel",1966,"im sittin in the railway station got a ticket for my destination on a tour of one night stands my suitcase and guitar in hand and every stop is neatly planned for a poet and a one man band homeward bound i wish i was homeward bound home where my thoughts escapin home where my musics playin home where my love lies waitin silently for me everydays an endless stream of cigarettes and magazines and each town looks the same to me the movies and the factories and every strangers face i see reminds me that i long to be homeward bound i wish i was homeward bound home where my thoughts escapin home where my musics playin home where my love lies waitin silently for me tonight ill sing my songs again ill play the game and pretend but all my words come back to me in shades of mediocrity like emptiness in harmony i need someone to comfort me homeward bound i wish i was homeward bound home where my thoughts escapin home where my musics playin home where my love lies waitin silently for me silently for me",3
57,"did you ever have to make up your mind","the lovin spoonful",1966,"did you ever have to make up your mind pick up on one and leave the other behind its not often easy and not often kind did you ever have to make up your mind did you ever have to finally decide say yes to one and let the other one ride theres so many changes and tears you must hide did you ever have to finally decide sometimes theres one with big blue eyes cute as a bunny with hair down to here and plenty of money and just when you think shes that one in the world you heart gets stolen by some mousey little girl and then you know youd better make up your mind sometimes you really dig a girl the moment you kiss her and then you get distracted by her older sister when in walks her father and takes you a line and says you better go home son and make up your mind and then you bet youd better finally decide",3
58,"barefootin","robert parker",1966,"everybody get on your feet you make me nervous when you in your seat take off your shoes now pat your feet were doin a dance that cant be beat were barefootin were barefootin were barefootin were barefootin went to a party the other night long tall sally was out of sight threw away her wig and her high sneakers too she did her dance without any shoes she was barefootin she was barefootin she was barefootin she was barefootin hey little girl with your red dress on i bet you can barefoot all night long take off your shoes now throw them away come back and get em another day were barefootin were barefootin were barefootin were barefootin were barefootin were barefootin lil john henry he said to sue if i was barefootin would you barefoot too sue told johnim thirty two ive been barefootin ever since i was two were barefootin were barefootin were barefootin were barefootin were barefootin were barefootin were barefootin were barefootin were barefootin were barefootin were barefootin",3
59,"uptight everythings alright","stevie wonder",1966," baby evrything is all right uptight out of sight baby evrything is all right uptight out of sightim a poor mans son from across the railroad tracks the only shirt i own is hangin on my back but im the envy of evry single guy since im the apple of my girls eye when we go out stepping on the town for a while my moneys low and my suits out of stylebut its all right if my clothes arent new out of sight because my heart is true she says baby evrything is alright uptight out of sight baby evrything is alright uptight clean out of sightshes a pearl of a girl i guess thats what you might say i guess her folks brought her up that way the right side of the tracks she was born and raised in a great big old house full of butlers and maids she said no one is better than i i know im just an average guyno football hero or smooth don juan got empty pockets you see im a poor mans son cant give her the things that money can buy but ill never never never make my baby cryand its all right what i cant do out of sight because my heart is true she says baby evrything is alright uptight clean out of sight baby evrything is alright uptight clean out of sight baby evrything is alright uptight ha ha ha ha yeah baby evrything is alright uptight way out of sight baby evrything is alright uptight clean out of sight ",1
60,"bang bang my baby shot me down","cher",1966,"i was five and he was six  we rode on horses made of sticks  he wore black and i wore white  he would always win the fight  bang bang he shot me down  bang bang i hit the ground  bang bang that awful sound  bang bang my baby shot me down  seasons came and changed the time  and i grew up i called him mine  he would always laugh and say  remember when we used to play  bang bang i shot you down  bang bang you hit the ground  bang bang that awful sound  bang bang i used to shoot you down  music played and people sang  just for me the church bells rang  now hes gone i dont know why  until this days sometimes i cry  he didnt even say goodbye  he didnt take the time to lie  bang bang he shot me down  bang bang i hit the ground  bang bang that awful sound  bang bang my baby shot me down",3
61,"sloop john b","the beach boys",1966,"we come on the sloop john b  my grandfather and me  around nassau town we did roam  drinking all night  got into a fight  well i feel so broke up  i want to go home  so hoist up the john bs sail  see how the mainsail sets  call for the captain ashore  let me go home let me go home  i wanna go home yeah yeah  well i feel so broke up  i wanna go home  the first mate he got drunk  and broke in the capns trunk  the constable had to come and take him away  sheriff john stone  why dont you leave me alone yeah yeah  well i feel so broke up i wanna go home  so hoist up the john bs sail  see how the mainsail sets  call for the captain ashore  let me go home let me go home  i wanna go home let me go home  why dont you let me go home  hoist up the john bs sail  hoist up the john b  i feel so broke up i wanna go home  let me go home  the poor cook he caught the fits  and threw away all my grits  and then he took and he ate up all of my corn  let me go home  why dont they let me go home  this is the worst trip ive ever been on  so hoist up the john bs sail  see how the mainsail sets  call for the captain ashore  let me go home let me go home  i wanna go home let me go home  why dont you let me go home",3
62,"19th nervous breakdown","the rolling stones",1966,"youre the kind of person you meet at certain dismal dull affairs center of a crowd talking much too loud running up and down the stairs well it seems to me that you have seen too much in too few years and though youve tried you just cant hide your eyes are edged with tears you better stop look around here it comes here it comes here it comes here it comes here comes your nineteenth nervous breakdown when you were a child you were a treated kind but you were never brought up right you were always spoiled with a thousand toys but still you cried all night your mother who neglected you owes a million dollars tax and your fathers still perfecting ways of making ceiling wax you better stop look around here it comes here it comes here it comes here it comes here comes your nineteenth nervous breakdown oh whos to blame that girls just insane well nothing i do dont seem to work it only seems to make the matters worse oh please you were still in school when you had that fool who really messed your mind and after that you turned your back on treating people kind on our first trip i tried so hard to rearrange your mind but after awhile i realized you were disarranging mine you better stop look around here it comes here it comes here it comes here it comes here comes your nineteenth nervous breakdown oh whos to blame that girls just insane well nothing i do dont seem to work it only seems to make the matters worse oh please when you were a child you were treated kind but you were never brought up right you were always spoiled with a thousand toys but still you cried all night your mother who neglected you owes a million",3
63,"wipe out","the surfaris",1966," wipe out ha ha ha ",1
64,"psychotic reaction","count five",1966,"i feel depressed i feel so bad cause youre the best girl that i ever had i cant get your love i cant get affection uhoh little girl psychotic reaction shouted and it feels like this instrumental break i feel so lonely night and day i cant get your love i must stay away i need you girl by my side uhoh little girl would you like to take a ride now i cant get your love i cant get satisfaction uhoh little girl psychotic reaction instrumental break fade",3
65,"beauty is only skin deep","the temptations",1966,"the temptations miscellaneous beauty is only skin deep beauty is only skin deep the temptations so in love sad as can be cause a pretty face got the best of me suddenly you came into my life and gave it meaning and pure delight now good looks ive learned to do without cause now i know its love that really counts cause i know that beautys only skin deep yayaya i know that beautys only skin deep ohya yes it is now you speak your words warm and sincere it lets me know that you love dear a pretty face you may not posses but what i like about you is your tenderness a pretty face may be may be some guys taste but ill that lovinany old place cause i know that beautys only skin deep yayaya and you know that beautys only skin deep ohya oh baby my friends ask what do i see in you but it goes deeper than the eye can view you have a pleasinpersonality and thats an ever lovinrare quality now show me a girl a girl thats fine an ill choose the one with true lovinevery time because i know that beautys only skin deep yayaya and i believe that beautys only skin deep ohya so if your lookinfor a lover dont judge a book by its cover she may be fine on the outside but soooo untrue on the inside i know that beautys only skin deep yayaya and you know that beautys only skin deep ohya from j r walskey",3
66,"no matter what shape your stomachs in","the tbones",1966,NA,NA
67,"just like me","paul revere  the raiders",1966,"its just like me to say to you love me do and ill be true and what id like for you to say is youll come home to me each day hiku be my girl thats what i want just you sweet thing and not a thing its just like me to feel so good and fall so much in love with you its just like me its just like me im acting the fool thats how ill be but its just like you to say goodbye and leave me all alone at night waaa its just like me to say to you love me do and ill be true and what id like for you to say is that youll love me here each day its just like me its just like me im acting the fool thats how ill be but its just like you to say goodbye and leave me all alone at night waaa its just like me its just like me",3
68,"love makes the world go round","deon jackson",1966," you know love makes the world go round and love baby makes the seesaws go up and down and it makes trees grow tall and the most important thing of all it makes a boy and girl oh say they feel so fine now feel so finewithout love flowers wouldnt grow in the spring and without spring yeah the birdies just couldnt sing everybody needs love 1 and 2 just to watch the twinkling stars above it makes a boy and girl 1 yeah 2 oh say they feel so fine now feel so fineoh love makes you cry now that goes for billy sherry bobby and marsha and baby you and i oh i can prove to you that these facts of love are so true it makes a boy and girl yeah say they feel so fine now feel so finelove love sweet love love is so good child ooh its so fine ooh ",1
69,"the pied piper","crispian st peters",1966,"you with your masquerading and you always contemplating what to do in case heaven has found you cant you see that its all around you so follow me one two hey come on babe follow me im the pied piper follow me im the pied piper and ill show you where its at come on babe cant you see im the pied piper trust in me im the pied piper and ill show you where its at girl dont be scared to move hey babe what are you tryin to prove it aint true that your life has kicked you its your mind and thats all thats trickin you so step in line come on babe follow me come on babe trust in me come on babe cant you see come on babe follow me im the pied piper",3
70,"coming on strong","brenda lee",1966," coming on strong coming on strong i can feel the heartaches coming on strongi can feel the teardrops the pain and sorrow ever since youve been gone theyve been coming on strongpain come on in hello sorrow i see youre back again teardrops glad you dropped by cause you can help drown my prideand since youre here the time seems to fly to let you know youre gonna be with me till i lose my mindbut youve been gone much too long and i can feel the heartaches coming on strongonly thing you left me was misery for company and memories of a love gone wrong that keep coming on strongcoming on strong coming on strong coming on strong coming on strong coming on strong ",1
71,"somewhere my love","ray conniff singers",1966,"somewhere my love there will be songs to sing although the snow covers the hope of spring somewhere a hill blossoms in green and gold and there are dreams all that your heart can hold someday well meet again my love someday whenever the spring breaks through youll come to me out of the long ago warm as the wind soft as the kiss of snow till then my sweet think of me now and then god speed my love till you are mine again lara my own think of me now and then god speed my love till you are mine again mine again",3
72,"almost persuaded","david houston",1966," last night all alone in a barroom met a girl with a drink in her hand she had ruby red lips coal black hair and eyes that would tempt any manthen she came and sat down at my table and as she placed her soft hands in mine i found myself wanting to kiss her for temptation was flowing like wineand i was almost persuaded to strip myself of my pride almost persuaded to push my conscience asidethen we danced and she whispered i need you take me away from here and be my man then ive looked into her eyes and i saw it the reflection of my wedding band ",1
73,"if i were a carpenter","bobby darin",1966," if i were a carpenter and you were a lady would you marry me anyway would you have my babyif a tinker were my trade would you still find me carryin the pots i made followin behind mesave my love through loneliness save my love for sorrow im given you my oneliness come give your tomorrowif i were a miller at a mill wheel grinding would you miss your color box and your soft shoe shiningif i worked my hands in wood would you still love me answer me babe yes i would ill put you above meif i were a carpenter and you were a lady would you marry me anyway would you have my baby would you marry anyway would you have my baby ",1
74,"dont mess with bill","the marvelettes",1966," dont mess with bill dont mess with bill dont mess with bill dont mess with billnow i know hes the guy who put tears in my eyes a thousand times or more oh but evrytime he would apologize i loved him more than beforehear what i say girls keep away uh huh dont mess with bill no no no no dont mess with billleave my billy alone dont mess with bill get a guy of your own dont mess with billnow theres johnny theres joe and theres frank and jim just to name a few now bills got me and ive got him im sure theres one for youhear what i say girls keep away uh huh dont mess with bill no no no no dont mess with billhe is mine all mine dont mess with bill ill say it one more time dont mess with billthough i tell myself he wants no one else cause he keeps coming back to me now im in no position to want competition i want to be sure as can behear what i say girls keep away uh huh dont mess with bill no no no no dont mess with billleave my billy alone dont mess with bill get a guy of your own dont mess with billcause he is mine all mine dont mess with bill ill say it one more time dont mess with bill ",1
75,"cherry cherry","neil diamond",1966," baby loves me yes yes she does ah the girls outta sight yeah says she loves me yes yes she does gonna show me tonight yeah she got the way to move me cherry she got the way to groove me she got the way to move me cherry baby she got the way to groove metell your mamma girl i cant stay long we got things we gotta catch up on mm you know you know what im sayin cant stand still while the music is playinalrightaint got no right no no you dont ah to be so exciting wont need bright lights no no we wont gonna make our own lightingshe got the way to move me cherry she got the way to groove me cherry baby she got the way to move me she got the way to groove meno we wont tell a soul where we gone to girl we do whatever we want to ah i love the way that you do me cherry babe you really get to meshe got the way to move me cherry she got the way to groove me cherry baby she got the way to move me she got the way to groove me cherry she got the way to move me ",1
76,"working in the coal mine","lee dorsey",1966,"working in the coal mine going down down down working in the coal mine whoop i wanna sit down working in the coal mine going down down down working in the coal mine whoop i wanna sit down five oclock in the morning im already up and gone lord im so tired how long can this go on working in the coal mine going down down down working in the coal mine whoop i wanna sit down working in the coal mine going down down down working in the coal mine whoop i wanna sit down cause i work every morning hauling coal by the ton but when saturday rolls around im too tired to have any fun working in the coal mine going down down down working in the coal mine whoop i wanna sit down working in the coal mine going down down down working in the coal mine whoop i wanna sit down lord im so tired how long can this go on working in the coal mine going down down down working in the coal mine whoop i wanna sit down working in the coal mine going down down down working in the coal mine whoop i wanna sit down five oclock in the morning im already up and gone lord im so tired how long can this go on working in the coal mine going down down down working in the coal mine whoop i wanna sit down working in the coal mine going down down down working in the coal mine whoop i wanna sit down cause i work every morning hauling coal by the ton but when saturday rolls around im too tired to have any fun working in the coal mine going down down down working in the coal mine whoop i wanna sit down working in the coal mine going down down down working in the coal mine whoop i wanna sit down lord im so tired how long can this go on",3
77,"message to michael","dionne warwick",1966," spread your wings for new orleans kentucky bluebird fly awayand take a message to michael message to michael he sings each night in some cafe in his search to find wealth and fame i hear michael has gone and changed his nameits a year since he was here kentucky bluebird fly awayand take a message to michael message to michael tell him i miss him more each day as his train pulled out down the track michael promised hed soon be coming backoh tell him how my heart just breaks in two since he journeyed far and even though his dreams of fame fell through to me he will always be a starspread your wings for new orleans kentucky bluebird fly awayand take a message to michael message to michael ask him to start for home today when you find him please let him know rich or poor i will always love him sofly away kentucky bluebird fly away kentucky bluebird fly away fly away fly away fly away ",1
78,"love is a hurtin thing","lou rawls",1966,"  ",1
79,"barbara ann","the beach boys",1966,"ba ba ba ba barbara ann ba ba ba ba barbara ann ba ba ba ba barbara ann youve got me rockin and arollin rockin and areelin barbara ann went to a dance looking for romance saw barbara ann so i thought id take a chance barbara ann take my hand youve got me rockin and arollin rockin and a reelin barbara ann tried betty sue tried betty lou tried mary sue but i knew it wouldnt do barbara ann take my hand youve got me rockin and arolling rockin and areeling barbara ann",3
80,"gloria","shadows of knight",1966,"  ",1
81,"my world is empty without you","the supremes",1966," my world is empty without you babe my world is empty without you babe and as i go my way alone i find it hard for me to carry on i need your strength i need your tender touch i need the love my dear i miss so muchmy world is empty without you babe my world is empty without you babe from this old world i try to hide my face but from this loneliness theres no hiding place inside this cold and empty house i dwell in darkness with memories i know so welli need your love more than before i can hardly carry on anymore my world is empty without you babe without you babe without you babe my mind and soul have felt like this since love between us no more exist and each time that darkness falls if finds me alone with these four wallsmy world is empty without you babe without you babe without you babe without you babe without you babe without you babe without you babe without you babe ",1
82,"rainy day women 12  35","bob dylan",1966,"well theyll stone you when youre trying to be so good theyll stone you just alike they said they would theyll stone you when youre tryin to go home then theyll stone you when youre there all alone but i would not feel so all alone everybody must get stoned well theyll stone you when youre walkin long the streets theyll stone you when youre tryin to keep your seat theyll stone you when youre walkin on the floor theyll stone you when youre walkin to the door but i would not feel so all alone everybody must get stoned theyll stone you when youre at the breakfast table theyll stone you when you are young and able theyll stone you when youre tryin to make a buck theyll stone you and then theyll say good luck hey but i would not feel so all alone everybody must get stoned well theyll stone you and say that its the end then theyll stone you and then theyll come back again theyll stone you when youre riding in your car theyll stone you when youre playing your guitar yes but i would not feel so all alone everybody must get stoned alright well theyll stone you when you walk all alone theyll stone you when you are walkin home theyll stone you and then say you are brave theyll stone you when you are set down in your grave but i would not feel so all alone everybody must get stoned",3
83,"guantanamera","the sandpipers",1966," guantanamera guajira guantanamera guantanamera guajira guantanamera yo soy un hombre sincero de don de crece la palma yo soy un hombre sincero de don de crece la palma antes des morirme quiero echar mis versos del alma guantanamera guajira guantanamera guantanamera guajira guantanamerami verso es de un verde claro y de un carm�_n encendido mi verso es de un verde claro y de un carm�_n encendido mi verso es un querido cielo que busca en el monte amparoguantanamera guajira guantanamera guantanamera guajira guantanamera ",1
84,"land of 1000 dances","wilson pickett",1966," 123 123 ow uh alright uhgot to know how to pony like bony maronie mash potato do the alligator put your hand on your hips yeah let your backbone slip do the watusi like my little lucy hey uhna nananana nananananananana nananana i need somebody to help me say it one time na nananana nananananananana nananana wowwow uh you know i feel alright huh i feel pretty good yall uh huhna nananana nananananananana nananana come on yall lets say it one more time na nananana nananananananana nananana oowplaying it is a habit with long tall sally twistin with lucy doin the watusi roll over on your back i like it like that do that jerk uh watch me work yall ow do it wow do it just watch me do itaah help me aah help me aah help me aah help me ",1
85,"oh how happy","the shades of blue",1966,"oh how happy you have made me oh how happy you have made me i have kissed your lips a thousand times and more times than i can count i have called you mine you have stood by me in my darkest hour oh how happy you have made me oh how happy you have made me oh how happy you have made me oh how happy you have made me in our years together we have had stormy weather but our love has been so strong that somehow weve carried on oh how happy you have made me oh how happy you have made me girl you brought joy to my delight and all that was wrong you have made it right and i love i love i love you oh how happy you have made me oh how happy you have made me oh how happy oh how happy oh how happy oh how happy oh how happy you you have made me you have made me you have made me you have made me you have made me you have made me",3
86,"woman","peter and gordon",1966,"woman do you love me woman if you need me then believe me i need you to be my woman woman do you love me woman if you need me then believe me i need you to be my woman and should you ask me how im doing what shall i say things are okay but i know that theyre not and i still may have lost you woman do you love me woman if you need me then believe me i need you to be my woman i guess youll take your time and tell me when were alone love will come home i would give up my world if youll say that my girl is my woman ive got plenty of time just to get through it once again youll be mine i still think we can do it and you know how much i love you woman dont forsake me woman if you take me then believe me ill take you to be my woman",3
87,"you baby","the turtles",1966,"the turtles miscellaneous you baby you baby the turtles pf sloan  steve barri intro drum beat followed by 12string guitar b dm e b v v v v v v v v v v 7 777 978998 9   b dm f e b nc v v v v v v v v  454 44664    verse 1 b dm from the time i fall asleep e f til the morning comes i dream about b dm e f you baby b dm and i feel all right e f cause i know tonight ill be with b dm e b you baby dm cm and who makes me feel like smiling e f when the weary day is through chorus b e f e b e f e b you baby noone but you baby nobody but you 2x repeat intro verse 2 they say candy is sweet but it just cant compete with you baby youve got everything i need and nobody can please like you do baby and who believes all my wildest dreams and my craziest schemes will come true repeat chorus bridge rhythm guitar plays muted 18 notes b5b5b6b6 etc b a little ray of sunshine e b a little bit of soul b add just a touch of magic cm dm e f you got the greatest thing since rock n roll repeat chorus 2x end cold",3
88,"five oclock world","the vogues",1966," up every mornin just to keep a job i gotta fight my way through the hustling mob sounds of the city poundin in my brain while another day goes down the drainbut its a five oclock world when the whistle blows no one owns a piece of my time and theres a five oclock me inside my clothes thinkin that the world looks fine yeahtradin my time for the pay i get livin on money that i aint made yet ive been goin tryin to make my way while i live for the end of the daycuz its a five oclock world when the whistle blows no one owns a piece of my time and theres a longhaired girl who waits i know to ease my troubled mind yeah oh my lady yeah oh my lady yeah in the shelter of her arms everythings ok when she talks then the world goes slippin away and i know the reason i can still go on when every other reason is gone ",1
89,"black is black","los bravos",1966," black is black i want my baby back its gray its gray since she went away oohooh what can i do cause iiiiim feelin blueif i had my way shed be back today but she dont intend to see me again oohooh what can i do cause iiiiim feelin bluei cant choose its too much to lose my loves too strong wow maybe if she would come back to me then it cant go wrongbad is bad that i feel so sad its time its time that i found peace of mind oohooh what can i do cause iiiiim feelin bluei cant choose its too much to lose my loves too strong wow maybe if she would come back to me then it cant go wrongblack is black i want my baby back its gray its gray since she went away oohooh what can i do cause iiiiim feelin blue cause iiiiim feelin blue ",1
90,"nowhere man","the beatles",1966,"hes a real nowhere man sitting in his nowhere land making all his nowhere plans for nobody doesnt have a point of view knows not where hes going to isnt he a bit like you and me nowhere man please listen you dont know what youre missing nowhere man the world is at your command hes as blind as he can be just sees what he wants to see nowhere man can you see me at all nowhere man dont worry take your time dont hurry leave it all til somebody else lends you a hand doesnt have a point of view knows not where hes going to isnt he a bit like you and me nowhere man please listen you dont know what youre missing nowhere man the world is at your command hes a real nowhere man sitting in his nowhere land making all his nowhere plans for nobody making all his nowhere plans for nobody making all his nowhere plans for nobody",3
91,"dandy","hermans hermits",1966," dandy dandy where you gonna go now who you gonna run toall your little life youre chasin all the girls they cant resist your smile uhhmm they long fordandy dandy chattin up the ladies ticklin their fancy pourin out your charmsto meet your own demands and you turn it off at will huhoh they long fordandy dandy knockin on the back door climbin through the window hubbys gone awayand while the cats away the mice are gonna play uhhmm you lowdowndandy dandy dandydandy you know youre moving much too fast and dandy you know you cant escape the past look around you and see the people settle downand when youre old and grey you will remember what they said that two girls are too many threes a crowd and four youre deadoh dandy dandy when you gonna give up are you feelin old now you always will be free and you need no sympathya bachelor you will stay and dandy youre all right youre all right youre all right ",1
92,"baby scratch my back","slim harpo",1966," aww im itchyand i dont know where to scratch come here baby scratch my back i know you can do it so baby get to itawwyoure workin with it now you got me feelin so good just look to the sun now baby ummmmmthis little girl sho knows howd scratch now youre doin the chicken scratch aww its lookin good baby just gettin scratch thats what im talkin bout ",1
93,"shes just my style","gary lewis  the playboys",1966,NA,NA
94,"the more i see you","chris montez",1966,"the more i see you  the more i want you somehow this feeling just grows and grows with every sigh  i become more mad about you more lost without you and so it goes can you imagine how much i love you the more i see you  as years go by i know the only one for me can only be you my arms wont free you and my heart wont try",3
95,"i fought the law","bobby fuller four",1966," im breakin rocks in the hot sun i fought the law and the law won i fought the law and the law woni needed money cause i had none i fought the law and the law won i fought the law and the law woni miss my baby and i feel so sad i guess my race is run like shes the best girl i ever had i fought the law and the law won i fought the law and the law wonim robbin people with a sixgun i fought the law and the law won i fought the law and the law woni miss my baby and the good fun i fought the law and the law won i fought the law and the law woni miss my baby and i feel so sad i guess my race is run like shes the best girl i ever had i fought the law and the law won i fought the law and the law won ",1
96,"yellow submarine","the beatles",1966,"in the town where i was born lived a man who sailed to sea and he told us of his life in the land of submarines so we sailed up to the sun till we found the sea of green and we lived beneath the waves in our yellow submarine we all live in a yellow submarine yellow submarine yellow submarine we all live in a yellow submarine yellow submarine yellow submarine and our friends are all on board many more of them live next door and the band begins to play we all live in a yellow submarine yellow submarine yellow submarine we all live in a yellow submarine yellow submarine yellow submarine full speed ahead mr parker full speed ahead full speed over here sir action station action station aye aye sir fire heaven heaven as we live a life of ease a life of ease everyone of us everyone of us has all we need has all we need sky of blue sky of blue and sea of green sea of green in our yellow in our yellow submarine submarine ha ha we all live in a yellow submarine yellow submarine yellow submarine we all live in a yellow submarine yellow submarine yellow submarine we all live in a yellow submarine yellow submarine yellow submarine we all live in a yellow submarine yellow submarine yellow submarine",3
97,"hungry","paul revere  the raiders",1966,"girl you got this need to know what im all about there is something that you dig you cant figure out well you wanna know what moves my soul and what ticks inside of my brain but ive got this need i just cant control and its a drivin me insane i cant take it because im hungry for those good things baby hungry through and through im hungry for that sweet life baby with a real fine girl like you i could almost taste it its sweet as wine theres a custom tailored world that i wanna own someday with a special place up high where we can stay alone you and me girl im gonna have it all someday if youll just hang on to my hand if i break some rules along the way girl you you gotta understand its my way of gettin what i want now cause im hungry yes im hungry for those good things baby hungry through and through well im hungry for that sweet life baby with a real fine girl like you i can almost taste it now oh its sweet as wine aint gonna waste it now when its finally mine gonna live each minute fill the hours and days til ive had my fill girl ill be rollin in it yes yes you know i will yes i will cause im hungry for those good things baby hungry through and through im hungry for that sweet life baby with a real fine girl like you hungry for those good things baby hungry through and through im hungry for that sweet life baby with a real fine girl like you",3
98,"zorba the greek","herb alpert and the tijuana brass",1966,"  ",1
99,"shapes of things","the yardbirds",1966,"shapes of things before my eyes just teach me to despise will time make men more wise here within my lonely frame my eyes just heard my brain but will it seem the same come tomorrow will i be older come tomorrow may be a soldier come tomorrow may i be bolder than today now the trees are almost green but will they still be seen when time and tide have been fallin into your passing hands please dont destroy these lands dont make them desert sands come tomorrow will i be older come tomorrow may be a soldier come tomorrow may i be bolder than today soon i hope that i will find thoughts deep within my mind that wont displace my kind",3
100,"6345789 soulsville usa","wilson pickett",1966,NA,NA
1,"to sir with love","lulu",1967," those school girl days of telling tales and biting nails are gone but in my mind i know they will still live on and onbut how do you thank someone who has taken you from crayons to perfume it isnt easy but ill tryif you wanted the sky i would write across the sky in letters that would soar a thousand feet high to sir with lovethe time has come for closing books and long last looks must end and as i leave i know that i am leaving my best frienda friend who taught me right from wrong and weak from strong thats a lot to learn what can i give you in returnif you wanted the moon i would try to make a star but i would rather you let me give my heart to sir with love ",1
2,"the letter","the box tops",1967," gimme a ticket for an aeroplane aint got time to take a fast train lonely days are gone im agoin home my baby justa wrote me a letteri dont care how much money i gotta spend got to get back to my baby again lonely days are gone im agoin home my baby justa wrote me a letterwell she wrote me a letter said she couldnt live without me no more listen mister cant you see i got to get back to my baby oncea more anyway yeahgimme a ticket for an aeroplane aint got time to take a fast train lonely days are gone im agoin home my baby justa wrote me a letterwell she wrote me a letter said she couldnt live without me no more listen mister cant you see i got to get back to my baby oncea more anyway yeahgimme a ticket for an aeroplane aint got time to take a fast train lonely days are gone im agoin home my baby justa wrote me a letter my baby justa wrote me a letter ",1
3,"ode to billie joe","bobbie gentry",1967," it was the third of june another sleepy dusty delta day i was out choppin cotton and my brother was balin hay and at dinner time we stopped and walked back to the house to eat and mama hollered out the back door yall remember to wipe your feet and then she said i got some news this mornin from choctaw ridge today billy joe macallister jumped off the tallahatchie bridgeand papa said to mama as he passed around the blackeyed peas well billy joe never had a lick of sense pass the biscuits please theres five more acres in the lower forty ive got to plow and mama said it was shame about billy joe anyhow seems like nothin ever comes to no good up on choctaw ridge and now billy joe macallisters jumped off the tallahatchie bridgeand brother said he recollected when he and tom and billie joe put a frog down my back at the carroll county picture show and wasnt i talkin to him after church last sunday night ill have another piecea apple pie you know it dont seem right i saw him at the sawmill yesterday on choctaw ridge and now ya tell me billie joes jumped off the tallahatchie bridgeand mama said to me child whats happened to your appetite ive been cookin all morning and you havent touched a single bite that nice young preacher brother taylor dropped by today said hed be pleased to have dinner on sunday oh by the way he said he saw a girl that looked a lot like you up on choctaw ridge and she and billy joe was throwing somethin off the tallahatchie bridge ",1
4,"windy","the association",1967,"whos peekin out from under a stairway calling a name thats lighter than air whos bending down to give me a rainbow everyone knows its windy whos tripping down the streets of the city smilin at everybody she sees whos reachin out to capture a moment everyone knows its windy and windy has stormy eyes that flash at the sound of lies and windy has wings to fly above the clouds   above the clouds above the clouds   above the clouds and windy has stormy eyes that flash at the sound of lies and windy has wings to fly above the clouds   above the clouds above the clouds   above the clouds whos tripping down the streets of the city smilin at everybody she sees whos reachin out to capture a moment everyone knows its windy whos tripping down the streets of the city smilin at everybody she sees whos reachin out to capture a moment everyone knows its windy whos tripping down the streets of the city smilin at everybody she sees whos reachin out to capture a moment everyone knows its windy whos tripping down the streets of the city smilin at everybody she sees whos reachin out to capture a moment everyone knows its windy whos tripping down the streets of the city smilin at everybody she sees whos reachin out to capture a moment everyone knows its windy",3
5,"im a believer","the monkees",1967,"monkees miscellaneous im a believer im a believer       monkees i thought love was only true in fairy tales meant for someone else but not for me ah love was out to get to me thats the way it seems disappointment haunted all my dreams refrain then i saw her face now im a believer not a trace  of doubt in my mind im in love im a believer i couldnt leave her if i try i thought love was more or less a givin thing seemed the more i gave the less i got whats the use in trying all you get is pain when i needed sunshine i got rain refrain ah love was out to get to me now thats the way it semed disappointment haunted all my dreams refrain then i saw her face now im a believer not a trace  of doubt in my mind now im a believer yes im a believer yeah yeah yeah now im a believer ",3
6,"light my fire","the doors",1967," ah keep your eyes on the road your hands upon the wheel keep your eyes on the road your hands upon the wheel yeah were going to the roadhouse gonna have a real goodtimeyeah the back of the roadhouse theyve got some bungalows yeah the back of the roadhouse theyve got some bungalowsthey dance for the people who like to go down slowlet it roll baby roll let it roll baby roll let it roll baby roll let it roll all night longdo it robby do ityou gotta roll roll roll you gotta thrill my soul alright roll roll roll rolla thrill my soul yeah rightashen lady ashen lady give up your vows give up your vows save our city save our city ah right nowwell i woke up this morning and i got myself a beer well i woke up this morning and i got myself a beerthe futures uncertain and the end is always nearlet it roll baby roll let it roll baby roll let it roll baby roll let it roll all night long ",1
7,"somethin stupid","frank  nancy sinatra",1967,"i know i stand in line until you think you have the time to spend an evening with me and if we go someplace to dance i know that theres a chance you wont be leaving with me and afterwards we drop into a quiet little place and have a drink or two and then i go and spoil it all by saying something stupid like i love you i can see it in your eyes that you despise the same old lines you heard the night before and though its just a line to you for me its true and never seemed so right before i practice every day to find some clever lines to say to make the meaning come true but then i think ill wait until the evening gets late and im alone with you the time is right your perfume fills my head the stars get red and oh the nights so blue and then i go and spoil it all by saying something stupid like i love you",3
8,"happy together","the turtles",1967,"imagine me and you i do i think about you day and night its only right to think about the girl you love and hold her tight so happy together if i should call you up invest a dime and you say you belong to me and ease my mind imagine how the world could be so very fine so happy together i cant see me loving nobody but you for all my life when youre with me baby the skies will be blue for all my life me and you and you and me no matter how they tossed the dice it had to be the only one for me is you and you for me so happy together i cant see me loving nobody but you for all my life when youre with me baby the skies will be blue for all my life me and you and you and me no matter how they tossed the dice it had to be the only one for me is you and you for me so happy together me and you and you and me no matter how they tossed the dice it had to be the only one for me is you and you for me so happy together so happy together how is the weather so happy together were happy together so happy together so happy together so happy together so happy together ",3
9,"groovin","the young rascals",1967,"groovin on a sunday afternoon really couldnt get away too soon i cant imagine anything thats better the world is ours whenever were together there aint a place id like to be instead of movin down a crowded avenue doin anything we like to do theres always lots of things that we can see we can be anyone we like to be and all those happy people we could meet just groovin on a sunday afternoon really couldnt get away too soon no no no no well keep on spending sunny days this way were gonna talk and laugh our time away i feel it coming closer day by day life would be ecstasy you and me endlessly groovin on a sunday afternoon really couldnt get away to soon no no no no groovin groovin",3
10,"cant take my eyes off you","frankie valli",1967," youre just too good to be true i cant take my eyes off you youd be like heaven to touch i wanna hold you so much at long last love has arrived and i thank god im alive youre just too good to be true cant take my eyes off youpardon the way that i stare theres nothing else to compare the sight of you leaves me weak there are no words left to speak but if you feel like i feel please let me know that is real youre just too good to be true i cant take my eyes off youi need you baby and if its quite all right i need you baby and if its quite alright i need you baby to warm the lonely nights i love you baby trust in me when i say its okayoh pretty baby dont bring me down i pray oh pretty baby now that ive found you stay and let me love you baby let me love youyoure just too good to be true i cant take my eyes off you youd be like heaven to touch i wanna hold you so much at long last love has arrived and i thank god im alive youre just too good to be true cant take my eyes off youi need you baby and if its quite all right i need you baby to warm the lonely nights i love you baby now trust in me when i say its okayoh pretty baby dont bring me down i pray oh pretty baby now that ive found you stay and let me love you baby let me love you ",1
11,"little bit o soul","the music explosion",1967,"now when youre feelin low and the fish wont bite you need a little bit o soul to put you right you gotta make like you wanna kneel and pray and then a little bit o soul will come your way now when your girl is gone and youre broke in two you need a little bit o soul to see you through and when you raise the roof with your rock n roll youll get a lot more kicks with a little bit o soul and when your party falls cause aint nobody groovin a little bit of soul and it really starts movin yeah and when youre in a mess and you feel like cryin just remember this little song of mine and as you go through life tryin to reach your goal just remember what i said about a little bit o soul a little bit o soul yeah a little bit o soul",3
12,"i think were alone now","tommy james and the shondells",1967,"hey tom were in the limo were ready to go you ready man ah yeah ill be right with you rock listen why dont you come along with us ahh i dont know come on well have a great time well okay if you really want me to wow hey guys hey fred why dont you turn on the radio okay man and now headline news at the top of the hour flooding in south america earthquakes in asia as you n peace keepers march into the middle east in local news mayor shh shh listen",5
13,"respect","aretha franklin",1967," what you want ho baby i got it what you need ho you know i got it ho all im asking ho is for a little respect when you come home just a little bit hey baby just little bit when you get home just a little bit mister just a little biti aint gonna do you wrong while youre gone i aint gonna do you wrong cause i dont wanna all im asking is for a little respect when you come home just a little bit baby just a little bit when you get home just a little bit yeah just a little bitim about to give you all my money and all im asking in return honey is to give me my prospers when you get home just a just a just a just a yeah baby when you get home just a little bit yeah just a little bitho your kisses ho sweeter than honey ho and guess what ho so is my money ho all i want you to do for me is give it to me when you get home re re re re re respect yeah baby whip it to me just a little bit when you get home now just a little bitrespect find out what it means to me respect take care tcb oh sock it to mea little respect oh yeah just a little bit a little respect just a little bit i get tired just a little bit keep on tryin just a little bit youre runnin out of fools just a little bit and i aint lyin just a little bit re re re re spect when you come home re re re re or you might walk in respect just a little bit and find out im gone just a little bit i got to have just a little bit ",1
14,"i was made to love her","stevie wonder",1967," i was born in lil rock had a childhood sweetheart we were always hand in hand i wore hightop shoes and shirt tails suzy was in pig tails i know i loved her even then you know my papa disapproved it my mama boohooed it but i told them time and time again dont you know i was made to love her built a world all around her yeah hey hey hey shes been my inspiration showed appreciation for the love i gave her through the years like a sweet magnolia tree my love blossomed tenderly my life grew sweeter through the years i know that my baby love me my baby needs me thats why we made it through the years i was made to love her worship and adore her hey hey hey all through thick and thin our love just wont end cause i love my baby love my baby ah my baby loves me my baby needs me and i know i aint going nowhere i was knee high to a chicken and that love bug bit me i had the fever with each passing year oh even if the mountain tumbles if this whole world crumbles by her side ill still be standing there cause i was made to love her i was made to live for her yeah hey hey hey ah i was made to love her built my world all around her hey hey hey oo baby i was made to please her you know stevie aint gonna leave her no hey hey hey ",1
15,"come back when you grow up","bobby vee",1967," come back when you grow up girl youre still livin in a paperdoll world livin aint easy lovins twice as tough so come back baby when you grow upyou look real good like a woman now your mind hasnt gotten the message somehow so if you cant take it and the goin gets rough come back baby when you grow upi want you girl but your wideeyed innocence has really messed up my mind yeah id rather you get your very first heartbreak somewhere else along the linecome back when you grow up girl youre still livin in a paperdoll world some day be a woman ready to love come back baby when you grow upcome back when you grow up girl youre still livin in a paperdoll world livin aint easy lovins twice as tough so come back baby when you grow upcome back when you grow up girl youve still got a lotta time left in the world youll some day be a woman ready to love come back baby when you grow upcome back when you grow up girl youre still livin in a paperdoll world livin aint easy lovins twice as tough so come back baby when you grow upcome back when you grow up girl youre still livin in a paperdoll world livin aint easy lovins twice as tough so come back baby when you grow up ",1
16,"kind of a drag","the buckinghams",1967,"  ",1
17,"sweet soul music","arthur conley",1967," do you like good music that sweet soul music just as long as its swingin oh yeah oh yeahout here on the floor now were going to a go go ah dancin to the music oh yeah oh yeahspotlight on lou rawls yall ah dont he look tall yall singin loves a hurtin thing now oh yeah oh yeahspotlight on sam and dave now ah dont they look boss yall singin hold on im comin oh yeah oh yeahspotlight on wilson pickett that wicked picket pickett singin mustang sally oh yeah oh yeahspotlight on otis redding now singing fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa oh yeah oh yeahspotlight on james brown now hes the king of them all yeah hes the king of them all yeah oh yeah oh yeahdo you like good music that sweet soul music just as long as its swingin oh yeah oh yeah ",1
18,"expressway to your heart","the soul survivors",1967,"ive been tryin to get to you for a long time because constantly youve been on my mind i was thinkin bout a shortcut i could take but it seems like i made a mistake i was wrong mmm i took too long i got caught in the rush hour a fellow started to shower you with love and affection now you wont look in my direction on the expressway to your heart the expressway is not the best way at five oclock its much too crowded much too crowded so crowded no room for me too crowded oh too crowded now theres too many ahead of me theyre all the time gettin in front of me i thought i could find a clear road ahead but i found stoplights instead i was wrong baby i took too long i got caught in the rush hour a fellow started to shower you with love and affection come on look in my direction on the expressway to your heart the expressway is not the best way at five oclock its much too crowded much too crowded so crowded no room for me too crowded oh too crowded oh much too crowded oh so crowded",3
19,"soul man","sam  dave",1967,"comin to you on a dust road good lovin i got a truck load and when you get you got some so dont worry cause im coming im a soul man oh im a soul man im a soul man oh im a soul man and that aint all thats what i got the hard way and i make it better each and every day so honey dont you fret cause you aint seen nothing yet im a soul man on road im a soul man im a soul man im a soul man oh i was brought up on a side street listen now i learned how to love before i could eat i was educated at woodstock when i start lovin oh i cant stop im a soul man im a soul man im a soul man yeah im a soul man grab the rope and ill pull you in give you hope and be your only boyfriend yeah yeah yeah yeah im talking about a soul man im a soul man soul man soul man oh no soul man im a soul man soul man",3
20,"never my love","the association",1967,"you ask me if therell come a time when i grow tired of you never my love never my love you wonder if this heart of mine will lose its desire for you never my love never my love what makes you think love will end when you know that my whole life depends on you on you never my love never my love you say you fear ill change my mind and i wont require you never my love   never my love never my love   never my love how can you think love will end when ive asked you to spend your whole life with me   with me   with me never my love   never my love never my love   never my   my love never my love   never my love never my love   never my   my love",3
21,"apples peaches pumpkin pie","jay  the techniques",1967,"ready or not here i come gee that used to be such fun apples peaches pumpkin pie whos not ready holler i thats the game we used to play yeah hide and seek was its name oh ready or not hear i come gee that used to be such fun i always used to find a hiding place times have changed well im one step behind you but still i cant find you apple peaches pumpkin pie you were young and so was i now that weve grown up it seems you just keep ignoring me ill find you anywhere you go ill follow you high and low you cant escape this love of mine anytime well ill sneak up behind you be careful where i find you apple peaches pumpkin pie soon your love will be all mine then im gonna take you home marry you so you wont roam marry you so you wont roam right now ill find you anywhere you go im gonna look high and low you cant escape this love of mine anytime well ill sneak up behind you be careful where i find you ready or not here i come gee that used to be such fun repeat and fade",3
22,"come on down to my boat","every mothers son",1967,"she sits on the dock a fishin in the water uh huh i dont know her name shes the fishermans daughter uh huh come on down to my boat baby come on down where we can play come on down to my boat baby come on down well sail away she smiled so nice like she wants to come with me uh huh but shes tied to the dock and she cant get free come on down to my boat baby fish all day sleep all night father never lets her out of his sight soon im gonna have to get my knife and cut that rope cut that rope then we can go fishin in my little red boat make you happy in my little red boat so come on down to my boat baby",5
23,"incense and peppermints","strawberry alarm clock",1967," good sense innocence cripplin and kind dead kings many things i cant define oh cajun spice sweats and blushers your mind incense and peppermints the color of thymewho cares what games we choose little to win but nothing to loseincense and peppermints meaningless nouns turn on tune in turn your eyes around look at yourself look at yourself yeah yeah look at yourself look at yourself yeah yeah yeah yeahtunea by the cockeyed world in two throw your pride to one side its the least you can do beatniks and politics nothing is new a yardstick for lunatics one point of viewwho cares what games we choose little to win but nothing to losegood sense innocence crippled and kind dead kings and many things i cant define oh cajun spice sweats and blushers your mind incense and peppermints the color of thymewho cares what games we choose little to win but nothing to loseincense peppermints incense peppermintsshalala shalala ",1
24,"ruby tuesday","the rolling stones",1967,"she would never say where she came from yesterday dont matter when its gone while the sun is bright or in the darkest night no one knows she comes and goes goodbye ruby tuesday who could hang a name on you when you smile with every new day still im gonna miss you dont question why she needs to be so free shell tell you its the only way to be she just cant be chained to a life where nothings gained and nothings lost at such a cost theres no time to lose i heard her say catch your dreams before they slip away dying all the time lose your dreams and you will lose your mind aint life unkind goodbye ruby tuesday who could hang a name on you when you smile with every new day still im gonna miss you",3
25,"it must be him","vikki carr",1967," i tell myself whats done is done i tell myself dont be a fool play the field have a lot of fun its easy when you play it cooli tell myself dont be a chump who cares let him stay away thats when the phone rings and i jump and as i grab the phone i praylet it please be him oh dear god it must be him it must be him or i shall die or i shall dieoh hello hello my dear god it must be him but its not him and then i die thats when i dieafter a while im myself again i pick the pieces off the floor put my heart on the shelf again youll never hurt me anymoreim not a puppet on a string ill find somebody else someday thats when the phone rings and once again i start to praylet it please be him oh dear god it must be him  it must be him or i shall die or i shall dieoh hello hello my dear god it must be him but its not him and then i die again i dielet it please be him oh dear god it must be him  it must be him or i shall die or i shall die ",1
26,"love is here and now youre gone","the supremes",1967," love is here and oh my darling now youre gone love is here and oh my darling now youre gone you persuaded me to love you and i did but instead of tenderness i found heartache instead into your arms i fell so unaware of the loneliness that was waiting there you closed the door of your heart and turned the key locked your love away from melove is here and oh my darling now youre gone you made me love you and oh my darling now youre gone you said loving you would make life beautiful with each passing day but as soon as love came into my heart you turned and you walked just one way you stripped me of my dreams you gave me faith then took my hope look at me nowlook at me see what loving you has done to me look at my face see how crying has left its trace after you made me all your own and you left me all alone you made your words sound so sweet knowing that your love i couldnt keep my heart cries out for your touch but youre not there and the lonely cry fades in the airlove is here and oh my darling now youre gone love is here and oh my darling now youre gone you made me love you oh my darling now youre gone you made me love you oh my darling now youre gone ",1
27,"for what its worth","buffalo springfield",1967," theres something happening here what it is aint exactly clear theres a man with a gun over there telling me i got to bewarei think its time we stop children whats that sound everybody look whats going downtheres battle lines being drawn nobodys right if everybodys wrong young people speaking their minds getting so much resistance from behindits time we stop hey whats that sound everybody look whats going downwhat a fieldday for the heat a thousand people in the street singing songs and carrying signs mostly say hooray for our sideits s time we stop hey whats that sound everybody look whats going downparanoia strikes deep into your life it will creep it starts when youre always afraid you step out of line the man come and take you awaywe better stop hey whats that sound everybody look whats going down stop hey whats that sound everybody look whats going down stop now whats that sound everybody look whats going down stop children whats that sound everybody look whats going down ",1
28,"gimme little sign","brenton wood",1967," if you do want me gimme little sugar if you dont want me dont lead me on girl but if you need me show me that you love me and when im feeling blue and i want you theres just one thing that you should dojust gimme some kind of sign girl oh my baby to show that youre mine girl oh yeahjust gimme some kind of sign girl oh my baby to show that youre mine girl all rightif you do want me gimme little sweet talk if you dont want me dont lead me on girl but if you need me show me that you love me and when im feeling down wearing a frown you be there when i look around ",1
29,"the happening","the supremes",1967," hey life look at me i can see the reality cause when you shook me took me outta my world i woke up suddenly i just woke up to the happening when you find that you left the future behind cause when you got a tender love you dont take care of then you better beware ofthe happening one day youre up when you turn around you find your world is tumbling down it happened to me and it can happen to youi was sure i felt secure until love took a detour yeah riding high on top of the world it happened suddenly it just happened i saw my dreams torn apart when love walked away from my heart and when you lose a precious love you need to guide you something happens inside youthe happening now i see life for what it is its not of dreams its not of bliss it happened to me and it can happen to you and then it happened oo and then it happened oo and then it happened oo and then it happened ",1
30,"all you need is love","the beatles",1967,"love love love love love love love love love theres nothing you can do that cant be done nothing you can sing that cant be sung nothing you can say but you can learn how to play the game its easy theres nothing you can make that cant me made no one you can save that cant be saved nothing you can do but you can learn how to be you in time its easy all you need is love all you need is love all you need is love love love is all you need love love love love love love love love love all you need is love all you need is love all you need is love love love is all you need theres nothing you can know that isnt known nothing you can see that isnt shown theres nowhere you can be that isnt where youre meant to be its easy all you need is love all you need is love all you need is love love love is all you need all you need is love all together now all you need is love everybody all you need is love love love is all you need love is all you need love is all you need love is all you need ",3
31,"release me","engelbert humperdinck",1967," please release me let me go for i dont love you anymore to waste our lives would be a sin release me and let me love againoh i i have found a new love dear and i i will always want her near her lips are warm while yours are cold release me my darlin let me goplease release me let me go for i dont love you anymore to waste my life would be a sin so release me and let me love againplease release me cant you see youd be a fool to cling to me to live a lie would bring us pain so release me and let me love again let me go let me go ",1
32,"your precious love","marvin gaye  tammi terrell",1967,"ooh every day theres something new honey to keep me lovin you and with every passin minute ah baby so much joy wrapped up in it oh heaven must have sent you from above oh heaven must have sent your precious love oh and i ive got a song to sing tellin the world about the joy you bring and you gave me a reason for livin and ooh you taught me you taught me the meaning of givin oh heaven must have sent you from above oh heaven must have sent your precious love oh to find a love like yours is rare these days cause youve shown me what happiness is in so many ways i look in the mirror and im glad to see laughter in the eyes where tears used to be what youve given me i could never return cause theres so much girl i have yet to learn honey and i wanna show i wanna show my appreciation cause when i found you i found a new inspiration oh heaven must have sent you from above oh heaven must have sent your precious love oh heaven must have sent you from above oh heaven must have sent your precious love",3
33,"somebody to love","jefferson airplane",1967," when the truth is found to be lies and all the joy within you dies dont you want somebody to love dont you need somebody to love wouldnt you love somebody to love you better find somebody to lovewhen the garden flowers baby are dead yes and your mind your mind is so full of red dont you want somebody to love dont you need somebody to love wouldnt you love somebody to love you better find somebody to loveyour eyes i say your eyes may look like his yeah but in your head baby im afraid you dont know where it is dont you want somebody to love dont you need somebody to love wouldnt you love somebody to love you better find somebody to lovetears are running down and down and down your breast and your friends baby they treat you like a guest dont you want somebody to love dont you need somebody to love wouldnt you love somebody to love you better find somebody to love ",1
34,"get on up","the esquires",1967,"ooh ooh ooh ditditditdo ooh ooh ooh ditditditdo get on up get on up get on up get on up now get on up get on up now get on up get on up how can you sit yourself down for a rest when you know that im trying my best to dance with you girl get on up to dance with you girl get on up so get on up get on up on the floor get on up get on up now get on up and dance some more get on up get on up get on up lets boogaloo get on up get on up now get on up just me and you get on up so get on up get on up on the floor get on up get on up now get on up and dance some more get on up get on up get on up lets boogaloo get on up get on up now get on up just me and you get on up da da da da da da hey you get on up over there get on up get on up now get on up dont go nowhere get on up we gonna dance dance dance we gonna dance dance dance the boogaloo get on up too get on up were gonna do the monkey the philly dog too were gonna do the jerk just me and you were gonna dance dance dance were gonna shingaling were gonna do the thing tonight ditditditdo so get on up get on up and sock it to me get on up get on up get on up and rock it to me get on up so get on up get on up and sock it to me get on up",3
35,"brown eyed girl","van morrison",1967," hey where did we go days when the rains came down in the hollow playin a new gamelaughin and arunnin hey hey skippin and ajumpin in the misty mornin fog with our our hearts athumpinand you my brown eyed girl you my brown eyed girland whatever happened to tuesday and so slow going down the old man with a transistor radiostandin in the sunlight laughin hidin behind a rainbows wall slippin and aslidin all along the waterfallwith you my brown eyed girl you my brown eyed girldo you remember when we used to sing sha la la la la la la la la lla te da just like that sha la la la la la la la la lla te da la te daso hard to find my way now that im all on my own i saw you just the other day my how you have growncast my memory back there lord sometimes im overcome thinkin bout it makin love in the green grass behind the stadium with you my brown eyed girl you my brown eyed girldo you remember when we used to sing sha la la la la la la la la lla te da lyin in the green grass sha la la la la la la la la lla te da bit by bit by bit by bit by bit by bit sha la la la la la la la la lla te da sha la la la la la la la la la te da la te da la te da da da da sha la la la la la la la la lla te da ",1
36,"jimmy mack","martha and the vandellas",1967,"martha miscellaneous jimmy mack jimmy mack martha  the vandellas  jimmy jimmy oh jimmy mack when are you coming back jimmy jimmy oh jimmy mack when are you coming back my arms are missing you my lips feel the same way too i tried so hard to be true like i promised id do but this boy keeps coming around hes trying to wear my resistance down chorus hey jimmy jimmy oh jimmy mack when are you coming back jimmy jimmy oh jimmy mack when are you coming back he calls me on the phone about three times a day now my hearts just listening to what he has to say but this loneliness that i have within keeps reaching out to be his friend chorus need your loving need your loving instrumental break i wanna say im not getting any stronger i cant hold out very much longer trying hard to be true but jimmy he talks just as sweet as you chorus need your loving need your loving need your loving need your loving jimmy jimmy oh jimmy mack when are you coming back repeats out",3
37,"i got rhythm","the happenings",1967,"in this vast and troubled world we sometimes loose our way but i am never lost i feel this way because ditditditditditditditdit ditdit rhythm ditdit rhythm ditdit rhythm ditdit rhythm i got rhythm i got music i got my girl who could ask for anything more i got good times no more bad times i got my girl who could ask for anything more old man trouble old man trouble i dont mind him i dont mind him you wont find him round my door i got starlight i got starlight i got sweet dreams i got sweet dreams i got my girl who could ask for who could ask for more instrumental interlude ditditditditditditditdit ditditditditditditditdit old man trouble old man trouble i dont mind him i dont mind him you wont find him youll never gonna find round my door i got rhythm hey i got rhythm i got music hey i got music i got my girl who could ask for anything more in this vast and troubled world ditdit rhythm ditdit rhythm ditdit rhythm ditdit rhythm i got rhythm i got rhythm i got rhythm",3
38,"a whiter shade of pale","procol harum",1967," we skipped the light fandango turned cartwheels cross the floor i was feeling kinda seasick but the crowd called out for more the room was humming harder as the ceiling flew away when we called out for another drink the waiter brought a trayand so it was that later as the miller told his tale that her face at first just ghostly turned a whiter shade of pale she said there is no reason and the truth is plain to see but i wandered through my playing cards and would not let her be one of sixteen vestal virgins who were leaving for the coast and although my eyes were open they might have just as wellve been closedand so it was that later as the miller told his tale that her face at first just ghostly turned a whiter shade of paleand so it was that later ",1
39,"dont you care","the buckinghams",1967," if you dont love me why dont you tell me instead of runnin around with all the other guys in town cant you see youre hurtin me dont you care dont you care dont you care if you dont want me why dont you tell me instead of tellin lies and makin me cry whatever happened to all the good times we used to have the times we cried and laughed i want to know i want to know will you ever love me again or will i find out that this is the end dont you care you said that youd believe me then whyd you ever leave me im standin here all alone without a girl of my own dont you care dont you care dont you care ",1
40,"then you can tell me goodbye","the casinos",1967,"kiss me each morning for a million years hold me each evening by your side tell me youll love me for a million years then if it dont work out then if it dont work out then you can tell me goodbye sweeten my coffee with a morning kiss soften my dreams with your sighs tell me youll love me for a million years then if it dont work out then if it dont work out then you can tell me goodbye if you must go oh no i wont grieve if you wait a lifetime before you leave then if you must go i wont tell you no just so that we can say we tried tell me youll love me for a million years then if it dont work out then if it dont work out then you can tell me goodbye",3
41,"reflections","the supremes",1967," through the mirror of my mind time after time i see reflections of you and mereflections of the way life used to be reflections of the love you took from meoh im all alone now no love to shield me trapped in a world thats a distorted realityhappiness you took from me and left me alone with only memoriesthrough the mirror of my mind through these tears that im crying reflects a hurt i cant control cause although youre gone i keep holding on to the happy times oh when you were mineas i peer through the window of lost time looking over my yesterdays and all the love i gave all in vain all the love all the love that ive wasted all the tears all the tears that ive tasted all in vainthrough the hollow of my tears i see a dream thats lost from the hurt that you have causedeverywhere i turn seems like everything i see reflects the love that used to bein you i put all my faith and trust right before my eyes my world has turned to dustafter all the nights i sat alone and wept just a handful of promises are all thats left of loving youreflections of the way life used to be reflections of the love you took from mein you i put all my faith and trust right before my eyes my world has turned to dust ",1
42,"on a carousel","the hollies",1967,"riding along on a carousel trying to catch up to you riding along on a carousel will i catch up to you horses chasing cause theyre racing so near yet so far on a carousel on a carousel nearer and nearer by changing horses still so far away people fighting for their places just get in my way soon youll leave and then ill lose you still were going round on a carousel on a carousel round and round and round and round round and round and round and round with you up down up down up down too as she leaves she drops the presents that she won before pulling ducks out of the water got the highest score nows my chance and i must take it a case of do or die on a carousel on a carousel round and round and round and round round and round and round and round with you up down up down up down too riding along on a carousel trying to catch up to you riding along on a carousel will i catch up to you now we take our ride together no more chasing her on a carousel on a carousel on a carousel on a carousel",3
43,"please love me forever","bobby vinton",1967,"please love me forever dont forget me ever just listen to my plea please dont stop loving me youre in my dreams nightly dont take my love lightly begging on bended knees please dont stop loving me oh when i lay me down to sleep i pray the lord your love ill keep if i should die before i wake ill come back for you thats no mistake oh ill love you forever cant forget you ever our love was meant to be please dont stop loving me ill love you forever cant forget you ever our love was meant to be please dont stop loving me please dont stop loving me",3
44,"alfie","dionne warwick",1967," whats it all about alfie is it just for the moment we live whats it all about when you sort it out alfie are we meant to take more than we give or are we meant to be kind and if only fools are kind alfie then i guess it is wise to be cruel and if life belongs only to the strong alfie what will you lend on an old golden rule as sure as i believe theres a heaven above alfie i know theres something much more something even nonbelievers can believe in i believe in love alfie without true love we just exist alfie until you find the love youve missed youre nothing alfie when you walk let your heart lead the way and youll find love any day alfie alfie ",1
45,"silence is golden","the tremeloes",1967,"oh dont it hurt deep inside to see someone do something to her oh dont it pain to see someone cry oh especially when someone is her silence is golden but my eyes still see silence is golden golden but my eyes still see a talkin is cheap people follow like sheep even though there is nowhere to go how could she tell he deceived her so well pity shell be the last one to know silence is golden but my eyes still see silence is golden golden but my eyes still see how many times did she fall for his line should i tell her or should i keep cool and if i tried i know shell say i lied mind your business dont hurt her you fool silence is golden but my eyes still see silence is golden golden but my eyes still see but my eyes still see but my eyes still see",3
46,"my cup runneth over","ed ames",1967,"sometimes in the mornin when shadows are deep i lie here beside you just watching you sleep and sometimes i whisper what im thinking of my cup runneth over with love sometimes in the evening when you do not see i study the small things you do constantly i memorize moments that im fondest of my cup runneth over with love in only a moment we both will be old we wont even notice the world turning cold and so in these moments with sunlight above my cup runneth over with love my cup runneth over with love with love",3
47,"up up and away","the 5th dimension",1967,"would you like to ride in my beautiful balloon would you like to glide in my beautiful balloon we could flow among the stars together you and i for we can fly up up and away   for we can fly in my beautiful my beautiful balloon the worlds a nicer place in my beautiful balloon it wears a nicer face in my beautiful balloon we can sing a song and sail along the silver sky for we can fly up up and away   for we can fly in my beautiful my beautiful balloon suspended under the twilight canopy well search the sky for a star to guide us if by some chance you find yourself loving me well find a cloud to hide us keep the moon beside us love is waiting there in my beautiful balloon way up in the air in my beautiful balloon if youll hold my hand well chase your dream across the sky for we can fly up up and away   for we can fly in my beautiful my beautiful balloon balloon up up and away up up and away up up and away",3
48,"san francisco be sure to wear flowers in your hair","scott mckenzie",1967,"if youre goin to san francisco be sure to wear some flowers in your hair if youre goin to san francisco youre gonna meet some gentle people there for those who come to san francisco summertime will be a lovein there in the streets of san francisco gentle people with flowers in their hair all across the nation such a strange vibration people in motion theres a whole generation with a new explanation people in motion people in motion for those who come to san francisco be sure to wear some flowers in your hair if you come to san francisco summertime will be a lovein there if you come to san francisco summertime will be a lovein there",3
49,"the rain the park  other things","the cowsills",1967,"i saw her sitting in the rain raindrops falling on her she didnt seem to care she sat there and smiled at me then i knew she could make me happy flowers in her hair flowers everywhere i love the flower girl oh i dont know just why she simply caught my eye i love the flower girl she seemed so sweet and kind she crept into my mind to my mind i knew i had to say hello she smiled up at me and she took my hand and we walked through the park alone and i knew she had made me happy flowers in her hair flowers everywhere i love the flower girl oh i dont know just why she simply caught my eye i love the flower girl she seemed so sweet and kind she crept into my mind to my mind suddenly the sun broke through i turned around she was gone all i had left was one little flower in my hand but i knew she had made me happy flowers in her hair flowers everywhere i love the flower girl was she reality or just a dream to me i love the flower girl her love showed me the way to find a sunny day sunny day i love the flower girl was she reality or just a dream to me i love the flower girl",3
50,"theres a kind of hush","hermans hermits",1967," theres a kind of hush all over the world tonight all over the world you can hear the sound of lovers in loveyou know what i mean just the two of us and nobody else in sight theres nobody else and im feeling good just holding you tightso listen very carefully move closer now and you will see what i mean it isnt a dreamthe only sound that you will hear is when i whisper in your ear i love you forever and evertheres a kind of hush all over the world tonight all over the world you can hear the sound of lovers in lovela la la la la la la la laso listen very carefully move closer now and you will see what i mean it isnt a dreamthe only sound that you will hear is when i whisper in your ear i love you forever and evertheres a kind of hush all over the world tonight all over the world people just like us are fallin in loveyeah theyre fallin in love hush theyre fallin in love hush ",1
51,"mercy mercy mercy","the buckinghams",1967," my baby she may not alook like one of those bunnies out of a playboy club but she got somethin much greater than gold crazy bout that girl cause she got so much soulchorus i said she got the kind of lovin kissin and ahuggin sure is mellow glad that im her fellow and i know that she knocks me off my feet have mercy on me cause she knocks me off my feet there is no girl in the whole world that can love me like you domy baby when she walks by all the fellows go oh and i know why its simply cause that girl she looks so fine and if she ever leaves me i would lose my mindchorusyeah everybody in the neighborhood will testify that my girl she looks so good and shes so fine shed give eyesight to the blind and if she ever leaves me i would lose my mindchorusbaby yeah you got that soulful feel yeah its all right mercy mercy ",1
52,"this is my song","petula clark",1967," why is my heart so light why are the stars so bright why is the sky so blue since the hour i met youflowers are smiling bright smiling for our delight smiling so tenderly for the world you and mei know why the world is smiling smiling so tenderly it hears the same old story through all eternitylove this is my song here is a song a serenade to you the world cannot be wrong if in this world theres youi care not what the world may say without your love there is no day so love this is my song here is a song a serenade to youi care not what the world may say without your love there is no day so love this is my song here is a song a serenade to you ",1
53,"your love keeps lifting me higher and higher","jackie wilson",1967," your love lifting me higher than ive ever been lifted before so keep it it up quench my desire and ill be at your side forever moreyou know your love your love keeps lifting me keep on lifting love keeps lifting me higher lifting me higher and higher higher i said your love your love keeps lifting me keep on love keeps lifting me lifting me lifting me higher and higher higher now listennow once i was down hearted disappointment was my closest friend but then you came and it soon departed and you know he never showed his face againthats why your love your love keeps lifting me keep on lifting love keeps lifting me higher lifting me higher and higher higher i said your love your love keeps lifting me keep on love keeps lifting me lifting me lifting me higher and higher higherim so glad ive finally found you yes that one in a million girls and i whip my loving arms around you i can stand up and face the worldlet me tell ya your love your love keeps lifting me keep on lifting love keeps lifting me higher lifting me higher and higher higher i said your love your love keeps lifting me keep on love keeps lifting me lifting me lifting me higher and higher highernow sock it to me hold me  the other woman keep my love going higher and higher i said keep on lifting lift me up mama keep on lifting me higher and higher ",1
54,"ive been lonely too long","the young rascals",1967,"ive been lonely too long ive been lonely too long in the past its come and gone i feel like i cant go on without love ive been lonely too long hes been lonely too long ive been lonely too long hes been lonely as i look back i can see me lost and searching now i find that i can choose im free oh yeah so funny i just have to laugh all my troubles been torn in half i been lonely too long hes been lonely too long lonely too long hes been lonely in the past its come and gone i feel like i cant go on without love lonely lonely too long ive been lonely too long hes been lonely just see me now makes it worth the time ive waited she was all i need to make me see oh yeah i keep hopin with all my mind everything gonna turn out right ive been lonely too long hes been lonely too long ive been lonely too long hes been lonely now look at me gliding through this world of beauty everything i do brings ecstasy oh yeah no wonder i could die i feel like im bout ten miles high ive been lonely too long hes been lonely too long lonely too long hes been lonely found myself somebody hes been lonely dont have to be alone no more hes been lonely hes been lonely dont have to alone no more no more hes been lonely hes been lonely",5
55,"penny lane","the beatles",1967,"in penny lane there is a barber showing photographs of every head hes had the pleasure to know and all the people that come and go stop and say hello on the corner is a banker with a motorcar the little children laugh at him behind his back and the banker never wears a mac in the pouring rain very strange penny lane is in my ears and in my eyes wet beneath the blue suburban skies i sit and meanwhile back in penny lane there is a fireman with an hourglass and in his pocket is a portrait of the queen he likes to keep his fire engine clean its a clean machine penny lane is in my ears and in my eyes a four of fish and finger pies in summer meanwhile back behind the shelter in the middle of a roundabout a pretty nurse is selling poppies from a tray and though she feels as if shes in a play she is anyway penny lane the barber shaves another customer we see the banker sitting waiting for a trim and the fireman rushes in from the pouring rain very strange penny lane is in my ears and in my eyes there beneath the blue suburban skies i sit and meanwhile back penny lane is in my ears and in my eyes there beneath the blue suburban skies penny lane",3
56,"youre my everything","the temptations",1967," you surely must know magic girl cause you changed my life it was dull and ordinary but you made it sunny and bright i i was blessed the day i found you gonna build my whole world around you youre evrything good girl and youre all that matters to mewhen my way was dark and troubles were near your love provided the light so i couldnt see girl just knowing your love was near when times were bad kept the world from closing in on me girl i was blessed the day i found you gonna build my whole world around you youre evrything good girl and youre all that matters to meyoure part of evry thought i think each day your name is in evry phrase my lips say evry dream i dream is about you honey i couldnt live without you baby baby baby youre my evrything youre my evrything yes you are youre my evrything girl youre the girl i sing about in evry love song i sing youre my everything youre my winter baby my summer my fall and spring youre my everything i was blessed the day i found you gonna build my whole world around you youre evrything good girl and youre all that matters to meyoure my evrything youre my everything youre my evrything youre my everything ",1
57,"georgy girl","the seekers",1967,"the seekers miscellaneous georgy girl georgy girl artists the seekers from the seekers greatest hitscapitol 4xl9397 peak billboard position  2 in 196667 title song from film starring lynn redgrave james mason alan bates and charlotte rampling words by jim dale and music by tom springfield hey there georgy girl swingin down the street so fancyfree nobody you meet could ever see the loneliness there inside you hey there georgy girl why do all the boys just pass you by could it be you just dont try or is it the clothes you wear youre always window shopping but never stopping to buy so shed those dowdy feathers and fly a little bit hey there georgy girl theres another georgy deep inside bring out all the love you hide and oh what a change thered be the world would see a new georgy girl hey there georgy girl dreamin of the someone you could be life is a reality you cant always run away dont be so scared of changing and rearranging yourself its time for jumping down from the shelf a little bit hey there georgy girl theres another georgy deep inside bring out all the love you hide and oh what a change thered be the world would see a new georgy girl hey there georgy girl wake up georgy girl hey there georgy girl come on georgy girl fade hey there georgy girl wake up georgy girl transcribed by robin hood these lyrics were transcribed from the specific recording mentioned above and do not necessarily correspond with lyrics from other recordings sheet music songbooks or lyrics printed on album jackets",3
58,"western union","five americans",1967,"things went wrong today bad news came my way i woke up to find  that i had blew my mind western union man bad news in his hand knocking at my door selling me the score fifteen cents a word to read a telegram i didnt need says she doesnt care no more think ill throw it on the floor got your cable just today tell the girl what ive got to sayay western union  dit da dit da dit 8x now youve gone away and how its sad to say youve gone i remember what they said now im going out of my head telegram just had to say youve learned your lesson all the wayay break telegram just had to say youve learned your lesson all the wayay western union  dit da dit da dit 8x ill be on my way cause theres another girl for me ill be sure of her and things will be as they were western union oh western union western union western union fade",3
59,"baby i love you","aretha franklin",1967," if you want my lovin if you really do dont be afraid baby just ask me ya know im gonna give it to youoh and i do declare i do i wanna see you with it stretch out your arms little boy your gonna get it cause i love you oh baby baby baby i love you there aint no doubt about it baby i love you baby baby baby i love you i love you i love you i love you i love you baby i love youif you feel you wanna kiss me go right ahead i dont mind all you got to do is snap your fingers and ill come a runnin i aint lyin i aint lyin and oh what you want little boy you know you got it id deny my own self before i see you without it cause i love you baby baby baby i love you aint no doubt about it baby i love you baby baby baby i love you i love you i love you i love you i love you baby i love yousomeday ya might wanna run away and leave me sittin here to cry but if its all the same to ya baby im gonna stop you from sayin goodbye goodbye baby i love ya baby baby i love ya baby i need ya baby baby i need ya said i want ya baby baby i want ya got ta have ya baby baby baby i love ya dont let your neighbors tell ya i dont want ya baby baby i want ya dont let your lowdown friends baby baby i want ya ",1
60,"a little bit me a little bit you","the monkees",1967,"walk out girl dont you walk out weve got things to say talk out lets have it talked out things will be okay girl i dont want to find that im a little bit wrong and youre a little bit right i said girl you know that its true its a little bit me a little bit me and its a little bit you too dont know just what i said wrong but girl i apologize dont go heres where you belong so wipe the tears from your eyes girl i dont want to find that im a little bit wrong and youre a little bit right i said girl you know that its true its a little bit me a little bit me and its a little bit you too oh girl i dont want to find that im a little bit wrong and youre a little bit right i said girl you know that its true its a little bit me a little bit me and its a little bit you too its a little bit me   oh its a little bit me its a little bit you   oh its a little bit you girl dont go   oh its a little bit me no no no no no   oh its a little bit you girl dont go   oh its a little bit me no no no no no   oh its a little bit you hey girl   oh its a little bit me hey girl   oh its a little bit you",3
61,"california nights","lesley gore",1967," along the sand lets walk the shore together now just hand in hand its gonna be fair weather now when the stars come out stop to count them in the skylove california nights when im walkin with you hand in hand by the shore yes i love california nights at the beach where wed swim with the tide rolling inand there will be beneath the midnight sky above just you and me and we will whisper words of love while the fire light softly flickers in the sandwarm california nights with the breeze blowin in time for love to begin i would miss california nights if i went on my way thinkin now that ill stayooh baby love you baby mm babylove california nights always close as a kiss nothings sweeter than this and well spend california nights always close as a kiss ",1
62,"dedicated to the one i love","the mamas  the papas",1967,"while im far away from you my baby i know its hard for you my baby because its hard for me my baby and the darkest hour is just before dawn each night before you go to bed my baby whisper a little prayer for me my baby and tell all the stars above this is dedicated to the one i love love can never be exactly like we want it to be i could be satisfied knowing you love me theres one thing i want you to do especially for me and its something that everybody needs while im far away from you my baby whisper a little prayer for me my baby because its hard for me my baby and the darkest hour is just before dawn if theres one thing i want you to do especially for me then its something that everybody needs each night before you go to bed my baby whisper a little prayer for me my baby and tell all the stars above this is dedicated to the one i love this is dedicated to the one i love this is dedicated to the one i love this is dedicated to the one i love this is dedicated",3
63,"how can i be sure","the young rascals",1967,"how can i be sure in a world thats constantly changing how can i be sure where i stand with you whenever i whenever i am away from you i wanna die cause you know i wanna stay with you how do i know maybe youre trying to use me flying too high can confuse me touch me but dont take me down whenever i whenever i am away from you my alibi is telling people i dont care for you maybe im just hanging around with my head up upside down its a pity i cant seem to find someone whos as pretty and lovely as you how can i be sure i really really really wanna know i really really really wanna know oh hows the weather weather or not were together together well see it much better i love you i love you forever you know where i can be found how can i be sure in a world thats constantly changing how can i be sure ill be sure with you",3
64,"carrie anne","the hollies",1967,"hey carrie anne hey carrie anne when we were at school our games were simple i played a janitor you played a monitor then you played with older boys and prefects whats the attraction in what theyre doing hey carrie anne whats your game now can anybody play hey carrie anne whats your game now can anybody play youre always something special to me quite independent never caring you lost your charm as you were aging where is your magic disappearing hey carrie anne whats your game now can anybody play hey carrie anne whats your game now can anybody play youre so so like a woman to me so so like a woman to me hey carrie anne whats your game now can anybody play hey carrie anne whats your game now can anybody play people live and learn but youre still learning you use my mind and ill be your teacher when the lessons over youll be with me then ill hear the other people saying hey carrie anne whats your game now can anybody play hey carrie anne whats your game now can anybody play carrie anne",3
65,"we aint got nothin yet","blues magoos",1967," one day youre up and the next day youre down you cant face the world with your head to the ground the grass is always greener on the other side they say so dont worry boys life will be sweet some day oh oh oh oh oh oh oh oh we made enough mistakes but you know we got what it takesoh we aint got nothin yet no we aint got nothin yetnothin can hold us and nothin can keep us down and someday our names will be spread all over town we can get in while the getting is good so make it on your own yeah you know that you could oh oh oh oh oh oh oh oh we got to make the break cause we got too much at stakewe made enough mistakes but you know we got what it takes ",1
66,"friday on my mind","the easybeats",1967,"monday morning feels so bad evrybody seems to nag me coming tuesday i feel better even my old man looks good wednesday just dont go thursday goes too slow ive got friday on my mind chorus gonna have fun in the city be with my girl shes so pretty she looks fine tonight she is out of sight to me tonighti spend my bread tonighti lose my head tonighti got to get tonight monday i have friday on my mind do the five day drag once more know of nothing else that bugs me more than working for the rich man hey ill change that scene one day today i might be mad tomorrow ill be glad ive got friday on my mind repeat chorus",3
67,"soul finger","the barkays",1967,"  ",1
68,"gimme some lovin","the spencer davis group",1967,"well my temperatures rising and my feet are on the floor twenty people knocking cos theyre wanting some more let me in baby i dont know what youve got but youd better take it easy this place is hot im so glad we made it im so glad we made it youve gotta gimme some lovin gimme some lovin gimme some lovin gimme gimme some lovin gimme some lovin every day well i feel so good everything is sounding hot better take it easy cos the place is on fire been a hard day and i dont know what to do wait a minute baby it could happen to you im so glad we made it im so glad we made it youve gotta gimme some lovin gimme some lovin gimme some lovin gimme gimme some lovin gimme some lovin every day well i feel so good everybodys getting high better take it easy cos the place is on fire been a hard day and nothing went too good now im gonna relax honey everybody should im so glad we made it im so glad we made it youve gotta gimme some lovin gimme some lovin gimme some lovin gimme gimme some lovin gimme some lovin every day gimme some lovin gimme some lovin i need it gimme gimme some lovin i need it ooh gimme some lovin every day every day",3
69,"let it out let it all hang out","the hombres",1967,"the hombres miscellaneous let it out let it all hang out let it out let it all hang out the hombres bill cunningham spoken a preachment dear friends you are about to receive on john barleycorn nicotine and the temptations of eve bronx cheer no parkin by the sewer sign hot dog my razors broke water drippin up the spout but i dont care let it all hang out hangin from a pine tree by my knees sun is shinin through the shade nobody knows what its all about its too much man let it all hang out saw a man walkin upside down my tvs on the blink made galileo look like a boy scout sorry bout that let it all hang out sleep all day drive all night brain my numb cant stop now for sure aint no doubt keep an open mind let it all hang out its rainin inside a big brown moon how does that mess you baby up leg eatin a reuben sandwich with sauerkraut dont stop now baby let it all hang out let it all hang out harmonized repeat to fade",3
70,"lets live for today","the grass roots",1967,"when i think of all the worries people seem to find and how theyre in a hurry to complicate their mind by chasing after money and dreams that cant come true im glad that we are different weve better things to domay others plan their future im busy lovin you 1234 shalalalalala live for today shalalalalala live for today and dont worry bout tomorrow hey hey hey shalalalalala live for today live for today we were never meant to worry the way that people do and i dont need to hurry as long as im with you well take it nice and easy and use my simple plan youll be my lovin woman ill be your lovin man well take the most from living have pleasure while we can 234 shalalalalala live for today shalalalalala live for today and dont worry bout tomorrow hey hey hey shalalalalala live for today live for today baby i need to feel you inside of me i got to feel you deep inside of me baby please come close to me i got to have you now please please please gimme somea lovin gimme somea lovin gimme somea lovin gimme somea lovin baby gimme somea lovin gimme somea lovin i need all your lovin gimme somea lovin i need all your lovin give me some love now i need all your lovin sha la la la la la shalalalalala live for today shalalalalala live for today and dont worry bout tomorrow hey hey hey shalalalalala live for today",5
71,"close your eyes","peaches  herb",1967,"close your eyes take a deep breathe close your eyes ah open your heart and whisper i love you i love you open your heart tell me you love me tell me you love me you love me you love me hold me tight dont say goodnight hold me tight dont say goodnight weve got the time everythings gonna be alright just hold me darling never let me go and tell me you love me you love me you love me oh no no even though oh no no even though this is not the way i want it to be but if you must pretend thats alright with me close your eyes take a deep breathe close your eyes ah open your heart and whisper i love you i love you open your heart tell me you love me tell me you love me you love me you love me",3
72,"groovin","booker t  the mgs",1967,NA,NA
73,"funky broadway","wilson pickett",1967," every town i go theres a street name of the street funky funky broadway down on broadway theres a nightclub now now name of the nightclub now baby funky funky broadway down on broadway theres a crowd now name of the crowd baby broadway crowd down on broadway yeah theres a dance yeah name of the dance funky funky broadway hey huhwiggle your legs now baby shake your head up do the shingaling now baby shakeshakeshake now you dont know baby you dont know now woman ow do the funky broadwaylord have mercy oh you got me feeling all rightdirty filthy broadway dont i like broadway now broadway look here down on broadway theres a woman name of the woman broadway woman hey down on broadway yeah theres a man name of the man now now now now now now ",1
74,"pleasant valley sunday","the monkees",1967,"your local rock group down the street is trying hard to learn this song to serenade the weekend squire just came out to mow his lawn another pleasant valley sunday charcoal burnin everywhere rows of houses that are all the same and no one seems to care see mrs gray shes proud today because her roses are in bloom and mr green hes so serene hes got a tv in every room another pleasant valley sunday here in status symbol land mothers complain about how hard life is and the kids just dont understand creature comfort goals they only numb my soul and make it hard for me to see my thoughts all seem to stray to places far away i need a change of scenery ta ta ta ta ta ta ta ta ta another pleasant valley sunday charcoal burnin everywhere another pleasant valley sunday here in status symbol land another pleasant valley sunday another pleasant valley sunday another pleasant valley sunday ",3
75,"i never loved a man the way i love you","aretha franklin",1967," youre a no good heart breaker youre a liar and youre a cheat and i dont know why i let you do these things to me my friends keep telling me that you aint no good but oh but they dont know that id leave you if i couldi guess im uptight and im stuck like glue cause i aint never i aint never i aint never no no loved a man the way that i i love yousome time ago i thought you had run out of fools but i was so wrong you got one that youll never lose the way you treat me is a shame how could ya hurt me so bad baby you know that im the best thing that you ever had kiss me once againdont ya never never say that we were through cause i aint never never never no no loved a man the way that i i love youi cant sleep at night and i cant even fight i guess ill never be free since you got your hooks in mewhoa oh oh yeah yeah i aint never loved a man i aint never loved a man baby aint never had a man hurt me so badno well this is what im gonna do about it ",1
76,"tell it like it is","aaron neville",1967," if you want something to play with go and find yourself a toy baby my time is too expensive and im not a little boyif you are serious dont play with my heart it makes me furious but if want me to love you then baby i will girl you know i willtell it like it is dont be ashamed to let your conscience be your guide but iiiii know deep down inside of me i believe you love me forget your foolish pridelife is too short to have sorrow you may be here today and gone tomorrow you might as well get what you want so go on and live baby go on and live ",1
77,"cold sweat","james brown",1967," come on play it play it on babyi dont care alright about your past dig i just want hey my love to last come on i dont care hit the band about your faults huh i just want hey to satisfy your pulse hey come onwhen you kiss me oh me make me understand hey one more time i break out huh in a cold sweathey get down down get on down get on down come on downi dont care alright about your wants i just wanna tell ya baby about the does and donts huh i dont care about the way you treat me darlinuh hey when you kiss me yeah and ya miss me hold me and make everything all right i break out in a cold sweathey get down come on get it get it get it baby baby baby come on do it do it do it uhgo on home come on duh get it get itcome on ",1
78,"shed rather be with me","the turtles",1967," some girls love to run around love to handle everything they see but my girl has more fun around and you know shed rather be with meme oh my lucky guy is what i am tell you why youll understand she dont fly although she cansome boys love to run around they dont think about the things they do but this boy wants to settle down and you know hed rather be with youme oh my lucky guy is what i am tell you why youll understand she dont fly although she cansome girls love to run around love to handle everything they see but my girl has more fun around and you know shed rather be with yeah shed rather be with you know shed rather be with meah you know shed rather be with me ah you know shed rather be with me ah you know shed rather be with me ",1
79,"986","keith",1967," good mornin sun i say its good to see you shinin i know my baby brought you to me she kissed me yesterday hello to silver linin got spring and summer running through mehey 986 its good to have you back again oh hey 986 her lovin is the medicine that saved me oh i love my babyhey everybody on the street i see you smilin must be because i found my baby you know shes got me on another kind of highway i want to go to where it takes mehey 986 its good to have you back again oh hey 986 her lovin is the medicine that saved me oh i love my babyyou know shes got me on another kind of highway i want to go to where it takes mehey 986 its good to have you back again oh hey 986 her lovin is the medicine that saved me oh i love my baby ",1
80,"here we go again","ray charles",1967," here we go again shes back in town again ill take her back again one more timehere we go again the phone will ring again ill be her fool again one more timeive been there before and ill try it again but any fool knows that theres no way to winhere we go again shell break my heart again ill play the part again one more timehere we go again shell break my heart again ill play the part again one more timeill take her back again one more time ",1
81,"white rabbit","jefferson airplane",1967," one pill makes you larger and one pill makes you small and the ones that mother gives you dont do anything at allgo ask alice when shes ten feet tall    meaning  byamandah   editor    white rabbit is considered to be one of the songs that shaped rock n roll but did you know it wasnt originally a jefferson airplane song singer grace    see all   and if you go chasing rabbits and you know youre going to fall tell em a hookahsmoking caterpillar has given you the calland call alice when she was just smallwhen the men on the chessboard get up and tell you where to go and youve just had some kind of mushroom and your mind is moving lowgo ask alice i think shell knowwhen logic and proportion have fallen sloppy dead and the white knight is talking backwards and the red queens off with her head remember what the dormouse said feed your head feed your head ",1
82,"bernadette","four tops",1967," bernadette people are searchin for the kind of love that we possess some go on searchin their whole life through and never find the love ive found in you and when i speak of you i see envy in other mens eyes and im well aware of whats on their minds they pretend to be my friendwhen all the time they long to persuade you from my side theyd give the world and all they own for just one moment we have knownbernadette they want you because of the pride that gives but bernadette i want you because i need you to live but while i live only to hold you some other men they long to control you but how can they control you bernadette when they can not control themselves bernadette from wanting you needing you but darling you belong to meill tell the world you belong to me ill tell the world youre the soul of me ill tell the world youre a part of mein your arms i find the kind of peace of mind the world is searching for but you you give me the joy this heart of mine has always been longing for in you i have what other men long for all men need someone to worship and adore thats why i treasure you and place you high above for the only joy in life is to be loved so whatever you do bernadette keep on loving me bernadette keep on needing me bernadetteyoure the soul of me on that dream youre a  to me and bernadette you mean more to me than a woman was ever meant to be ",1
83,"the beat goes on","sonny  cher",1967,"the beat goes on the beat goes on drums keep pounding a rhythm to the brain la de da de de la de da de da charleston was once the rage uh huh history has turned the page uh huh the mini skirts the current thing uh huh teenybopper is our newborn king uh huh and the beat goes on the beat goes on the drums keep pounding a rhythm to the brain la de da de de la de da de da the grocery stores the super mart uh huh little girls still break their hearts uh huh and men still keep on marching off to war electrically they keep a baseball score and the beat goes on the beat goes on drums keep pounding a rhythm to the brain la de da de de la de da de da grandmas sit in chairs and reminisce boys keep chasing girls to get a kiss the cars keep going faster all the time bums still cry hey buddy have you got a dime and the beat goes on the beat goes on drums keep pounding a rhythm to the brain la de da de de la de da de da and the beat goes on yes the beat goes on and the beat goes on and the beat goes on on on and the beat goes on and the beat goes on",3
84,"snoopy vs the red baron","the royal guardsmen",1967,"royal guardsmen miscellaneous snoopy vs the red baron after the turn of the century in the clear blue skies over germany came a roar and a thunder men had never heard like the scream and the sound of a big war bird up in the sky a man in a plane baron von richthofen was his name eighty men tried and eighty men died now theyre buried together on the countryside  chorus ten twenty thirty forty fifty or more the bloody red baron was rollin out the score eighty men died tryin to end that spree of the bloody red baron of germany in the nick of time a hero arose a funnylooking dog with a big black nose he flew into the sky to seek revenge but the baron shot him downcurses foiled again  chorus now snoopy had sworn that hed get that man so he asked the great pumpkin for a new battle plan he challenged the german to a real dogfight while the baron was laughing he got him in his sight that bloody red baron was in a fix hed tried everything but hed run out of tricks snoopy fired once and he fired twice and that bloody red baron went spinning out of sight  chorus to fade snoopy vs the red baron the royal guardsmen",3
85,"societys child","janis ian",1967," come to my door baby face is clean and shining black as night my mother went to answer you know that you looked so finenow i could understand your tears and your shame she called you boy instead of your name when she wouldnt let you inside when she turned and said but honey hes not our kindshe says i cant see you any more baby cant see you anymorewalk me down to school baby everybodys acting deaf and blind until they turn and say why dont you stick to your own kindmy teachers all laugh they smirk and stare cuttin deep down in our affair preachers of equality think they believe it then why wont they just let us bethey say i cant see you anymore baby cant see you anymoreone of these days im gonna stop my listenin gonna raise my head up high one of these days im gonna raise my glistenin wings and flybut that day will have to wait for awhile baby im only societys child when were older things may change but for now this is the way they must remaini say i cant see you any more baby cant see you anymore no i dont wanna see you any more baby ",1
86,"girl youll be a woman soon","neil diamond",1967," ",1
87,"aint no mountain high enough","marvin gaye  tammi terrell",1967,"listen baby aint no mountain high aint no valley low aint no river wide enough babyif you need me call me no matter where you are no matter how far dont worry baby just call my name ill be there in a hurry you dont have to worry cause baby there aint no mountain high enough aint no valley low enough aint no river wide enough to keep me from getting to you babe remember the day i set you free i told you you could always count on me darlin from that day on i made a vow ill be there when you want me some waysome how cause baby there aint no mountain high enough aint no valley low enough aint no river wide enough to keep me from getting to you babe oh no darlin no wind no rain all winters cold cant stop me baby no no baby cause you are my goal if youre ever in trouble ill be there on the double just send for me oh babymy love is alive way down in my heart although we are miles apart if you ever need a helping hand ill be there on the double as fast as i can dont you know that there aint no mountain high enough aint no valley low enough aint no river wide enough to keep me from getting to you babe dont you know that there aint no mountain high enough aint no valley low enough aint no river wide enough there aint no mountain high enough aint no valley low enough",5
88,"i take it back","sandy posey",1967," here he comes now ive got to tell him somehow i could put it off till later but its best i do it nowbaby listen to me there is something i must try to say ive put it off so long but ive decided that today is the daymy love for you is dying oh no please dont start crying ",1
89,"here comes my baby","the tremeloes",1967,"in the midnight moonlight hour hes walking along that lonely lonely mile and every time i do i keep seeing this picture of you here comes my baby here she comes now and it comes as no surprise for me with another guy well here comes my baby here she comes now walking with her love with her love thats oh so fine never to be mine no matter how i try you never walk alone and youre forever talking on the phone i tried to call you names but every time it comes out the same here comes my baby here she comes now and it comes as no surprise for me with another guy well here comes my baby here she comes now walking with her love with her love thats oh so fine never to be mine no matter how i try here comes my baby here she comes now and it comes as no surprise for me with another guy well here comes my baby here she comes now walking with her love with her love thats oh so fine never to be mine no matter how i try",3
90,"everlasting love","robert knight",1967,"hearts go astray leaving hurt when they go i went away just when you you needed me so filled with regret i come back begging you wont you forget welcome love we once knew open up your eyes then youll realize here i stand with my everlasting love need you by my side girl to be my bride youll never be denied everlasting love from the very start open up your heart be a lasting part of everlasting love need a love to last forever need a love to last forever where lifes river flows no one really knows till someones there to show the way to lasting love like the sun shines endlessly it shines you always will be mine its eternal love when others lovelights gone ours will still be strong well have our very own everlasting love real love to last forever real love to last forever open up your eyes then youll realize here i stand with my everlasting love need you by my side girl to be my bride youll never be denied everlasting love from the very start open up your heart be a lasting part of everlasting love when others lovelights gone ours will still be strong well have our very own everlasting love",3
91,"i dig rock and roll music","peter paul and mary",1967,"i dig rock and roll music and i love to get the chance to play and sing it i figure its about the happiest sound goin down today the message may not move me or mean a great deal to me but hey it feels so groovy to say i dig the mamas and the papas at the trip sunset strip in la and they got a good thing goin when the words dont get in the way and when theyre really wailing michelle and cass are sailin hey they really nail me to the wall donovan incomprehensible in a dream like tripped out way his crystal images tell you bout a brighter day and when the beatles tell you theyve got a word love to sell you they mean exactly what they say i dig oh rock and roll music i could really get it on in that scene i think i could say somethin if you know what i mean but if i really say it the radio wont play it unless i lay it between the lines",3
92,"little ole man uptight everythings alright","bill cosby",1967,NA,NA
93,"i had too much to dream last night","the electric prunes",1967," last night your shadow fell upon my lonely room i touched your golden hair and tasted your perfume your eyes were filled with love the way they used to be your gentle hand reached out to comfort me then came the dawn and you were gone you were gone gone gonei had too much to dream last night too much to dream im not ready to face the light i had too much to dream last night last nightthe room was empty as i staggered from my bed i could not bear the image racing through my head you were so real that i could feel your eagerness and when you raised your lips for me to kiss came the dawn and you were gone you were gone gone gonei had too much to dream last night too much to dream im not ready to face the light i had too much to dream last night last nighti had too much to dream last night too much to dream im not ready to face the light i had too much to dream last night last nightoh too much to dream oh too much to dream too much to dream last night oh too much to dream oh too much to dream oh too much to dream ",1
94,"daydream believer","the monkees",1967,"oh i could hide neath the wings of the bluebird as she sings the six oclock alarm would never ring but it rings and i rise wipe the sleep out of my eyes the shavin razors cold and it stings cheer up sleepy jean oh what can it mean to a daydream believer and a homecoming queen you once thought of me as a white knight on his steed now you know how happy i can be oh and our good times start and end without dollar one to spend but how much baby do we really need cheer up sleepy jean oh what can it mean to a daydream believer and a homecoming queen cheer up sleepy jean oh what can it mean to a daydream believer and a homecoming queen cheer up sleepy jean oh what can it mean to a daydream believer and a homecoming queen cheer up sleepy jean oh what can it mean to a daydream believer and a homecoming queen cheer up sleepy jean oh what can it mean to a daydream believer and a homecoming queen",3
95,"baby i need your lovin","johnny rivers",1967," baby i need your lovin baby i need your lovinalthough youre never near your voice i often hear another day another night i long to hold you tight cause im so lonelychorus baby i need your lovin i got to have all your lovin baby i need your lovin got to have all your lovinsome say its a sign of weakness for a man to beg then weak id rather be if it means havin you to keep cause lately ive been losin sleepchorusempty nights echo your name sometimes i wonder will i ever be the sameoh yeah when you see me smile you know things have gotten worse any smile you might see has all been rehearseddarlin i cant go on without you this emptiness wont let me live without you this loneliness inside me darlin makes me feel not alive honeychorus x2 ",1
96,"mirage","tommy james and the shondells",1967," i see you standing in the alleys and the hallways wait a second youre gone now i run to touch you but you vanish through the doorway and oh how hard it is to live without youi love everything about you now i know youre really gone but my imagination is so strong that i see you coming into viewand your face is telling me that you oh yeah oh want to be by my side oh yeah oh now its finally time wait a secondmirage thats all you are to me mirage something i only seeso i keep walking through the alleys and the hallways where are you i keep remembering the kissing in the doorways the car too how it all comes back to methe movies every saturday the place we used to go to eat i want so much to have it like it used to be that i see you coming into viewand your face is telling me that you oh yeah oh want to be by my side oh yeah oh now its finally time here it comes againmirage thats all you are to me mirage something i only seejust a mirage thats all you are to me just a mirage something that i only seejust a mirage thats all you are to me just a mirage something that i only see ",1
97,"green green grass of home","tom jones",1967," the old home town looks the same as i step down from the train and there to meet me is my mama and papadown the road i look and there runs mary hair of gold and lips like cherries its good to touch the green green grass of homeyes theyll all come to meet me arms reaching smiling sweetly its good to touch the green green grass of homethe old house is still standing though the paint is cracked and dry and theres that old oak tree that i used to play ondown the lane i walk with my sweet mary hair of gold and lips like cherries its good to touch the green green grass of homethen i awake and look around me at four gray walls that surround me and i realize yes i was only dreamingfor theres a guard and theres a sad old padre arm and arm well walk at daybreak again ill touch the green green grass of homeyes theyll all come to see me in the shade of that old oak tree as they lay me neath the green green grass of home ",1
98,"i can see for miles","the who",1967,"the who miscellaneous i can see for miles i can see for miles the who townshend i know youve deceived me now heres a surprise i know that you have cause theres magic in my eyes i can see for miles and miles and miles and miles and miles oh yeah if you think that i dont know about the little tricks youve played and never see you when deliberately you put things in my way well heres a poke at you youre gonna choke on it too youre gonna lose that smile beacuse all the while i can see for miles and miles i can see for miles and miles i can see for miles and miles and miles and miles and miles oh yeah you took advantage of my trust in you when i was so far away i saw you holding lots of other guys and now youve got the nerve to say that you still want me well thats as may be but you gotta stand trial because all the while i can see for miles and miles i can see for miles and miles i can see for miles and miles and miles and miles and miles oh yeah i know youve deceived me now heres a surprise i know that you have cause theres magic in my eyes i can see for miles and miles and miles and miles and miles oh yeah the eiffel tower and the taj mahal are mine to see on clear days you thought that i would need a crystal ball to see right through the haze well heres a poke at you youre gonna choke on it too youre gonna lose that smile beacuse all the while i can see for miles and miles i can see for miles and miles i can see for miles and miles and miles and miles and miles and miles and miles and miles and miles i can see for miles and miles i can see for miles and miles i can see for miles and miles i can see for miles and miles",3
99,"dont sleep in the subway","petula clark",1967," you wander around on your own little cloud when you dont see the why or the wherefore you walk out on me when we both disagree cause to reason is not what you care forive heard it all a million times before take off your coat my love and close the doordont sleep in the subway darlin dont stand in the pouring rain dont sleep in the subway darlin the night is long forget your foolish pride nothings wrong now youre beside me againyou try to be smart then you take it to heart cause it hurts when your ego is deflated you dont realize that its all compromise and the problems are so overratedgoodbye means nothing when its all for show so why pretend youve somewhere else to godont sleep in the subway darlin dont stand in the pouring rain dont sleep in the subway darlin the night is long forget your foolish pride nothings wrong now youre beside me againdont sleep in the subway darlin dont stand in the pouring rain dont sleep in the subway darlin the night is long forget your foolish pride nothings wrong now youre beside me againdont sleep in the subway darlin dont stand in the pouring rain dont sleep ",1
100,"thank the lord for the night time","neil diamond",1967," NA ",1
1,"hey jude","the beatles",1968,"hey jude dont make it bad take a sad song and make it better remember to let her into your heart then you can start to make it better hey jude dont be afraid you were made to go out and get her the minute you let her under your skin then you begin to make it better and anytime you feel the pain hey jude refrain dont carry the world upon your shoulders for well you know that its a fool who plays it cool by making his world a little colder na na na na na na na na na hey jude dont let me down you have found her now go and get her remember to let her into your heart then you can start to make it better so let it out and let it in hey jude begin youre waiting for someone to perform with and dont you know that its just you hey jude youll do the movement you need is on your shoulder na na na na na na na na na yeah hey jude dont make it bad take a sad song and make it better remember to let her under your skin then you begin to make it better better better better better better oh na na na nana na na nana na na hey jude na na na nana na na nana na na hey jude na na na nana na na nana na na hey jude na na na nana na na nana na na hey jude na na na nana na na nana na na hey jude na na na nana na na nana na na hey jude ̢",3
2,"love is blue","paul mauriat",1968,"instrumental",3
3,"honey","bobby goldsboro",1968," see the tree how big its grown but friend it hasnt been too long it wasnt big i laughed at her and she got mad the first day that she planted it was just a twigthen the first snow came and she ran out to brush the snow away so it wouldnt die came runnin in all excited slipped and almost hurt herself and i laughed till i criedshe was always young at heart kinda dumb and kinda smart and i loved her so and i surprised her with a puppy kept me up all christmas eve two years agoand it would sure embarrass her when i came in from workin late cause i would know that shed been sittin there and cryin over some sad and silly late late showand honey i miss you and im bein good and id love to be with you if only i couldshe wrecked the car and she was sad and so afraid that id be mad but what the heck though i pretended hard to be guess you could say she saw through me and hugged my necki came home unexpectedly and caught her cryin needlessly in the middle of the day and it was in the early spring when flowers bloom and robins sing she went awayand honey i miss you and im bein good and id love to be with you if only i couldone day while i was not at home while she was there and all alone the angels came now all i have is memories of honey and i wake up nights and call her namenow my lifes an empty stage where honey lived and honey played and love grew up and a small cloud passes overhead and cries down on the flower bed that honey lovedand see the tree how big its grown but friend it hasnt been too long it wasnt big and i laughed at her and she got mad the first day that she planted it was just a twig ",1
4,"sittin on the dock of the bay","otis redding",1968," sittin in the mornin sun ill be sittin when the evenin comes watchin the ships roll in then i watch em roll away again yeah im sittin on the dock of the bay watchin the tide roll away ooo im just sittin on the dock of the bay wastin timei left my home in georgia headed for the frisco bay cause i had nothin to live for it look like nothins gonna come my way so im just goin sittin on the dock of the bay watchin the tide roll away ooo im sittin on the dock of the bay wastin timelook like nothins gonna change everything still remains the same i cant do what ten people tell me to do so i guess ill remain the same yessittin here restin my bones and this loneliness wont leave me alone yes two thousand miles i roam just to make this dock my home now im just gonna sit at the dock of the bay watchin the tide roll away ooo yea sittin on the dock of the bay wastin time ",1
5,"people got to be free","the rascals",1968," all the world over so easy to see people everywhere just wanna be free listen please listen thats the way it should be theres peace in the valley people got to be freeyou should see what a lovely lovely world thisd be everyone learned to live together ah hah seems to me such an itty bitty thing should be why cant you and me learn to love one anotherall the world over so easy to see people everywhere just wanna be free wanna be free i cant understand it so simple to me people everywhere just got to be freeif theres a man who is down and needs a helpin hand all it takes is you to understand and to pull him through ah hah seems to me we got to solve it individually ah ah and ill do unto you what you do to me said nohear the shoutin from the mountains on out to the sea no two ways about it people have to be free they gotta be free ask me my opinion my opinion will be natural situation for a man to be freeget right on board now huh huhyeah oh what a feelins just come over me love can move a mountain make a blind man see everybody sing it now come on lets go see peace in the valley now we all can be freesee that train over there now thats the train of freedom its about to rrive any minute now you know its beena long long overdue look out cause its acomin right on through ha ha yeah ha ha yeah ",1
6,"sunshine of your love","cream",1968," its getting near dawn when lights close their tired eyes ill soon be with you my love to give you my dawn surprise ill be with you darling soon ill be with you when the stars start fallingive been waiting so long to be where im going in the sunshine of your loveim with you my love the lights shining through on you yes im with you my love its the morning and just we two ill stay with you darling now ill stay with you till my seas are dried upive been waiting so long to be where im going in the sunshine of your loveim with you my love the lights shining through on you yes im with you my love its the morning and just we two ill stay with you darling now ill stay with you till my seas are dried upive been waiting so long ive been waiting so long ive been waiting so long to be where im going in the sunshine of your love ",1
7,"this guys in love with you","herb alpert",1968,"you see this guy this guys in love with you yes im in love who looks at you the way i do when you smile i can tell we know each other very well how can i show you im glad i got to know you cause ive heard some talk they say you think im fine this girls in love and what id do to make you mine tell me now is it so dont let me be the last to know my hands are shakin dont let my heart keep breaking cause i need your love i want your love say youre in love in love with this guy if not ill just die tell me now is it so dont let me be the last to know my hands are shakin dont let my heart keep breaking cause i need your love i want your love say youre in love in love with this guy if not ill just die",3
8,"the good the bad and the ugly","hugo montenegro",1968,"here is the tale of the boy standing in front of you not one word is exaggerated  entirely true a four square in chemistry my agenda tonight as i rock the house left and a i rock the house right i cant fly i cant dance and i dont like any bands listen up cause i am atom i am the sequencing man where i want is where i go im always armed with a burrito listen up cause i am atom i am the sequencing man i travel the world with my band in a box and i rock 10 times harder than your average punk rock band im almost done im almost through i hope to god im not boring you i often do the number 2 i am the always often pooping jew i cant fly i cant dance and i dont like any bands listen up cause i am atom i am the sequencing man where i want is where i go im always armed with a burrito listen up cause i am atom i am the sequencing man i cant fly i cant dance and i dont like your band listen up cause i am atom i am the sequencing man where i want is where i go im always armed with a burrito pay attention cause i am atom i am the sequencing man",3
9,"mrs robinson","simon  garfunkel",1968,"and heres to you mrs robinson jesus loves you more than you will know wo wo wo god bless you please mrs robinson heaven holds a place for those who pray hey hey hey hey hey hey wed like to know a little bit about you for our files wed like to help you learn to help yourself look around you all you see are sympathetic eyes stroll around the grounds until you feel at home and heres to you mrs robinson jesus loves you more than you will know wo wo wo god bless you please mrs robinson heaven holds a place for those who pray hey hey hey hey hey hey hide it in a hiding place where no one ever goes put it in your pantry with your cupcakes its a little secret just the robinsons affair most of all youve got to hide it from the kids coo coo cachoo mrs robinson jesus loves you more than you will know wo wo wo god bless you please mrs robinson heaven holds a place for those who pray hey hey hey hey hey hey sitting on a sofa on a sunday afternoon going to the candidates debate laugh about it shout about it when youve got to choose every way you look at it you lose where have you gone joe dimaggio a nation turns its lonely eyes to you woo woo woo whats that you say mrs robinson joltin joe has left and gone away hey hey hey hey hey hey",3
10,"tighten up","archie bell  the drells",1968,"hi everybody im archie bell of the drells from houston texas we dont only sing but we dance just as good as we walk in houston we just started a new dance called the tighten up this is the music we tighten up with first tighten up on the drums come on now drummer i want you to tighten it up for me now oh yeah tighten up on that bass now tighten it up ha ha yeah now let that guitar fall in oh yeah tighten up on that organ now yeah you do the tighten up yeah now i said if you can do it now it sure would be tough now look here come on now now make it mellow lets tighten it up now do the tighten up everybody can do it now so get to it were gonna tighten up lets do the tighten up you can do it now so baby get to it look to your left now look to your right everybody can do it but dont you get too tight come on and tighten up lets tighten it up now lets tighten it up now tighten it up do the tighten up come and tighten it up tighten it up now come on now billy tighten it up oh yeah sock it to me now tighten it up come on and tighten up that bass oh yeah now look here i want that guitar to fall in on there tighten it up now oh yeah now tighten it up organ yeah now everybody tighten it up now now look here we gonna make it mellow for you now we gonna make it mellow now tighten it up you can get it move to your left move to your right tighten it up now everything will be outta sight come on and tighten it up tighten it up now you can do it",3
11,"harper valley pta","jeannie c riley",1968," i wanna tell you all a story bout a harper valley widowed wife who had a teenage daughter who attended harper valley junior high well her daughter came home one afternoon and didnt even stop to play and she saidmom i got a note here from the harper valley ptawell the note said mrs johnson youre wearing your dresses way too high its reported youve been drinkin and runnin round with men and goin wild and we dont believe you oughta be a bringin up your little girl this way and it was signed by the secretary harper valley ptawell it happened that the pta was gonna meet that very afternoon and they were sure surprised when mrs johnson wore her miniskirt into the room and as she walked up to the black board i still recall the words she had to say she said id like to address this meeting of the harper valley ptawell theres bobby taylor sittin there and seven tims hes asked me for a date and mrs taylor seems to use a lotta ice whenever hes away and mr baker can you tell us why your secretary had to leave this town and shouldnt widow jones be told to keep her window shades a pulled completely downwell mr harper couldnt be here cause he stayed too long at kellys bar again and if you smell shirley thompsons breath youll find shes had a little nip of gin and then you have the nerve to tell me you think that as a mother im not fit well this is just a little peyton place and youre all harper valley hypocritesno i wouldnt put you on because it really did happen just this way the day my momma socked it to the harper valley pta the day my momma socked it to the harper valley pta ",1
12,"little green apples","o c smith",1968,"and i wake up in the mornin with my hair down in my eyes and she says hi and i stumble to the breakfast table while the kids are goin off to schoolgoodbye and she reaches out n takes my hand and squeezes it n says how ya feelin hon and i look across at smilin lips that warm my heart and see my mornin sun and if thats not lovin me then all ive got to say god didnt make little green apples and it dont rain in indianapolis in the summertime and theres no such thing as doctor seuss or disneyland and mother goose no nursery rhyme god didnt make little green apples and it dont rain in indianapolis in the summertime and when my self is feelin low i think about her face aglow and ease my mind sometimes i call her up at home knowin shes busy and ask her if she could get away and meet me and maybe we could grab a bite to eat and she drops what shes doin and she hurries down to meet me and im always late but she sits waitin patiently and smiles when she first sees me cause shes made that way and if that aint lovin me then all ive got to say god didnt make little green apples and it dont snow in minneapolis when the winter comes and theres no such thing as makebelieve puppy dogs autumn leaves n bb guns god didnt make little green apples and it dont rain in indianapolis",3
13,"mony mony","tommy james and the shondells",1968,"tommyjamesandtheshondells essentials mony mony here she come down say mony mony well shoot em down turn around come home honey hey she gimme love an i feel alright now everybody  you got me tossin turnin in the night let em feel alright let me feel alright i say yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah well you make me feel mony mony so mony mony good mony mony yeah mony mony so good mony mony oh yeah mony mony come on mony mony all right baby mony mony say yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah break dis shake it mony mony shot gun get it done come on mony dont stop cookin it feels so good yeah hey well dont stop now hey come on mony well come on mony yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah well you make me feel mony mony so mony mony good mony mony yeah mony mony alright mony mony come on  mony mony so good  mony mony all right i say yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah ahhhhhhh oo i love ya mony mo mo mony oo i love ya mony mo mo mony oo i love ya mony mo mo mony oo i love ya mony mo mo mony i say yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah  yeah come on  come on  come on everybody alright alright come on",3
14,"hello i love you","the doors",1968," hello i love you wont you tell me your name hello i love you let me jump in your gamehello i love you wont you tell me your name hello i love you let me jump in your gameshes walking down the street blind to every eye she meets do you think youll be the guy to make the queen of the angels sighhello i love you wont you tell me your name hello i love you let me jump in your gamehello i love you wont you tell me your name hello i love you let me jump in your gameshe holds her head so high like a statue in the sky her arms are wicked and her legs are long when she moves my brain screams out this songsidewalk crouches at her feet like a dog that begs for something sweet do you hope to make her see you fool do you hope to pluck this dusky jewelhello hello hello hello hello hello hello i want you hello i need my baby hello hello hello hello hello hello hello hello ",1
15,"young girl","gary puckett  the union gap",1968,"young girl get out of my mind my love for you is way out of line better run girl youre much too young girl with all the charms of a woman youve kept the secret of your youth you led me to believe youre old enough to give me love and now it hurts to know the truth ohh young girl get out of my mind my love for you is way out of line better run girl youre much too young girl beneath your perfume and makeup youre just a baby in disguise and though you know that its wrong to be alone with me that come on look is in your eyes ohh young girl get out of my mind my love for you is way out of line better run girl youre much too young girl so hurry home to your mama im sure she wonders where you are get out of here before i have the time to change my mind cause im afraid well go too far ohh young girl get out of my mind my love for you is way out of line better run girl youre much too young girl young girl get out of my mind my love for you is way out of line better run girl youre much too young girl young girl get out of my mind",3
16,"cry like a baby","the box tops",1968," when i think about the good love you gave me i cry like a baby livin without you is drivin me crazy i cry like a babywell i know now that youre not a plaything not a toy or a puppet on a stringas i look back on a love so sweet i cry like a baby every road is a lonely street i cry like a babywell i know now that youre not a plaything not a toy or a puppet on a stringtoday we passed on the street and you just walked on by my heart just fell to my feet and once again i began to crywhen i think about the good love you gave me i cry like a baby livin without you is drivin me crazy i cry like a babywell i know now that youre not a plaything i cry like a babyas i look back on a love so sweet i cry like a baby every road is a lonely street i cry like a babymy heart just fell to my feet you know i cry like a baby you left the water running now i cry like a baby ",1
17,"stoned soul picnic","the 5th dimension",1968,"can you surry can you picnic can you surry can you picnic come on come on lets surry down to a stoned soul picnic surry down to a stoned soul picnic therell be lots of time and wine red yellow honey sassafras and moonshine red yellow honey sassafras and moonshine stoned soul stoned soul come on come on lets surry down to a stoned soul picnic surry down to a stoned soul picnic rain and sun come in akin and from the sky come the lord and the lightning and from the sky come the lord and the lightning stoned soul stoned soul surry on soul surry surry surry surry therell be trains of blossoms therell be trains of blossoms therell be trains of music therell be music therell be trains of trust trains of the golden dust come along and surry on sweet trains of thought surry on down can you surry can you surry surry down to a stoned soul picnic can you surry down to a stoned soul picnic therell be lots of time and wine red yellow honey sassafras and moonshine red yellow honey sassafras and moonshine moonshine stoned soul yeah surry on soul surry surry surry surry surry surry surry surry surry surry surry surry",3
18,"grazing in the grass","hugh masekela",1968," sure is mellow grazin in the grass grazin in the grass yes baby can you dig it what a trip just watchin as the world goes past grazin in the grass yes baby can you dig it there are too many groovy things to see while grazin in the grass grazin in the grass yes baby can you dig it flowers with colours for takin everything outta sight grazin in the grass yes baby can you dig itthe sun peekin out between the leaves grazin in the grass yes baby can you dig it and the biriririrds dartin in and out of the trees grazin in the grass yes baby can you dig iteverything here is so clear you can see it and everything here is so real you can feel it and its real so real so real so real so real so real can you dig iti can dig it he can dig it she can dig it we can dig it they can dig it you can dig it oh lets dig it can you dig it baby i can dig it he can dig it she can dig it we can dig it they can dig it you can dig it oh lets dig it can you dig it babythe sun peekin out between the leaves grazin in the grass yes baby can you dig it and the biriririrds dartin in and out of the trees grazin in the grass yes baby can you dig iteverything here is so clear you can see it and everything here is so real you can feel it and its real so real so real so real so real so real can you dig iti can dig it he can dig it she can dig it we can dig it they can dig it you can dig it oh lets dig it can you dig it baby i can dig it he can dig it she can dig it we can dig it they can dig it you can dig it oh lets dig it can you dig it baby ",1
19,"midnight confessions","the grass roots",1968,"the sound of your footsteps telling me that youre near your soft gentle motion baby brings out the need in me that no one can hear except in my midnight confessions when i tell all the world that i love you in my midnight confessions when i say all the things that i want to i love you but a little gold ring you wear on your hand makes me understand theres another before me youll never be mine im wasting my time staggering through the daytime your image on my mind passing so close beside you baby sometimes the feelings are so hard to hide except in my midnight confessions when i tell all the world that i love you in my midnight confessions when i say all the things that i want to i love you but a little gold ring you wear on your hand makes me understand theres another before me youll never be mine im wasting my time in my midnight confessions when i tell all the world that i love you na na na na na na na na na na na na na na na na",3
20,"dance to the music","sly  the family stone",1968,"cynthia get up and dance to the music get on up and dance to the  music dance to the music dance to the music dance to the music dance to the music hey greg what all we need is a drummer for people who only need a beat yeah im gonna add a little guitar and make it easy to move your feet im gonna add some bottom so that the dancers just wont hide you might like to hear my organ i said him ride sally ride now cynthia get up on if i could hear the horns blowin cynthia on the throne yeah listen to me cynthia and jerry got a message theyre sayin all the squares go home listen to the voices dance to the music dance to the music dance to the music ",3
21,"the horse","cliff nobles",1968,"instrumental ",3
22,"i wish it would rain","the temptations",1968,"sunshine blue skies please go away my girl has found another and gone away with her went my future my life is filled with gloom so day after day i stayed locked up in my room i know to you it might sound strange but i wish it would rain oh yeah yeah yeah yeah how i wish that it would rain cause so badly i wanna go outside such a lovely day but everyone knows that a man aint suppose to cry listen i gotta cry cause cryin eases the pain oh yeah people this hurt i feel inside words can never explain i just wish it would rain oh how i wish that it would rain oh let it rain rain rain rain   oh how i wish that it would rain baby let it rain oh yeah let it rain   let it rain day in day out my tear stained face pressed against the window pane my eyes search the skies desperately for rain cause raindrops will hide my teardrops and no one will ever know that im cryin cryin when i go outside to the world outside my tears i refuse to explain oh i wish it would rain baby   oh how i wish that it would rain let it rain let it rain   let it rain i need rain to disguise the tears in my eyes oh let it rain oh yeah yeah listen   let it rain rain rain rain rain im a man and i got my pride   let it rain rain rain rain rain give me rain or im gonna stay inside let it rain",3
23,"lala means i love you","the delfonics",1968,NA,NA
24,"turn around look at me","the vogues",1968,"there is someone walking behind you turn around look at me there is someone watching your footsteps turn around look at me there is someone who really needs you heres my heart in my hand turn around look at me   turn around look at me understand understand that theres someone wholl stand beside you turn around look at me and theres someone wholl love and guide you turn around look at me ive waited but ill wait forever for you to come to me look at someone who really loves you   look at someone yeah really loves you turn around look at me turn around look at me",3
25,"judy in disguise with glasses","john fred  his playboy band",1968,"judy in disguise well thats awhat you are alemonade pies with a brand new car cantaloupe eyes come to me tonight your judy in disguise with glasses keep awearing your bracelets and your new rah rah across your heart yeah with your living bra achimney sweep sparrow with guys your judy in disguise with glasses come to me tonight  come to me tonight ive taken everything in sight unzipper the strings of my kite judy in disguise well what you aiming for acircus of ahorrors yeah yeah well thats what you are you make me a life of ashes i guess ill just take your glasses",3
26,"spooky","classics iv",1968," in the cool of the evening when evrything is gettin kind of groovy i call you up and ask you if you want to go and meet and see a movie first you say no youve got some plans for the night and then you stop and say all right love is kinda crazy with a spooky little girl like youyou always keep me guessin i never seem to know what you are thinkin and if a fella looks at you its for sure your little eye will be awinkin i get confused cause i dont know where i stand and then you smile and hold my hand love is kinda crazy with a spooky little girl like you spookyif you decide someday to stop this little game that you are playin im gonna tell you all what my hearts been adyin to be sayin just like a ghost youve been ahauntin my dreams so ill propose on halloween love is kinda crazy with a spooky little girl like youspooky spooky spooky ohwhoa all right i said spooky ",1
27,"love child","the supremes",1968," you think that i dont feel love what i feel for you is real love in others eyes i see reflected a hurt scorned rejected love child never meant to be love child born in poverty love child never meant to be love child take a look at mei started my life in an old cold rundown tenement slum my father left he never even married mom i shared the guilt my mama knew so afraid that others knew i had no namethis love were contemplating is worth the pain of waiting well only end up hating the child we may be creating love child never meant to be love child by society love child always second best love child diffrent from the rest hold on whoai started school in a worn torn dress that somebody threw out i knew the way it was to always live in doubt to be without the simple things so afraid my friends could see the guilt in me dont think that i dont need you dont think i dont want to please you no child of minell be bearing the name of shame ive been wearin ",1
28,"angel of the morning","merrilee rush",1968,"therell be no strings to bing your hands not if my love cant bind your heart and theres no need to take a stand for it was i who chose to start i see no reason to take me home im old enough to face the dawn just call me angel of the morning angel just touch my cheek before you leave me baby just call me angel of the morning angel then slowly turn away from me maybe the suns light will be dim and it wont matter anyhow if mornings echo says weve sinned well it was what i wanted now and if were victims of the night i wont be blinded by the light just call me angel of the morning angel just touch my cheek before you leave me baby just call me angel of the morning angel then slowly turn away i wont beg you to stay with me through the tears of the day of the years baaaby just call me angel of the morning angel just touch my cheek before you leave me baby",3
29,"the ballad of bonnie and clyde","georgie fame",1968," bonnie and clyde were pretty lookin people but i can tell you people they were the devils children bonnie and clyde began their evil doin one lazy afternoon down savannah way they robbed a store and hightailed outa that town got clean away in a stolen car and waited till the heat died down bonnie and clyde advanced their reputation and made the graduation into the banking business reach for the sky sweettalking clyde would holler as bonnie loaded dollars in the dewlap bag now one brave manhe tried to take em alone they left him iyin in a pool of blood and laughed about it all the way home bonnie and clyde got to be public enemy number one running and hiding from evry american lawmans gun they used to laugh about dyin but deep inside em they knew that pretty soon theyd be lyin beneath the ground together pushing up daisies to welcome the sun and the morning dew acting upon reliable information a fedral deputation laid a deadly ambush when bonnie and clyde came walking in the sunshine a half a dozen carbines opened up on them bonnie and clyde they lived a lot together and finally together they died ",1
30,"those were the days","mary hopkin",1968," once upon a time there was a tavern where we used to raise a glass or two remember how we laughed away the hours and dreamed of all the great things we would dothose were the days my friend we thought theyd never end wed sing and dance forever and a day wed live the life we choose wed fight and never lose for we were young and sure to have our way la la la lathen the busy years went rushing by us we lost our starry notions on the way if by chance id see you in the tavern wed smile at one another and wed saythose were the days my friend we thought theyd never end wed sing and dance forever and a day wed live the life we choose wed fight and never lose those were the days oh yes those were the days la la la lajust tonight i stood before the tavern nothing seemed the way it used to be in the glass i saw a strange reflection was that lonely woman really methose were the days my friend we thought theyd never end wed sing and dance forever and a day wed live the life we choose wed fight and never lose those were the days oh yes those were the days la la la lathrough the door there came familiar laughter i saw your face and heard you call my name oh my friend were older but no wiser for in our hearts the dreams are still the samethose were the days my friend we thought theyd never end wed sing and dance forever and a day wed live the life we choose wed fight and never lose those were the days oh yes those were the days la la la la ",1
31,"born to be wild","steppenwolf",1968," get your motor runnin head out on the highway looking for adventure in whatever comes our wayyeah darlin gonna make it happen take the world in a love embrace fire all of your guns at once and explode into spacei like smoke and lightnin heavy metal thunder racing in the wind and the feeling that im underyeah darlin gonna make it happen take the world in a love embrace fire all of your guns at once and explode into spacelike a true natures child we were born born to be wild we can climb so high i never wanna die born to be wild born to be wildget your motor runnin head out on the highway looking for adventure in whatever comes our wayyeah darlin gonna make it happen take the world in a love embrace fire all of your guns at once and explode into spacelike a true natures child we were born born to be wild we can climb so high i never wanna die born to be wild born to be wild ",1
32,"cowboys to girls","the intruders",1968," cowboys to girls i remember when i used to play shoot em up shoot em up bang bang baby i remember when i chased the girls and beat em up but i was young and didnt understand but now im a grown up man i know girls are made for kissing never knew what i was missing now my life is not the same my whole world has been rearranged i went from cowboy to girls oh yes i did cowboys to girlsi remember when i used to see you jumping rope jumping rope up and down baby and i remember when you got your first baby coach but you were young and didnt understand now youre a woman and im a man and its me that youre kissing aint it fun reminiscing now our lives are not the same our whole world has been rearrangedyou went from pretty dolls to boys oh yes you did and i went from cowboys to girls oh yes i did and its me that youre kissing aint it fun reminiscing and my life life is not the same this whole world has been rearranged i went from cowboys to girls oh yes i did you went from pretty dolls to boys oh yes i did i went from cowboys to girls ",1
33,"simon says","1910 fruitgum company",1968," id like to play a game that is so much fun and its not so very hard to do the name of the game is simple simon says and i would like for you to play it tooput your hands in the air simple simon says shake them all about simple simon says do it when simon says simple simon says and you will never be outsimple simon says put your hands on your hips let your back bone slip simon sayssimple simon says put your hands on your hips let your back bone slip simon saysput your hands on your head simple simon says bring them down by your side simple simon says shake them to your left simple simon says now shake them to your rightput your hands on your head simple simon says bring them down by your side simple simon says shake them to your left simple simon says now shake them to your rightnow that you have learnt to play this game with me you can see its not so hard to do lets try it once again this time more carefully and i hope the winner will be youclap your hands in the air simple simon says do it double time simple simon says slow it down like before simple simon says ah your looking fine simple simon says now clap them high in the air simple simon says do it double time simple simon says slow it down like before simple simon says ah your looking fine ",1
34,"lady willpower","gary puckett  the union gap",1968,"lady willpower its now or never give your love to me and ill shower your heart with tenderness endlessly i know you want to see me but youre afraid of what i might have on my mind one thing you can be sure of ill take good care of your love if you will let me give you mine lady willpower its now or never give your love to me and ill shower your heart with tenderness endlessly did no one ever tell you the facts of life well theres so much you have to learn and i would gladly teach you if i could only reach you and get your lovin in return lady willpower its now or never give your love to me and ill shower your heart with tenderness endlessly lady willpower its now or never give your love to me and ill shower your heart with tenderness endlessly",3
35,"a beautiful morning","the rascals",1968," its a beautiful mornin ahhh i think ill go outside a while and jus smile just take in some clean fresh air boy aint no sense in stayin inside if the weathers fine an you got the time its your chance to wake up and plan another brand new day either way its a beautiful mornin ahhh each bird keeps singin his own song so long ive got to be on my way now aint no fun just hangin around ive got to cover ground you couldnt keep me down it just aint no good if the sun shines when youre still inside shouldnt hide still inside shouldnt hide ahhhh oh shouldnt hide ah ah ohdo do waaa do do waaathere will be children with robins and flowers sunshine caresses each new waking hour seems to me that the people keep seeing more and more each day gotta say lead the way its okay wednesday thursday its okay ahhh monday wednesday friday weekday ah ah ohhhdo do waaa ah ah oh oh do do aaaa wooooo oo oo oh oh oh ah wo do waa ohhhhhhh oh oh oh and fade ",1
36,"the look of love","sergio mendes",1968,"the look of love is in your eyes a look your smile cant disguise the look of love is saying so much more than just words could ever say and what my heart has heard well it takes my breath away i can hardly wait to hold you feel my arms around you how long i have waited waited just to love you now that i have found you dont ever go youve got the look of love its on your face a look that time cant erase be mine tonight let this be just the start of so many nights like this lets take a lovers vow and then seal it with a kiss i can hardly wait to hold you feel my arms around you how long i have waited waited just to love you now that i have found you dont ever go dont ever go i love you so i love you so i love you so",3
37,"hold me tight","johnny nash",1968,"johnny nash miscellaneous hold me tight hold me tight johnny nash i dont want to hear it no more fussin and fightin baby hold me tight lets let bygones be bygones lets think about tomorrow girl our futures bright well i know i was wrong but i was just a fool too blind to see you were the only girl for me ah but now i see the light and everythings gonna be all right baby hold me tight well i know i was wrong but i was just a fool too blind to see you were the only girl for me ah but now i see the light and everythings gonna be all right baby hold me tight",3
38,"yummy yummy yummy","ohio express",1968,"yummy yummy yummy i got love in my tummy and i feel like alovin you love youre such a sweet thing good enough to eat thing and thats just awhat im gonna do ooh love to hold ya ooh love to kiss ya ooh love i love it so ooh love youre sweeter sweeter than sugar ooh love i wont let you go yummy yummy yummy i got love in my tummy and as silly as it may seem the lovin that you re giving is what keeps me livin and your love is like peaches and cream kinda like sugar kinda like spices kinda like like what you do kinda sounds funny but love honey honey i love you yummy yummy yummy i got love in my tummy that your love can satisfy love youre such a sweet thing good enough to eat thing and sweet thing that aint no lie i love to hold ya oh love to kiss ya ooh love i love it so ooh love youre sweeter sweeter than sugar ooh love i wont let you go",3
39,"fire","the crazy world of arthur brown",1968,"the crazy world of arthur brown miscellaneous fire fire crazy world of arthur brown i am the god of hell f ire and i bring you fire ill take you to burn fire ill take you to learn ill see you burn you fought hard and you saved and learned but all of its going to burn and your mind your tiny mind you know youve really been so blind now s your time burn your mind youre falling far too far behind oh no oh no oh no you gonna burn fire to destroy all youve done fire to end all youve become ill feel you burn youve been living like a little girl in the middle of your little world and your mind your tiny mind you know youve really been so blind now s your time burn your mind youre falling far too far behind",3
40,"love is all around","the troggs",1968," i feel it in my fingers i feel it in my toes love is all around me and so the feeling grows its written on the wind its everywhere i go so if you really love me come on and let it showyou know i love you i always will my minds made up by the way that i feel theres no beginning therell be no end cause on my love you can dependi see your face before me as i lay on my bed i kinda get to thinking of all the things you said you gave a promise to me and i gave mine to you i need someone beside me in everything i doyou know i love you i always will my minds made up by the way that i feel theres no beginning therell be no end cause on my love you can depend ",1
41,"playboy","gene  debbe",1968,"hey boy to me youre just a playboy never mean a word you say boy im so afraid youll go away and leave me lonely why girl do you believe a lie girl why cant you see that youre my girl believe me when i say to you i love you only and never knew that love could hurt me like this till you came along with your kiss then i fell under your spell knowing quite well that you would only hurt me gee girl why cant i make you see girl just what you mean to me girl then you would know id never go away without you oh boy i wish that i could know boy if what you say is so boy then i would never care what they all say about you i never knew that love could hurt me like this till you came along with your kiss then i fell knowing quite well that someone would tell you i would only hurt you hey now does it matter what they say gonna love you anyway now if you and i would fight together i know well find love",5
42,"theme from valley of the dolls","dionne warwick",1968,"gotta get off gonna get have to get off from this ride gotta get hold gonna get need to get hold of my pride when did i get where did i how was i caught in this game when will i know where will i how will i think of my name when did i stop feeling sure feeling safe and start wondering why wondering why is this a dream am i here where are you whats in back of the sky why do we cry gotta get off gonna get out of this merrygoround gotta get off gonna get need to get on where im bound when did i get where did i why am i lost as a lamb when will i know where will i how will i learn who i am is this a dream am i here where are you tell me when will i know how will i know when will i know why",3
43,"classical gas","mason williams",1968,"instrumental",3
44,"slip away","clarence carter",1968," verse what would i give for just a few moments what would i give just to have you near tell me you would try to slip away somehow oh i need you darling i want to see you right now can you slip away slip away slip away oh i need you solove oh love how sweet it is when you steal love let me tell you how sweet it isverse 2 now i know its wrong the things i ask you to do but please believe me darling i dont mean to hurt you but can you slip away without him knowin youre gone baby we could meet somewhere somewhere we both are not known can you slip away slip away slip awayayayaystop i need you sovamp out oh can you slip away baby id like to see you right now darling can you slip away baby cause i got to got to see you i feel a deep burning inside oh i wish you could slip away ",1
45,"im a girl watcher","the okaysions",1968,NA,NA
46,"sweet sweet baby since youve been gone","aretha franklin",1968," baby baby sweet baby theres something that i just got to say baby baby sweet baby you left me hurtin in a real cold wayspeak your name and ill feel a thrill you said i do uh and i said i willi tell you that ill stay true and give you just a little time wait on me baby i want you to be all mine i just get so bluesince youve been gone baby whyd you do it whyd you have to do it since youve been gone whyd you do it whyd you have to do itbaby baby sweet baby i didnt mean to run you away it was pride on my lips but not in my heart to say the things that made you stray but ah babe hear me now hear me i dont know what im gonna do hear me got to get you back somehow hear me now oh take me back consider me please if you walk in that door i can get up off my knees i just been so bluesince youve been gone whyd you do it whyd you have to do it since youve been gone whyd you do it whyd you have to do it well ive been so lonely sweet sweet sweet sweet baby baby since youve been gone sweet sweet sweet sweet baby ive been so lonely whyd you do it whyd you have to do it since youve been gone whyd you do it whyd you have to do it baby baby baby been so lonely sweet sweet sweet sweet baby ",1
47,"green tambourine","the lemon pipers",1968,"the lemon pipers miscellaneous green tambourine green tambourine the lemon pipers drop your silver in my tambourine help a poor man fill his pretty dream give me pennies ill take anything now listen while i play my green tambourine watch the jingle jangle start to chime reflections of the music that is mine when you drop a coin youll hear it sing now listen while i play my green tambourine  instrumental break  drop a dime before i walk away any song you want ill gladly play money feeds my music machine now listen while i play my green tambourine ",3
48,"1 2 3 red light","1910 fruitgum company",1968,"1910 fruitgum company miscellaneous 1 2 3 red light  1910 fruitgum company  1 2 3 red light  evry time i try to prove i love you 123 red light you stop me baby you aint right to stop me 123 red light you stop me evry time i make a move to love you 123 red light you stop me baby evry night you stop me 123 red light stop the game youve got too much to lose if you stop me again thats when we might end so dont refuse evry time i make a move to love you 123 red light dont stop me baby you aint right to stop me 123 red light wont stop me evry time i try to prove i love you 123 red light wont stop me when i know im right dont stop me 123 red light",3
49,"reach out of the darkness","friend  lover",1968,"i think its so groovy now that people are finally getting together i thinks its so wonderful and how that people are finally getting together reach out in the darkness reach out in the darkness reach out in the darkness and you may find a friend i knew a man that i did not care for and then one day this man gave me a call we sat and talked about things on our mind and now this man he is a friend of mine dont be afraid of love dont be afraid dont be afraid to love everybody needs a little love everybody needs somebody that they can be thinking of",3
50,"jumpin jack flash","the rolling stones",1968,"i was born in a crossfire hurricane and i howled at my ma in the driving rain but its all right now in fact its a gasbut its all right im jumping jack flash its a gas gas gas i was raised by a toothless bearded hag i was schooled with a strap right across my back but its all right now in fact its a gas but its all right im jumping jack flash its a gas gas gas i was drowned i was washed up and left for dead i fell down to my feet and i saw they bled i frowned at the crumbs of a crust of bread i was crowned with a spike right through my head yeah yeah yeah but its all right now in fact its a gas but its all right im jumping jack flash its a gas gas gas jumping jack flash its a gas jumping jack flash its a gas jumping jack flash its a gas jumping jack flash its a gas jumping jack flash its a gas jumping jack flash its a gas jumping jack flash its a gas jumping jack flash its a gas",3
51,"macarthur park","richard harris",1968," spring was never waiting for us girl it ran one step ahead as we followed in the dancebetween the parted pages and were pressed in loves hot fevered iron like a striped pair of pantsmacarthurs park is melting in the dark all the sweet green icing flowing down someone left the cake out in the raini dont think that i can fake it cause it took so long to bake it and ill never have that recipe again oh nooooooi recall the yellow cotton dress foaming like a wave on the ground around your knees birds like tender babies in your hands and the old men playing checkers by the treesmacarthurs park is melting in the dark all the sweet green icing flowing down someone left the cake out in the raini dont think that i can take it cause it took so long to bake it and ill never have that recipe again oh nooooooshort instrumental interludethere would be another song for me for i will sing it there would be another dream for me someone will bring iti will drink the wine while it is warm and never let you catch me looking at the sun and after all the loves of my life after all the loves of my life youll still be the onei will take my life into my hands and i will use it i will win the worship in their eyes and i will lose it i will have the things that i desire and my passion flow like rivers through the skyand after all the loves of my life oh after all the loves of my life ill be thinking of you  and wondering whylonger instrumental interludemacarthurs park is melting in the dark all the sweet green icing flowing down someone left the cake out in the raini dont think that i can take it cause it took so long to bake it and ill never have that recipe again oh noooooo ooh noooooo ",1
52,"light my fire","jose feliciano",1968,"you know that it would be untrue you know that i would be a liar if i was to say to you girl we couldnt get much higher come on baby light my fire come on baby light my fire try to set the night on fire the time for hesitations through theres no time to wallow in the mire darlin we could only lose and our love become a funeral pyre come on baby light my fire come on baby light my fire try to set the night on fire well you know that it would be untrue and you know that i would be a liar if i was to go and tell you mama we couldnt get much higher come on baby light my fire come on baby light my fire try to set the night on fire come on baby light light my fire come on baby light my fire dont you know that its alright light my fire light my fire light my fire light my fire light my fire light my fire girl girl you better light my fire you better light you better light you better light my fire and were gonna get much higher cmon girl you know i love you girl you know i need you babe cmon light light light light my fire light my fire light my fire light my fire light my fire light my fire light light light light light my my my fire light light light light light my fire",3
53,"i love you","people",1968,"people miscellaneous i love you i love you people written by chris white  peaked at 14 on the billboard hot 100 in 1968 i love you i love you i love you yes i do but the words wont come and i dont know what to say i should tell you i love you i do the words should explain but the words wont come i shouldnt hide my love deep inside the words should explain but the words wont come i should tell you just how i feel and i keep tryyyin but something holds me back when i try to tell you i love you i love you i love you yes i dooo i love you i love you i love you yes i do but the words wont come and i dont know what to say i shouldnt hide my love deep inside the words should explain but the words wont come if you could see what you mean to me the words should explain but the words wont come and oh how hard i try to tell you i looove you but something holds me back when i try to tell you i love you i love you i love you yes i dooo i love you i love you i love you yes i do but the words wont come and i dont know what to say yeah  organ  i should tell you i love you i do the words should explain but the words wont come i shouldnt hide my love deep inside the words should explain but the words wont come and oh how hard i try to tell you i looove you but something holds me back when i try to tell you i love you i love you i love you yes i dooo i love you i love you i love you yes i do but the words wont come and i dont know what to say i love you",3
54,"take time to know her","percy sledge",1968," i found a woman i felt a true in love she was every thing id ever been dreaming ofbut she was bad i didnt know it her pretty smile never did show it all i knew is what i could see and i knew i wanted her for mei took her home to mama mama wanna see my future bride well she looked at us both and then she called me to her sideshe said son take time to know her its not an overnight thing take time to know her please dont rush into this thingbut i didnt listen to mama i went straight to the church i just couldnt wait to have a little girl of minewhen i got off from work the preacher was there so was my future bride he looked at us both and then he called me to his sidehe said son take time to know her its not an overnight fling you better take time to know her please please dont rush into this thingbut it looked like every things gonna turn out all right and then i came home a little early one nightand there she was kissing on another man now i know what mama meant when she took me by the handand said son take time to know her its not an overnight thing take time to know her please dont rush into this thingtake time to know her its not an overnight thing take time ",1
55,"pictures of matchstick men","status quo",1968," when i look up to the sky i see your eyes a funny kind of yellow i rush home to bed i soak my head i see your face underneath my pillow i wake next morning tired still yawning see your face come peeping through my windowpictures of matchstick men and you mirages of matchstick men and you all i ever see is them and youwindows echo your reflection when i look in their direction now when will this haunting stop your face it just wont leave me alonepictures of matchstick men and you mirages of matchstick men and you all i ever see is them and youyoure in the sky and with the sky you make men cry you lie youre in the sky and with the sky you make men cry you liepictures of matchstick men and pictures of matchstick men and you pictures of matchstick men and pictures of matchstick men and ",1
56,"summertime blues","blue cheer",1968," oh lord i got to raise a fuss lord i got to raise a holler about a workin all summer just to try to earn a dollar oh lord i tried to call my baby i tried to get a datesometimes i wonder what im a gonna do lord there aint no cure for the summertime blueswell my mom and pop told me son you gotta make some money well if you want to use the car to go ridin next sunday well lord i didnt go to work i told the boss i was sick he saidsometimes i wonder what im a gonna do lord there aint no cure for the summertime bluesive got to take the weeks i got to have a fun vacation ive got to take my problem to the united nations i done told my congressman and he said whoa take this boysometimes i wonder what im a gonna do lord there aint no cure for the summertime bluesive got to take the weeks i got to have a fun vacation ive got to take my problem to the united nations i done told my congressman and he said whoa take this boysometimes i wonder what im a gonna do lord there aint no cure for the summertime blues whoa there aint no cure ",1
57,"aint nothing like the real thing","marvin gaye  tammi terrell",1968,"aint nothing like the real thing baby aint nothing like the real thing aint nothing like the real thing baby aint nothing like the real thing tammi terrell i got your picture hangin on the wall it cant see or come to me when i call your name i realize its just a picture in a frame marvin gaye i read your letters when youre not near but they dont move me and they dont groove me like when i hear your sweet voice whispering in my ear both aint nothing like the real thing baby aint nothing like the real thing tammi i play the game a fantasy i pretend but im not in reality i need the shelter of your arms to comfort me both no other sound is quite the same as your name no touch can do half as much to make me feel better so lets stay together marvin i got some memories to look back on and though they help me when you phone im well aware nothing can take the place of being there both so glad we got the real thing baby so glad we got the real thing aint nothing like the real thing baby aint nothing like the real thing aint nothing like the real thing baby aint nothing like the real thing",5
58,"i got the feelin","james brown",1968," i got the feeling baby baby i got the feelingyou dont know what you do to me people are heavy down in misery hey yeah alright hey hey good lordi got the feeling alrightbaby baby baby baby baby baby baby baby baby baby babyi got the feeling baby baby sometimes im up sometimes im down my heart im around the townim level with the ground baby i said level with the ground well baby you treat me badno no i know no you dont mean it now sometimes i roam but ill be coming back home sometimes i seem to be fly i just dont know when to say bye byehey baby baby i got that feeling baby i have it alrightbaby baby baby baby baby baby baby baby baby baby babycome on now come on now oh oh oh oh ",1
59,"ive gotta get a message to you","the bee gees",1968," the preacher talked to me and he smiled said come and walk with me come and walk one more mile now for once in your life youre alone but you aint got a dime theres no time for the phoneive just got to get a message to you hold on hold on one more hour and my life will be through hold on hold oni told him im in no hurry but if i broke her heart wont you tell her im sorry and for once in my life im alone and ive got to let her know just in time before i goive just go to get a message to you hold on hold on one more hour and my life will be through hold on hold onwell i laughed but that didnt hurt and its only her love that keeps me wearing this dirt now im crying but deep down inside well i did it to him now its my turn to dieive just got to get a message to you hold on hold on one more hour and my life will be through hold on hold on hold on one more hour and my life will be through hold on hold on ive just got to get a message to her hold on hold on ",1
60,"lady madonna","the beatles",1968,"lady madonna children at your feet wonder how you manage to make ends meet who finds the money when you pay the rent did you think that money was heaven sent friday night arrives without a suitcase sunday morning creeping like a nun mondays child has learned to tie his bootlegs see how they run lady madonna baby at your breast wonders how you manage to feed the rest pa pa pa see how they run lady madonna lying on the bed listen to the music playing in your head tuesday afternoon is never ending wednesday morning papers didnt come thursday night your stockings needed mending see how they run lady madonna children at your feet wonder how you manage to make ends meet",3
61,"hurdy gurdy man","donovan",1968," thrown like a star in my vast sleep i open my eyes to take a peep to find that i was by the sea me gazing with tranquilityit was then when the hurdy gurdy man came singing songs of love then when the hurdy gurdy man came singing songs of lovehurdy gurdy hurdy gurdy hurdy gurdy gurdy he sang hurdy gurdy hurdy gurdy hurdy gurdy gurdy he sang hurdy gurdy hurdy gurdy hurdy gurdy gurdy he sanghistories of ages past unenlightened shadows cast down through all eternity the crying of humanityit is then when the hurdy gurdy man comes singing songs of love then when the hurdy gurdy man comes singing songs of lovehurdy gurdy hurdy gurdy hurdy gurdy gurdy he sang hurdy gurdy hurdy gurdy hurdy gurdy hurdy gurdy hurdy gurdy hurdy gurdy hurdy gurdy hurdy gurdy gurdy he sanghurdy gurdy hurdy gurdy hurdy gurdy gurdy he sang here comes the roly poly man and hes singing songs of love roly poly roly poly roly poly poly he sang hurdy gurdy hurdy gurdy hurdy gurdy gurdy he sang hurdy gurdy hurdy gurdy hurdy gurdy gurdy he sang ",1
62,"magic carpet ride","steppenwolf",1968," i like to dream yes yes right between my sound machine on a cloud of sound i drift in the night any place it goes is right goes far flies near to the stars away from herewell you dont know what we can find why dont you come with me little girl on a magic carpet ride you dont know what we can see why dont you tell your dreams to me fantasy will set you free close your eyes girl look inside girl let the sound take you awaylast night i held aladdins lamp and so i wished that i could stay before the thing could answer me someone came and took the lamp away i looked around a lousy candles all i foundwell you dont know what we can find why dont you come with me little girl on a magic carpet ride well you dont know what we can see why dont you tell your dreams to me fantasy will set you free close your eyes girl look inside girl let the sound take you away ",1
63,"bottle of wine","the fireballs",1968,"bottle of wine fruit of the vine when you gonna let me get sober leave me alone let me go home let me go home and start over ramblin around this dirty old town and singin for nickels and dimes times gettin rough i aint got enough to buy me a bottle of wine bottle of wine fruit of the vine when you gonna let me get sober leave me alone let me go home let me go home and start over a pain in my head theres bugs in my bed my pants are so old that they shine out on the street i beg the people i meet to buy me a bottle of wine bottle of wine fruit of the vine when you gonna let me get sober leave me alone let me go home let me go home and start over bottle of wine fruit of the vine when you gonna let me get sober leave me alone let me go home let me go home and start over bottle of wine fruit of the vine when you gonna let me get sober leave me alone let me go home let me go home and start over let me go home and start over let me go home and start over",3
64,"stay in my corner","the dells",1968,"  ",1
65,"soul serenade","willie mitchell",1968,"instrumental",3
66,"delilah","tom jones",1968," i saw the light on the night that i passed by her window i saw the flickering shadow of love on her blind she was my woman as she deceived me i watched and went out of my mindmy my my delilah why why why delilah i could see that girl was no good for me but i was lost like a slave that no man could freeat break of day when that man drove away i was waiting i crossed the street to her house and she opened the door she stood there laughing i felt the knife in my hand and she laughed no moremy my my delilah why why why delilah so before they come to break down the door forgive me delilah i just couldnt take any moreshe stood there laughing i felt the knife in my hand and she laughed no moremy my my delilah why why why delilah so before they come to break down the door forgive me delilah i just couldnt take any moreforgive me delilah i just couldnt take any more ",1
67,"nobody but me","the human beinz",1968," no no no no no no no no no no no no no no no no no no no no no no no no no no no no no nonobody can do the shingaling like i dono no no no no no no no no no no no no no no no no no no no no no no no no no no no no nonobody can do the skate like i dono no no no no no no no no no no no no no no no no no no no no no no no no no no no no nonobody can do the boogaloo like i dono no no no no no no no no no no no no no no no no no no no no no no no no no no no no nonobody can do the philly like i dowell dont you know im gonna skate im doin aint nobody doin but me baby nobody but meyes i gonna philly im doin aint nobody doin but me baby nobody but mewell let me tell you nobody nobody but me well let me tell you nobody nobody nobody etc ",1
68,"i thank you","sam and dave",1968,"sam miscellaneous i thank you i thank you sam and dave david porter isaac hayes spoken i want everybody to get up off your seat and get your arms together and your hands together and give me some of that ooold soul clapping you didnt have to love me like you did but you did but you did and i thank you you didnt have to squeeze me like you did but you did but you did and i thank you if you took your love to somewhere else i wouldnt know what it meant to be loved to death you made me feel like ive never felt kisses so good i had to holler for help you didnt have to squeeze me but you did but you did but you did and i thank you you didnt have to hold me but you did but you did but you did and i thank you every day was something new you pull out your bag and your fine todo you got me trying new things too just so i can keep up with you you didnt have to shake me like you did but you did but you did and i thank you you didnt have to make it like you did but you did but you did and i thank you all my life ive been shortchanged without your love baby its a crying shame and now i know what the fellas are talking about when they say that they been turned out i want to thank you thank you thank you oh baby thank you baby yeah yeah oh baby i gotta be thanking got to say horn break you didnt have to love me like you did but you did but you did and i thank you you didnt have to hold me like you did but you did but you did and i thank you thank you thank you baby baby got to thank you baby oh baby thank ive got ive got to thank you baby thank you baby oh baby fade transcribed by todd peach",3
69,"the fool on the hill","sergio mendes",1968,"sergio mendes miscellaneous the fool on the hill the fool on the hill the beatles music  lyrics  john lennon  paul mccartney day after day alone on the hill the man with the foolish grin is keeping perfectly still but nobody wants to know him they can see that hes just a fool and he never gives an answer but the fool on the hill sees the sun going down and the eyes in his head see the world spinning around well on his way his head in a cloud the man of a thousand voices talking percetly loud but nobody ever hears him or the sound he appears to make and he never seems to notice but the fool on the hill    nobody seems to like him they can tell what he wants to do and he never shows his feelings but the fool on the hill   ",3
70,"sky pilot","the animals",1968," youre soldiers of god you must understand the fate of your country is in your young hands may god give you strength do your job real well if it all was worth it only time it will tellin the morning they return with tears in their eyes the stench of death drifts up to the skies a young soldier so ill looks at the sky pilot remembers the words thou shalt not killsky pilot sky pilot how high can you fly youll never never never reach the sky sky pilot sky pilot how high can you fly youll never never never reach the sky youll never never never reach the sky youll never never never reach the sky ",1
71,"indian lake","the cowsills",1968,"you take a bus marked lakewood drive and you keep on ridin til youre out of the city where the air is fine with the sweet smell of pine and the countrysides pretty and youll see daffodils peepin over the hill or a honey lovin mama bear just take a left at the bridge go down to quakertown ridge and in a minute youre there di din din din din din di din din din din din di din din din din din di din din din din din indian lake is a scene you should make with your little one keep it in mind if youre lookin to find a place in the summer sun you can swim in the cove have a snack in the grove or you can rent a canoe at indian lake youll be able to make the way the indians do daoop bop bop daoop bop bop daoop bop bop daoop bop bop daoop bop bop daoop bop bop daoop bop bop daoop bop bop da din din di di di da din din di di di da din din di di di da din din di di di indian lake is a scene you should make with your little one just keep it in mind if youre lookin to find a place in the summer sun you can swim in the cove have a snack in the grove or you can rent a canoe at indian llake youll be able to make the way the indians do indian lake is a scene you should make with your little one just keep it in mind if youre lookin to find a place in the summer sun swim in the cove have a snack in the grove or you can rent a canoe at indian lake youll be able to make the way the indians do",3
72,"i wonder what shes doing tonight","tommy boyce  bobby hart",1968,NA,NA
73,"over you","gary puckett  the union gap",1968,"why am i losin sleep over you relivin precious moments we knew so many days have gone by still im so lonely and i guess theres just no getting over you and theres nothin i can do wastin all of my time all of my mind over you within the prison walls of my mind theres still a part of you left behind and though it hurts ill get by without your lovin yet i guess theres just no getting over you and theres nothin i can do wastin all of my time all of my mind over you and i guess theres just no getting over you and theres nothin i can do wastin all of my time all of my mind over you and i guess theres just no getting over you and theres nothin i can do wastin all of my time",3
74,"goin out of my headcant take my eyes off you","the lettermen",1968,NA,NA
75,"shoobedoobedoodaday","stevie wonder",1968,NA,NA
76,"the unicorn","the irish rovers",1968,"the irish rovers miscellaneous the unicorn the unicorn the irish rovers a long time ago when the earth was still green there were more kinds of animals than youve ever seen theyd run around free while the earth was being born the loveliest of all was the unicorn there was green alligators and longnecked geese some humptybacked camels and some chimpanzees some cats and rats and elephants but sure as youre born the loveliest of all was the unicorn now god seen some sinnin and it gave him pain and he said stand back im going to make it rain he said hey brother noah ill tell you what to do build me a floating zoo and take some of them green alligators and longnecked geese some humptybacked camels and some chimpanzees some cats and rats and elephants but sure as youre born dont you forget my unicorn old noah was there to answer the call he finished up making the ark just as the rain started fallin he marched in the animals two by two and he called out as they went through hey lord ive got yer green alligators and longnecked geese some humptybacked camels and some chimpanzees some cats and rats and elephants but lord im so forlorn i just cant see no unicorn old noah looked out into the driving rain them unicorns was hiding playing silly games kicking and splashing while the rain was pouring oh them silly unicorns there was green alligators and longnecked geese some humptybacked camels and some chimpanzees noah cried close the doors cause the rain is pourin and we just cant wait for no unicorns the ark started movin it drifted with the tide them unicorns looked up from the rock and they cried and the waters came down and sorta floated them away thats why youll never see a unicorn to this very day youll see green alligators and longnecked geese some humptybacked camels and some chimpanzees some cats and rats and elephants but sure as youre born youre never gonna see no unicorn",3
77,"you keep me hangin on","vanilla fudge",1968," set me free why dont you babe get off my life why dont you babeyou really dont want me you just keep me hangin on you really dont need me you just keep me hangin onwhy do you keep comin around playing with my heart why dont you get out of my life when seeing you only breaks my heart againand there aint nothing i can do about ityou know i need love set me free why dont you babe talkin bout love get off my life why dont you babeyou really dont want me you just keep me hangin onget off my life why dont you babe get off my life why dont you babe ",1
78,"revolution","the beatles",1968,"you say you want a revolution well you know we all want to change the world you tell me that its evolution well you know we all want to change the world but when you talk about destruction dont you know that you can count me out dont you know its gonna be alright alright alright you say you got a real solution well you know wed all love to see the plan you ask me for a contribution well you know were all doing what we can but if you want money for people with minds that hate all i can tell you is brother you have to wait dont you know its gonna be alright alright alright you say youll change the constitution well you know we all want to change your head you tell me its the institution well you know you better free your mind instead but if you go carrying pictures of chairman mao you aint going to make it with anyone anyhow dont you know know its gonna be alright alright alright alright alright alright",3
79,"woman woman","gary puckett  the union gap",1968,"woman oh woman have you got cheating on your mind on your mind somethings wrong between us that your laugher cannot hide and youre afraid to let your eyes meet mine and lately when i love you i know youre not satisfied woman oh woman have you got cheating on your mind on your mind ive seen the way men look at you when they think i dont see and it hurts to have them think that youre that kind but its knowing that youre looking back thats really killing me woman oh woman have you got cheating on your mind on your mind a woman wears a certain look when she is on the move and a man can always tell whats on her mind i hate to have to say it but that looks all over you woman oh woman have you got cheating on your mind oh woman oh woman have you got cheating on your mind",3
80,"elenore","the turtles",1968,"you got a thing about you i just cant live without you i really want you elenore near me your looks intoxicate me even though your folks hate me theres no one like you elenore really elenore gee i think youre swell and you really do me well youre my pride and joy et cetera elenore can i take the time to ask you to speak your mind tell me that you love me better i really think youre groovy lets go out to a movie what do you say now elenore can we theyll turn the lights way down low maybe we wont watch the show i think i love you elenore love me elenore gee i think youre swell and you really do me well youre my pride and joy et cetera elenore can i take the time to ask you to speak your mind tell me that you love me better elenore gee i think youre swell ah ah elenore gee i think youre swell ah ah ah",3
81,"white room","cream",1968," in the white room with black curtains near the station blackroof country no gold pavements tired starlings silver horses ran down moonbeams in your dark eyes dawnlight smiles on you leaving my contentment ill wait in this place where the sun never shineswait in this place where the shadows run from themselves you said no strings could secure you at the station platform ticket restless diesels goodbye windows i walked into such a sad time at the station as i walked out felt my own need just beginning ill wait in the queue when the trains come backlie with you where the shadows run from themselves at the party she was kindness in the hard crowd consolation for the old wound now forgotten yellow tigers crouched in jungles in her dark eyes shes just dressing goodbye windows tired starlings ill sleep in this place with the lonely crowdlie in the dark where the shadows run from themselves ",1
82,"youre all i need to get by","marvin gaye  tammi terrell",1968,NA,NA
83,"baby now that ive found you","the foundations",1968,NA,NA
84,"sweet inspiration","sweet inspirations",1968,"i need your sweet inspiration i need you here on my mind every hour of the day without your sweet inspiration the lonely hours of the night just dont go my way a woman in love needs sweet inspiration and honey thats all i ask you know thats all i ask from you ive gotta have your sweet inspiration yeah you know there just aint no tellin what a satisfied woman might do way you call me baby baby is such a sweet inspiration the way you call me darlin darlin sets my heart to skating and if im out in the rain baby and in a bad situation you know i can reach you in the back in my mind and there ill find your sweet sweet inspiration sweet inspiration yeah oh what a power and ive got the power every hour of the day i need your sweet inspiration yeah to go on living to keep on giving this way i need your sweet inspiration sweet inspiration sweet inspiration sweet inspiration sweet sweet inspiration i got to have your sweet sweet inspiration hey give me your sweet inspiration sweet inspiration sweet inspiration",3
85,"if you can want","the miracles",1968,"oh you may not love me now but im stayin around cause you want my company just like push can turn to shove like can turn to love its my philosophy that if you can want you can need and if you can need you can care if you can care you can love now so when you want me ill be there said whenever you want me ill be there oh now this may take some time if time was money i would be a millionaire so whenever you want me call any time at all and for sure ill be right there cause if you can want you can need and if you can need baby you can care if you can care you can love so when you want me ill be there ill be there whenever you want me oh yeah ill be standin by not far way let your heart give me a sign cause im prepared to wait until i abdicate when you want me all the time cause you can want you can need if you can need baby you can care if you can care baby you can love so when you want me ill be there ill be there whenever you want me you can want you can need and if you can need baby you can care",3
86,"cab driver","the mills brothers",1968,"cab driver drive by marys place i just wanna chance to see her face i hope god to meet her any place cab driver drive by marys place cab driver once more round the block never mind the ticket or the clock i only wish we could have had a talk cab driver once more round the block cab driver once more down her street theres a little place we use to meet thats where i laid my future at her feet cab driver once more down her street cab driver take care by her door i just want to hold her in my arms once more and then maybe just like we were before cab driver take care by her door cab driver you better take me home i guess that i was meant to be alone i hope god gives me a lover of my own cab driver you better take me home cab driver you better take me home cab driver you better take me home",3
87,"time has come today","the chambers brothers",1968," time has come today young hearts can go their way cant put it off another day i dont care what others say they say we dont listen anyway time has come today heyoh the rules have changed today hey i have no place to stay hey im thinking about the subway hey my love has flown away hey my tears have come and gone hey oh my lord i have to roam hey i have no home hey i have no home heynow the time has come time theres no place to run time i might get burned up by the sun time but i had my fun time ive been loved and put aside time ive been crushed by the tumbling tide time and my soul has been psychedelicized timetime now the time has come time there are things to realize time time has come today time time has come today timetime x11oh now the time has come time theres no place to run time i might get burned up by the sun time but i had my fun time ive been loved and put aside time ive been crushed by tumbling tide time and my soul has been psychedelicized timetime now the time has come time there are things to realize time time has come today time time has come today timetime x4 yeah ",1
88,"do you know the way to san jose","dionne warwick",1968," do you know the way to san jose ive been away so long i may go wrong and lose my way do you know the way to san jose im going back to find some peace of mind in san josela is a great big freeway put a hundred down and buy a car in a week maybe two theyll make you a star weeks turn into years how quick they pass and all the stars that never were are parking cars and pumping gasyou can really breathe in san jose theyve got a lot of space therell be a place where i can stay i was born and raised in san jose im going back to find some peace of mind in san josefame and fortune is a magnet it can pull you far away from home with a dream in your heart youre never alonedreams turn into dust and blow away and there you are without a friend you pack your car and ride awayive got lots of friends in san jose do you know the way to san josela is a great big freeway put a hundred down and buy a car in a week maybe two theyll make you a starweeks turn into years how quick they pass and all the stars that never were are parking cars and pumping gasive got lots of friends in san jose do you know the way to san jose cant wait to get back to san jose ",1
89,"scarborough faircanticle","simon  garfunkel",1968,"are you going to scarborough fair parsley sage rosemary and thyme remember me to one who lives there she once was a true love of mine tell her to make me a cambric shirt   a hill in the deep forest green parsley sage rosemary and thyme   tracing of sparrow on snowcrested brown without no seams nor needle work   blankets and bedclothes the child of the mountain then shell be a true love of mine   sleeps unaware of the clarion call tell her to find me an acre of land   on the side of a hill a sprinkling of leaves parsley sage rosemary and thyme   washes the grave with silvery tears between the salt water and the sea strand   a soldier cleans and polishes a gun then shell be a true love of mine tell her to reap it with a sickle of leather   war bellows blazing in scarlet battalions parsley sage rosemary and thyme   general order their soldiers to kill and gather it all in a bunch of heather   and to fight for a cause theyve long ago forgotten then shell be a true love of mine are you going to scarborough fair parsley sage rosemary and thyme remember me to one who lives there she once was a true love of mine",3
90,"say it loud  im black and im proud","james brown",1968,"uh with your bad self say it louder im black and im proud say it louder im black and im proud look ahere some people say we got a lot of malice some say its a lotta nerve i say we wont quit moving til we get what we deserve weve been buked and weve been scourned weve been treated bad talked about as just as sure as youre born but just as sure as it take two eyes to make a pair huh brother we cant quit until we get our share say it loud im black and im proud say it loud im black and im proud one more time say it loud im black and im proud huh ive worked on jobs with my feet and my hands but all the work i did was for the other man and now we demands a chance to do things for ourselves we tired of beating our heads against the wall and working for someone else say it loud im black and im proud say it loud im black and im proud say it loud im black and im proud say it loud im black and im proud oowee ooowee youre killing me alright uh youre out of sight alright so tough youre tough enough ooowee uh youre killing me oow say it loud im black and im proud say it louder im black and im proud now we demand a chance to do things for ourselves we tired of beating our heads against the wall and working for someone else a look ahere one thing more i got to say right here now were people like the birds and the bees we rather die on our feet than keep living on our knees say it loud im black and im proud hu say it loud im black and im proud hu say it loud im black and im proud lorda lorda lorda say it loud im black and im proud ooooh uh alright now good lord you know we can do the boogaloo now we can say we do the funky broadway now we can do hu sometimes we dance we sing and we talk you know i do like to do the camel walk alright now hu alright alright now ha say it loud im black and im proud say it louder im black and im proud let me hear ya say it louder im black and im proud say it louder im black and im proud now wes demands a chance to do things for ourselves were tired of beating our heads against the wall and working for someone else hu now were our people too were like the birds and the bees but wed rather die on our feet than keep aliving on our knees say it louder im black and im proud say it louder im black and im proud let me hear ha huh say it loud im black and im proud hu say it louder im black and im proud say it louder im black and im proud oooow oowee youre killing me alright uh outa sight alright youre outa sight ooowee oh lord ooowee youre killing me ooowee ooowee ooowee ooowee ow say it loud im black and im proud hu say it louder im black and im proud lord i feel it say it loud im black and im proud say it louder im black and im proud",5
91,"the mighty quinn","manfred mann",1968,"come all without come all within youll not see nothing like the mighty quinn come all without come all within youll not see nothing like the mighty quinn everybodys building ships and boats some are building monuments  others jotting down notes everybodys in despair every girl and boy  but when quinn the eskimo gets here  everybodys gonna jump for joy come on without come on within youll not see nothing like the mighty quinn i like to go just like the rest  i like my sugar sweet but jumping queues and making haste just aint my cup of meat everybodys beneath the trees feeding pigeons on a limb but when quinn the eskimo gets here  all the pigeons gonna run to him come all without come all within youll not see nothing like the mighty quinn come all without come all within youll not see nothing like the mighty quinn let me do what i wanna do  i cant decide em all just tell me where to put em  and ill tell you who to call nobody can get no sleep theres someone on everyones toes but when quinn the eskimo gets here  everybodys gonna wanna doze come all withoutjust singin a song come all withineverybody youll not see nothing like the mighty quinni wanna hear you sing  come all without  come all within here he comes now youll not see nothing like the mighty quinn lets come on and sing come all without just singin a song come all within everybody youll not see nothing like the mighty quinn come all without come all within youll not see nothing like the mighty quinn",3
92,"here comes the judge","shorty long",1968,"shorty long miscellaneous here comes the judge here comes the judge shorty long hear ye hear ye the courts in session the courts in session now here comes the judge here comes the judge here comes the judge here comes the judge here comes the judge stop eatin that fudge cause here comes the judge dont nobody buzz cause here comes the judge judge shorty is presidin today and he dont take no stuff from nobody no kind of way hey boy take off that hat where do you think youre at i know where you gon be if you dont heed my plea im here to tell you courts in session order in the court now courts in session cant nobody smoke now here comes the judge here comes the judge here comes the judge here comes the judge here come the judge here comes the judge yall here comes the judge order order whats the first case on the docket judge i got a boy here who cant dance cant dance ah ninety days thirty days for boogaloo thirty days to learn how to shingaling and thirty more for the afro twist cant dance what is this courts in session everybody quiet now courts in session here comes the judge here comes the judge is that the man no your honor does he look like the man no your honor well im sorry you got to go now ah ha you cant recognize the man you got to stand guilty here comes the judge here comes the judge here comes the judge ah yes here comes the judge they caught him stompin down the aisle yes here comes the judge id rather be lost in the jungle of brazil than to face the judge this morning the way he feels here comes the judge here comes the judge boy",3
93,"i say a little prayer","aretha franklin",1968," the moment i wake up before i put on my makeup i say a little pray for you while combing my hair now and wondering what dress to wear now i say a little prayer for youforever and ever youll stay in my heart and i will love you forever and ever we never will part oh how i love you together forever thats how it must be to live without you would only mean heartbreak for mei run for the bus dear while riding i think of us dear i say a little prayer for you at work i just take time and all through my coffee break time i say a little prayer for youforever and ever youll stay in my heart and i will love you forever and ever we never will part oh how ill love you together forever thats how it must be to live without you would only mean heartbreak for mei say a little prayer for you i say a little prayer for youmy darling believe me believe me for me there is no one but you please love me too answer his pray and im in love with you answer his pray answer my prayer now babe answer his prayforever and ever youll stay in my heart and i will love you forever and ever we never will part oh how ill love you together forever thats how it must be to live without you would only mean heartbreak for me ",1
94,"think","aretha franklin",1968," you better think think think about what youre tryin to do to me yeah think think think let your mind go let yourself be freelets go back lets go back lets go way on way back when i didnt even know you you couldnt a been too much more than ten just a childi aint no psychiatrist i aint no doctor with degrees it dont take too much iq to see what youre doin to meyou better think think think about what youre tryin to do to me yeah think think think let your mind go let yourself be freeoh freedom freedom say some freedom freedom oh freedom yeah freedom yeahoh now freedom freedom freedom freedom need you some freedom oh freedom oh now yeah hey think about it you think about itthere aint nothin you could ask i could answer you with i wont i wont but i was gonna change my mind if you keep doin things i dont dontyou better think think think about what youre tryin to do to me yeah think think think let your mind go let yourself be freepeople walkin around everyday playin games and takin scores tryin to make other people lose their minds well be careful you dont lose yoursoh think think think about what youre tryin to do to me think think let your mind go let yourself be freeyou need me and i need you without each other aint nothin neither can do ohoh yeah think about it baby whatcha tryin to do me think let it go baby think about it right now yeah right now to the bone for deepness right now to the bone for deepness yeah right now to the bone for deepness i need to change your mind think about it baby baby baby ",1
95,"sealed with a kiss","gary lewis and the playboys",1968,"tho we gotta say goodbye for the summer darling i promise you this ill send you all my love every day in a letter sealed with a kiss guess its gonna be a cold lonely summer but ill fill the emptiness ill send you all my love every day in a letter sealed with a kiss ill see you in the sunlight ill hear your voice everywhere ill run to tenderly hold you but darling you wont be there i dont wanna say goodbye for the summer knowing the love well miss oh let us make a pledge to meet in september and seal it with a kiss guess its gonna be a cold lonely summer but ill fill the emptiness ill send you all my love every day in a letter sealed with a kiss sealed with a kiss sealed with a kiss",3
96,"piece of my heart","big brother and the holding company",1968,"oh come on come on come on come on didnt i make you feel like you were the only man oh yeah i did not give you nearly everything that a woman possibly can honey you know i did and each time i tell myself that i when i think ive had enough im gonna im gonna show you baby that a woman can be tough i want you to come on come on come on come on and take it take another little piece of my heart now baby break another little bit of my heart now darling yeah yeah yeah yeah have another little piece of my heart now baby well you know you got it if it makes you feel good oh yes indeed youre out on the streets looking good and baby deep down in your heart i guess you know that it aint right never never never never never never hear me when i cry at night babe and i cry all the time but each time i tell myself that i well i cant stand the pain but when you hold me in your arms ill sing it once again ill say come on come on come on come on and take it take another little piece of my heart now baby break another little bit of my heart now darling yeah have another little piece of my heart now baby well you know you got it child if it makes you feel good i need you to come on come on come on come on and take it take another little piece of my heart now baby break another little bit of my heart now darling yeah come on now have another little piece of my heart now baby well you know you got it whoa take it take another little piece of my heart now baby break another little bit of my heart now darling yeah yeah yeah yeah have another little piece of my heart now baby hey well you know you got it child if it makes you feel good",3
97,"suzie q","creedence clearwater revival",1968," oh suzie q oh suzie q oh suzie q baby i love you suzie qi like the way you walk i like the way you talk i like the way you walk i like the way you talk suzie qoh say that youll be true oh say that youll be true oh say that youll be true and never leave me blue suzie qoh say that youll be mine oh say that youll be mine oh say that youll be mine baby all the time suzie qoh suzie q oh suzie q oh suzie q baby i love you suzie qi like the way you walk i like the way you talk i like the way you walk i like the way you talk suzie qoh suzie q oh suzie q oh suzie q baby i love you suzie q ",1
98,"bend me shape me","the american breed",1968,"you are all the woman i need and baby you know it you can make this beggar a king a clown or a poet ill give you all that i own you got me standing in line out in the cold pay me some mind bend me shape me anyway you want me long as you love me its all right bend me shape me anyway you want me you got the power to turn on the light everybody tells me im wrong to want you so badly but theres a force driving me on i follow it gladly so let them laugh i dont care cause i got nothing to hide all that i want is you by my side bend me shape me anyway you want me long as you love me its all right bend me shape me anyway you want me you got the power to turn on the light bend me shape me anyway you want me long as you love me its all right bend me shape me anyway you want me you got the power to turn on the light",3
99,"hey western union man","jerry butler",1968," oh western union man send a telegram to my baby send a telegram send a telegram oh send a telegram to my baby this is what i want you to sayi want you to tell her that im all alone i tried to call her on the phone tell her im in misery and think shes avoiding me and if the telegram dont do send a box of candy too an maybe some flowerstell her that i miss her for hours and hours send a telegram send a telegram hurry up send a telegram man to my baby do you hear what i sayoh western union man send a telegram oh send a telegram to my baby western union man hey send a telegram oh send a telegram send a telegram oh send a telegram man to my baby this is what i want you to dolisten tell me have you got a boy you can send this is what i want him to do put him on his bike right away see if he can get my message through maybe tomorrow but mail it right awayi want the girl to know that i missed her something like yesterday send a telegram send a telegram oh send a telegram man to my baby do you hear what i sayoh western union man why dont you send a telegram well send a telegram to my baby western union man send a telegram oh send a send a telegram send it send it send it send it right on to my baby do you hear what i sayhey western union man send a telegram oh send a telegram to my baby hey ",1
100,"never give you up","jerry butler",1968," never gonna give you up no matter how you treat me never gonna give you up so dont you think of leavingirl you treat me bad and i know why yeah ive seen you runnin around with another guy and you think if you hurt me that ill go away made it up in my mind that im here to stayso tell him never gonna give you up whisper in his ear no matter how you treat me never gonna give you up you tell him that jerry said hell never let you go so dont you think of leavin hey dont you understand what youre doing to the mando you see these tears here in my eyes aint no use in me lyin cause i really cried you think youre gonna take me and put me on the shelf girl id rather die than see you with somebody elseso throw it out of your mind never gonna give you up ill never leave you no matter how you treat me though you grieve me and deceive me yeah never gonna give you up so dont you think of leavin hey dont you understand what youre doing to the manmy friends all say that im your fool and youre using me like a carpenter uses a tool and i know their intentions have all been good some of them would help me if they couldbut ill never gonna give you up never never never never let you go no matter how you treat me no matter what you say never gonna give you up so dont you think of leavin baby dont you understand that youre killing this mannever gonna give you up never gonna give you up no matter how you treat me no matter what you do to me baby now never gonna give you up so dont you think of leavin oh never leave me ill be always standing around the door never gonna give you up no matter how you treat me even though you say that honey you dont love me ",1
1,"sugar sugar","the archies",1969," sugar honey honey you are my candy girl and you got me wanting you honey sugar sugar you are my candy girl and you got me wanting youi just cant believe the loveliness of loving you i just cant believe its true i just cant believe the wonder of this feeling too i just cant believe its truesugar honey honey you are my candy girl and you got me wanting you honey sugar sugar you are my candy girl and you got me wanting youwhen i kissed you girl i knew how sweet a kiss could be i know how sweet a kiss can be like the summer sunshine pour you sweetness over me pour your sweetness over meoh sugar pour your sugar on me honey pour your sugar on me baby im gonna make your life so sweet yeah yeah yeahpour your sugar on me oh yeah pour your sugar on me honey pour your sugar on me baby im gonna make your life so sweet yeah yeah yeah pour your sugar on me honeysugar honey honey you are my candy girl and you got me wanting you honey sugar sugar you are my candy girl ",1
2,"aquariuslet the sunshine in","the 5th dimension",1969,"when the moon is in the seventh house and jupiter aligns with mars then peace will guide the planets and love will steer the stars this is the dawning of the age of aquarius the age of aquarius aquarius aquarius harmony and understanding sympathy and trust abounding no more falsehoods or derisions golden living dreams of visions mystic crystal revelation and the minds true liberation aquarius aquarius when the moon is in the seventh house and jupiter aligns with mars then peace will guide the planets and love will steer the stars this is the dawning of the age of aquarius the age of aquarius aquarius aquarius aquarius aquarius let the sunshine let the sunshine in the sunshine in let the sunshine let the sunshine in the sunshine in let the sunshine let the sunshine in the sunshine in  fading  let the sunshine let the sunshine in the sunshine in oh everyone sing along come on now everybody just sing along and let the sunshine on in open up your heart and let it shine on you and when youre lonely hey let it shine yea you got to open up your heart and let it shine on in when you feel like everythings cheated and your friends are turning backs upon you just open up your heart and let it shine in youve got to feel it let the sunshine let the sunshine in the sunshine in let the sunshine let the sunshine in the sunshine in let the sunshine let the sunshine in the sunshine in let the sunshine let the sunshine in the sunshine in",3
3,"i cant get next to you","the temptations",1969," i can turn the gray sky blue i can make it rain whenever i want it to oh i i can build a castle from a single grain of sand i can make a ship sail on dry land tell em yeah but my life is incomplete and im so blue cause i cant get next to youi cant get next to you babe next to you i cant get next to you i just cant get next you i cant get next to you babe i cant get next to youi can fly like a bird in the sky hey and i can buy anything that money cant buy oh i i can turn a river into a raging fire i can live forever if i so desiredunimportant are all the things i can do cause i cant get next to youi cant get next to you babe no matter what i do i cant get next to you uhyaoooooo oooooo chica boom chica boom chica boom boom boomi can turn back the hands of time you better believe i can i can make the seasons change just by waving my hand oh i i can change anything from old to new the things i want to do the most im unable to dounhappy am i with all the powers i possess cause girl youre the key to my happiness and icant get next to yougirl youre blowing my mind cause i cant get next to you cant you see these tears im crying i cant get next to you girl its you that i need i gotta get next to you cant you see these tears im crying i cant get next to you i i i i i cant get next to you i i i i i cant get next to you girl youre blowing my mind ",1
4,"honky tonk women","the rolling stones",1969,"i met a gin soaked barroom queen in memphis she tried to take me upstairs for a ride she had to heave me right across her shoulder cos i just cant seem to drink you off my mind its the honky tonk woman gimme gimme gimme the honky tonk blues its the honky tonk woman gimme gimme gimme the honky tonk blues i laid a divorcee in new york city i had to put up some kind of a fight the lady then she covered me with roses she blew my nose and then she blew my mind its the honky tonk woman gimme gimme gimme the honky tonk blues its the honky tonk woman gimme gimme gimme the honky tonk blues",3
5,"everyday people","sly  the family stone",1969,"sometimes im right and i can be wrong my own beliefs are in my song the butcher the thinker the drummer and then makes no difference what group im in i am everyday people yeah there is a blue one who cant accept the green one for living with a fat one trying to be a skinny one different strokes for different folks and so on and so on and scooby dooby dooby we got to live together i am no better and neither are you we are the same whatever we do you love me you hate me you know me and then you cant figure out what bag im in i am everyday people yeah there is a long hair who doesnt like the short hair for being such a rich one that will not help the poor one different strokes for different folks and so on and so on and scooby dooby dooby we got to live together there is a yellow one that wont accept the black one that wont accept the red one that wont accept the white one different strokes for different folks and so on and so on and scooby dooby dooby i am everyday people",3
6,"dizzy","tommy roe",1969,"dizzy im so dizzy my head is spinning like a whirlpool it never ends and its you girl makin it spin youre making me dizzy first time that i saw you girl i knew that i just had to make you mine but its so hard to talk to you with fellows hangin round you all the time i want you for my sweet pet but you keep playing hard to get im going round in circles all the time dizzy im so dizzy my head is spinning like a whirlpool it never ends and its you girl makin it spin youre making me dizzy i finally got to talk to you and i told you just exactly how i felt then i held you close to me and kissed you and my heart began to melt girl youve got control on me cos im so dizzy i cant see i need to call a doctor for some help dizzy im so dizzy my head is spinning like a whirlpool it never ends and its you girl makin it spin youre making me dizzy my head is spinning like a whirlpool it never ends and its you girl making it spin youre making me dizzy youre making me dizzy im so dizzy",3
7,"hot fun in the summertime","sly  the family stone",1969,"end of the spring and here she comes back hi hi hi hi there them summer days those summer days thats when i had most of my fun back high high high high there them summer days those summer days i cloud nine when i want to out of school yeah county fair in the country sun and everything its true ooh yeah yeah hot fun in the summertime hot fun in the summertime hot fun in the summertime hot fun in the summertime first of the fall and then she goes back bye bye bye bye there them summer days those summer days boopboopbaboopboop when i want to out of school county fair in the country sun and everything its cool ooh yeah hot fun in the summertime hot fun in the summertime hot fun in the summertime",3
8,"ill never fall in love again","tom jones",1969," ive been in love so many times thought i knew the score but now youve treated me so wrong i cant take anymoreand it looks like im never gonna fall in love again fall in love im never gonna fall in love i mean it fall in love againall those things i heard about you i thought they were only lies but when i caught you in his arms i just broke down and criedand it looks like im never gonna fall in love again fall in love no im never gonna fall in love i mean it i mean it fall in love againi gave my heart so easily i cast aside my pride but when you fell for someone else baby i broke up all insideand it looks like im never gonna fall in love again thats why im asingin it fall in love no im never gonna fall in love please dont make me fall in love again ",1
9,"build me up buttercup","the foundations",1969," why do you build me up build me up buttercup baby just to let me down let me down and mess me around and then worst of all worst of all you never call baby when you say you will say you will but i love you still i need you i need you more than anyone darlin you know that i have from the start so build me up build me up buttercup dont break my heartill be over at ten you told me time and again but youre late i wait around and then bahdahdah i went to the door i cant take any more its not you you let me down againhey hey hey baby baby try to find hey hey hey a little time and ill make you mine hey hey hey ill be home ill be beside the phone waiting for you oooooooo oooooooowhy do you build me up build me up buttercup baby just to let me down let me down and mess me around and then worst of all worst of all you never call baby when you say you will say you will but i love you still i need you i need you more than anyone darlin you know that i have from the start so build me up build me up buttercup dont break my heartyou were my toy but i could be the boy you adore if youd just let me know bahdahdah although youre untrue im attracted to you all the more why do i need you sohey hey hey baby baby try to find hey hey hey a little time and ill make you mine hey hey hey ill be home ill be beside the phone waiting for you oooooooo oooooooowhy do you build me up build me up buttercup baby just to let me down let me down and mess me around and then worst of all worst of all you never call baby when you say you will say you will but i love you still i need you i need you more than anyone darlin you know that i have from the start so build me up build me up buttercup dont break my heartiii need youoooo more than anyone baby you know that i have from the start so build me up build me up buttercup dont break my heart ",1
10,"crimson and clover","tommy james and the shondells",1969,"now i dont hardly know her but i think i could love her crimson and clover i wish shed come walking over im waiting to show her crimson and clover over and over yes my my such a sweet thing i wanna do everything what a beautiful feeling crimson and clover over and over crimson and clover over and over",3
11,"one","three dog night",1969," one is the loneliest number that youll ever do two can be as bad as one its the loneliest number since the number oneno is the saddest experience youll ever know yes its the saddest experience youll ever knowcause one is the loneliest number that youll ever do one is the loneliest number whoaoh worse than twoits just no good anymore since you went away now i spend my time just making rhymes of yesterdayone is the loneliest number one is the loneliest number one is the loneliest number that youll ever doone is the loneliest one is the loneliest one is the loneliest number that youll ever doits just no good anymore since you went awaynumber one is the loneliest number one is the loneliest number one is the loneliest number that youll ever donumber one is the loneliest number one is the loneliest number one is the loneliest number that youll ever donumber one one is the loneliest number that youll ever do number one is the loneliest number that youll ever do number one is the loneliest number that youll ever do ",1
12,"crystal blue persuasion","tommy james and the shondells",1969,"look over yonder what do you see the sun is arising most definitely a new day is coming ooh ooh people are changing aint it beautiful crystal blue persuasion better get ready to see the light love love is the answer oooh ooh and thats all right so dont you give up now so easy to find just look to your soul and open your mind crystal blue persuasion mmm mmm its a new vibration crystal blue persuasion crystalblue persuasion maybe tomorrow when he looks down on every green field and every town all of his children and every nation theyll be peace and good brotherhood crystal blue persuasion yeah crystal blue persuasion aha crystal blue persuasion aha crystal blue persuasion aha ohhhh crystal blue persuasion aha",3
13,"hair","the cowsills",1969,"she asks me why im just a hairy guy im hairy noon and night hair thats a fright im hairy high and low dont ask me why dont know its not for lack of bread like the grateful dead darling gimme head with hair long beautiful hair shining gleaming streaming flaxen waxen give me down to there hair shoulder length or longer here baby there mama everywhere daddy daddy hair hair hair hair hair hair hair flow it show it long as god can grow it my hair let it fly in the breeze and get caught in the trees give a home to the fleas in my hair a home for fleas a hive for bees a nest for birds there aint no words for the beauty the splendor the wonder of my hair hair hair hair hair hair hair flow it show it long as god can grow it my hair i want it long straight curly fuzzy snaggy shaggy ratty matty oily greasy fleecy shining gleaming streaming flaxen waxen knotted polkadotted twisted beaded braided powdered flowered and confettied bangled tangled spangled and spaghettied oh say can you see my eyes if you can then my hairs too short down to here down to there down to where it stops by itself theyll be ga ga at the go go when they see me in my toga my toga made of blond brilliantined biblical hair my hair like jesus wore it hallelujah i adore it hallelujah mary loved her son why dont my mother love me hair hair hair hair hair hair hair flow it show it long as god can grow it my hair hair hair hair hair hair hair flow it show it long as god can grow it",3
14,"too busy thinking about my baby","marvin gaye",1969," listen to me people i aint got time to think about money or what it can buy and i aint got time to sit down and wonder what make the birdies flyand i dont have time to think about what makes the flowers grow and ive never given it a second thought to where the rivers flowand i aint got time for nothin elsei aint got time to discuss the weather and how long its going to last and i aint got time to do no studying once i get out of classim telling you im just a fellow with a one track mind and when it comes to thinkin about anything but my baby i just dont have the timeoh yeah and i aint got time for nothin else dont you know i im thinking about my baby i aint got time for nothin elseyeah the world could ever match her wealth shes some kinda wonderful got heaven right here on earthcause im just a fellow with a one track mind and when it comes to thinkin about anything but my baby i just dont have the timeim too busy thinkin about my baby oh i aint got time for nothin else too busy thinkin about my baby aint got time for nothing else ",1
15,"love theme from romeo and juliet","henry mancini",1969," what is a youth impetuous fire what is a maid ice and desire the world wags on a rose will bloom it then will fade so does a youth so does a fairest maid comes a time when one sweet smile has its season for awhile then loves in love with me some may think only to marry other will tease and tarry mine is the very best parry cupid he rules us all caper the caper sing me the song death will come soon to hush us along sweeter than honey as bitter as gall love is the pasttime that will never pall sweeter than honey as bitter as gall cupid he rules us all repeat a rose will bloom it then will fade so does a youth so does the fairest maid ",1
16,"get together","the youngbloods",1969," love is but the song we sing and fears the way we die you can make the mountains ring or make the angels cry know the dove is on the wing and you need not know why cmon people now smile on your brother evrybody get together try and love one another right now some will come and some will go we shall surely pass when the one that left us here returns for us at last we are but a moments sunlight fading in the grass cmon people now smile on your brother evrybody get together try and love one another right now if you hear the song i sing you must understand you hold the key to love and fear all in your trembling hand just one key unlocks them both its there at your command cmon people now smile on your brother evrybody get together try and love one another right now right now right now ",1
17,"grazing in the grass","the friends of distinction",1969," it sure is mellow grazin in the grass grazin in the grass is a gas baby can you dig it what a trip just watchin as the world goes past grazin in the grass is a gas baby can you dig it there are so many good things to see while grazin in the grass grazin in the grass is a gas baby can you dig it flowers with colours for takin everything outta sight in the grass grazin in the grass is a gas baby can you dig it the sun beaming down between the leaves grazin in the grass is a gas baby can you dig it and the biriririrds dartin in and out of the trees grazin in the grass is a gas baby can you dig iteverything here is so clear you can see it and everything here is so real you can feel it and its real so real so real so real so real so real can you dig it whoooooohi can dig it he can dig it she can dig it we can dig it they can dig it you can dig it oh lets dig it can you dig it baby i can dig it he can dig it she can dig it we can dig it they can dig it you can dig it oh lets dig it can you dig it babythe sun beaming down between the leaves grazin in the grass is a gas baby can you dig it and the biriririrds dartin in and out of the trees grazin in the grass is a gas baby can you dig it everything here is so clear you can see it and everything here is so real you can feel it and its real so real so real so real so real so real can you dig it whooooooh yeah i can dig it he can dig it she can dig it we can dig it they can dig it you can dig it oh lets dig it can you dig it baby i can dig it he can dig it she can dig it we can dig it they can dig it you can dig it oh lets dig it can you dig it babyi can dig it he can dig it she can dig it we can dig it they can dig it you can dig it oh lets dig it can you dig it babyi can dig it he can dig it grazin in the grass is a gas baby can you dig it she can dig it we can dig it they can dig it you can dig it grazin in the grass is a gas baby can you dig it oh lets dig it ",1
18,"suspicious minds","elvis presley",1969," were caught in a trap i cant walk out because i love you too much babywhy cant you see what youre doing to me when you dont believe a word i saywe cant go on together with suspicious minds suspicious minds and we cant build our dreams on suspicious mindsso if an old friend i know stops by to say hello would i still see suspicion in your eyeshere we go again asking where ive been you cant see these tears are real and im crying yes im cryingwe cant go on together with suspicious minds suspicious minds and we cant build our dreams on suspicious mindsoh let our love survive or dry the tears from your eyes lets dont let a good thing die when honey you know ive never lied to you mmm yeah yeahwere caught in a trap i cant walk out because i love you too much babywhy cant you see what youre doing to me when you dont believe a word i saywell dont you know caught in a trap i cant walk out because i love you too much babydont you know im caught in a trap i cant walk out because i love you too much babydont you know im caught in a trap i cant walk out because i love you too much babydont you know im caught in a trap i cant walk out because i love you too much babydont you know im caught in a trap i cant walk out because i love you too much babydont you know im caught in a trap ",1
19,"proud mary","creedence clearwater revival",1969," left a good job in the city workin for the man evry night and day and i never lost one minute of sleepin worryin bout the way things might have beenbig wheel keep on turnin proud mary keep on burnin rollin rollin rollin on the rivercleaned a lot of plates in memphis pumped a lot of pane down in new orleans but i never saw the good side of the city til i hitched a ride on a river boat queenbig wheel keep on turnin proud mary keep on burnin rollin rollin rollin on the river rollin rollin rollin on the riverif you come down to the river bet you gonna find some people who live you dont have to worry cause you have if you got no money people on the river are happy to givebig wheel keep on turnin proud mary keep on burnin rollin rollin rollin on the river rollin rollin rollin on the riverrollin rollin rollin on the river rollin rollin rollin on the river rollin rollin rollin on the river ",1
20,"what does it take to win your love","jr walker  the all stars",1969,NA,NA
21,"its your thing","the isley brothers",1969," its your thing do what you wanna do i cant tell you who to sock it to its your thing do what you wanna do i cant tell you who to sock it toif you want me to love you maybe i will believe me woman it aint no big deal you need love now just as bad as i do makes me no difference now who you give your thing to    meaning  byamandah   editor    nowadays youre most likely to hear one of the sixtyplus recorded covers of its your thing in plenty of commercials due to the upbeat groove and the    see all   its your thing do what you wanna do i cant tell you who to sock it to its your thing do what you wanna do i cant tell you who to sock it toits your thing do what you wanna do i cant tell you who to sock it to its your thing do what you wanna do i cant tell you who to sock it toim not trying to run your life i know you wanna do whats right give your love now to whoever you choose how can you lose with the stuff you use nowits your thing do what you wanna do i cant tell you who to sock it to its your thing do what you wanna do dont let me tell you who to sock it toits your thing i do what i wanna do i cant tell you who to sock it to ",1
22,"sweet caroline","neil diamond",1969," where it began i cant begin to knowing but then i know its growing strong was in the spring and spring became the summer whod have believed youd come alonghands touching hands reaching out touching me touching yousweet caroline good times never seemed so good id be inclined to believe they never would but now ilook at the night and it dont seem so lonely we filled it up with only two and when i hurt hurting runs off my shoulders how can i hurt when im holding youone touching one reaching out touching me touching yousweet caroline good times never seemed so good id be inclined to believe they never would oh no nosweet caroline good times never seemed so good sweet caroline i believe they never could sweet caroline good times never seemed so good ",1
23,"jean","oliver",1969,"jean jean roses are red all the leaves have gone green and the clouds are so low you can touch them and so come out to the meadow jean jean jean youre young and alive come out of your halfdreamed dream and run if you will to the top of the hill open your arms bonnie jean till the sheep in the valley come home my way till the stars fall around me and find me alone when the sun comes asingin ill still be waitin for jean jean roses are red and all of the leaves have gone green while the hills are ablaze with the moons yellow haze come into my arms bonnie jean jean jean jean youre young and alive come out of your halfdreamed dream and run if you will to the top of the hill come into my arms bonnie jean jean la la la la la la la la la la la la ",3
24,"bad moon rising","creedence clearwater revival",1969," i see the bad moon arising i see trouble on the way i see earthquakes and lightnin i see those bad times todaydont go around tonight well its bound to take your life theres a bad moon on the risei hear hurricanes a blowing i know the end is coming soon i fear rivers over flowing i hear the voice of rage and ruinwell dont go around tonight well its bound to take your life theres a bad moon on the risehope you got your things together hope you are quite prepared to die looks like were in for nasty weather one eye is taken for an eyewell dont go around tonight well its bound to take your life theres a bad moon on the risedont come around tonight well its bound to take your life theres a bad moon on the rise ",1
25,"get back","the beatles with billy preston",1969,"jojo was a man who thought he was a loner  but he knew it couldnt last  jojo left his home in tucson arizona  for some california grass  get back get back  get back to where you once belonged  get back get back  get back to where you once belonged  get back jojo go home  get back get back  get back to where you once belonged  get back get back  back to where you once belonged  get back jo  sweet loretta martin thought she was a woman  but she was another man  all the girls around her say shes got it coming  but she gets it while she can  get back get back  get back to where you once belonged  get back get back  get back to where you once belonged  get back loretta  your mothers waiting for you  wearing her highheel shoes  and her lowneck sweater  get back loretta  get back get back to where you once belonged  get back get back  get back to where you once belonged  get back get back  get back to where you once belonged  get back get back  get back to where you once belonged",3
26,"in the year 2525","zager  evans",1969,"in the year 2525 if man is still alive if woman can survive they may find in the year 3535 aint gonna need to tell the truth tell no lie everything you think do and say is in the pill you took today in the year 4545 you aint gonna need your teeth wont need your eyes you wont find a thing to chew nobodys gonna look at you in the year 5555 your arms hangin limp at your sides your legs got nothin to do some machines doin that for you in the year 6565 you wont need no husband wont need no wife youll pick your son pick your daughter too from the bottom of a long glass tube in the year 7510 if gods acoming he oughta make it by then maybe hell look around himself and say guess its time for the judgement day in the year 8510 god is gonna shake his mighty head hell either say im pleased where man has been or tear it down and start again in the year 9595 im kinda wonderin if man is gonna be alive hes taken everything this old earth can give and he aint put back nothing now its been ten thousand years man has cried a billion tears for what he never knew now mans reign is through but through eternal night the twinkling of starlight so very far away maybe its only yesterday",3
27,"spinning wheel","blood sweat  tears",1969,"what goes up must come down spinnin wheel got to go round talkin bout your troubles its a cryin sin ride a painted pony let the spinnin wheel spin you got no money and you got no home spinnin wheel all alone talkin bout your troubles and you never learn ride a painted pony let the spinnin wheel turn did you find the directing sign on the straight and narrow highway would you mind a reflecting sign just let it shine within your mind and show you the colors that are real someone is waiting just for you spinnin wheel spinnin true",3
28,"baby i love you","andy kim",1969," have i ever told you how good it feels to hold you it isnt easy to explainand though im really trying i think i may start crying my heart cant wait another day when you touch me i just got to saybaby i love you baby i love you baby i love you come on baby nnnowi cant live without you i love everything about you i cant help it if i feel this wayoh im so glad i found you i want my heart surround you i love to hear you call my name tell me baby that you feel the samebaby i love you baby i love you baby i love you come on baby nnnow come on baby nnnowmy heart cant wait another day when you touch me i just got to saybaby i love you baby i love you baby i love you come on baby nnnowbaby i love you baby i just love you baby i love you ",1
29,"going in circles","the friends of distinction",1969,"the friends of distinction miscellaneous going in circles going in circles friends of distinction im an ever rollin wheel without a destination real im an ever spinning top whirling around till i drop oh but what am i to do my mind is in a whirlpool give me a little hope one small thing to cling to you got me going in circlesoh round and round i go you got me going in circles oh round and round i go im spun out over you im a faceless clock with timeless hopes that never stop lord but i feel that way of my soul my soul is stay oh but what am i to do my mind is in a whirlpool give me a little hope one small thing to cling to you got me going in circlesoh round and round i go you got me going in circles oh round and round i go im spun out over you i need you baby over you i need you baby spun out over you i need you baby i need you baoh babyby baby im spuni need you baby i said im spun out over youi need you baby spun out over youi need you baby i need you baby i need you baby from luvmycomcsaolcom",3
30,"hurt so bad","the lettermen",1969," i know you dont know what im goin through standing here lookin at youwell let me tell you that it hurts so bad it makes me feel so sad it makes me hurt so bad to see you againlike needles and pins people say youve been making out okay shes in love dont stand in her waybut let me tell you that it hurts so bad it makes me feel so bad its gonna hurt so bad if you walk awaywhy dont you stay and let me make it up to you stay ill do anything you want me to you loved me before please love me again i cant let you go back to him please dont go please dont goit hurts so bad come back it hurts so bad come back it hurts so bad im begging you pleaseplease dont go please dont go it hurts so bad come back it hurts so bad come back it hurts so bad ",1
31,"green river","creedence clearwater revival",1969," well take me back down where cool water flow yeh let me remember things i love stoppin at the log where catfish bite walkin along the river road at night barefoot girls dancin in the moonlighti can hear the bull frog callin me wonder if my ropes still hangin to the tree love to kick my feet way down the shallow water shoe fly dragon fly get back t your mother pick up a flat rock skip it across green riverup at codys camp i spent my days oh with flat car riders and crosstie walkers old cody junior took me over said youre gonna find the world is smouldrin an if you get lost come on home to green river well come home ",1
32,"my cherie amour","stevie wonder",1969," la la la la la la la la la la la lamy cherie amour lovely as a summer day my cherie amour distant as the milky way my cherie amour pretty little one that i adore youre the only girl my heart beats for how i wish that you were minein a cafe or sometimes on a crowded street ive been near you but you never noticed me my cherie amour wont you tell me how could you ignore that behind that little smile i wore how i wish that you were minela la la la la la la la la la la la la la la la la la la la la la la lamaybe someday youll see my face among the crowd maybe someday ill share your little distant cloud oh cherie amour pretty little one that i adore youre the only girl my heart beats for how i wish that you were minela la la la la la la la la la la la la la la la la la la la la la la la ",1
33,"easy to be hard","three dog night",1969," how can people be so heartless how can people be so cruel easy to be hard easy to be coldhow can people have no feelings how can they ignore their friends easy to be proud easy to say nospecially people who care about strangers who care about evil n social injustice do you only care about the bleedin crowd how about a needed friend i need a friendhow can people be so heartless you know im hung up on you easy to be proud easy to say nospecially people who care about strangers who care about evil n social injustice do you only care about the bleedin crowd how about a needed friend we all need a friendhow can people be so heartless how can people be so cruel easy to be proud easy to say noeasy to be cold easy to say no come on easy to give in easy to say no easy to be cold easy to say no much to easy to say no ",1
34,"baby its you","smith",1969," its not the way you smile that touched my heart its not the way you kissed that tears me apartmany many many nights go by i sit alone at home and cry over you what can i do dont want nobody nobody cause baby its you baby its youis it true what they say about you they say youll never ever never be true it doesnt matter what they say i know im gonna love you any old way what can i do what bout you dont want nobody nobody baby its you baby its youbabyit doesnt matter what they say i know im gonna love any old way what can i do what bout you dont want nobody nobody baby its you baby its youdont leave me alone come on home baby its you baby its you you know i need your lovin you know i love you baby its you baby ",1
35,"in the ghetto","elvis presley",1969," as the snow flies on a cold and gray chicago mornin a poor little baby child is born in the ghetto in the ghettoand his mama cries cause if theres one thing that she dont need its another hungry mouth to feed in the ghetto in the ghettopeople dont you understand the child needs a helping hand or hell grow to be an angry young man some day take a look at you and me are we too blind to see do we simply turn our heads and look the other waywell the world turns and a hungry little boy with a runny nose plays in the street as the cold wind blows in the ghetto in the ghettoand his hunger burns so he starts to roam the streets at night and he learns how to steal and he learns how to fight in the ghetto in the ghettothen one night in desperation a young man breaks away he buys a gun steals a car tries to run but he dont get far and his mama criesas a crowd gathers round an angry young man face down on the street with a gun in his hand in the ghetto in the ghettoand as her young man dies on a cold and gray chicago mornin another little baby child is born in the ghetto in the ghettoand his mama cries in the ghetto in the ghetto aahaah ",1
36,"a boy named sue","johnny cash",1969," i want you to uh i want to a if you dont mind carl id like you to stay out and help us on some songs id love to one of the greatest guitar players as well as song writers and singers in memphis appreciate a little help on guitar alright thank you carlwellmy daddy left home when i was three and he didnt leave much to ma and me just this old guitar and an empty bottle of booze now i dont blame him cause he run and hid but the meanest thing that he ever did was before he left he went and named me suewell he must o thought that is quite a joke and it got a lot of laughs from a lots of folk it seems i had to fight my whole life through some gal would giggle and id get red and some guyd laugh and id bust his head i tell ya life aint easy for a boy named suewell i grew up quick and i grew up mean my fist got hard and my wits got keen id roam from town to town to hide my shame but i made a vow to the moon and stars that id search the honkytonks and bars and kill that man who gave me that awful namewell it was gatlinburg in midjuly and i just hit town and my throat was dry i thought id stop and have myself a brew at an old saloon on a street of mud there at a table dealing stud sat the dirty mangy dog that named me suewell i knew that snake was my own sweet dad from a wornout picture that my motherd had and i knew that scar on his cheek and his evil eye he was big and bent and gray and old and i looked at him and my blood ran cold and i said my name is sue how do you do now youre gonna dieyeah thats what i told himwell i hit him hard right between the eyes and he went down but to my surprise he come up with a knife and cut off a piece of my ear but i busted a chair right across his teeth and we crashed through the wall and into the street kicking and a gouging in the mud and the blood and the beeri tell ya ive fought tougher men but i really cant remember when he kicked like a mule and he bit like a crocodile i heard him laugh and then i heard him cuss he went for his gun and i pulled mine first he stood there lookin at me and i saw him smileand he said son this world is rough and if a mans gonna make it hes gotta be tough and i knew i wouldnt be there to help ya along so i give ya that name and i said goodbye i knew youd have to get tough or die and its the name that helped to make you stronghe said now you just fought one hell of a fight and i know you hate me and you got the right to kill me now and i wouldnt blame you if you do but ya ought to thank me before i die for the gravel in ya guts and the spit in ya eye cause im the sonofabitch that named you suewell what could i do what could i do i got all choked up and i threw down my gun and i called him my paw and he called me his son and i came away with a different point of view and i think about him now and then every time i try and every time i win and if i ever have a son i think im gonna name him bill or george anydamnthing but suealright thank you very much ",1
37,"baby baby dont cry","the miracles",1969,NA,NA
38,"only the strong survive","jerry butler",1969," i remember my first love affair somehow or another the whole darn thing went wrong my mama had some great advice so i thought id put it into words of this song i can still hear her saying itboy oh i see youre sitting out there all alone cryin your eyes out cause the woman that you love has gone theres gonna be theres gonna be a whole lot of trouble in your life so listen to me get up off of your knees cause only the strong survivethats what she said only the strong survive only the strong survive youve got to be strong youd better hold on dont go all around with your head hung downi wouldnt let that little girl no i wouldnt let her know that she made me feel like a clown theres a whole lot a girl lookin for a good man like you oh but youll never meet them if you give up now and say your life is throughthen she said it only the strong survive only the strong survive youve got to be a man youve got to take a standso i am telling you right now only the strong survive only the strong survive youve got to be strong youd better hold ondont worry about it dont you know that things are gonna change but youve got to be a man youve got to take a stand dont ever feel that like you can make it baby ",1
39,"time of the season","the zombies",1969," its the time of the season when love runs high in this time give it to me easy and let me try with pleasured handsto take you in the sun to promised lands to show you every one its the time of the season for lovingwhats your name whos your daddy is he rich like me has he taken any time to show you what you need to livetell it to me slowly tell you what i really want to know its the time of the season for lovingwhats your name whos your daddy is he rich like me has he taken any time to show you what you need to livetell it to me slowly tell you what i really want to know its the time of the season for loving ",1
40,"wedding bell blues","the 5th dimension",1969,"bill i love you so i always will i look at you and see the passion eyes of may oh but am i ever gonna see my wedding day i was on your side bill when you were loosin i never scheme or lie bill theres been no foolin but kisses and love wont carry me till you marry me bill i love you so i always will and in your voice i hear a choir of carousels oh but am i ever gonna hear my wedding bells i was the one who came runnin when you were lonely i havent lived one day not lovin you only but kisses and love wont carry me till you marry me bill i love you so i always will and though devotion rules my heart i take no bows but bill youre never gonna take those wedding vows oh come on bill oh come on bill come on and marry me bill i got the wedding bell blues please marry me bill i got the wedding bell blues wedding bell blues marry me bill i got the wedding bell blues",3
41,"little woman","bobby sherman",1969,"hey little woman please make up your mind youve got to come into my world leave your world behind come on now na na na na you got to come down from that cloud girl and leave your world behind when your with me i feel sunshine even when im standing in the rain something happens that i cant explain when i hear your name but you cant help it that youre always chasing rainbows in your mind theres so much i wanna say to you but theres so little time hey little woman please make up your mind youve got to come into my world leave your world behind na na na na you got to come down from that cloud girl and leave your world behind what do you see when your walking down a busy street and im not there is my picture hanging in your mind walking with you there thats how it is in my world girl youre not there all the time why dont you come into my world and leave your world behind hey little woman please make up your mind youve got to come into my world leave your world behind na na na na you got to come down from that cloud girl and leave your world behind",5
42,"love can make you happy","mercy",1969,"wake up in the morning with the sunshine in your eyes and the smell of flowers blooming fills the air your mind is filled with the thoughts of a certain someone  that you love your life is filled with joy when she is there love can make you happy if you fine someone who cares to give a life time to you and who has a love to share if you think youve found someone youll love forevermore then its worth the price youll have to pay pay to have to holds important but forever is the phrase that means the love youve found is going to stay love can make you happy if you fine someone who cares to give a life time to you and who has a love to share lalove lalove love can make you happy love can make you happy love can make you happy love",5
43,"good morning starshine","oliver",1969," good morning starshine the earth says hello you twinkle above us we twinkle belowgood morning starshine you lead us along my love and me as we sing our early morning singing songgliddy glup gloopy nibby nabby noopy la la la lo lo sabba sibby sabbanooby abba nabba le le lo lo tooby ooby walla nooby abba nabba early morning singing songgood morning starshine you lead us along my love and me as we sing our early morning singing songgliddy glup gloopy nibby nabby noopy la la la lo lo sabba sibby sabbanooby abba nabba le le lo lo tooby ooby walla nooby abba nabba early morning singing songsinging a song humming a song singing a song loving a song laughing a songsing the song sing the song song the sing song song song sing sing sing sing song ",1
44,"these eyes","the guess who",1969,"these eyes cry every night for you these arms long to hold you again the hurtins on me yeah but i will never be free no my baby no no you gave a promise to me yeah and you broke it you broke it oh no these eyes watched you bring my world to an end this heart could not accept and pretend the hurtins on me yeah but i will never be free no no no you took the vow with me yeah and you spoke it and you spoke it babe these eyes are cryin these eyes have seen a lot of loves but theyre never gonna see another one like i had with you these eyes are cryin these eyes have seen a lot of loves but theyre never gonna see another one like i had with you these eyes are cryin these eyes have seen a lot of loves but theyre never gonna see another one like i had with you these eyes cry every night for you these arms these arms long to hold you hold you again these eyes are cryin these eyes have seen a lot of loves but theyre never gonna see another one like i had with you these eyes are cryin these eyes have seen a lot of loves but theyre never gonna see another one like i had with you these eyes are cryin these eyes have seen a lot of loves but theyre never gonna see another one like i had with you these eyes are cryin these eyes have seen a lot of loves but theyre never gonna see another one like i had with you baby baby baby",3
45,"youve made me so very happy","blood sweat  tears",1969,"ive lost at love before got mad and closed the door but you said try just once more i chose you for the one now im havin so much fun you treated me so kind im about to lose my mind you made me so very happy im so glad you came into my life the others were untrue but when it came to lovin you id spend my whole life with you cause you came and you took control you touched my very soul you always showed me that lovin you is where its at you made me so very happy im so glad you came into my life i love you so much it seems youre even in my dreams i can hear you yeah i can hear you calling me im so in love with you all i ever want to do is thank you baby thank you baby you made me so very happy you made me so very happy baby im so glad you came into my life every day of my life i wanna thank you you made me so very happy oh i wanna spend my life with you thank you baby thank you baby",5
46,"put a little love in your heart","jackie deshannon",1969," think of your fellow man lend him a helping hand put a little love in your heart you see its getting late oh please dont hesitate put a little love in your heartand the world will be a better place and the world will be a better place for you and me you just wait and seeanother day goes by still the children cry put a little love in your heart if you want the world to know we wont let hatred grow put a little love in your heartand the world and the world will be a better place all the world all the world will be a better place for you for you and me and me you just wait just wait and see wait and seetake a good look around and if youre looking down put a little love in your heart i hope when you decide kindness will be your guide put a little love in your heartand the world and the world will be a better place and the world and the world will be a better place for you for you and me and me you just wait just wait and seepeople now put a little love in your heart each and every day put a little love in your heart theres no other way put a little love in your heart its up to you put a little love in your heart cmon andfade put a little love in your heart ",1
47,"do your thing","the watts 103rd street rhythm band",1969,"have mercy have mercy have a little mercy if you please everybody get on the floor do your thing everybody get on the floor do your thing whatever it is get on the floor do your thing whatever it is get on the floor do your thing whatever it is ima do mine yall sure do mine ima do mine see baby do mine uh ooh ah lord hey uh ooh lord ooh do your thing do your thing do your thing everybody do your thing its alright its outta sight its alright its outta sight its okay what you say okay yall what you say do do do do its a jungle baby its a jungle baby",3
48,"id wait a million years","the grass roots",1969," all of the lonely nights waiting for you to come longing to hold you tight i need you so desperately waiting for you to come bringing your love to me butid wait a million years walk a million miles cry a million tears id swim the deepest sea climb the highest hill just to have you near meas love is reality when you are near to me i am in ecstasy id swallow the pain and pride baby i just cant hide all that i feel inside andid wait a million years walk a million miles cry a million tears id swim the deepest sea climb the highest hill just to have you near mea million years i would cry for you a million tears i would walk for you a million miles i would wait you a million years if you want me topacing the floor detest sweat pouring down my chest still i cant love you less its worth all the pain and pride baby i just cant hide all that i feel inside andid wait a million years walk a million miles cry a million tears id swim the deepest sea climb the highest hill just to have you near me ",1
49,"touch me","the doors",1969," yeah come on come on come on come on now touch me baby cant you see that i am not afraid what was that promise that you made why wont you tell me what she said what was that promise that you madenow im gonna love you till the heavens stop the rain im gonna love you till the stars fall from the sky for you and icome on come on come on come on now touch me baby cant you see that i am not afraid what was that promise that you made why wont you tell me what she said what was that promise that you madeim gonna love you till the heaven stop the rain im gonna love you till the stars fall from the sky for you and i im gonna love you till the heavens stop the rain im gonna love you till the stars fall from the sky for you and i ",1
50,"more today than yesterday","spiral starecase",1969," i dont remember what day it was i didnt notice what time it was all i know is that i fell in love with you and if all my dreams come true ill be spending time with youevery days a new day in love with you with each day comes a new way of loving you every time i kiss your lips my mind starts to wander and if all my dreams come true ill be spending time with youoh i love you more today than yesterday but not as much as tomorrow i love you more today than yesterday but darling not as much as tomorrowtomorrows date means springtimes just a day away cupid we dont need ya now be on your way i thank the lord for love like ours that grows ever stronger and i always will be true i know you feel the same way too ",1
51,"ive gotta be me","sammy davis jr",1969," whether im right or whether im wrong whether i find a place in this world or never belong i gotta be me ive gotta be me what else can i be but what i ami want to live not merely survive and i wont give up this dream of life that keeps me alive i gotta be me i gotta be me the dream that i see makes me what i amthat far away prize a world of success is waiting for me if i heed the call i wont settle down wont settle for less as long as theres a chance that i can have it allill go it alone thats how it must be i cant be right for somebody else if im not right for me i gotta be free ive gotta be free daring to try to do it or die ive gotta be me ",1
52,"lay lady lay","bob dylan",1969," lay lady lay lay across my big brass bed lay lady lay lay across my big brass bed whatever colors you have in your mind ill show them to you and youll see them shine lay lady lay lay across my big brass bedforget this dance lets go upstairs lets take a chance who really cares why dont you know you got nothin to prove its all in your eyes and the way that you move forget this dance lets go upstairswhy wait any longer i dont mean too complain you can have love but you might lose it why run any longer when youre runnin in vain you can have the truth but you got to choose itstay lady stay stay with your man awhile til the break of day let me see you make him smile i long to see you in the morning light i long to hold you in the night stay lady stay stay with you man awhile ",1
53,"atlantis","donovan",1969," the continent of atlantis was an island which lay before the great flood in the area we now call the atlantic oceanso great an area of land that from her western shores those beautiful sailors journeyed to the south and the north americas with ease in their ships with painted sailsto them east africa was a neighbor across a short strait of sea miles the great egyptian age is but a remnant of the atlantian culture the antediluvian kings colonized the world all the gods who play in the mythological dramas in all legends from all lands were from far atlantisknowing her fate atlantis sent out ships to all corners of the earth on board were the twelve the poet the physician the farmer the scientist the magician and the other socalled gods of our legendsthough gods they were and as the elders of our time choose to remain blind let us rejoice and let us sing and dance and ring in the new hail atlantisway down below the ocean where i wanna be she may be way down below the ocean where i wanna be she may be way down below the ocean where i wanna be she may be  ",1
54,"traces","classics iv",1969," faded photographs covered now with lines and creases tickets torn in half memories in bits and pieces traces of love long ago that didnt work out right traces of loveribbons from her hair souvenirs of days together the ring she used to wear pages from an old love letter traces of love long ago that didnt work out right traces of love with me tonighti close my eyes and say a prayer that in her heart shell find a trace of love still there somewhere ohtraces of hope in the night that shell come back and try these traces of tears from my eyes oh yeah ",1
55,"its getting better","mama cass elliot",1969," once i believed that when love came to me it would come with rockets bells and poetry but with me and you it just started quietly and grew and believe it or not now theres something groovy and good bout whatever we gotand its getting better growing stronger warm and wilder getting better everyday better everyday i dont feel all turned on and starry eyed i just feel a sweet contentment deep inside holding you at night just seems kind of natural and rightand its not hard to see that it isnt half of what its going to turn out to be cause its getting better growing stronger warm and wilder getting better everyday better everyday ba da da da da da da da da da da daand i dont mind waitin dont mind waitin cause no matter how long it takes the two of us know that its getting better growing stronger warm and wilder getting better everyday better everyday ",1
56,"this magic moment","jay and the americans",1969,"this magic moment so different and so new was like any other until i kissed you and then it happened it took me by surprise i knew that you felt it too by the look in your eyes sweeter than wine   sweeter than wine softer than a summer night   softer than a summer night everything i wanna have   everything everything whenever i hold you tight this magic moment   this magic moment while your lips are close to mine will last forever forever till the end of time   this magic moment this magic moment sweeter than wine   sweeter than wine softer than a summer night   softer than a summer night everything i wanna have   everything everything whenever i hold you tight this magic moment   this magic moment while your lips are close to mine will last forever forever till the end of time   this magic moment magic magic magic moment magic magic magic moment magic magic magic moment magic",3
57,"runaway child running wild","the temptations",1969,"you played hooky from school and you cant go out to play yeah mama said for the rest of the week in your room you gotta stay yeah now you feel like the whole worlds pickin on you but deep down inside you know it aint true youve been punished because your mother wants to raise you the right way yeah but you dont care cause you already made up your mind you wanna run away yeah youre on your way run away child running wild run away child running wild better come back home where you belong roaming through the city going nowhere fast youre on your own at last hey its getting late where will you sleep gettin kinda hungry you forgot to bring something to eat oh lost with no money you start to cry but remember you left home wanting to be grown so dry your weepin eyes siren screamin down neon light is flickin you want your mama theres nothing for you youre frightened and confused i want my mama but shes much too far away she cant hear a word you say you heard some frightening news on the radio about little boys running away from home and their parents dont see them no more you wanna stop and hitch a ride and go home but your mama told you never trust a stranger and you dont know which way to go streets are dark and deserted not a sound nor sign of life how you long to hear your mothers voice cause youre lost and alone but remember you make the choice run away child running wild you better go back home where you belong run away child running wild you better go back home where you belong youre lost in this great big city go back home where you belong not one familiar face aint it a pity go back home where you belong oh run away child running wild you better go back home where you belong oh yeah mama mama mama please come and see about me but shes much too far away she cant hear a word you say yeah youre frightened and confused which way will you choose i want my mama i want my mama i want my mama listen to your heart beat listen to your heart beat its beating much too fast go back home where you belong listen to your heart beat its beating much too fast go back home where you belong listen to your heart beat its beating much too fast go back home where you belong listen to your heart beat its beating much too fast go back home where you belong listen to your heart beat its beating much too fast go back home where you belong",3
58,"hawaii fiveo","the ventures",1969," hawaii fiveo theme tune hawaii fiveo theme hawaii fiveo theme tune hawaii fiveo themepolynesians coming for you polynesians in a bigass canoe hawaii fiveo theme tune hawaii fiveo themeetc ",1
59,"galveston","glen campbell",1969," galveston oh galveston i still hear your seawinds blowing i still see her dark eyes glowing she was twenty one when i left galvestongalveston oh galveston i still hear your seawaves crashin while i watch the cannons flashin i clean my gun and dream of galvestoni still see her standing by the water standing there looking out to sea and is she waiting there for me on the beach where we used to run galveston oh galveston i am so afraid of dying before i dry the tears shes crying before i watch your sea birds flying in the sun at galveston at galveston ",1
60,"im gonna make you mine","lou christie",1969," ill try every trick in the book with every step that you take everywhere that you look just look and youll find ill try to get to your soul ill try to get to your mindim gonna make you mine i know ill never give up im at the end of my rope from the morning till supper time youll find ill be waiting in line ill be waiting in lineim gonna make you mine baby im gonna make you mine make you mine im gonna make you mine baby im gonna make you mine im gonna make you mineill try every trick in the book with every step that you take everywhere that you look just look and youll find ill be waiting in line ill be waiting in lineim gonna make you mine baby im gonna make you mine make you mine im gonna make you mine baby im gonna make you mine im gonna make you mineill be a hardlovin pushin kind of individual knockin night and day at your door youll have to turn me away like an indestructible forcebaby im gonna make you mine make you mine im gonna make you mine baby im gonna make you mine im gonna make you mineill try every trick in the book with every step that you take everywhere that you look just look and youll find ill try to get to your soul ill try to get to your mindim gonna make you mine baby im gonna make you mine make you mine im gonna make you mine baby im gonna make you mine im gonna make you minebaby im gonna make you mine make you mine im gonna make you mine baby im gonna make you mine im gonna make you mine ",1
61,"gitarzan","ray stevens",1969," hes free as the breeze hes always at ease he lives in the jungle and hangs by his knees as he swings through the trees without a trapeze in his bvdshes got a union card and hes practicing hard to play the guitar gonna be a big star yeah hes gonna go far and carry moonbeams home in a jarhe ordered chets guitar course cod makes a and e and hes working on b digs c and w and r and b and me and the chimpanzees agree that one day soon hell be a celebrityget it get it get it get it get itgitarzan hes a gitar man hes all you can stand give him a hand gitarzanhes got a girl named jane with no last name kinda homely and plain but he loves her just the same cause she kindles the flame and it drives him insane when he hears her say she really does her thing its her claim to fame come on sing one janebaby baby oh baby baby oh babyhow about that lets hear for jane yeah thank you folkswell theyve got a pet monkey he likes to get drunk and sing boogie woogie and it sounds real funky come on your time boy sing one monkey you golets hear it for the monkey ohon saturday night they need some excitement jane gets right and the monkey gets tight and their voices unite in the pale moonlight and it sounds all right yeah its dynamite its out of sight lets hear it right nowbaby baby oh baby baby shut up baby im trying to sing babyget it get it get it get itgitarzan and his jungle band and theyre all you can stand give him a hand gitarzan oh babygitarzan and his jungle band theyre all you can stand give him a hand gitarzan ",1
62,"can i change my mind","tyrone davis",1969," aw she didnt bat an eye as i packed my bags to leave i thought she would start to cry or sit around my room and grievebut yall the girl she fooled me this time she acted like i was the last thing on her mind i would like to start all over againbaby can i change my mind i just wanna change my mind baby let me change my mindas i took those steps toward that open door knowing all the time oh lord i just didnt wanna go but she didnt give me no sign nothing that would make me change my mind i would like to start all over againbaby can i change my mind please please please baby i just wanna change my mindoh i played my games many times before but peoples let me tell yall oh i never reached the door but ooh the winds howl tonight i keep lookin back but my babys nowhere in sight i would like to start all over againbaby can i change my mind please please please baby baby let me change my mindbaby can i change my mind please please please baby baby let me change my mindbaby can i change my mind please please please baby baby let me change my mind  ",1
63,"time is tight","booker t  the mgs",1969,NA,NA
64,"this girls in love with you","dionne warwick",1969,"warwick dionne miscellaneous this girls in love with you this girl is in love with you                        hal davidburt bacharach                           dionne warwick  1969                            herb albert  1968 you see this girl this girls in love with you yes im in love who looks at you the way i do when you smile i can tell it know each other very well how can i show you im glad i got to know you cause ive heard some talk they say you think im fine this girls in love and what id do to make you mine tell me now is it so dont let me be the last to know my hands are shakin dont let my heart keep breaking cause i need your love i want your love say youre in love and youll be my guy if not ill just die tell me now is it so dont let me be the last to know my hands are shakin dont let my heart keep breaking cause i need your love i want your love say youre in love and youll be my guy if not ill just die c interworld musicblue seas music incjac music    fermin torres villegas                        union de universidades de america latina      universidad nacional autonoma de mexico       email  fermintvservidorunammx            tel 525 6220562                       ",3
65,"color him father","the winstons",1969,"theres a man at my house hes so big and strong goes to work each day stays all day long come home each night lookin tired and beat sits down at the dinner table and have a bite to eat never a frown always a smile when he says to me how my child i said that ive been studyin hard all day in school tryin very hard to understand the golden rule i think ill color him father gonna color him love said im gonna color him father i got to color the man love yes i will he says that education is the thing if you wanna compete without it son life aint very sweet i love that man and i dont know why except ill need his strength until the day that i die my mother loved him and i could tell by the way she looks at him when he holds my little sister nell i heard her sayin just the other day that if it hadnt been for him she could not found her way im gonna color him father gonna color him love said im gonna color him father i got to color the man love yes i will you see a real old man he got killed in the war and she knew her and seven kids could not gone very far i thought i heard her sayin shed never love again but then there he stood with that big wide grin he married my mother and he took us in and now we belong to the man with that big wide grin im gonna color him father gonna color him love said ̢im gonna color him father yeah ive got to color the man love yes i will̢ hes not been so good to me and were one happy family hes that incomprehensible and he incomprehensible i can trust",3
66,"black pearl","checkmates ltd",1969,"ooh hoo yeah yeah yeah my my my my black pearl precious little girl let me put you up where you belong black pearl pretty little girl you been in the background much too long you been working so hard your whole life through tending other peoples houses raising up their children too hey how about something for me and you here in my arms youre gonna reign supreme no more serving baby theyre gonna serve my queen its our turn for happiness and our day has come living for each other answering to no one black pearl precious little girl let me put you up where you belong because i love you black pearl pretty little girl you been in the background much too long together well stand so straight and so tall created by love to love one and all hey heart to heart soul to soul no other one could ever take your place my world is built around the very smile thats on your face youll never win a beauty show no they wont pick you but youre my miss america i love you black pearl precious little girl let me put you up where you belong black pearl pretty little girl you been in the background much too long ooh hoo yeah yeah yeah my my my my babe you know i need you know i want to keep you for myself i dont want nobody else now baby i love you you know i need you you know i got to got to got to have you baby come on baby come on come on come on and be my baby you know i love you i dont need nobody else let me put you up where you belong",3
67,"indian giver","1910 fruitgum company",1969," i can still remember it wasnt long ago things you used to tell me you said i had to know told me that you loved me and that you always would then i said i loved you you said that that was good girl you made a promise said youd never want me to go oh no indian giver indian giver you took your love away from me indian giver indian giver took back the love you gave to me baby i was feeling the way i want to feel you had me believing the love we had was real things we did together you said theyd never end now until forever yeah that was what you said girl when i was down i knew youd always be there oh yeah indian giver indian giver you took your love away from me indian giver indian giver took back the love you gave to me ",1
68,"mother popcorn","james brown",1969," yeah yeahyeah yeah yeah yeah popcorn yeah yeah yeah popcornsome like em fat and some like em tall some like em short skinny legs and all i like em tall i like em proud and when they walk you know they draw a crowd see you gotta have a mutha for me yeah yeah yeah ah come ona lookahere there was a time when i was all alone i had a secret thought i was gone somebody done me said now i see what you are doin brother to stay ahead of me and when i get burndt ha i use some salve and when i want some lovin a mother she got to have see you got to have a mother for meyeah popcorn oh uh yeah yeah yeah yeah yeah eeee yeah do the popcorn hu ooooooooh ooooooooh popcorn uh yeahyeahyeahlookahere ha good lord hu hu lookaheredo the popcorn and do the horse show everybody where you at you gotta be boss the way you do your little thing step in a small ring and jump back baby james brown gonna do his thing popcorn yeah yeah yeahsometime sometime im feelin low sometime im feelin low i call another brother talkin about maceo maceo blow your horn dont talk no trash hu play me some popcorn maceo come on uhpopcorn hu ah ",1
69,"twentyfive miles","edwin starr",1969,"  ",1
70,"things id like to say","new colony six",1969,"baby is he looking after you is he showing you the same love the warm love just like we knew baby baby its you im thinking of in the morning when i wake up in the evening its you that i dream of sometimes love hurts and sometimes loves unkind and sometimes you might feel blue but remember now darling if his words are real this will never never happen to you baby baby theres things id like to say i was hoping that with our love we would get married some day baby baby its you im thinking of in the morning when i wake up in the evening its you that i dream of sometimes love hurts and sometimes loves unkind and sometimes you might feel blue but remember now baby if his words are real this will never never happen to you baby baby theres things id like to say i was hoping that with our love we would get married some day",5
71,"when i die","motherlode",1969,"when i die i hope to be a better man than you thought id be its been hard to make you see what kind of man im tryin to be all i ask for you to try to understand what it means to me its not hard to understand why you get discouraged all the time i keep tryin not to worry but i cant help feelin lost in you but i looooove you love you and i need you time goes by and youll find that well achieve a love sublime when i die i hope to be a better man than you thought id be its not hard to understand why you get discouraged all the time i keep tryin not to worry but i cant help feelin lost in you cause i love you and i want you cause i got to got to have you cause i cause i need you when i die i hope to be a better man than you thought id be be the kind of man that you thought id",3
72,"thats the way love is","marvin gaye",1969," ah baby as the bitter tears fall from your eyes oh a thousand times you ask yourself why the one guy you love has departed oh youre left alone and brokenhearted ooh love just comes and it goes how long its gonna last say nobody knowsthats the way love is baby thats the way love is sure enough how it is oh thats the way love is sugar thats how it is thats the way love is sure enough how it isoh thats how it is my little dalin i know youre walkin down a lonesome road and your heart is carryin a heavy load i know you feel like you aint got a friend aint got a friend oh and your whole world is cavin in whole world cavin in oh but nows the time to be strong to be strong you gotta forget him now that hes gone now that hes gone and rememberthats the way love is honey thats the way love is sure enough how it is thats the way love is baby thats how it is thats the way love is sure enough how it isoh oh my little darlinoh baby ooh oh listen to me little darlin the road of love gets rough sometimes dont let it get the best of you said ive been hurt by another so many times so i know just what youre goin through oh you wish that you were never born you gotta forget him now that hes gone just rememberthats the way love is baby thats the way love is sure enough how it is oh thats the way love is honey thats the way love is sure enough how it isthats how it is so wipe away your tearslove is here today and gone tomorrow thats the way love is sure enough how it is ii say all of your joys turn to sorrow thats the way love is sure enough how it is oh one day gladness next day sadness ",1
73,"everybodys talkin","harry nilsson",1969," everybodys talking at me i dont hear a word theyre saying only the echoes of my mindpeople stopping staring i cant see their faces only the shadows of their eyesim going where the sun keeps shining through the pouring rain going where the weather suits my clothesbanking off of the northeast winds sailing on a summer breeze and skipping over the ocean like a stoneim going where the sun keeps shining through the pouring rain going where the weather suits my clothesbanking off of the northeast winds sailing on a summer breeze and skipping over the ocean like a stoneeverybodys talking at me cant hear a word theyre saying only the echoes of my mindi wont let you leave my love behind no i wont let you leave i wont let you leave my love behind ",1
74,"the worst that could happen","johnny maestro  the brooklyn bridge",1969,"girl i heard youre getting married girl i heard youre getting married this time youre really sure and this is the end they say you really mean it this guys the one that makes you feel so safe so sane and so secure and baby if he loves you more than me maybe its the best thing maybe its the best thing for you but its the worst that could happen to me im never gettin married never gettin married you know thats not my scene but a girl like you needs to be married ive known all along you couldnt live forever in between and baby if he loves you more than me maybe its the best thing maybe its the best thing for you but its the worst that could happen oh to me and girl i dont really blame you for having a dream of your own hey girl i dont really blame you a woman like you needs a house and a home baby if he really loves you more than me maybe its the best thing maybe its the best thing for you but its the worst that could happen oh girl dont wanna get married girl im never never gonna marry no no oh its the worst that could happen the worst that could happen baby baby baby the worst that could happen",3
75,"the chokin kind","joe simon",1969,"i only meant to love you didnt you know it babe didnt you know it why couldnt you be content with the love i gave oh yeah i gave you my heart but you wanted my mind oh yeah your love scared me to death girl oh its the chokin kind thats all it is you can kill a man with a bottle of poison or a knife i know you can and hurt him more to take his pride and run his life oh its a shame girl whatever you want girl i surely hope you find oh yeah i tell you that hat dont fit my head oh its the chokin kind it makes me wanna oh yeah oh listen to me when you fall in love again girl take a tip from me oh yeah if you dont like the peach dont bite the tree thats what you better do honey find what you want girl keep it treat it sweet and kind oh yeah oh let it breathe dont make it the chokin kind oh no dont break your heart baby oh no i know you love me really i do honey i tell you your love scares me to death girl its the chokin kind thats all it is i got to say it again its that old chokin kind",3
76,"smile a little smile for me","the flying machine",1969,"you really should accept this time hes gone for good hell never come back now even though he said he would so darling dry your eyes so many other guys would give the world im sure to wear the shoes he wore oh cmon smile a little smile for me rosemarie whats the use in cryin in a little while youll see rosemarie you must keep on tryin i know that he hurt you bad i know darling dont be sad and smile a little smile for me rosemarie rosemarie i guess youre lonely now loves comin to an end but darling only now are you free to start again lift up your pretty chin dont let those tears begin youre a big girl now and youll pull through somehow oh cmon smile a little smile for me rosemarie whats the use in cryin in a little while youll see rosemarie you must keep on tryin i know that he hurt you bad i know darling dont be sad and smile a little smile for me rosemarie rosemarie smile a little smile for me rosemarie rosemarie",3
77,"polk salad annie","tony joe white",1969," if some of yall never been down south too much im gonna tell you a little bit about this so that youll understand what im talkin about down there we have a plant that grows out in the woods and in the fields looks somethin like a turnip green and everybody calls it polk salad polk salad used to know a girl lived down there and shed go out in the evenings and pick her a mess of it carry it home and cook it for supper cause thats about all they had to eat but they did all rightdown in louisiana where the alligators grow so mean there lived a girl that i swear to the world made the alligators look tame polk salad annie polk salad annie everybody said it was a shame cause her momma was a workin on the chain gang a mean vicious womaneveryday for supper time shed go down by the truck patch and pick her a mess of polk salad and carry it home in a tow sack polk salad annie the gators got your granny everybody says it was a shame cause her momma was a workin on the chain gang a wretched spiteful straightrazor totin woman lord have mercy pick a mess of ither daddy was lazy and no count claimed he had a bad back all her brothers were fit for was stealin watermelons out of my truck patch polk salad annie the gators got your granny everybody said it was a shame cause her momma was a workin on the chain gang sock a little polk salad to me you know i need me a mess of it ",1
78,"ruby dont take your love to town","kenny rogers  the first edition",1969,NA,NA
79,"games people play","joe south",1969," oh the games people play now every night and every day now never meaning what they say now never saying what they meanwhile they wile away the hours in their ivory towers till theyre covered up with flowers in the back of a black limousinechorus lada da da da da da da lada da da da da de talking bout you and me and the games people playoh we make one another cry break a heart then we say goodbye cross our hearts and we hope to die that the other was to blamebut neither one ever will give in so we gaze at an eight by ten thinking bout the things that might have been and its a dirty rotten shamerepeat choruspeople walking up to you singing glory hallelujah and they try to sock it to you in the name of the lordtheyre gonna teach you how to meditate read your horoscope cheat your fate and further more to hell with hate come on and get on boardrepeat choruslook around tell me what you see whats happening to you and me god grant me the serenity to remember who i amcause youve given up your sanity for your pride and your vanity turned your back on humanity and you dont give a da da da da darepeat chorus ",1
80,"you showed me","the turtles",1969,"you showed me how to do exactly what you do how i fell in love with you oh its true oh i love you you showed me how to say exactly what you say in that very special way oh its true you fell for me too and when i tried it i could see you fall and i decided its not a trip at all you taught it to me too exactly what you do and now you love me too oh its true were in love we two na na na na na na na na na na na na na na na na oh oh oh oh oh were in love we two we two you showed me how to do exactly what you do how i fell in love with you you showed me how to say exactly what you say in that very special way you taught it to me too exactly what you do and now you love me too now you love me too now you love me too now you love me too ",3
81,"tracy","the cuff links",1969,"  ",1
82,"oh what a night","the dells",1969," do you recall the night that very very special night do you remember a girl that very special girl well to the old and to the new we rededicate this song to youoh what a night to love you dear oh what a night to hold you near oh what a night to squeeze you dear thats why i love you sooh what a night to love you dear oh what a night to want you dear oh what a night to kiss you dear thats why i love you soi wont forget all those things you have told to me the craze in my heart wont let me forget your loveoh what a night to love you dear oh what a night to want you dear oh what a night to kiss you dear thats why i love you sooh what a night to love you dear oh what a night to want you dear oh what a night to kiss you dear thats why i love you sono no no no no no no no no no one more night i wanna hold you one more night i wanna make love to you one more night i want you baby i want you baby i need you baby i love you baby one more night ",1
83,"something","the beatles",1969,"something in the way she moves attracts me like no other lover something in the way she woos me i dont want to leave her now you know i believe and how somewhere in her smile she knows that i dont need no other lover something in her style that shows me i dont want to leave her now you know i believe and how youre asking me will my love grow i dont know i dont know you stick around now it may show i dont know i dont know something in the way she knows and all i have to do is think of her something in the things she shows me i dont want to leave her now you know i believe and how",3
84,"this girl is a woman now","gary puckett  the union gap",1969,"this girl walked in dreams playing in a world of her own this girl was a child existing in a playground of stone then one night her world was changed her life and dreams were rearranged and she would never be the same again this girl is a woman now shes learned how to live this girl is a woman now shes found out what its all about and shes learning learning to live this girl tasted love as tender as the gentle dawn she cried a single tear a teardrop that was sweet and warm our hearts told us we were right and on that sweet and velvet night a child had died a woman had been born this girl is a woman now shes learned how to live this girl is a woman now shes found out what its all about and shes learning learning to live this girl is a woman now shes learned how to live this girl is a woman now shes found out what its all about and shes learning learning learning to live this girl is a woman now shes learned how to live",3
85,"come together","the beatles",1969,"guns n roses miscellaneous come together the beatles here come ol flatttop he come groovin up slowly he got ju ju eyball he one holy roller he got hair down to his knee got to be a joker he just do what he please he wear no shoeshine he got toejam football he got monkey finger he shoot cocacola he say i know youyou know me one thing i can tell you is youve got to be free come togetherright now over me he bag production he got walrus gumboot he got ono sideboard he one spinal cracker he got feetdown below his knee hold you in his armchair you can feel his disease come togetherright now over me he rollercoaster he got early warning he got muddy water he one mojo filter he say one and one and one is three got to be good lookin cause hes so hard to see come togetherright now over me come togetheryeah come togetheryeah come togetheryeah come togetheryeah",3
86,"ramblin gamblin man","bob seger system",1969,"yeah im gonna tell my tale come on come on give a listen cause i was born lonely down by the riverside learned to spin fortune wheels and throw dice and i was just thirteen when i had to leave home knew i couldnt stick around i had to roam aint good looking but you know i aint shy aint afraid to look it girl hear me out so if you need some lovin and you need it right away take a little time out and maybe ill stay chorus but i got to ramble ramblin man oh i got to gamble gamblin man got to got to ramble ramblin man i was born a ramblin gamblin man yeah yeah yeah yeah alright here we go now now im out of money cause you know i need some i aint around to love you now and i gotta run gotta keep moving never gonna slow down you can have your funky world see you round chorus",3
87,"im gonna make you love me","the supremes  the temptations",1969,NA,NA
88,"i heard it through the grapevine","marvin gaye",1969," i bet youre wonderin how i knew bout your plans to make me blue with some other guy you knew before between the two of us guys you know i loved you more it took me by surprise i must say when i found out yesterday dont you know that i heard it through the grapevine not much longer would you be mine oh i heard it through the grapevine oh im just about to lose my mindhoney honey yeah i heard it through the grapevine not much longer would you be mine babyi know a man aint supposed to cry but these tears i cant hold inside losin you would end my life you see cause you mean that much to me you could have told me yourself that you loved some one else instead i heard it through the grapevine not much longer would you be mine oh i heard it through the grapevine and im just about to lose my mindhoney honey yeah i heard it through the grapevine not much longer would you be mine babypeople say believe half of what you see son and none of what you hear but i cant help but be confused if its true please tell me dear do you plan to let me go for the other guy you loved beforedont you know i heard it through the grapevine not much longer would you be mine baby yeah i heard it through the grapevine just about to lose my mind honey honey yeah i heard it through the grapevine not much longer would you be mine baby yeahhoney honey yeah i heard it through the grapevine not much longer would you be mine baby yeah yeah i heard it through the grapevine not much longer would you be mine baby yeah yeah ",1
89,"gimme gimme good lovin","crazy elephant",1969,"crazy elephant miscellaneous gimme gimme good lovin gimme gimme good lovin crazy elephant from atlanta georgia to the gulf stream water to california im gonna spend my life both night and day say gimme gimme good lovin every night hey you know its alright child gimme gimme good lovin make it alright ha ha ha ha ha to the girls in frisco to the girls in new york to the girls in texican you gotta understand that baby im your man i say gimme gimme good lovin every night yeh you know its alright now gimme gimme good lovin make it alright ha ha ha ha ha",3
90,"hang em high","booker t  the mgs",1969,NA,NA
91,"your good thing is about to end","lou rawls",1969,"  ",1
92,"baby im for real","the originals",1969,NA,NA
93,"oh happy day","edwin hawkins singers",1969,"oh happy day oh happy day oh happy day oh happy day when jesus washed oh when he washed when jesus washed he washed my sins away oh happy day oh happy day oh happy day oh happy day when jesus washed oh when he washed when jesus washed he washed my sins away oh happy day oh happy day he taught me how he taught me taught me how to watch he taught me how to watch and fight and pray fight and pray yes fight and pray and hell rejoice and hell and hell rejoice in things we say and hell rejoice in things we say things we say yes things we say oh happy day oh happy day oh happy day oh happy day oh happy day oh happy day oh happy day oh happy day when jesus washed oh when he washed he washed my sins away he taught me how to watch fight and pray fight and pray oh happy day oh happy day when jesus washed oh when he washed he washed my sins away well live rejoicing every day every day oh happy day oh happy day when jesus washed oh when he washed he washed my sins away",3
94,"love me tonight","tom jones",1969," i know that its late and i really must leave you alone but youre good to hold and i feel such a long way from home yes i know that our love is too new but i promise its gonna be true please let me stay dont you send me away oh no notell me baby that you need me say youll never leave me love me tonight hold me now my heart is aching and until the dawn is breaking love me tonightsomething is burning inside something that cant be denied i cant let you out of my sight darling love me tonight let me love you baby let me love you baby baby love me tonightive waited so long for the girl of my dreams to appear and now i can hardly believe that you really are here here in my arms you belong how can this feeling be wrong darling be kind for im out of my mind over youtell me baby that you need me say youll never leave me oh love me tonight baby now the pain is stronger i cant wait a moment longer love me tonightsomething is burning inside something that cant be denied i cant let you out of my sight darling love me tonight let me love you baby let me love you baby let me love you tonight love me tonight ",1
95,"mr sun mr moon","paul revere  the raiders",1969,"life is bringing you so down you dont think you can make it every night is a show down every day is just fake it let me show you a new place if you follow directions youll be wearing a new face add it to your collection come on refrain mr sun make it fine shine on down for this baby of mine mr moon come on through when mr sun goes well be counting on you refrain let me show you a new place if you follow directions youll be wearing a new face add it to your collection and if you are interested in what im trying to say look at me your heart is starting to gain on you refrain refrain refrain mr sun make it fine shine on down for this baby of mine mr moon come on through ohhh were counting on you",3
96,"laughing","the guess who",1969,"i should laugh but i cry because your love has passed me by you took me by surprise you didnt realize that i was waiting time goes slowly but carries on and now the best years have come and gone you took me by surprise i didnt realize that you were laughing laughing ̢cause youre doin it to me laughing it aint the way it should be you took away everything i had you put the hurt on me laughing ̢cause youre doin it to me laughing it aint the way it should be you took away everything i had you put the hurt on me id go alone now calling your name after losing at the game you took me by surprise i didnt realize that you were laughing time goes slowly but carries on and now the best years the best years have come and gone you took me by surprise i didnt realize that you were laughing laughing ̢cause youre doin it to me laughing it aint the way it should be you took away everything i had you put the hurt on me laughing ̢cause youre doin it to me laughing what youre doin to me you took away everything i had you put the hurt on me laughing ha ha ha laughing ha ha ha laughing were you laughing at me laughing were you laughing at me laughing what you doin to me girl laughing incomprehensible",3
97,"my whole world ended the moment you left me","david ruffin",1969," last week my life had meaning it was beautiful and so sweet but now its nothing nothing without you baby my whole world is incomplete cause honey i cant see you no more that was all that you said baby but you just might as well have placed a gun to my head baby baby oh why did you do itmy whole world ended the moment you left me yeah yes it did honey my whole world ended the moment you left me it tumbled down to the ground babydid you ever mean those sweet things ah that you use to say did you mean em baby of a house with a lovely lovely garden and a little baby someday oh tell me baby where did i go wrong honey whatever changed your mind baby ive asked myself these questions over a million times baby baby oh babymy whole world ended the moment you left me oh yes it did baby baby my whole world ended the moment you left me it tumbled down to the ground baby baby babyoh baby now my body is numb i feel feel so senseless to the touch my life is so wasted so wasted without you i guess i love too much too much oh baby how can i face tomorrow when yesterday is all i see i just dont want to face tomorrow if youre not sharing it with me baby baby oh tell me whymy whole world ended the moment you left me oh yes it did baby baby my whole world ended the moment you left me it tumbled down to the ground baby i keep holding on holding on although your love is gone baby ",1
98,"soul deep","the box tops",1969," darlin i dont know much i know i love you so much my life depends on your touchand my love is a river runnin soul deep way down inside me its asoul deep its too big to hide and it cant be denied my love is a river runnin soul deeeeeepi work myself to death for ya just to show i adore ya nothing i wouldnt do for yacause my love is a river runnin soul deep way down inside me its asoul deep its to big to hide and it cant be denied my love is a river runnin soul deeeeeepall i ever ever hope to be depends on your love for me baby believe me if you should leave me id be nothing but an empty shell i know darn well i can tell nowi dont know much but i know i love you so much my life depends on your touchand my love is a river runnin soul deep way down inside me its asoul deep its too big to hide and it cant be denied my love is a river runnin soul deeeeeepmy love is a river runnin soul deep way down inside me its asoul deep my love is a river runnin soul deep way down inside me its asoul deep ",1
99,"hooked on a feeling","bj thomas",1969," i cant stop this feelin deep inside of me girl you just dont realize what you do to me when ya hold me in your arms so tight you let me know everythings all righti im hooked on a feelin im high on believin that youre in love with melips are sweet as candy the taste stays on my mind girl you keep me thirsty for another cup of wine i got it bad for you girl but i dont need a cure ill just stay addicted and hope i can endureall the good love when were all alone keep it up girl yeah ya turn me oni im hooked on a feelin im high on believin that youre in love with meall the good love when were all alone keep it up girl yeah ya turn me oni im hooked on a feelin im high on believin that youre in love with me ",1
100,"sweet cream ladies","the box tops",1969,"sweet cream ladies forward march the world owes you a living sweet cream ladies do your part think of what youre giving to the lost and lonely people of the night out of need they seek direction for their life they will love you in the darkness take advantage of your starkness and refuse to recognize you in the light sweet cream ladies forward march think what youre providing sweet cream ladies show your starch whats the use of hiding tell the socialites to look the other way its instinctive stimulation you convey its a necessary function meant for those without compunction who get tired of vanilla every day sweet cream ladies forward march puritans ignore them sweet cream ladies do their part sweet cream men adore them let them satisfy the ego of the male let them fabricate success to those who fail and should penalties pursue them when theres really credit due them they might keep a simple fellow out of jail sweet cream ladies forward march sweet cream ladies forward march sweet cream ladies forward march ",3
1,"bridge over troubled water","simon  garfunkel",1970,"when youre weary feeling small when tears are in your eyes i will dry them all im on your side oh when times get rough and friends just cant be found like a bridge over troubled water i will lay me down like a bridge over troubled water i will lay me down when youre down and out when youre on the street when evening falls so hard i will comfort you ill take your part oh when darkness comes and pain is all around like a bridge over troubled water i will lay me down like a bridge over troubled water i will lay me down sail on silver girl sail on by your time has come to shine all your dreams are on their way see how they shine oh if you need a friend im sailing right behind like a bridge over troubled water i will ease your mind like a bridge over troubled water i will ease your mind",3
2,"they long to be close to you","the carpenters",1970," close to youwhy do birds suddenly appear every time you are near just like me they long to be close to youwhy do stars fall down from the sky every time you walk by just like me they long to be close to youon the day that you were born the angels got together and decided to create a dream come true so they sprinkled moon dust in your hair of gold and starlight in your eyes of blueand that is why all the girls in town follow you all around just like me they long to be close to youon the day that you were born the angels got together and decided to create a dream come true so they sprinkled moon dust in your hair of gold and starlight in your eyes of blueand that is why all the kids in town follow you all around and just like me they long to be close to youand just like me they long to be close to youclose to you close to you ",1
3,"american woman","the guess who",1970,"umm taa taana umm taa taana umm umm taa taana american woman gonna mess your mind american woman she gonna mess your mind umm american woman gonna mess your mind umh american woman gonna mess your mind say a say m umm say e say r say i say c say a n umm american woman gonna mess your mind umm american woman gonna mess your mind umh american woman gonna mess your mind uuh american woman stay away from me american woman mama let me be dont come hangin around my door i dont wanna see your face no more i got more important things to do than spend my time growin old with you now woman i said stay away american woman listen what i say american woman get away from me american woman mama let me be dont come knockin around my door dont wanna see your shadow no more colored lights can hypnotize sparkle someone elses eyes now woman i said get away american woman listen what i say hey hey american woman said get away american woman listen what i say dont come hangin around my door dont wanna see your face no more i dont need your war machines i dont need your ghetto scenes colored lights can hypnotize sparkle someone elses eyes now woman get away from me american woman mama let me be go gotta get away gotta get away now go go go im gonna leave you woman gonna leave you woman bye bye bye bye bye bye bye bye youre no good for me im no good for you gonna look you right in the eye tell you what im gonna do you know im gonna leave you know im gonna go you know im gonna leave you know im gonna go woman im gonna leave woman goodbye american woman",3
4,"raindrops keep fallin on my head","bj thomas",1970," raindrops are falling on my head and just like the guy whose feet are too big for his bed nothing seems to fit those raindrops are falling on my head they keep fallingso i just did me some talking to the sun and i said i didnt like the way he got things done sleeping on the job those raindrops are falling on my head they keep fallinbut theres one thing i know the blues they send to meet me wont defeat me it wont be long till happiness steps up to greet meraindrops keep falling on my head but that doesnt mean my eyes will soon be turning red cryings not for me cause im never gonna stop the rain by complaining because im free nothings worrying meit wont be long till happiness steps up to greet meraindrops keep falling on my head but that doesnt mean my eyes will soon be turning red cryings not for me cause im never gonna stop the rain by complaining because im free cause nothings worrying me ",1
5,"war","edwin starr",1970," war huh yeah what is it good for absolutely nothing oh hoh oh war huh yeah what is it good for absolutely nothing say it again yall war huh good god what is it good for absolutely nothing listen to meoh war i despise cause it means destruction of innocent lives war means tears to thousands of mothers eyes when their sons go off to fight and lose their livesi said war huh good god yall what is it good for absolutely nothing just say it again war whoa lord what is it good for absolutely nothing listen to me war it aint nothin but a heartbreak war friend only to the undertakeroh war is an enemy to all mankind the thought of war blows my mind war has caused unrest within the younger generation induction then destruction who wants to diewar good god yall what is it good for absolutely nothing say it say it say it war uh huh yeah huh what is it good for absolutely nothing listen to me war it aint nothin but a heartbreaker war its got one friend thats the undertakeroh war has shattered many young mans dreams made him disabled bitter and mean life is much too short and precious to spend fighting wars these days war cant give life it can only take it away oohwar huh good god yall what is it good for absolutely nothing say it again war whoa lord what is it good for absolutely nothing listen to me war it aint nothin but a heartbreaker war friend only to the undertakerpeace love and understanding tell me is there no place for them today they say we must fight to keep our freedom but lord knows theres got to be a better waywar huh good god yall what is it good for you tell em say it say it say it say it war good lord huh what is it good for stand up and shout it nothing war it aint nothin but a heartbreaker ",1
6,"aint no mountain high enough","diana ross",1970," if you need me call me no matter where you are no matter how far just call my name ill be there in a hurry on that you can depend and never worryno wind no rain no wind no rain nor winters cold can stop me babe baby oh babe baby if youre my goaloh no wind no rain no wind no rain can stop me babe if you wanna goi know i know you must follow the sun wherever it leads but remember if you should fall short of your desires remember life holds for you one guarantee youll always have meand if you should miss my love one of these old days if you should ever miss the arms that used to hold you so close or the lips that used to touch you so tenderly just remember what i told you the day i set you freeaint no mountain high enough aint no valley low enough aint no river wild enough to keep me from youaint no mountain high enough aint no valley low enough say it again aint no river wild enough to keep me from youaint no mountain high enough nothing can keep me to keep me from youaint no mountain high enough aint no valley low enough one more time aint no river wild enough say it again to keep me from youaint no mountain high enough nothing can keep me to keep me from getting to you babe ",1
7,"ill be there","the jackson 5",1970,"  ",1
8,"get ready","rare earth",1970," never met a girl could make me feel the way that you do youre all right whenever im asked what makes a my dreams real i tell em you do youre outta sight well tweedle dee tweedle dum look out baby cause here i comeim bringin you a love thats true get ready get ready get ready ill stop makin love to you get ready get ready get readyohh dont you know im comin get ready cause here i come on my way get ready cause here i comeyou wanna play hide and seek with love let me remind ya youre all right lovin youre gonna miss and the time it takes to find ya youre outta sight well fe fi fo fo fum look out baby now here i comeim bringin you a love thats true aw get ready oh get ready get ready ill stop makin love to you get ready get ready get readydont you know im comin get ready cause here i come on my way get ready cause here i comeif all of my friends shouldnt want me to i think ill understand youre alright hope i get to you before they do cause thats how i planned it youre outta sight well tweedley dee now tweedley dum look out baby now here i comeim bringin you a love thats true get ready get ready get ready ill stop makin love to you get ready get ready get readyaw dont you know im comin get ready cause here i come on my way get ready cause here i comeget ready cause here i come get ready cause here i come get ready get ready cause here i come get ready get ready cause here i come ",1
9,"let it be","the beatles",1970," when i find myself in times of trouble mother mary comes to me speaking words of wisdom let it be and in my hour of darkness she is standing right in front of me speaking words of wisdom let it be let it be let it be let it be let it be whisper words of wisdom let it beand when the broken hearted people living in the world agree there will be an answer let it be for though they may be parted there is still a chance that they will see there will be an answer let it be let it be let it be let it be let it be there will be an answer let it be let it be let it be let it be let it be whisper words of wisdom let it be let it be let it be let it be let it be whisper words of wisdom let it beand when the night is cloudy there is still a light that shines on me shine until tomorrow let it be i wake up to the sound of music mother mary comes to me speaking words of wisdom let it be let it be let it be let it be yeah let it be there will be an answer let it be let it be let it be let it be yeah let it be whisper words of wisdom let it be ",1
10,"band of gold","freda payne",1970," now that youre gone all thats left is a band of gold all thats left of the dreams i hold is a band of gold and the memories of what love could be if you were still here with meyou took me from the shelter of my mother i had never known or loved any other we kissed after taking vows but that night on our honeymoon we stayed in separate roomsi wait in the darkness of my lonely room filled with sadness filled with gloom hoping soon that youll walk back through that door and love me like you tried beforesince youve been gone all thats left is a band of gold all thats left of the dreams i hold is a band of gold and the dream of what love could be if you were still here with meohhhdont you know that i wait in the darkness of my lonely room filled with sadness filled with gloom hoping soon that youll walk back through that door and love me like you tried beforesince youve been gone all thats left is a band of gold all thats left of the dreams i hold is a band of gold and the dream of what love could be if you were still here with mesince youve been gone all thats left is a band of gold all thats left of the dreams i hold is a band of gold and the dream of what love could be if you were still here with me ",1
11,"mama told me not to come","three dog night",1970," want some whiskey in your water sugar in your tea whats all these crazy questions youre askin me this is the craziest party that could ever be dont turn on the lights cause i dont wanna seemama told me not to come oh lord mama told me not to come that aint the way to have fun noopen up your window let some air into this room i think im almost chokin from the smell of stale perfume and that cigarette youre smokin bout scare me half to death open up the window sucker let me catch my breathmama told me not to come mama told me not to come she say uh that aint the way to have fun son that aint the way to have fun sonthe radio is blastin someones knockin on the door im lookin at my girlfriend shes passed out on the floor i seen so many things i aint never seen before i dont know what it is i dont wanna see no moremama told me not to come oh lord mama told me not to come she said that aint the way to have fun son that aint the way to have fun nomama told me mama told me mama told me told me told me mama told me told me ooh yeah yeah mama told me not to go mama told me mama told me aint that the truththat aint the way to have fun no that aint the way to have fun son that aint the way to have fun no that aint the way to have fun sonthat aint the way to have fun no that aint the way to have fun son that aint the way to have fun no that aint the way to have fun son ",1
12,"everything is beautiful","ray stevens",1970," jesus loves the little children all the children of the world whether yellow black and white they are precious in his sight jesus loves the little children of the worldeverything is beautiful in its own way like a starry summer night or a snow covered winters day and everybodys beautiful in their own way under gods heaven the worlds gonna find a waythere is none so blind as he who will not see we must not close our minds we must let our thoughts be freefor every hour that passes by you know the world gets a little bit older its time to realize that beauty lies in the eyes of the beholderand everything is beautiful in its own way like a starry summer night or a snow covered winters day everybodys beautiful in their own way under gods heaven the worlds gonna find a waywe shouldnt care about the length of his hair of the color of his skin dont worry about what shows from without but the love that lives withinand were gonna get it all together now everythings gonna work out fine just take a little time to the look on the good side my friend and straighten it out in your mindand everything is beautiful in its own way like a starry summer night or a snow covered winters day everybodys beautiful in their own way under gods heaven the worlds gonna find a wayand everything is beautiful in its own way like a starry summer night on a snow covered winters day ",1
13,"make it with you","bread",1970," hey have you ever tried really reaching out for the other side i may be climbing on rainbows but baby here goesdreams are for those who sleep life is for us to keep and if youre wondering what this song is leading to i want to make it with youi really think that we could make it girlthough you dont know me well and every little thing only time will tell if you believe the things that i do and well see it throughlife can be short or long love can be right or wrong and if i chose the one id like to help me through id like to make it with youi really think that we could make it girlbaby you know that dreams there for those who sleep life is for us to keep and if i chose the one id like to help me through id like to make it with youi really think that we could make it girl ",1
14,"hitchin a ride","vanity fare",1970," a thumb goes up a car goes by its nearly 1 am and here am i hitchin a ride hitchin a ride gotta get me home by the morning lighti got no fare to ride a train im nearly drownin in the pouring rain hitchin a ride hitchin a ride gotta get me home to my babys sideride ride ride hitchin a ride ride ride ride hitchin a ridelong distance call i got today she sounded lonely so im on my way hitchin a ride hitchin a ride gotta get me home keep her satisfiedride ride ride hitchin a ride ride ride ride hitchin a ridea thumb goes up a car goes by oh wont somebody stop and help a guy hitchin a ride hitchin a ride been away too long from my babys sideride ride ride hitchin a ride ride ride ride hitchin a rideride ride ride hitchin a ride ride ride ride hitchin a rideride ride ride ride ride ride ride ride ride ride ",1
15,"abc","the jackson 5",1970,"you went to school to learn girl things you never never knew before i before e except after c and why two plus two makes four now now now im gonna teach you teach you teach you all about love dear all about love sit yourself down take a seat all you gotta do is repeat after me a b c easy as one two three are simple as do re mi a b c one two three baby you and me girl a b c easy as one two three are simple as do re mi a b c one two three baby you and me girl come on let me love you just a little bit come on let me love you just a little bit im a gonna teach how to sing it out come on come one come on let me show you what its all about reading and writing arithmetic are the branches of the learning tree but listen without the roots of love every day girl your education aint complete tttteachers gonna show you show you show you how to get an a spell me you add the two listen to me baby thats all you gotta do a b c is easy as one two three are simple as do re mi a b c one two three baby you and me girl a b c is easy as like counting up to three sing a simple melody thats how easy love can be thats how easy love can be sing a simple melody one two three you and me sit down girl i think i love you no get up girl show me what you can do shake it shake it baby come on now shake it shake it baby ooh shake it shake it baby one two three baby oo oo a b c baby and now do re mi baby now thats how easy love can be a b c is easy as like counting up to three sing a simple melody thats how easy love can be now im gonna teach you how to sing it out come on come on come on let me show you what its all about a b c is easy as like counting up to three sing a simple melody thats how easy love can be now im gonna teach you how to sing it out sing it out sing it out sing it out a b c is easy its like counting up to three sing a simple melody thats how easy love can be",3
16,"the love you save","the jackson 5",1970,"stop na na na youd better save it stop stop stop youd better save it when we played tag in grade school you wanted to be it but chasin boys was just a fad you crossed your heart you quit when we grew up you traded your promise for my ring now just like back to grade school youre doin the same old thing stop the love you save may be your own darlin take it slow or some day youll be all alone youd better stop the love you save may be your own darlin look both ways before you cross me youre headed for the danger zone im the one who loves you im the one you need those other guys will put you down as soon as they succeed theyll ruin your reputation theyll label you a flirt the way they talk about you theyll turn your name to dirt oh isaac said he kissed you beneath the apple tree when benjie held your hand he felt electricity when alexander called you he said he rang your chimes christopher discovered youre way ahead of your times stop the love you save may be your own darlin take it slow or some day youll be all alone youd better stop the love you save may be your own darlin look both ways before you cross me youre headed for a danger zone slow down slow down slow down slow down s is for save it t is for take it slow o is for oh no p is for please please dont go the love you save may be your own some day you may be all alone stop it save it girl baby ooo you better stop the love you save may be your own please please or some day some day baby youll be all alone im the one who loves you im the one you need those other guys will put you down as soon as they succeed oh stop the love you save may be your own baby youd better stop it stop it stop it girl or someday youll be all alone the way they talk about you theyll turn your name turn your name to dirt stop the love you save may be your own dont you know dont you know some day baby youll be all alone those other guys will put you down as soon as they succeed stop the love you save may be your own",3
17,"cracklin rosie","neil diamond",1970," you got me runnin goin out of my mind you got me thinkin that im wastin my time dont bring me down no no no no no ill tell you once more before i get off the floor dont bring me downyou wanna stay out with your fancy friends im tellin you its gotta be the end dont bring me down no no no no no ill tell you once more before i get off the floor dont bring me downdont bring me down gross dont bring me down gross dont bring me down gross dont bring me downwhat happened to the girl i used to know you let your mind out somewhere down the road dont bring me down no no no no no ill tell you once more before i get off the floor dont bring me downyoure always talkin bout your crazy nights one of these days youre gonna get it right dont bring me down no no no no no ill tell you once more before i get off the floor dont bring me downdont bring me down gross dont bring me down gross dont bring me down gross dont bring me downyoure lookin good just like a snake in the grass one of these days youre gonna break your glass dont bring me down no no no no no no no no ill tell you once more before i get off the floor dont bring me downyou got me shakin got me runnin away you got me crawlin up to you everyday dont bring me down no no no no no ill tell you once more before i get off the floor dont bring me down down down down down downill tell you once more before i get off the floor dont bring me down ",1
18,"candida","dawn",1970,"dawn miscellaneous candida candida dawn the stars wont come out if they know that youre about cause they couldnt match the glow of your eyes and oh who am i  just an ordinary guy tryin hard to win me first prize chorus oh my candida we could make it together the further from here girl the better where the air is fresh and clean oh my candida just take my hand and ill lead ya i promise that life will be sweeter cause it said so in my dreams the future looks bright the gypsy told me so last night said she saw our children playing in the sunshine and there were you and i in a house baby no lie and all these things were yours and they were mine chorus chorus",3
19,"thank you falettinme be mice elf agin","sly  the family stone",1970,"lookin at the devil grinnin at his gun fingers start shakin i begin to run bullets start chasin i begin to stop we begin to wrestle i was on the top i want to thank you falettinme be mice elf agin thank you falettinme be mice elf agin stiff all in the collar fluffy in the face chit chat chatter tryin stuffy in the place thank you for the party but i could never stay many thangs on my mind words in the way i want to thank you falettinme be mice elf agin thank you falettinme be mice elf agin dance to the music all night long everyday people sing a simple song mamas so happy mama start to cry papas still singin you can make it if you try i want to thank you falettinme be mice elf agin   oh yeah different strokes for different folks yeah thank you falettinme be mice elf agin flamin eyes of people fear burnin into you many men are missin much hatin what they do youth and truth are makin love dig it for a starter dyin young is hard to take sellin out is harder thank you falettinme be mice elf agin i want to thank you falettinme be mice elf agin thank you falettinme be mice elf agin thank you falettinme be mice elf agin i want to thank you falettinme be mice elf agin i want to thank you falettinme be mice elf agin i want to thank you falettinme be mice elf agin i want to thank you falettinme be mice elf agin",3
20,"spill the wine","eric burdon  war",1970,"spill the wine and take that pearl spill the wine and take that pearl spill the wine and take that pearl spill the wine and take that pearl i was once out strolling one very hot summers day when i thought id lay myself down to rest in a big field of tall grass i lay there in the sun and felt it caressing my face and i fell asleep and dreamed i dreamed i was in a hollywood movie and that i was the star of the movie this really blew my mind the fact that me an overfed longhaired leaping gnome should be the star of a hollywood movie but there i was i was taken to a place the hall of the mountain kings i stood high upon a mountain top naked to the world in front of every kind of girl there was black ones round ones big ones crazy ones out of the middle came a lady she whispered in my ear something crazy she said spill the wine and take that pearl spill the wine and take that pearl spill the wine and take that pearl spill the wine and take that pearl i thought to myself what could that mean am i going crazy or is this just a dream now wait a minute i know im lying in a field of grass somewhere so its all in my head and then i heard her say one more time spill the wine and take that pearl spill the wine and take that pearl spill the wine and take that pearl spill the wine and take that pearl i could feel hot flames of fire roaring at my back as she disappeared but soon she returned in her hand was a bottle of wine in the other a glass she poured some of the wine from the bottle into the glass and raised it to her lips and just before she drank it she said spill the wine and take that pearl spill the wine and take that pearl spill the wine and take that pearl spill the wine and take that pearl",3
21,"ooh child","five stairsteps",1970,"five stairsteps miscellaneous ooh child ooh child things are gonna get easier ooh child thingsll get brighter some day yeah well get it together and well get it all done some day when your head is much lighter some day yeah well walk in the rays of a beautiful sun some day when the world is much brighter ooh child things are gonna be easier ooh child thingsll be brighter some day yeah well get it together and well get it all done some day when your head is much lighter some day yeah well walk in the rays of a beautiful sun some day when the world is much brighter",3
22,"spirit in the sky","norman greenbaum",1970," when i die and they lay me to rest gonna go to the place thats the best when i lay me down to die goin up to the spirit in the sky goin up to the spirit in the sky thats where im gonna go when i die when i die and they lay me to rest gonna go to the place thats the bestprepare yourself you know its a must gotta have a friend in jesus so you know that when you die hes gonna recommend you to the spirit in the sky gonna recommend you to the spirit in the sky thats where youre gonna go when you die when you die and they lay you to rest youre gonna go to the place thats the bestnever been a sinner i never sinned i got a friend in jesus so you know that when i die hes gonna set me up with the spirit in the sky oh set me up with the spirit in the sky thats where im gonna go when i die when i die and they lay me to rest im gonna go to the place thats the best go to the place thats the best ",1
23,"lay down candles in the rain","melanie",1970," lay down lay down lay it all down let your white birds smile at the ones who stand and frownlay down lay down lay it all down let your white birds smile at the ones who stand and frownwe were so close there was no room we bled inside each others wounds we all had caught the same disease and we all sang the songs of peacelay down lay down lay it all down let your white birds smile at the ones who stand and frownlay down lay down lay it all down let your white birds smile at the ones who stand and frownso raise candles high cause if you dont we could stay black against the night oh raise them higher again and if you do we could stay dry against the rainlay down lay down lay it all down let your white birds smile at the ones who stand and frownlay down lay down lay it all down let your white birds smile at the ones who stand and frownwe were so close there was no room we bled inside each others wounds we all had caught the same disease and we all sang the songs of peacesome came to sing some came to pray some came to keep the dark awayso raise candles high cause if you dont we could stay black against the sky oh oh raise them higher again and if you do we could stay dry against the rainlay down lay down lay it all down let your white birds smile at the ones who stand and frownlay down lay down lay it all down let your white birds smile at the ones who stand and frownlay down lay down lay it all down let your white birds smile at the ones who stand and frownlay down lay down lay it all down let your white birds smile at the ones who stand and frown ",1
24,"ball of confusion thats what the world is today","the temptations",1970," one two one two three four owpeople moving out people moving in why because of the color of their skin run run run but you sure cant hidean eye for an eye a tooth for a tooth vote for me and ill set you free rap on brother rap onwell the only person talking about love thy brother is the preacher and it seems nobodys interested in learning but the teacher segregation determination demonstration integration aggravation humiliation obligation to our nationball of confusion oh yeah thats what the world is today woo hey heythe sale of pills are at an all time high young folks walking round with their heads in the sky the cities ablaze in the summer timeand oh the beat goes onevolution revolution gun control sound of soul shooting rockets to the moon kids growing up too soon politicians say more taxes will solve everythingand the band played onso round and around and around we go where the worlds headed nobody knowsoh great googalooga cant you hear me talking to you just a ball of confusion oh yeah thats what the world is today woo heyfear in the air tension everywhere unemployment rising fast the beatles new records a gasand the only safe place to live is on an indian reservationand the band played oneve of destruction tax deduction city inspectors bill collectors mod clothes in demand population out of hand suicide too many bills hippies moving to the hills people all over the world are shouting end the warand the band played ongreat googalooga cant you hear me talking to you sayin ball of confusion thats what the world is today hey heylet me hear ya let me hear ya let me hear ya sayin ball of confusion thats what the world is today hey hey let me hear ya let me hear ya let me hear ya let me hear ya let me hear ya ball of confusion ",1
25,"love on a twoway street","the moments",1970,NA,NA
26,"which way you goin billy","the poppy family",1970,"which way you goin billy can i go too which way you goin billy can i go with you i really love you billy and all this time i thought you loved me billy and you were mine im gonna miss you billy and though im tryin im hurtin so bad billy i cant help cryin you are my whole babe my heart and my soul babe id have nothing to showbabe if you should go away you are my whole babe my heart and my soul babe id have nothing to show babe if you should go which way you going billy or need i ask cause you dont want me billy youre free at last i wont forget you billy for all my life ill always love you billy ill stay your wife you are my whole babe my heart and my soul babe id have nothing to show babe if you should go away you are my whole babe my heart and my soul babe id have nothing to show babe if you should go you are my whole babe my heart and my soul babe id have nothing to show babe if you should go away",3
27,"all right now","free",1970,"free fire and water all right now fraserrodgers there she stood  in the streets  smilin from her head to her feet  i said hey what is this now baby  maybe shes in need of a kiss  i said hey whats your name baby  maybe we can see things the same  now dont you wait or hesitate  lets move before they raise the parking rate  all right now baby  its all right now  all right now baby  its all right now  i took her home  to my place  watching every move on her face  she said look whats your game baby  are you tryin to put me in shame  i said slow dont go so fast  dont you think that love could last  she said love lord above  oh now you are tryin to trick me in love  all right now baby  its all right now  all right now baby  its all right now  let me tell you all about it now  took her home  to my place  watching every move on her face  she said look whats your game  are you tryin to put me in shame  baby i said slow slow dont go so fast  dont you think that love could last  she said love lord above  now you are tryin to trick me in love  all right now baby  its all right now  all right now baby  its all right now  all right now baby  its all right now  all right now baby  baby baby its all right  all right now baby  its all right its all right its all right  all right now baby  its all right now  eh we are so happy together  its all right its all right its all right  everything its all right",3
28,"i want you back","the jackson 5",1970,"uhh huh huh huh huh let me tell ya now uhh huh when i had you to myself i didnt want you around those pretty faces always made you stand out in a crowd but someone picked you from the bunch one glance was all it took now its much too late for me to take a second look oh baby give me one more chance   show you that i love you wont you please let me back in your heart oh darlin i was blind to let you go let you go baby but now since i see you in his arms   i want you back yes i do now   i want you back ooh ooh baby   i want you back yaa yaa yaa yaa   i want you back naa naa naa naa tryin to live without your love is one long sleepless night let me show you girl that i know wrong from right every street you walk on i leave tear stains on the ground following the girl i didnt even wanna around let me tell you now oh baby all i need is one more chance   show you that i love you wont you please let me back in your heart oh darlin i was blind to let you go let you go baby but now since i see you in his arms a buh buh buh buh a buh buh buh buh all i want a buh buh buh buh all i need a buh buh buh buh all i want a buh buh buh buh all i need oh just one more chance to show you that i love you baby baby baby baby baby baby   i want you back forget what happened then   i want you back let me live again oh baby i was blind to let it go but now since i see you in his arms   i want you back spare me of this cause give back what i lost oh baby i need one more chance i tell ya that i love you baby baby baby i want you back i want you back i want you back",3
29,"julie do ya love me","bobby sherman",1970,"julie do ya love me bobby sherman  written by tom bahler  as recorded by bobby sherman  entered the billboard top 40 the week of august 15 1970 and stayed for 13 weeks peaking at 5 the week of september 19 1970 bein alone at night makes me sad girl yeah it brings me down all right tossin and turnin and freezin and burnin and cryin all through the night whoaoh julie julie julie do ya love me julie julie julie do ya care julie julie are ya thinkin of me julie julie will ya still be there we had so much fun together i was sure that you were mine but leavin you baby is drivin me crazy its got me wonderin all the time whoaoh julie julie julie do ya love me ah julie julie julie do ya care julie julie are ya thinkin of me julie julie will ya still be there honey you cried the day i left you even though we knew i couldnt stay but baby remember ill be back september but till then ill write you every day whoaoh julie julie julie do ya love me ah julie julie julie do ya care come on julie julie are ya thinkin of me julie julie will ya still be there ohoh julie julie julie do ya love me ah julie julie julie do ya care julie julie are ya thinkin of me julie julie will ya still be there",5
30,"greeneyed lady","sugarloaf",1970," greeen eyed lady lovely lady strolling slowly towards the sungreen eyed lady ocean lady soothing every wave that comesgreen eyed lady passions lady dressed in love she lives for life to begreen eyed lady feels like i never see setting suns and lonely lovers freeorgan solo long instrumental breakgreen eyed lady windswept lady moves the night the waves the sandgreen eyed lady ocean lady child of nature friend of mangreen eyed lady passions lady dressed in love she lives for life to begreen eyed lady feels like i never see setting sons and lonely lovers free ",1
31,"signed sealed delivered im yours","stevie wonder",1970," like a fool i went and stayed too long now im wondering if your loves still strong oo baby here i am signed sealed delivered im yoursthen that time i went and said goodbye now im back and not ashamed to cry oo baby here i am signed sealed delivered im yourshere i am baby oh youve got the future in your hand signed sealed delivered im yours here i am baby oh youve got the future in your hand signed sealed delivered im yours ive done a lot of foolish things that i really didnt mean hey hey yea yea didnt i oh babyseen a lot of things in this old world when i touched them they did nothing girl oo baby here i am signed sealed delivered im yours oh im yoursooo babe you set my soul on fire thats why i know you are my only desire ooo baby here i am signed sealed delivered im yourshere i am baby oh youve got the future in your hand signed sealed delivered im yours here i am baby oh youve got the future in your hand signed sealed delivered im yours ive done a lot of foolish things that i really didnt mean i could be a broken man but here i amwith your future got your future babe here i am baby here i am baby signed sealed delivered im yours here i am baby here i am babyhere i am baby still signed signed sealed delivered sealed delivered im yours yeah ",1
32,"ride captain ride","blues image",1970,"blues image open ride captain ride  seventythree men sailed up from the san francisco bay rolled off of their ship and heres what they had to say were callin everyone to ride along to another shore we can laugh our lives away and be free once more but no one heard them callin no one came at all cause they were too busy watchin those old raindrops fall as a storm was blowin out on the peaceful sea seventythree men sailed off to history ride captain ride upon your mystery ship be amazed at the friends you have here on your trip ride captain ride upon your mystery ship on your way to a world that others might have missed instrumental seventythree men sailed up from the san francisco bay got off their ship and heres what they had to say were callin everyone to ride along to another shore we can laugh our lives away and be free once more ride captain ride upon your mystery ship be amazed at the friends you have here on your trip ride captain ride upon your mystery ship on your way to a world that others might have missed ride captain ride upon your mystery ship be amazed at the friends you have here on your trip  michael holl locutusimsaedu",3
33,"venus","shocking blue",1970," a goddess on a mountain top was burning like a silver flame the summit of beauty and love and venus was her nameshes got it yeah baby shes got it well im your venus im your fire at your desire well im your venus im your fire at your desireher weapons were her crystal eyes making every man mad black as the dark night she was got what noone else had wowshes got it yeah baby shes got it well im your venus im your fire at your desire well im your venus im your fire at your desireahahahahahahah ahahahahahahahshes got it yeah baby shes got it well im your venus im your fire at your desire well im your venus im your fire at your desire ",1
34,"instant karma","john lennon",1970," instant karmas gonna get you gonna knock you right on the head you better get yourself together pretty soon youre gonna be dead what in the world you thinking of laughing in the face of love what on earth you tryin to do its up to you yeah youinstant karmas gonna get you gonna look you right in the face better get yourself together darlin join the human race how in the world you gonna see laughin at fools like me who in the hell dyou think you are a super star well right you arewell we all shine on like the moon and the stars and the sun well we all shine on evryone come oninstant karmas gonna get you gonna knock you off your feet better recognize your brothers evryone you meet why in the world are we here surely not to live in pain and fear why on earth are you there when youre evrywhere come and get your sharewell we all shine on like the moon and the stars and the sun yeah we all shine on come on and on and on on on yeah yeah alright uh huh ahwell we all shine on like the moon and the stars and the sun yeah we all shine on on and on and on on and onwell we all shine on like the moon and the stars and the sun well we all shine on like the moon and the stars and the sun well we all shine on like the moon and the stars and the sun yeah we all shine on like the moon and the stars and the sun ",1
35,"patches","clarence carter",1970," i was born and raised down in alabama on a farm way back up in the woods i was so ragged that folks used to call me patches papa used to tease me about it cause deep down inside he was hurt cause hed done all he couldmy papa was a great old man i can see him with a shovel in his hands see education he never had he did wonders when the times got bad the little money from the crops he raised barely paid the bills we madefor life had kick him down to the ground when he tried to get up life would kick him back down one day papa called me to his dyin bed put his hands on my shoulders and in his tears he saidhe said patches im dependin on you son to pull the family through my son its all left up to youtwo days later papa passed away and i became a man that day so i told mama i was gonna quit school but she said that was daddys strictest ruleso every mornin fore i went to school i fed the chickens and i chopped wood too sometimes i felt that i couldnt go on i wanted to leave just run away from home but i would remember what my daddy said with tears in his eyes on his dyin bedhe said patches im dependin on you son i tried to do my best its up to you to do the restthen one day a strong rain came and washed all the crops away and at the age of 13 i thought i was carryin the weight of the whole world on my shoulders and you know mama knew what i was goin through causeevery day i had to work the fields cause thats the only way we got our meals you see i was the oldest of the family and everybody else depended on me every night i heard my mama pray lord give him the strength to make another dayso years have passed and all the kids are grown the angels took mama to a brand new home lord knows people i shedded tears but my daddys voice kept me through the yearssing patches im dependin on you son to pull the family through my son its all left up to youoh i can still hear papas voice sayin patches im dependin on you son ive tried to do my best its up to you to do the resti can still hear papa what he said patches im dependin on you son to pull the family through my son its all left up to you ",1
36,"lookin out my back door","creedence clearwater revival",1970," just got home from illinois lock the front door oh boy got to sit down take a rest on the porch imagination sets in pretty soon im singindoo doo doo lookin out my back doortheres a giant doing cartwheels a statue wearin high heels look at all the happy creatures dancing on the lawn a dinosaur victrola listning to buck owensdoo doo doo lookin out my back doortambourines and elephants are playing in the band wont you take a ride on the flyin spoon doo doo doo wondrous apparition provided by magiciandoo doo doo lookin out my back doortambourines and elephants are playing in the band wont you take a ride on the flyin spoon doo doo doo bother me tomorrow today ill buy no sorrowsdoo doo doo lookin out my back doorforward troubles illinois lock the front door oh boy look at all the happy creatures dancing on the lawn bother me tomorrow today ill buy no sorrowsdoo doo doo lookin out my back door ",1
37,"rainy night in georgia","brook benton",1970,"hoverin by my suitcase tryin to find a warm place to spend the night heavy rain fallin seems i hear your voice callin its all right a rainy night in georgia a rainy night in georgia it seems like its rainin all over the world i feel like its rainin all over the world neon signs aflashin taxi cabs and buses passin through the night a distant moanin of a train seems to play a sad refrain to the night a rainy night in georgia such a rainy night in georgia lord i believe its rainin all over the world i feel like its rainin all over the world how many times i wondered it still comes out the same no matter how you look at it or think of it its life and you just got to play the game i find me a place in a box car so i take my guitar to pass some time late at night when its hard to rest i hold your picture to my chest and i feel fine but its a rainy night in georgia baby its a rainy night in georgia i feel its rainin all over the world kinda lonely now and its rainin all over the world oh have you ever been lonely people and you feel that it was rainin all over this mans world youre talking bout rainin rainin rainin rainin rainin rainin rainin rainin rainin rainin rainin rainin rainin rainin over the world i said now rainin rainin rainin",3
38,"somethings burning","kenny rogers  the first edition",1970,NA,NA
39,"give me just a little more time","chairmen of the board",1970,"give me just a little more time and our love will surely grow give me just a little more time and our love will surely grow lifes too short to make a mistake lets think of each other and hesitate young and impatient we may be theres no need to act foolishly if we part our hearts wont forget it years from now well surely regret it give me just a little more time and our love will surely grow give me just a little more time and our love will surely grow youre young and youre in a hurry youre eager for love but dont you worry we both want the sweetness in life but these things dont come overnight dont give up cos loves been slow girl were gonna succeed with another blow give me just a little more time and our love will surely grow baby please baby baby please baby love is that mountain we must climb lets climb it together your hand in mine we havent known each other too long but the feeling i have is oh so strong i know we can make it theres no doubt we owe it to ourselves to find it out just give me just a little more time and our love will surely grow give me just a little more time and our love will surely grow give me just a little more time and our love will surely grow baby please baby baby please baby give me just a little more time and our love will surely grow give me just a little more time and our love will surely grow give me just a little more time and our love will surely grow give me just a little more time and our love will surely grow",3
40,"love grows where my rosemary goes","edison lighthouse",1970,"she aint got no money her clothes are kinda funny her hair is kinda wild and free oh but love grows where my rosemary goes and nobody knows like me she talks kinda lazy and people say she shes crazy and her lifes a mystery oh but love grows where my rosemary goes and nobody knows like me theres something about her hand holding mine its a feeling thats fine and i just gotta say shes really got a magical spell and its working so well that i cant get away im a lucky fella and ive just got to tell her that i love her endlessly because love grows where my rosemary goes and nobody knows like me theres something about her hand holding mine its a feeling thats fine and i just gotta say shes really got a magical spell and its working so well that i cant get away im a lucky fella and ive just got to tell her that i love her endlessly because love grows where my rosemary goes and nobody knows like me it keeps growing every place shes been and nobody knows like me if youve met her youll never forget her and nobody knows like me la la la believe it when youve seen it nobody knows like me",3
41,"the long and winding road","the beatles",1970,"the long and winding road that leads to your door will never disappear ive seen that road before it always leads me here lead me to you door the wild and windy night that the rain washed away has left a pool of tears crying for the day why leave me standing here let me know the way many times ive been alone and many times ive cried anyway youll never know the many ways ive tried and still they lead me back to the long winding road you left me standing here a long long time ago dont leave me waiting here lead me to your door but still they lead me back to the long winding road you left me standing here a long long time ago dont keep me waiting here lead me to your door yeah yeah yeah yeah",3
42,"snowbird","anne murray",1970," beneath this snowy mantle cold and clean the unborn grass lies waiting for its coat to turn to green the snowbird sings the song he always sings and speaks to me of flowers that will bloom again in springwhen i was young my heart was young then too anything that it would tell me thats the thing that i would do but now i feel such emptiness within for the thing that i want most in lifes the thing thing that i cant winspread your tiny wings and fly away and take the snow back with you where it came from on that day the one i love forever is untrue and if i could you know that i would fly away with youthe breeze along the river seems to say that hell only break me heart again should i decide to stay so little snowbird take me with you when you go to that land of gentle breezes where the peaceful waters flow ",1
43,"reflections of my life","marmalade",1970," the changing of sunlight to moonlight reflections of my life oh how they fill my eyes the greetings of people in trouble reflections of my life oh how they fill my mindall my sorrow sad tomorrow take me back to my old home all my cryin feel im dyin dyin take me back to my old homeim changin arrangin im changin im changin everything ah everything around me the world is a bad place a bad place a terrible place to live oh but i dont wanna dieall my sorrow sad tomorrow take me back to my old home all my cryin feel im dyin dyin take me back to my old home ",1
44,"hey there lonely girl","eddie holman",1970," hey there lonely girl lonely girl let me make your broken heart like new oh my lonely girl lonely girl dont you know this lonely boy loves youever since he broke your heart you seem so lost each time you pass my way how i long to take your hand and say dont cry ill kiss your tears away hey there lonely girl lonely girl let me make your broken heart like new oh my lonely girl lonely girl dont you know this lonely boy loves youyou think that only his two lips can kiss your lips and make your heart stand still but once youre in my arms youll see no one can kiss your lips the way i will hey there lonely girl lonely girl let me make your broken heart like newoh my lonely girl lonely girl dont you know this lonely girl loves you oh my lonely girl lonely girl dont you know this lonely boy loves you ",1
45,"the rapper","the jaggerz",1970,"hey girl i betcha theres someone out to get ya youll find him anywhere on a bus in a bar in a grocery store hell say excuse me havent i seen you somewhere before raparaparap they call him the rapper rap rap rap know what hes after so he starts his rappin hoping something will happen hell say he needs you a companion a girl he can talk to hes made up his mind he wants someone to sock it to chorus hes made an impression so he makes a suggestion come up to my place for some coffee or tea or me hes got you where he wants you girl you gotta face reality chorus rap rap rap call him the rapper",3
46,"he aint heavy hes my brother","the hollies",1970," the road is long with many a winding turns that leads us to who knows where who knows wherebut im strong strong enough to carry him he aint heavy hes my brotherso on we go his welfare is of my concern no burden is he to bear well get therefor i know he would not encumber me he aint heavy hes my brotherif im laden at all im laden with sadness that everyones heart isnt filled with the gladness of love for one anotherits a long long road from which there is no return while were on the way to there why not shareand the load doesnt weigh me down at all he aint heavy hes my brotherhes my brother he aint heavy hes my brother he aint heavy hes my brother ",1
47,"tighter tighter","alive n kickin",1970,"you know i got to show you nobody else before you ever gave me such a beautiful feelin oh woman you touched amy soul now honey dont alet go now hold on baby just a little bit tighter hold on ajust a little bit tighter now baby i love you so much and i cant let go no no no hold on ajust a little bit tighter now baby love is so surprising opened up my eyes and you reached out and took my hand baby you touched amy soul now woman dont let go now hold on baby just a little bit tighter hold on ajust a little bit tighter now baby i love you so much and i cant let go",3
48,"come and get it","badfinger",1970," if you want it here it is come and get it make your mind up fast if you want it anytime i can give it but you better hurry cause it may not lastdid i hear you say that there must be a catch will you walk away from a fool and his moneyif you want it here it is come and get it but you better hurry cause its goin fastif you want it here it is come and get it make your mind up fast if you want it anytime i can give it but you better hurry cause it may not lastdid i hear you say that there must be a catch will you walk away from a fool and his moneysonny if you want it here it is come and get it but youd better hurry cause its going fast youd better hurry cause its going fast fool and his money sonnyif you want it here it is come and get it but youd better hurry cause its goin fast youd better hurry cause its goin fast youd better hurry cause its goin fast ",1
49,"cecilia","simon  garfunkel",1970,"cecilia youre breaking my heart youre shaking my confidence daily oh cecilia im down on my knees im begging you please to come home oh cecilia youre breaking my heart youre shaking my confidence daily oh cecilia im down on my knees im begging you please to come home come on home making love in the afternoon with cecilia up in my bedroom making love in the afternoon with cecilia up in my bedroom i got up to wash my face when i come back to bed someones taken my place cecilia youre breaking my heart youre shaking my confidence daily oh cecilia im down on my knees im begging you please to come home come on home making love in the afternoon with cecilia up in my bedroom i got up to wash my face when i come back to bed someones taken my place cecilia youre shaking my confidence daily oh cecilia im begging you please to come home come on now jubilation she loves me again i fall on the floor and im laughing jubilation she loves me again i fall on the floor and im laughing jubilation jubilation jubilation",3
50,"love land","charles wright  the watts 103rd street rhythm band",1970,"i have heard all about love land and all of its little charms but i know ill never get to love land unless im wrapped up in your arms got to take me with you baby please take me with you how id love to walk down that golden street handinhand with you where all the lovers meet whoa id love to go to love land with you pretty baby cause my love is true i swear i do i have heard all about love land and all of its youthful hearts well loneliness just cant live there and happiness is the answer youve got to take me with you baby got to take me with you oh yeah how id love to walk down that golden street handinhand with you where all the lovers meet how id love to go to love land with you yeah oh id like to walk with you down that golden street handinhand with you where all the lovers meet oh id love to go to love land love land with you i do swear i do my love is true take me with you baby yeah take me with you baby yeah got to got to got to got to got to got to take me by the hand tell me tell me tell me baby im your lover man together we can go and where well stop yeah everybody will know got to take me with you got to take me with you",3
51,"turn back the hands of time","tyrone davis",1970," oh darling im so lonely without you cant sleep at night always think about you but if i had the chance to start all over i would be wishing today on a four leaf clover and leaving you with the last thing on my mind if i could turn back the hands of timeoh darling i cant hold out much longer oh the pains so deep and the hurt is getting stronger but if i had just one more try i would be yours yours alone until the day i die and we would have a love so divine if i could turn back the hands of timeoh darling please please let me come back home your love has been so good to me baby and i just relied without it i cant go on and youre the other half that makes my life complete if i had one more chance wed have a love so sweet ",1
52,"lola","the kinks",1970,"i met her in a club down in old soho where you drink champagne it tastes just like coca cola cola cola she walked up to me and she asked me to dance i asked her her name and in a dark brown voice she said lola lola lola lllola well im not the worlds most physical guy but when she squeezed me tight she nearly broke my spine oh my lola lllola well im not dumb but i cant understand why she walked like a woman but talked like a man oh my lola lllola lllola well we drank champagne and danced all night under electric candlelight she picked me up and sat me on her knee and said dear boy wont you come home with me well im not the worlds most passionate guy but when i looked in her eyes well i almost fell for my lola lllola lllola lola lllola lllola i pushed her away i walked to the door i fell to the floor i got down on my knees then i looked at her and she at me thats the way that i want it to stay i always want it to be that way for my lola lllola girls will be boys and boys will be girls its a mixed up muddled up shook up world except for lola lllola well i left home just a week before and id never ever kissed a woman before but lola smiled and took me by the hand and said dear boy im gonna make you a man well im not the worlds most masculine man but i know what i am and im glad im a man and so is lola lllola lllola lola lllola lllola lola lllola lllola lola lllola lllola lola lllola lllola lola lllola lllola lola lllola lllola lola lllola lllola",3
53,"in the summertime","mungo jerry",1970," chh chhchh uh chh chhchh uh chh chhchh uh chh chhchh uh chh chhchh uh chh chhchh uh chh chhchh uh chh chhchh uh chh chhchh uh chh chhchh uh chh chhchh uh chh chhchhin the summertime when the weather is hot you can stretch right up and touch the sky when the weathers fine you got women you got women on your mind have a drink have a drive go out and see what you can findif her daddys rich take her out for a meal if her daddys poor just do what you feel speed along the lane do a ton or a ton an twentyfive when the sun goes down you can make it make it good in a laybywere no threat people were not dirty were not mean we love everybody but we do as we please when the weathers fine we go fishin or go swimmin in the sea were always happy lifes for livin yeah thats our philosophysing along with us dee dee deedee dee dah dah dahdah dah yeah were haphappy dah dahdah deedahdo deedahdo dahdodah dahdodahdahdah dahdahdah dodahdahalright ahchh chhchh uh chh chhchh uh chh chhchh uh chh chhchh uh chh chhchh uh chh chhchh uh chh chhchh uh chh chhchh uh chh chhchh uh chh chhchh uh chh chhchh uh chh chhchhwhen the winters here yeah its party time bring your bottle wear your bright clothes itll soon be summertime and well sing again well go drivin or maybe well settle down if shes rich if shes nice bring your friends and well all go into townchh chhchh uh chh chhchh uh chh chhchh uh chh chhchh uh chh chhchh uh chh chhchh uh chh chhchh uh chh chhchh uh chh chhchh uh chh chhchh uh chh chhchh uh chh chhchhin the summertime when the weather is hot you can stretch right up and touch the sky when the weathers fine you got women you got women on your mind have a drink have a drive go out and see what you can findif her daddys rich take her out for a meal if her daddys poor just do what you feel speed along the lane do a ton or a ton an twentyfive when the sun goes down you can make it make it good in a laybywere no threat people were not dirty were not mean we love everybody but we do as we please when the weathers fine we go fishin or go swimmin in the sea were always happy lifes for livin yeah thats our philosophysing along with us dee dee deedee dee dah dah dahdah dah yeah were haphappy dah dahdah deedahdo deedahdo dahdodah dahdodahdahdah ",1
54,"indiana wants me","r dean taylor",1970," indiana wants me lord i cant go back there indiana wants me lord i cant go back there i wish i had you to talk toif a man ever needed dying he did no one had a right to say what he said about you and its so cold and lonely here without you out there the law is coming ive been so tired of runningindiana wants me lord i cant go back there indiana wants me lord i cant go back there i wish i had you to talk toit hurts to see the man that ive become to know ill never see the morning sunshine on the land ill never see your smiling face or touch your hand if just once more i could see you our home and our little babyindiana wants me lord i cant go back there indiana wants me lord i cant go back there i wish i had you to talk toi hope this letter finds its way to you forgive me love for the shame ive put you through and all the tears hang on love to the memories of those happy years red lights are flashing around me good lord it looks like they found meindiana wants me lord i cant go back there indiana wants me lord i cant go back there i wish i had you to talk toindiana wants me lord i cant go back there this is the police you are surrounded give yourself upindiana wants me lord i cant go back there this is the police you are surrounded give yourself upindiana wants me lord i cant go back there this is the police you are surrounded give yourself up  ",1
55,"i know im losing you","rare earth",1970," your love is fadin i feel it fade ah your love is fadin i feel it fade ah your love is fadin woman i feel it fadeah woman woman your touch your touch has gone cold as if someone else controls your very soul ive fooled myself long as i can can feel the presence of another manits there when you speak my name its just not the same ooh babe im losing you its in the air its there everywhere baby baby babe im losing youwhen i look into your eyes a reflection of a face i see im hurt downhearted and worried girl cause that face doesnt belong to meits all over your face someones takin my place ooh baby im losing you you try hard to hide the emptiness you feel inside ooh babe im losing youfadin fadin away from me fadin away from me fadin your love is fadin i can feel it fadin fadin fadin away from megirl i know its true  theres nothin i can do i know im losing you i can feel it in my bones in a day ill be gone im losin youi know its true theres someone new im losin you cause your love is fadin fadin away from me fadin fadin away from me its fadin fadin fadin away from mei cant bear the thought of losing you ah woman cant you see what im goin through im losin my mind and its all because of youi cant bear the thought of losing you im losin my mind and its all because of you i cant stand the thought of losing you ",1
56,"easy come easy go","bobby sherman",1970," takin the shade out of the sun whatever made me think that i was number one i oughta know easy come easy go sittin it out spinnin the dial thinkin about the chump ive been i have to smile didnt i know easy come easy go she wasnt kind i wasnt smart i lost my mind and fell apart i had to find myself in time now i can start all over again hangin around takin it slow happy i found i still can smile and dig the show lettin me know easy come easy go ",1
57,"express yourself","charles wright  the watts 103rd street rhythm band",1970,"express yourself express yourself you dont never need help from nobody else all you got to do now express yourself whatever you do do it good whatever you do do do lord lord do it good oh yeah its not what you look like when youre doin what youre doin its what youre doin when youre doin what you look like youre doin express yourself express yourself theyre doin it on the moon yeah in the jungle too everybody on the floor now jumpin like a kangaroo so let the horns do the thing they do yo some people have everything and other people dont but everything dont mean a thing if it aint the thing you want express yourself express yourself oh do it oh do it do it to it go on and do it yo do it give express yourself express yourself do it oh lord do it yeah express yourself express yourself express yourself express yourself express yourself express yourself express yourself oh lord hey hey hey lord express yourself express yourself express ahh express express yourself express yourself express yourself express",3
58,"still water love","the four tops",1970," walk with me take my handoh oh oh oh oh oh oh oh oh oh oh oh oh oh ohstill water still waterah ah ah never you mind if i dont tell strangers passing by if i dont brag if i dont brag or boast click my glass and say a toast about my love for you how it runs so deep and true and yet its so cause dont you know oh still waters run deep still waters run deep still waters run deep still waters run deepoh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh walk with me take my handstill waters still water walk with me take my hand whoa whoa whoa now still waters run deep hey hey hey heywhoa whoa whoa now still waters run deep ",1
59,"make me smile","chicago",1970," children play in the park they dont know im alone in the dark even though time and time again i see your face smiling insideim so happy uh huh that you love me oh ahaya life is lovely whooah when youre near me tell me you will stay make me smileliving life is just a game so they say all the games we used to play fade away we may now enjoy the dreams we shared so long agooh my darling oh uoh uho got to have you yeah hyeeah feel the magic woo woo when i hold you cry sweet tears of joy touch the sky ",1
60,"the house of the rising sun","frijid pink",1970,"there is a house in new orleans they call the rising sun and its been a ruin of many a poor boy and god i know im one my mother was a tailor she sewed my new bluejeans my father was a gamblin man down in new orleans now the only thing a gambler needs is a suitcase and trunk and the only time that hes satisfied is when hes on a drunk oh mother tell your children not to do what i have done spend your lives in sin and misery in the house of the rising sun well there is a house in new orleans they call the rising sun and its been the ruin of many a poor boy and god i know im one",3
61,"25 or 6 to 4","chicago",1970," waiting for the break of day searching for something to say flashing lights against the sky giving up i close my eyessitting crosslegged on the floor 25 or 6 to 4staring blindly into space getting up to splash my face wanting just to stay awake wondering how much i can takeshould i try to do some more 25 or 6 to 4 oh yeahfeeling like i ought to sleep spinning room is sinking deep searching for something to say waiting for the break of day25 or 6 to 4 25 or 6 to 4 alright ",1
62,"my baby loves lovin","white plains",1970," my baby loves love my baby loves lovin shes got what it takes and she know how to use itmy baby loves love my baby loves lovin shes got what it takes and she know how to use iti was lonely once in this great big world great big world just a nowhere man without his girl when she came my wayshe smiled at me as if to saymy baby loves love my baby loves lovin shes got what it takes and she know how to use itmy baby loves love my baby loves lovin shes got what it takes and she know how to use itshes the only one makes me feel so good believing in my lovin so im all gone good all my sorrows and fears seem to fly away she looks at me as if to saymy baby loves love my baby loves lovin shes got what it takes and she know how to use it for meno more lonely nights waiting for the phone to ring no more lonely days my babys taken care of everything im telling you peoplemy baby loves love my baby loves lovin shes got what it takes and she know how to use itmy baby loves love my baby loves lovin shes got what it takes and she know how to use itshes the only one makes me feel so good believing in my lovin all my sorrows and fears seem to fly away she looks at me as if to saymy baby loves love my baby loves lovin shes got what it takes and she know how to use it ",1
63,"love or let me be lonely","the friends of distinction",1970,"love me let me be lonely part time love i can find any day so dont defy mother natures way please make it mine a love for to stay i can live without love if i wanted to in this lonely room but i dont want to so i leave it up to you to wash away my gloom oh oh oh do doo do doo do doo do doo you will or either you wont now its up to you ive had my say so truly love do love me completely hey come on come on come my way love me let me be lonely part time love i can find any day so dont defy mother natures way please make it mine a love for to stay",3
64,"united we stand","the brotherhood of man",1970,"the brotherhood of man miscellaneous united we stand united we stand the brotherhood of man  written by tony hiller and peter simons peaked at  13 in 1970 available on the album reg dwights elton john piano goes pop the groups first and only top 25 hit featuring lead singers tony burrows of edison lighthouse first class and several other studio groups and sunny theres nowhere in the world that i would rather be than with you my love and theres nothing in the world that i would rather see than your smile my love for united we stand divided we fall and if our backs should ever be against the wall well be together together you and i for united we stand divided we fall and if our backs should ever be against the wall well be together together you and i and if the world about you falls apart my love then ill still be here and if the going gets too hard along the way just you call ill hear from gbh333",3
65,"weve only just begun","the carpenters",1970," weve only just begun to live white lace and promises a kiss for luck and were on our way weve only begunbefore the risin sun we fly so many roads to choose well start out walkin and learn to run and yes weve just begunsharing horizons that are new to us watching the signs along the way talkin it over just the two of us workin together day to day togetherand when the evening comes we smile so much of life ahead well find a place where theres room to grow and yes weve just begunsharing horizons that are new to us watching the signs along the way talkin it over just the two of us workin together day to day together togetherand when the evening comes we smile so much of life ahead well find a place where theres room to grow and yes weve just begun ",1
66,"arizona","mark lindsay",1970," she must belong to san francisco she must have lost her way postin a poster of poncho and cisco one california day she said she believes in robin hood and brotherhood and colours of green and grey and all you can do is laugh at her doesnt anybody know how to prayarizona take off your rainbow shades arizona have another look at the world my myyy arizona cut off your indian braids arizona hey wontcha go my waymmmm strip off your pride youre acting like a teenybopper run away child and scrape off the paint from the face of a little town saint arizona take off your hobo shoes arizona hey wontcha go my wayyou gotta follow me up to san francisco i will be guide your way ill be the count of monte cristo youll be the countess may and you can believe in robin hood and brotherhood and rolling the ball in the hay and i will be reading you an aesops fable anything to make you stayayayarizona take off your rainbow shades arizona have another look at the world my my arizona cut off your indian braids arizona hey wontcha go my wayhey arizona take off your hobo shoes arizona have another look at the world my my arizona get off your 8ball blues arizona hey wontcha go my waycome on hey arizona take off your rainbow shades ",1
67,"fire and rain","james taylor",1970," just yesterday morning they let me know you were gone susanne the plans they made put an end to you i walked out this morning and i wrote down this song i just cant remember who to send it toive seen fire and ive seen rain ive seen sunny days that i thought would never end ive seen lonely times when i could not find a friend but i always thought that id see you againwont you look down upon me jesus youve got to help me make a stand youve just got to see me through another day my bodys aching and my time is at hand and i wont make it any other wayoh ive seen fire and ive seen rain ive seen sunny days that i thought would never end ive seen lonely times when i could not find a friend but i always thought that id see you againbeen walking my mind to an easy time my back turned towards the sun lord knows when the cold wind blows itll turn your head around well theres hours of time on the telephone line to talk about things to come sweet dreams and flying machines in pieces on the groundoh ive seen fire and ive seen rain ive seen sunny days that i thought would never end ive seen lonely times when i could not find a friend but i always thought that id see you baby one more time again nowthought id see you one more time again theres just a few things coming my way this time around now thought id see you thought id see you fire and rain now ",1
68,"groovy situation","gene chandler",1970," that girl im gonna make her mine if it takes all night that girl im gonna make her mine if it takes all night good evening sweet darling may i ask your name you seem to be lonely well dont worry im feeling the sameoh its a groovy situation a splendid combination that we should meet at a time like this oh its a groovy situation a splendid combination youre something that i just cant missits been a long time sweet darling since love has come my way but im trying so hard to find the right words to sayoh its a groovy situation a splendid combination that we should meet at a time like this oh its a groovy situation a splendid combination youre something that i just cant miss ",1
69,"evil ways","santana",1970," youve got to change your evil ways baby before i stop lovin you youve got to change baby and every word that i say is true you got me runnin and hidin all over town you got me sneakin and apeepin and runnin you down this cant go on lord knows you got to change babybaby when i come home baby my house is dark and my pots are cold youre hangin round baby with jean and joan anda who knows who im gettin tried of waitin and foolin around ill find somebody that wont make me feel like a clown this cant go on lord knows you got to changeheywhen i come home baby my house is dark and my pots are cold youre hangin round baby with jean and joan anda who knows who im gettin tried of waitin and foolin around ill find somebody who wont make me feel like a clown this cant go on yeahyeahyeah ",1
70,"no time","the guess who",1970,"no time left for you on my way to better things   no time left for you ill find myself some wings   no time left for you distant roads are calling me   no time left for you no time for a summer friend no time for the love you send seasons change and so did i you need not wonder why you need not wonder why theres no time left for you no time left for you no time left for you on my way to better things   no time left for you ill find myself some wings   no time left for you distant roads are calling me   no time left for you no time for a gentle rain no time for my watch and chain no time for revolving doors no time for the killing floor no time for the killing floor theres no time left for you no time left for you no time for a summer friend no time for the love you send seasons change and so did i you need not wonder why you need not wonder why theres no time left for you no time left for you no time no time no time no time no time no time no time no time i got got got got no time i got got got got no time i got got got got no time no no no no no no no time no no no no no no no time i got got got got no time no no no no no no no no no no no no no no no no got no time i got no time got no time got no time got no time got no time got no time got no time",3
71,"didnt i blow your mind this time","the delfonics",1970," i gave my heart and soul to you girl didnt i do it baby didnt i do it babygave you the love you never knew girl didnt i do it baby didnt i do it babyive tried so many times and thats no lie it seems to make you laugh each time i crydidnt i blow your mind this time didnt i didnt i blow your mind this time didnt i listeni thought that heart of yours was true girl now didnt i think it baby didnt i think it babybut this time im really leavin you girl hope you know it baby hope you know it babyten times or more yes ive walked out that door get this into your head therell be no moredidnt i blow your mind this time didnt i didnt i blow your mind this time didnt ididnt i do it baby didnt i do it baby didnt i do it baby didnt i do it babyten times or more yes ive walked out that door get this into your head therell be no moredidnt i blow your mind this time didnt i didnt i blow your mind this time didnt i i got to leave you babydidnt i blow your mind this time didnt i didnt i blow your mind this time didnt i ",1
72,"the wonder of you","elvis presley",1970," when no one else can understand me when everything i do is wrong you give me hope and consolation you give me strength to carry onand youre always there to lend a hand in everything i do thats the wonder the wonder of you wonder of youand when you smile the world is brighter you touch my hand and im a king your kiss to me is worth a fortune your love for me is everythingi guess ill never know the reason why you love me as you do thats the wonder the wonder of you ",1
73,"up around the bend","creedence clearwater revival",1970," theres a place up ahead and im goin just as fast as my feet can fly come away come away if youre goin leave the sinkin ship behindcome on the risin wind were goin up around the bendohbring a song and a smile for the banjo better get while the gettins good hitch a ride to the end of the highway where the neons turn to woodcome on the risin wind were goin up around the bendohyou can ponder perpetual motion fix your mind on a crystal day always time for a good conversation theres an ear for what you saycome on the risin wind were goin up around the bendyeahohcatch a ride to the end of the highway and well meet by the big red tree theres a place up ahead and im goin come along come along with mecome on the risin wind were goin up around the bendyeahdo do do do do do do do do do do do do do do do yeah do do do do do do do do ",1
74,"if you let me make love to you then why cant i touch you","ronnie dyson",1970,"if you let me make love to you then why cant i touch you if you let me make love to you then why cant i touch you im not saying i want to change you i dont want to rearrange you if you let me make love to you then why cant i touch you from the very first moment i saw you its been a different world from the very first moment i saw you its been such a different world i seem to be a little bit stronger each moment seems just a little little bit longer the missing links and little kinks have never been found and uncurled but youre still the same youre like a frozen flame well it sure seems a shame that you let me make love to you but you wont let me touch you when i leave you im going someplace that ive never been before when i leave you im going someplace that ive never been before oh reach out and touch me why dont you reach out and touch me if you let me make love to you then why cant i touch you if you let me make love to you then why why cant i touch you",5
75,"i just cant help believing","bj thomas",1970," i just cant help believing when she smiles up soft and gentle with a trace of misty morning and a promise of tomorrow in her eyesand i just cant help believing when shes lying close beside me and my heart beats with the rhythm of her sighthis time the girl is gonna stay this time the girl is gonna stay for more than just a dayi just cant help believing when she slips her hand in my hand and it feels so small and helpless that my fingers fold around it like a gloveand i just cant help believing when shes whispering her magic and her tears are shining honey sweet with lovethis time the girl is gonna stay this time the girl is gonna stay for more than just a dayfor more than just a day i just cant help believing i just cant help believing i just cant help believing  ",1
76,"its a shame","the spinners",1970," its a shame the way you mess around with your man its a shame the way you hurt me its a shame the way you mess around with your man im sitting all alone by my telephone waiting for your call when you dont call at allits a shame shame the way you mess around with your man its a shame shame the way you play with my emotions its a shame shame the way you mess around with your man youre like a child at play on a sunny day but you play with love and then you throw it awaywhy do you use me try to confuse me how can you stand to be so cruel why dont you free me from this prison where i serve my time as your foolits a shame shame the way you mess around with your man its a shame shame the way you hurt me its a shame shame the way you mess around with your man i try to stay with you show you love so true but you wont appreciate the love we try to makeoh its got to be a shamewhy do you use me try to confuse me how can you stand to be so cruel why dont you free me from this prison where i serve my time as your foolgot to be a shame shame the way you mess around with your man oh its a shame shame the way you hurt me its a shame shame babe babe the way you mess with your man youve got my heart in chains and i must complain and i just cant be confined oh look my ooh myso gotta be a shame the way it hurt me eh eh ",1
77,"for the love of him","bobbi martin",1970,"when he opens the door says im home beware of the look in his eyes they tell you the mood hes in what kind of day its been for the love of him make it your reason for living give all the love you can give him all the love you can therell be little things he forgets to do have you told him today i love you when he reaches out be there show him that someone cares hes a if you take him into your arms for the love of him make it your reason for living give all the love you can give him all the love you can for the times when he wont say a word and you wonder if theres something you said the gentle touch of your hand tell him you understand for the love of him make it your reason for living give all the love you can give him all the love you can man and a man have to try let him run let him fall let him cry his world wont fall apart show him that someone cares hes a if you take him into your arms for the love of him make it your reason for living give all the love you can give him all the love you can",3
78,"mississippi queen","mountain",1970," mississippi queen if you know what i mean mississippi queen she taught me everythinway down around vicksburg around louisiana way lived a cajun lady aboard the mississippi queenyou know she was a dancer she moved better on wine while the rest of them dudes werea gettin their kicks boy i beg your pardon i was gettin minemississippi queen if you know what i mean mississippi queen she taught me everythinthis lady she asked me if i would be her man you know that i told her id do what i canto keep her lookin pretty buy her dresses that shine while the rest of them dudes were makin their bread boy i beg your pardon i was losin mineyou know she was a dancer she moved better on wine while the rest of them dudes werea gettin their kicks boy i beg your pardon i was gettin mine whoah mississippi queen ",1
79,"i want to take you higher","ike  tina turner",1970,"hey hey hey hey beat is gettin stronger the beat is gettin longer too musics soundin good to me but i wanna said i wanna i wanna take you higher yeah let me take you higher baby baby let me light your fire ooh yeah little bit higher boom shacka lacka lacka boom shacka la boonka boo hey hey hey hey beat is nittygritty musics in your city too musics gettin good to me but now dont ya i said dont ya dont ya wanna get higher yeah dont ya wanna get higher baby baby let me light your fire ooh ha little bit higher boom shacka lacka lacka boom shacka la boonka boo hey hey hey hey come on baby higher dont ya wanna get high higher ooh yeah higher light your fire   fire come on daddy higher a little bit higher   higher i wanna   higher said i wanna light your fire   fire boom shacka lacka lacka boom shacka la boonka boo hey hey hey hey beat is here to make you move musics here to help you groove musics soundin good to me but take your places im gonna take you higher higher yeah baby gonna take ya higher higher ooh yeah little bit higher cmon daddy higher a little bit higher",3
80,"the letter","joe cocker",1970," give me a ticket for an aeroplanegive me a ticket for an aeroplane i aint got time to take no fast train oh the lonely days are gone im coming home my baby she wrote me a letteri dont care how much ive got to spend oh im gonna find my way back home again oh my lonely days are gone im coming home yeah my baby she wrote me a lettershe wrote me a letter said she couldnt live without no more listen to me mister cant you see im ready for my baby once more anywayi dont care how much ive got to spend im gonna find my way way back home again lonely days are gone im coming home my baby she wrote me a letterwell she wrote me a letter said she cant live without me no more listen to me mister cant you see im ready for my baby once more anywaygive me a ticket for an aeroplane i aint got time take no fast train oh the lonely days are gone im coming home my baby she wrote me a lettermy baby wrote me a letter my baby wrote me a letter my baby wrote me a letter  ",1
81,"ma belle amie","tee set",1970,"ma belle amie you were a child of the sun and the sky and the deep blue sea ma belle amie apres tout les beau jours je te dis merci merci you were the answer to all my questions before we were through i want to tell ya that i adore ya and always do that you amaze me by leaving me now to start a new my belle amie im in love with you let the bells ring let the birds sing lets give my substitute a big kiss let the bells ring let the birds sing for the man after him waits here for the man after him waits here ma belle amie you were a child of the sun and the sky and the deep blue sea ma belle amie it was a time when you thought that your only friend was me you were the answer to all my questions before we were through i want to tell ya that i adore ya and always do that you amaze me by leaving me now to start a new ma belle amie im in love with you let the bells ring let the birds sing lets give my substitute a big kiss let the bells ring let the birds sing for the man after him waits here for the man after him waits here ma belle amie you were a child of the sun and the sky and the deep blue sea ma belle amie apres tout les beau jours je te dis merci merci you were the answer to all my questions before we were through i want to tell ya that i adore ya and always do that you amaze me by leaving me now to start a new ma belle amie im in love with you ma belle amie im in love with you",3
82,"the bells","the originals",1970,"  ",1
83,"yellow river","christie",1970,"so long boy you can take my place got my papers ive got my pay so pack my bags and ill be on my way to yellow river put my guns down the war is won fill my glass high the time has come im going back to the place that i love yellow river yellow river yellow river is in my mind and in my eyes yellow river yellow river is in my blood its the place i love got no time for explanation got no time to lose tomorrow night youll find me sleeping underneath the moon at yellow river cannon fire lingers in my mind im so glad that im still alive and ive been gone for such a long time from yellow river i remember the nights were cool i can still see the water pool and i remember the girl that i knew from yellow river yellow river yellow river is in my mind and in my eyes yellow river yellow river is in my blood its the place i love got no time for explanation got no time to lose tomorrow night youll find me sleeping underneath the moon at yellow river yellow river yellow river is in my mind and in my eyes yellow river yellow river is in my blood its the place i love",3
84,"somebodys been sleeping","100 proof aged in soul",1970,NA,NA
85,"vehicle","the ides of march",1970,"hey well im the friendly stranger in the black sedan wont you hop inside my car i got pictures got candy im a lovable man and i can take you to the nearest star im your vehicle baby ill take you anywhere you wanna go im your vehicle woman but now im sure you know that i love ya love ya i need ya need ya i want ya got to have you child great god in heaven you know i love you well if you wants to be a movie star ill get a ticket to a hollywood but if you wanna stay just luck you are you know i think you really should im your vehicle baby ill take you anywhere you wanna go im your vehicle woman but now im sure you know that i love ya love ya i need ya need ya i want ya got to have you child great god in heaven you know i love you oh you know i do well im the friendly stranger in the black sedan wont you hop inside my car i got pictures candy im a lovable man and i can take you to the nearest star im your vehicle baby ill take you anywhere you wanna go im your vehicle woman but now im sure you know that i love ya love ya i need ya need ya i want ya i got to have ya great god in heaven you know i love you and im your vehicle babe you know i love ya i need ya i want ya got to have you child great god in heaven you know i love you",3
86,"gimme dat ding","the pipkins",1970,"that̢s right that̢s right i̢m sad and blue ̢cause i can̢t do the boogaloo i̢m lost i̢m lost can̢t do my thing that̢s why i sing gimme gimme dat ding gimme dat gimme dat gimme gimme gimme dat gimme dat ding gimme dat gimme dat gimme gimme dat gimme gimme gimme dat ding oh sing it one more time mama oh gimme dat gimme dat gimme gimme gimme dat gimme dat ding gimme dat gimme gimme dat gimme dat ding gimme dat gimme gimme dat gimme gimme gimme dat ding ah you ain̢t doing̢ that late at night ah what good̢s a metronome without a bell for ringing how fast can anybody ever tell he swings how can you tell the rhythm written on a bar how can you ever hope to know just where you are gimme dat gimma dat gimme dat gimma dat gimme dat gimma dat gimme dat gimme gimme gimme gimme ah gotcha gimme dat gimme dat gimme gimme gimme dat gimme dat ding gimme dat gimme gimme dat gimme dat ding gimme dat gimme gimme dat gimme gimme gimme dat ding gimme dat gimme dat gimme gimme gimme dat gimme dat ding gimme dat gimme gimme dat gimme dat ding gimme dat gimme gimme dat gimme gimme gimme dat ding ah what good̢s a metronome without a bell for ringing how fast can anybody ever tell he swings how can you tell the rhythm written on a bar how can you ever hope to know just where you are gimme dat gimma dat gimme dat gimma dat gimme dat gimma dat gimme dat gimme gimme gimme gimme gimme dat gimme dat gimme gimme gimme dat gimme dat ding gimme dat gimme gimme dat gimme dat ding gimme dat gimme gimme dat gimme gimme gimme dat ding that̢s right",3
87,"lay a little lovin on me","robin mcnamara",1970,"robin mcnamara miscellaneous lay a little lovin on me lay a little lovin on me robin mcnamara mcnamarabarrycretecos super hits of the 70s vol 2 cant you see that i am all for your love now now  cant you see cant you see how much i need some more love baby cant you see cant you see ever since we kissed that night ever since i held you tight i just dont want nobody else so put your lips on mine leave them there til the morning time lord dont leave me by myself lay a little lovin on me lay a little lovin on me honey doggone it i depend upon it so lay a little lovin on me youre gonna want me babe lay a little lovin on me lay a little lovin on me honey doggone it i depend upon it so lay a little lovin on me everyday is not enough of your love everyday i need the day and every nighttime too everyday everyday dont you know what ive got inside a love thats been denied a love thats growing day by day youre such a pretty child youre about to drive me wild come on babe now what you say lay a little lovin on me lay a little lovin on me honey doggone it i depend upon it so lay a little lovin on me lay a little lovin on me lay a little lovin on me youre gonna want me babe so lay a little lovin on me honey doggone it i depend upon it so lay a little lovin on me honey i want you baby i need you i love you i love you lay a little lovin on me lay a little lovin on me honey doggone it i depend upon it so lay a little lovin on me lay a little lovin on me lay a little lovin on me youre gonna want me babe so lay a little lovin on me honey doggone it i depend upon it so lay a little lovin on me delfi4110aolcom",3
88,"up the ladder to the roof","the supremes",1970," come with me and we shall run across the sky and illuminate the nightohhh i will try and guide you to better times and brighter days dont be afraidcome up the ladder to the roof where we can see heaven much better come up the ladder to the roof where we can be where we can be mmm where we can becloser to heaven to heavenstaystay with me and we shall let expression singcant you hear em ring ooh memories of yesterday yesterdays broken dreams dont you know theyll all fade away if youll comeup the ladder to the roof where we can see heaven much better come up the ladder to the roof where we can be mary where we can be cindy where we can be aahh closer to heavenwell laugh and i tell you the story of lovehow it isand the happiness in it baby well combine our thoughts and together well travel the roads to the fountain of loveliness i will never ever ever leave you leave you alone to wonder as we go on our love it will grow much stronger and stronger dont you wanna go up the ladder to the roof where we can see heaven much better up the ladder where we can be closer to heavenaah up the up theooh hoo up the up theooh come on and walk come on and talk come on and sing about love and understanding ",1
89,"travelin band","creedence clearwater revival",1970," seven thirty seven comin out of the sky oh wont you take me down to memphis on a midnight ride i wanna moveplayin in a travelin band yeah well im flyin cross the land tryin to get a hand playin in a travelin bandtake me to the hotel baggage gone oh well come on come on wont you get me to my room i wanna moveplayin in a travelin band yeah well im flyin cross the land tryin to get a hand playin in a travelin bandlisten to the radio talkin bout the last show someone got excited had to call the state militia wanna moveplayin in a travelin band yeah well im flyin cross the land tryin to get a hand playin in a travelin band oh wowhere we come again on a saturday night oh with your fussin and a fightin wont you get me to the rhyme i wanna moveplayin in a travelin band yeah well im flyin cross the land tryin to get a hand playin in a travelin band oh wowoh im playin in a travelin band playin in a travelin band wont you get me take my hand well im playin in a travelin band well im flyin cross the land tryin to get a hand playin in a travelin band oh wow hey ",1
90,"come saturday morning","the sandpipers",1970," come saturday morning im goin away with my friend well saturdayspend till the end of the day just i and my friend well travel for miles in our saturday smiles and then well move on but we will remember long after saturdays gonecome saturday morning come saturday morningcome saturday morning im goin away with my friend well saturdaylaugh more than half of the day just i and my friend my friend dressed up in our rings and our saturday things and then well move on but we will remember long after saturdays gonecome saturday morning come saturday morningcome saturday morning just i and my friend saturday my friend well travel for miles in our saturday smiles and then well move on but we will remember long after saturdays gonecome saturday morning come saturday morning come saturday morning come saturday morningcome saturday morning come saturday morning come saturday morning come saturday morningcome saturday morning come saturday morning come saturday morning come saturday morning  ",1
91,"psychedelic shack","the temptations",1970,"psychedelic shack thats where its at psychedelic shack thats where its at psychedelic shack thats where its at psychedelic shack thats where its at people let me tell you about a place i know to get in it dont take much dough where you can really do your thing oh yeah its got a neon sign outside that says come in and take a look at your mind youd be surprised what you might find yeah strobe lights flashin way till after sundown people gather there from all parts of town oh yeah what do i call it you know its just across the track people im talking about the psychedelic shack psychedelic shack thats where its at psychedelic shack thats where its at psychedelic shack thats where its at oh yeah you can have your fortune told you can learn the meaning of soul there aint no such thing as time incense in the air in signs painted everywhere i guarantee you this place will blow your mind music so high you cant get over it so low you cant get under it right around the corner just across the track people im talking about the psychedelic shack psychedelic shack thats where its at psychedelic shack thats where its at psychedelic shack thats where its at millionaires kings and queens go there to do their things you might see anybody there yeah bear skin rugs tails and beads dont really matter what you wear you can take off your shoes sit on the floor join in and be what you wanna be dont you know that its right around the corner oh yeah just across the track people im talking about the psychedelic shack psychedelic shack thats where its at psychedelic shack thats where its at psychedelic shack thats where its at they got a cat there shouting the blues talking about payin some dues people walking around reciting poetry screamin guitars and a thousand colored lights people im telling you this place is really out of sight you can have your fortune told you can learn the meaning of soul i guarantee this place will blow your mind dont you know its right around the corner oh yeah just across the track people im talking about the psychedelic shack",3
92,"without love there is nothing","tom jones",1970," i awakened this morning i was filled with despair all my dreams turned to ashes now they are gone as i looked at my life it was barren and so bare without love ive had nothing nothing at allwithout love ive had nothing without love i had nothing nothing at all i have conquered the world but one thing did i have without love i had nothing nothing at alli once had a sweetheart who loved only me there was nothing that she would not give no no i was blind to her goodness and i just could not see that a heart without love cannot livewithout love ive had nothing without love i had nothing nothing at all i have conquered the world but one thing did i have without love i had nothing nothing at all without love i had nothing nothing at all ",1
93,"are you ready","pacific gas  electric",1970,"theres rumors of war men dying and women crying if you breathe air youll die perhaps you wonder the reason why but wait dont you worry a new day is dawning well catch the sun and away well fly are you ready to sit by his throne are you ready not to be alone someones coming to take you home and if youre ready then hell carry you home are you ready are you ready people say that he wont come and i dont know what say you but if he should would you be the one ive got a little question id like to ask you are you ready to sit by his throne are you ready not to be alone someones coming to take you home and if youre ready then hell carry you home are you ready are you ready brothers and sisters i have many stumbling along to do their thing love is a song its better than any its better for music its easy to sing are you ready to sit by his throne are you ready not to be alone someones coming to take you home and if youre ready then hell carry you home are you ready to sit by his throne are you ready not to be alone someones coming to take you home and if youre ready then hell carry you home yes im ready are you ready yes im ready are you ready yes im ready ive got to know yeah yes im ready you sound real good yes im ready are you ready yes im ready gonna be sunshine again yes im ready and the flowers growing yes im ready children playing yes im ready gonna be alright yes im ready youve got to be ready yes im ready i know youre ready yes im ready say it loud one more time yes yes im ready oh yeah yes yes im ready",3
94,"woodstock","crosby stills nash  young",1970,"well i came upon a child of god he was walkin along the road and i asked him tell me where are you going this he told me said im going on down to yasgurs farm gonna join in a rock and roll band i gotto get back to the land and set my soul free we are stardust we are golden we are billion year old carbon and we got to get ourselves back to the garden well then can i walk beside you i have come to lose the smog and i feel myself a cog in somethin turnin and maybe its the time of year yes and maybe its the time of man and i dont know who i am but life is for learnin we are stardust we are golden we are billion year old carbon and we got to get ourselves back to the garden we are stardust we are golden we are billion year old carbon and we got to get ourselves back to the garden by the time we got to woodstock we were half a million strong and everywhere was a song and a celebration and i dreamed i saw the farmers just play his ridin shotgun in the sky turning into butterflies above our nation we are stardust we are golden we are caught in the devils bargain and we got to get ourselves back to the garden",3
95,"ill never fall in love again","dionne warwick",1970," what do you get when you fall in love a guy with a pin to burst your bubble thats what you get for all your trouble ill never fall in love again ill never fall in love againwhat do you get when you kiss a guy you get enough germs to catch pneumonia after you do hell never phone ya ill never fall in love again dontcha know that ill never fall in love againdont tell me what its all about cause ive been there and im glad im out out of those chains those chains that bind you that is why im here to remind youwhat do you get when you fall in love you only get lies and pain and sorrow so far at least until tomorrow ill never fall in love again no no ill never fall in love againahh out of those chains those chains that bind you that is why im here to remind youwhat do you get when you fall in love you only get lies and pain and sorrow so far at least until tomorrow ill never fall in love again dontcha know that ill never fall in love again ill never fall in love again ",1
96,"look what theyve done to my song ma","the new seekers",1970," look what theyve done to my song ma look what theyve done to my song well its the only thing that i could do half right and its turning out all wrong ma look what theyve done to my songwish i could find a good book to live in wish i could find a good book well if i could find a real good book id never have to come out and look at what theyve done to my songlook what theyve done to my brain ma look what theyve done to my brain well theyve cooked it like a chicken bone i think im half insane ma look what theyve done to my brainils ont changé ma chanson ma ils ont changé ma chanson cest la seule chose je peux faire estceque nest pas bon ma ils ont changé ma chansonlook what theyve done to my song ma look what theyve done to my song ma well theyve tied it up in a plastic bag then turned it upside down ma look what theyve done to my songla la la la la lawell its the only thing i could do half right and its turning out all wrong oh mama look what theyve done to my song oh mama look what theyve done to my song ma look what theyve done to my songwell its the only thing i could do all right and its turning out all wrong oh mama look what theyve done to my song ",1
97,"walk a mile in my shoes","joe south",1970," if i could be you and you could be me for just one hour if we could find a way to get inside each others mind mmm if you could see you through your eyes instead of your ego i believe youd be surprised to see that youd been blind mmmwalk a mile in my shoes walk a mile in my shoes hey before you abuse criticize and accuse walk a mile in my shoesnow your whole world you see around you is just a reflection and the law of karma says youre gonna reap just what you sow yes you will so unless youve lived a life of total perfection youd better be careful of every stone that you should throw yeahand yet we spend the day throwing stones at one another cause i dont think or wear my hair the same way you do mmm well i may be common people but im your brother and when you strike out and try to hurt me its ahurtin you lord have mercywalk a mile in my shoes walk a mile in my shoes hey before you abuse criticize and accuse walk a mile in my shoesthere are people on reservations and out in the ghettos and brother there but for the grace of god go you and i yeah yeah if i only had the wings of a little angel dont you know id fly to the top of the mountain and then id crywalk a mile in my shoes walk a mile in my shoes hey before you abuse criticize and accuse better walk a mile in my shoeswalk a mile in my shoes walk a mile in my shoes uh before you abuse criticize and accuse walk a mile in my shoes yeahwalk a mile in my shoes ",1
98,"the thrill is gone","bb king",1970," the thrill is gone the thrill is gone away the thrill is gone baby the thrill is gone away you know you done me wrong baby and youll be sorry somedaythe thrill is gone its gone away from me the thrill is gone baby the thrill is gone away from me although ill still live on but so lonely ill bethe thrill is gone its gone away for good all the thrill is gone baby its gone away for good someday i know ill be openarmed baby just like i know i know i shouldyou know im free free now baby im free from your spell oh free free free now baby im free from your spell and now that its all over all that i can do is wish you well ",1
99,"its only make believe","glen campbell",1970," people see us everywhere they all think you really care but myself i cant deceive i know its only make believe my one and only prayer is that some day youll care my hopes my dreams come true my one and only youno one will ever know how much i love you so my only prayer will be some day youll care for me but its only make believe my hopes my dreams come true my life i give for you my heart or wedding ring my all my everythingmy heart i cant control you lure my very soul my plans my hopes my schemes you are my every dream but its only make believe my one and only prayer is that some day youll care my hopes my dreams come true my one and only youno one will ever know just how much i love you so my only prayer will be that some day youll care for me but its only make believe ",1
100,"call me","aretha franklin",1970," i love you and i love you and i love you too baby will you call me the moment you get there hey baby i love you and i love you too and i love you baby will you call me the moment you get there yeah yeah babymy dearest my dearest of all darlings i know i know i know i know weve got to part baby baby baby baby baby it really doesnt hurt me that bad yeah because you are taking me with you and im keeping you right here in my armsits all because i love you ooh hoo and i love you and i love you too baby will you call me the moment you get there baby will you do that will you do that for me now oh call me call me the hour call me the minute second that you get there oh call me call me call me call me call me call me baby baby call me the hour call me the moment you get there dont forget about me baby i love you baby call me the moment you get there call me baby call me the hour call me the minute the moment the second yeah call me baby call me the minute the second the moment the hour dont forget dont forget dont forget about me baby ",1
1,"joy to the world","three dog night",1971," jeremiah was a bullfrog was a good friend of mine i never understood a single word he said but i helped him adrink his wine and he always had some mighty fine winesingin joy to the world all the boys and girls now joy to the fishes in the deep blue sea joy to you and meif i were the king of the world tell you what id do id throw away the cars and the bars and the war make sweet love to yousing it now joy to the world all the boys and girls joy to the fishes in the deep blue sea joy to you and meyou know i love the ladies love to have my fun im a high life flyer and a rainbow rider a straight shootin sonofagun i said a straight shootin sonofagunjoy to the world all the boys and girls joy to the fishes in the deep blue sea joy to you and mejoy to the world all the boys and girls joy to the world joy to you and mejoy to the world all the boys and girls joy to the fishes in the deep blue sea joy to you and mejoy to the world joy to you and me joy to the world all the boys and girls now joy to the fishes in the deep blue sea joy to you and mejoy to the world all the boys and girls joy to the fishes in the deep blue sea joy to you and mejoy to the world all the boys and girls ",1
2,"maggie mayreason to believe","rod stewart",1971,NA,NA
3,"its too latei feel the earth move","carole king",1971,NA,NA
4,"one bad apple","the osmonds",1971,"i can tell youve been hurt by that look on your face girl some guy brought sad into your happy world you need love but youre afraid that if you give in someone else will come along and sock it to you again one bad apple dont spoil the whole bunch girl oh give it one more try before you give up on love one bad apple dont spoil the whole bunch girl oh i dont care what they say i dont care what you heard i could make you happy baby satisfy you too but how can i if you wont give me a chance to prove my love to you wont you just give me one chance ill give you my guarantee that you wont be hurt again one bad apple dont spoil the whole bunch girl oh give it one more try before you give up on love one bad apple dont spoil the whole bunch girl oh i dont care what they say i dont care what you heard now ive been noticing you baby for a long long time im not ashamed to tell the world that you really messed up my mind girl to me youre like a dream come true id rather hurt myself than to ever hurt you one bad apple dont spoil the whole bunch girl oh give it one more try before you give up on love girl one bad apple dont spoil the whole bunch girl oh i dont care what they say i dont care what you heard now one bad apple dont spoil the whole bunch girl oh give it one more try before you give up on love girl one bad apple dont spoil the whole bunch girl oh now i dont care what they say i dont care what you heard",3
5,"how can you mend a broken heart","bee gees",1971," i can think of younger days when living for my life was everything a man could want to do i could never see tomorrowbut i was never told about the sorrow how can you mend a broken heart how can you stop the rain from falling down how can you stop the sun from shiningwhat makes the world go round how can you mend this broken man how can a loser ever win please help me mend my broken heartand let me live again i can still feel the breeze that rustles through the trees and misty memories of days gone bywe could never see tomorrow but no one said a word about the sorrow how can you mend a broken heart how can you stop the rain from falling downhow can you stop the sun from shining what makes the world go roundand how can you mend this broken man how can a loser ever win please help me mend my broken heart and let me live againla la la la la la la la la la la la la la la la la la la laplease help me mend my broken heart and let me live againda da da da da da da da da da da da da da ",1
6,"indian reservation the lament of the cherokee reservation indian","paul revere  the raiders",1971,NA,NA
7,"go away little girl","donny osmond",1971," oh once upon a lookingfordonnatime there was a sixteen year old virgin oh donna oh oh donna oh oh oh looking for my donna i just got back from looking for donna san francisco psychedelic urchin oh donna oh oh donna oh oh oh looking for my donna have you seen my sixteen year old tattooed woman heard a story she got busted for her beauty oh oh oh oh oh once upon a lookingfordonnatime there was a sixteen year old virgin oh donna oh oh donna oh oh oh looking for my donna ive been to india and saw the yogi light lie in south america the indian smoke glows bright im reincarnated and so are we all and in this lifetime well rise before we fall before we fall once upon a lookingfordonnatime there was a sixteen year old virgin oh donna oh oh donna oh oh oh looking for my donna and im going to show her life on earth can be sweet gonna lay my mutated head self at her feet and im gonna love her make love to her till the sky turns brown im evolving im evolving through the drugs that you put down once upon a lookingfordonnatime there was a sixteen year old virgin oh donna oh oh donna oh oh oh looking for my donna looking for my donna donna ",1
8,"take me home country roads","john denver",1971," almost heaven west virginia blue ridge mountains shenandoah river life is old there older than the trees younger than the mountains growin like a breezecountry roads take me home to the place i belong west virginia mountain momma take me home country roadsall my memories gathered round her miners lady stranger to blue water dark and dusty painted on the sky misty taste of moonshine teardrops in my eyescountry roads take me home to the place i belong west virginia mountain momma take me home country roadsi hear her voice in the mornin hour she calls me the radio reminds me of my home far away and drivin down the road i get a feeling that i should have been home yesterday yesterdaycountry roads take me home to the place i belong west virginia mountain momma take me home country roadscountry roads take me home to the place i belong west virginia mountain momma take me home country roads take me home country roads take me home country roads ",1
9,"just my imagination running away with me","the temptations",1971,"each day through my window i watch her as she passes by i say to myself youre such a lucky guy to have a girl like her is truly a dream come true out of all the fellas in the world she belongs to me but it was just my imagination runnin away with me it was just my imagination runnin away with me soon soon well be married and raise a family a cozy little home out in the country with two children maybe three i tell you i can visualize it all this couldnt be a dream for too real it all seems but it was just my imagination once again runnin away with me i tell you it was just my imagination runnin away with me every night on my knees i pray dear lord hear my plea dont ever let another take her love from me or i will surely die her love is heavenly when her arms enfold me i hear a tender rhapsody but in reality she doesnt even know me just my imagination once again runnin away with me i tell you it was just my imagination runnin away with me i never met her but i cant forget her just my imagination runnin away with me just my imagination runnin away with me",3
10,"knock three times","tony orlando and dawn",1971,"hey girl what ya doin down there dancin alone every night while i live right above you i can hear your music playin i can feel your body swayin one floor below me you dont even know me i love you oh my darling knock three times on the ceiling if you want me twice on the pipe if the answer is no oh my sweetness means youll meet me in the hallway twice on the pipe means you aint gonna show if you look out your window tonight pull in the string with the note thats attached to my heart read how many times i saw you how in my silence i adored you and only in my dreams did that wall between us come apart oh my darling knock three times on the ceiling if you want me twice on the pipe if the answer is no oh my sweetness means youll meet me in the hallway twice on the pipe means you aint gonna show read how many times i saw you how in my silence i adored you and only in my dreams did that wall between us come apart oh my darling knock three times on the ceiling if you want me twice on the pipe if the answer is no oh my sweetness means youll meet me in the hallway twice on the pipe means you aint gonna show",3
11,"me and bobby mcgee","janis joplin",1971," busted flat in baton rouge waitin for a train and is feelin near as faded as my jeans bobby thumbed a diesel down just before it rained it rode us all the way to new orleansi pulled my harpoon out of my dirty red bandanna i was playin soft while bobby sang the blues yeah windshield wipers slappin time i was holdin bobbys hand in mine we sang every song that driver knewfreedoms just another word for nothin left to lose nothin dont mean nothin hon if it aint free no no and feelin good was easy lord when he sang the blues you know feelin good was good enough for me good enough for me and my bobby mcgheefrom the kentucky coal mine to the california sun there bobby shared the secrets of my soul through all kinds of weather through everything we done yeah bobby baby kept me from the coldone day up near salinas lord i let him slip away hes lookin for that home and i hope he finds it but id trade all of my tomorrows for a single yesterday to be holdin bobbys body next to minefreedoms just another word for nothin left to lose nothin thats all that bobby left me yeah but feelin good was easy lord when he sang the blues hey feelin good was good enough for me mmhmm good enough for me and my bobby mcgheela da da la da da da la da da da da da da da la da da da da da da da bobby mcghee yeahla da da da da da da la da da da da da da la da da da da da da bobby mcghee yeahla da la la da da la da da la da da la da da da da da da da da hey my bobby oh my bobby mcghee yeahla la la la la la la la la la la la la la la la la la la la la la la hey my bobby oh my bobby mcghee yeahwell i call him my lover call him my man i said i call him my lover did the best i can cmon hey now bobby now hey now bobby mcghee yeahwoo la da la da la da la da la da la da la da la la hey hey hey bobby mcghee yeah la da la da la da la da la da la da la da la hey hey hey bobby mcghee yeah ",1
12,"tired of being alone","al green",1971," im so tired of being alone im so tired of on my own wont you help me girl just as soon as you can people say that ive found a way to make you say that you love me but baby you didnt go for that ha its a natural fact that i want to come back show me where its at babyim so tired of being alone im so tired of on my own wont you help me girl soon as you can i guess you know that i uh i love you so even though you dont want me no more hey hey hey hey im cryin tears through the years i tell you like it is honey love me if you canya baby tired of being alone here by myself now i tell ya im tired baby im tired of being all wrapped up late at night in my dreams nobody but you baby sometimes i wonder if you love me like you say you do you see baby i i i ive been thinking about you ive been wanting to get next to you baby sometimes i hold my arms and i say oh baby yeah needing you has proven to me to be my greatest dream yeahawh ",1
13,"want ads","honey cone",1971,"wanted young man single and free experience in love preferred but will accept a young trainee oh im gonna put it in the want ads i need a love thats true gonna put it in the want ads my man and i are through at home i find myself lost and all alone my man is playing the field the thrill is gone he stays out all night says hes with the boys but lipstick on his collar perfume on it too tells me hes been lying tell ya what im gonna do im gonna put it in the want ads this girls in misery gonna put it in the want ads somebody rescue me i spend my nights alone cryin bitter tears although i cry aloud nobody really hears and when i need him most hes never by my side hes either playing cards or drinking at the bar he thinks that im a fool im going to the evening news gonna put it in the want ads i need somebody new gonna put it in the want ads my man and i are through extra extra read all about it wanted young man single and free experience in love preferred but will accept a young trainee extra extra read all about it wanted young man single and free experience in love preferred but will accept a young trainee oh im gonna put it in the want ads i need somebody new gonna put it in the want ads my man and i are through gonna put it in the want ads this girls in misery gonna put it in the want ads please somebody rescue me lipstick on his collar perfume on it too tells me hes been lying im going to the evening news gonna put it in the want ads i need somebody new gonna put it in the want ads my man and i are through gonna put it in the want ads this girls in misery gonna put it in the want ads please somebody rescue me",3
14,"smiling faces sometimes","the undisputed truth",1971," smiling faces sometimes pretend to be your friend smiling faces show no traces of the evil that lurks within smiling faces smiling faces sometimes they dont tell the truth uh smiling faces smiling faces tell lies and i got proofthe truth is in the eyes cause the eyes dont lie amen remember a smile is just a frown turned upside down my friend let me tell you smiling faces smiling faces sometimes they dont tell the truth uh smiling faces smiling faces tell lies and i got proof beware beware of the handshake that hides the snake im telling you beware beware of the pat on the back it just might hold you back jealousy jealousy misery misery envyi tell you you cant see behind smiling faces smiling faces sometimes they dont tell the truth smiling faces smiling faces tell lies and i got proofsmiling faces smiling faces sometimes they dont tell the truth smiling faces smiling faces tell lies and i got proof smiling faces smiling faces sometimes smiling faces smiling faces sometimes im telling you beware beware of the handshake that hides the snake listen to me now beware beware of that pat on the back it just might hold you back smiling faces smiling faces sometimes they dont tell the truth smiling faces smiling faces tell lies and i got proof ",1
15,"treat her like a lady","cornelius brothers  sister rose",1971,"all my friends had to ask me somethin they didnt understand how i get all the women in the palms of my hand now and i told them to treat her like a lady you got to got to treat her like um hum all the best you can do treat her like you got to got to treat her like you got to treat her like a lady she give into you ah hum now who can see you know what i mean i know you heard that a woman treat her right gotta treat her right will soon take advantage of you treat her right gotta treat her right let me tell you my friend treat her right gotta treat her right there just aint no substitute treat her right gotta treat her right you oughta a treat her like a lady you gotta gotta treat her like um hum all the best you can do treat her like you gotta gotta treat her like you gotta treat her like a lady she give into you ah hum now who can see you know what i mean oh youve got to love her tease her love her tease her but most of all youve gotta please her please her youve gotta hold her now an want her hold her want her and make her feel youll always need her need her you know a woman is sentimental woman woman and so easy to upset woman woman so make her feel feel that shes for real real an she give you happiness whoa oh oh strange as it seems treat her like you gotta treat her like you know you cant a woman mean treat her like gotta treat her like so my friends now there you have it i said its the easy simple way now if you fail uh ta do this dont blame her if she looks my way cause im gonna a a treat her like a lady you gotta gotta treat her like um hum so affectionately treat her like you gotta gotta treat her like im gonna treat her like a lady she give into me uh huh now who can see you know what i mean oh you gotta a treat her like a lady you gotta gotta treat her like um hum all the best you can do you gotta gotta treat her like you gotta treat her like a lady she give into you",3
16,"youve got a friend","james taylor",1971," when youre down and troubled and you need a helping hand and nothing nothing is going right close your eyes and think of me and soon i will be there to brighten up even your darkest nightyou just call out my name and you know wherever i am ill come running oh yeah baby to see you again winter spring summer or fall all youve got to do is call and ill be there ye ye ye youve got a friendif the sky above you should turn dark and full of clouds and that old north wind should begin to blow keep you head together and call my name out loud now soon youll hear me knocking at you dooryou just call out my name and you know wherever i am ill come running oh yes i will to see you again winter spring summer or fall ye all you have to do is call and ill be there ye ye yeahaint it good to know that youve got a friend when people can be so cold theyll hurt you and desert you and take your soul if you let them oh yeah dont you let em nowyou just call out my name and you know wherever i am ill come running to see you again oh baby dont you know winter spring summer or fall hey now all you have to do is call and ill be there yes i will youve got a friend youve got a friend yeahaint it good to know youve got a friend aint it good to know youve got a friendoh ye yeah youve got a friend ",1
17,"mr big stuff","jean knight",1971," oh yeah ooh mr big stuff who do you think you are mr big stuff youre never gonna get my lovenow because you wear all those fancy clothes oh yeah and have a big fine car oh yes you do now do you think i can afford to give you my love oh yeah you think youre higher than every star abovemr big stuff who do you think you are mr big stuff youre never gonna get my lovenow i know all the girls ive seen you with i know you broke their hearts one after another now bit by bit song text taken from stlyricscom you made em cry many poor girls cry when they try to keep you happy they just try to keep you satisfiedmr big stuff tell me tell me who do you think you are mr big stuff youre never gonna get my loveid rather give my love to a poor guy that has a love thats true oh yeah than to be fooled around and get hurt by you cause when i give my love i want love in return oh yeah now i know this is a lesson mr big stuff you havent learnedmr big stuff tell me who do you think you are mr big stuff youre never gonna get my lovemr big stuff youre never gonna break my heart mr big stuff youre never gonna make me crymr big stuff tell me just who do you think you are mr big stuff youre never gonna get my love mr big stuff ",1
18,"brown sugar","the rolling stones",1971,"gold coast slave ship bound for cotton fields sold in a market down in new orleans scarred old slaver know hes doin alright hear him whip the women just around midnight brown sugar how come you taste so good brown sugar just like a young girl should drums beating cold english blood runs hot lady of the house wonderin where its gonna stop house boy knows that hes doin alright you should a heard him just around midnight brown sugar how come you taste so good brown sugar just like a young girl should brown sugar how come you taste so good brown sugar just like a black girl should i bet your mama was a tent show queen and all her boyfriends were sweet sixteen im no school boy but i know what i like you should have heard me just around midnight brown sugar how come you taste so good brown sugar just like a young girl should i said yeah i said yeah i said yeah i said oh just like a black girl should",3
19,"do you know what i mean","lee michaels",1971," been forty days since i dont know when i just saw her with my best friend do you know what i mean do you know know what i meani just saw her yesterday i just saw her asked her to stay do you know what i mean lord do you know what i meanher and bobby were steppin out her and bobby didnt know i found out do you know what i mean do you know know what i meanso i asked her if she still cared she didnt hear me she just stared do you know what i mean lord do you know what i meanand then she said lee you havent loved me in nearly four years you havent noticed that i held back my tears and now you have but its really too late better find yourself another girl better find another girl better find uh another placeshe just left me yesterday she just left me had nothing to say do you know what i mean oh do you know what i meanshes a dandy yes indeed shes a dandy but now shes free do you know what i mean lord do you know what i meanbeen forty days since i dont know when i just saw her with my best friend do you know what i mean lord do you know what i meani just saw her yesterday i just saw her learn how to stay do you know what i mean lord do you know what i meanyeah here comes it nowhoooo help me ",1
20,"the night they drove old dixie down","joan baez",1971," virgil caine is my name and i drove on the danville train till so much cavalry came and tore up the tracks again in the winter of 65 we were hungry just barely alive i took the train to richmond that fell it was a time i remember oh so wellthe night they drove old dixie down and all the bells were ringin the night they drove old dixie down and all the people were singin they went na na naback with my wife in tennessee and one day she said to me virgil quick come see there goes robert e lee now i dont mind im chopping wood and i dont care if the moneys no good just take what you need and leave the rest but they should never have taken the very bestthe night they drove old dixie down and all the bells were ringin the night they drove old dixie down and all the people were singin they went na na nalike my father before me im a working man and like my brother before me i took a rebel stand but he was just 18 proud and brave but a yankee laid him in his grave i swear by the blood below my feet you cant raise a caine back up when hes in defeatthe night they drove old dixie down and all the bells were ringin the night they drove old dixie down and all the people were singin they went na na na ",1
21,"whats going on","marvin gaye",1971," mother mother theres too many of you crying brother brother brother theres far too many of you dying you know weve got to find a way to bring some lovin here today ehehfather father we dont need to escalate you see war is not the answer for only love can conquer hate you know weve got to find a way to bring some lovin here today oh oh ohpicket lines and picket signs dont punish me with brutality talk to me so you can see oh whats going on whats going on yeah whats going on ah whats going onin the mean time right on baby right on brother right on babemother mother everybody thinks were wrong oh but who are they to judge us simply cause our hair is long oh you know weve got to find a way to bring some understanding here today oh oh ohpicket lines and picket signs dont punish me with brutality cmon talk to me so you can see whats going on yeah whats going on tell me whats going on ill tell you whats going on ooh ooo ooo ooo right on baby right on baby ",1
22,"uncle albertadmiral halsey","paul  linda mccartney",1971,"were so sorry uncle albert were so sorry if we caused you any pain were so sorry uncle albert but theres no one left at home and i believe im gonna rain were so sorry but we havent heard a thing all day were so sorry uncle albert but if anything should happen well be sure to give a ring were so sorry uncle albert but we havent done a bloody thing all day were so sorry uncle albert but the kettles on the boil and were so easily called away hands across the water water heads across the sky hands across the water water heads across the sky admiral halsey notified me he had to have a berth or he couldnt get to sea i had another look and i had a cup of tea and butter pie butter piethe butter wouldnt melt so i put it in the pie hands across the water water heads across the sky hands across the water water heads across the sky live a little be a gypsy get aroundget around get your feet up off the ground live a little get around live a little be a gypsy get aroundget around get your feet up off the ground live a little get around hands across the water water heads across the sky hand across the water water heads across the sky",5
23,"aint no sunshine","bill withers",1971," aint no sunshine when shes gone its not warm when shes away aint no sunshine when shes gone and shes always gone too long anytime she goes awaywonder this time where shes gone wonder if shes gone to stay aint no sunshine when shes gone and this house just aint no home anytime she goes awayand i know i know i know i know i know i know i know i know i know i know i know i know i know i know i know i know i know i know i know i know i know i know i know i know i know i know hey i oughtta leave young thing alone but aint no sunshine when shes goneaint no sunshine when shes gone only darkness every day aint no sunshine when shes gone and this house just aint no home anytime she goes away anytime she goes away anytime she goes away anytime she goes away ",1
24,"signs","five man electrical band",1971," and the sign said longhaired freaky people need not apply so i tucked my hair up under my hat and i went in to ask him why he said you look like a fine upstanding young man i think youll do so i took off my hat i said imagine that huh me workin for you whoa oh ohsign sign everywhere a sign blockin out the scenery breakin my mind do this dont do that cant you read the signand the sign said anybody caught trespassin would be shot on sight so i jumped on the fence anda yelled at the house hey what gives you the right to put up a fence to keep me out or to keep mother nature in if god was here hed tell you to your face man youre some kinda sinnersign sign everywhere a sign blockin out the scenery breakin my mind do this dont do that cant you read the signnow hey you mister cant you read youve got to have a shirt and tie to get a seat you cant even watch no you cant eat you aint supposed to be here the sign said you got to have a membership card to get inside ughand the sign said everybody welcome come in kneel down and pray but when they passed around the plate at the end of it all i didnt have a penny to pay so i got me a pen and a paper and i made up my own little sign i said thank you lord for thinkin bout me im alive and doin fine woosign sign everywhere a sign blockin out the scenery breakin my mind do this dont do that cant you read the signsign sign everywhere a sign sign sign sign ",1
25,"shes a lady","tom jones",1971," well shes all youd ever want shes the kind i like to flaunt and take to dinner but she always knows her place shes got style shes got grace shes a winner shes a lady oh whoa whoa shes a lady talkin about that little lady and the lady is minewell shes never in the way always something nice to say and what a blessin i can leave her on her own knowin shes okay alone and theres no messin shes a lady oh whoa whoa shes a lady talkin about that little lady and the lady is minewell she never asks very much and i dont refuse her always treat her with respect i never would abuse her what shes got is hard to find and i dont want to lose her help me build a mountain from a little pile of clay hey hey heywell she knows what im about she can take what i dish out and thats not easy but she knows me through and through and she knows just what to do and how to please me shes a lady oh whoa whoa shes a lady talkin about that little lady and the lady is mine yeah yeah yeah shes a lady oh whoa whoa shes a lady listen to me people shes a lady yeah yeah yeah yeah shes a lady whoa whoa whoa shes a lady talkin about the little lady whoa whoa whoa whoa whoa whoa whoa whoa whoa whoa shes a lady yeah yeah yeah shes a lady whoa whoa lord shes a lady i cant live without that shes a lady ooh ooh shes a lady ",1
26,"superstar","murray head  the trindad singers",1971,NA,NA
27,"ive found someone of my own","the free movement",1971,NA,NA
28,"amos moses","jerry reed",1971," now amos moses was a cajun he lived by his self in the swamp he hunted alligator for livin he just knocked em in the head with a stumplouisiana law gonna get you amos it aint legal huntin alligators down in the swamp boy now everybody blamed his old man for makin him mean as a snakewhen amos moses was a boy his daddyd use him for alligator bait tie a rope around his neck and throw him in the swamp alligator bait in the louisiana bayouabout fortyfive minutes south of thibodaux louisiana lived a cat named doc milsap his pretty wife hanna well they raised up a son that could eat up his weight in groceries named him after a man of the cloth called him amos moseseverybody in south louisiana said amos was a helluva man he could trap the biggest and meanest alligator and just use one hand thats all he got left cause a alligator bit it left arm gone clean up to the elbowwell the sheriff caught wind of amos in the swamp trappin alligator skins that sheriff went lookin for amos boy you know he never come out againi wonder where the louisiana sheriff went to you can sure get lost in the louisiana bayouabout fortyfive minutes south of thibodaux louisiana lived a cat named doc milsap his pretty wife hanna well they raised up a son that could eat up his weight in groceries named him after a man of the cloth called him amos mosesabout fortyfive minutes south of thibadoux louisiana lived a cat named doc milsap and his pretty wife hanna well they raised up a son that could eat up his weight in groceries named him after a man of the cloth called him amos moses so ",1
29,"temptation eyes","the grass roots",1971,"shes got something that moves my soul and she knows id love to love her but she lets me down every time cant make her mine shes no ones lover tonight with me shell be so inviting i want her all for myself oh temptation eyes looking through my my my soul with temptation eyes youve got to love me got to love me tonight got to love me baby yeah her wild eyed innocence is just a game but just the same my head is spinnin shes got a way to keep me on her side its just a ride its never ending tonight with me shell be so exciting i want her all for myself cause temptation eyes looking through my my my soul well temptation eyes youve got to love me got to love me tonight want to feel her now tonight with me shell be so exciting i want her all for myself cause temptation eyes looking through my my my soul with temptation eyes youve got to love me got to love me tonight temptation eyes looking through my my my soul temptation eyes come on and love me love me tonight temptation eyes looking through my my my soul",3
30,"superstar","the carpenters",1971," long ago and oh so far away i fell in love with you before the second show your guitar it sounds so sweet and clear but youre not really here its just the radiodont you remember you told me you loved me baby you said youd be coming back this way again baby baby baby baby baby oh baby i love you i really doloneliness is such a sad affair and i can hardly wait to be with you again what to say to make you come again come back to me again and play your sad guitardont you remember you told me you loved me baby you said youd be coming back this way again baby baby baby baby baby oh baby i love you i really do ",1
31,"my sweet lord","george harrison",1971," my sweet lord oh my lord my sweet lord my sweet lordi really wanna be with you i like to see you lord oh it takes so longmy sweet lord oh my lord my sweet lordi really wanna know you id like to go with you i wanna show you lord that it wont take long my lord hallelujahmy sweet lord hallelujah my sweet lord hallelujah my sweet lord hallelujahi really wanna know you i really wanna see you id like to see you lord i wanna see you lord it takes so long my lord hallelujahmy sweet lord hallelujah oh my sweet lord hallelujah my sweet lord hallelujah    meaning  byamandah   editor    my sweet lord released in 1970 was the first song to hit no1 by an exbeatle    see all   i really wanna know you hallelujah id like to go with you hallelujahid like to show you lord hallelujah and it wont take long my lord hallelujahmy my my lord hallelujah my sweet lord hallelujah ooh hoo hmm hallelujahhare krishna hare krishna krishna krishna hare harehare rama hare rama aah hallelujah hallelujahhallelujah my sweet lord hallelujah my sweet lordhare krishna my sweet lord hare krishna my my mykrishna krishna hey my sweet lord hare hare my sweet lordgurur brahma oh my lord gurur vishnu oh my sweet lordgurur devo my sweet lord maheshwara my sweet lordgurur sakshaat my sweet lord parabrahma oh my sweet lordtasmayi shree my my sweet lord guruve namah my sweet lordhare rama my sweet lordmy sweet lord ",1
32,"sweet and innocent","donny osmond",1971,"i love the little wiggle in your walk the way you cuddle on my shoulder but youre too young to know the score so come back when youre older cos youre too sweet and innocent but youre just oh too young for me yeah the way you hold me not too tight the tender way you kiss goodnight tells me youve got some growing up to do oh young and beautiful is the love oh you give to me yeah youre not hip so get with it girl go on home to your make believe world sweet and innocent   sweet youre too young and beautiful for me   young yeah yeah yeah yeah sweet and innocent but youre just oh too young for me yeah id like to kiss you and hold you tight so go on home girl or i just might youre too sweet and innocent   sweet youre too young and beautiful for me yeah   young youre so sweet sweet and innocent youre much too young girl   young and beautiful go on home sweet and innocent just leave me alone little girl   young and beautiful sweet sweet and innocent come back when youre older girl   young and beautiful youre so sweet sweet and innocent yeah yeah yeah yeah   young and beautiful go on home sweet and innocent",3
33,"put your hand in the hand","ocean",1971," put your hand in the hand of the man who stilled the waterput your hand in the hand of the man who calmed the sea take a look at yourself and a you can look at others differentlyby puttin your hand in the hand of the man froma galileeevery time i look into the holy book i want to tremble when i read about the part where a carpenter cleared the temple for the buyers and the sellers were no different fellas than what i profess to beand it causes me shame to know im not the gal that i should beput your hand in the handmama taught me how to pray before i reached the age of sevenand when im down on my knees thats a when im close to heaven daddy lived his life with two kids and a wife you do must you must do but he showed me enough of what it takes to get you through ",1
34,"chickaboom dont ya jes love it","daddy dewdrop",1971,NA,NA
35,"for all we know","the carpenters",1971," love look at the two of us strangers in many ways weve got a lifetime to share so much to say and as we go from day to day ill feel you close to me but time alone will tell lets take a lifetime to say i knew you well for only time will tell us so and love may grow for all we knowlove look at the two of us strangers in many ways lets take a lifetime to say i knew you well for only time will tell us so and love may grow for all we know ",1
36,"help me make it through the night","sammi smith",1971,"take the ribbon from my hair shake it loose and let it fall layin soft against your skin like the shadow on the wall come and lay down by my side till the early mornin light all im takin is your time help me make it through the night i dont care whats right or wrong and i wont try to understand let the devil take tomorrow lord tonight i need a friend yesterday is dead and gone and tomorrows out of sight and its sad to be alone help me make it through the night and its sad to be alone help me make it through the night i dont want to be alone help me make it through the night",3
37,"rainy days and mondays","the carpenters",1971," talkin to myself and feelin old sometimes id like to quit nothin ever seems to fit hangin around nothin to do but frown rainy days and mondays always get me downwhat ive got they used to call the blues nothin is really wrong feelin like i dont belong walkin around some kind of lonely clown rainy days and mondays always get me downfunny but it seems i always wind up here with you nice to know somebody loves me funny but it seems that its the only thing to do run and find the one who loves me the one who loves mewhat i feel has come and gone before no need to talk it out talk it out we know what its all about hangin around hangin around nothin to do but frown rainy days and mondays always get me downfunny but it seems that its the only thing to do only thing to do run and find the one who loves mewhat i feel has come and gone before no need to talk it out we know what its all about hangin around hangin around nothin to do but frown rainy days and mondays always get me down hangin around hangin around nothin to do but frown rainy days and mondays always get me down ",1
38,"if you could read my mind","gordon lightfoot",1971," if you could read my mind love what a tale my thoughts could tell just like an old time movie about a ghost from a wishing well in a castle dark or a fortress strong with chains upon my feet you know that ghost is me and i will never be set free as long as im a ghost you can seeif i could read your mind love what a tale your thoughts could tell just like a paperback novel the kind the drugstore sells when you reach the part where the heartaches come the hero would be me heroes often fail and you wont read that book again because the endings just to hard to takei walk away like a movie star who gets burned in a three way script enter number two a movie queen to play the scene of bringing all the good things out in me but for now love lets be reali never thought i could act this way and ive got to say that i just dont get it i dont know where we went wrong but the feelings gone and i just cant get it backif you could read my mind love what a tale my thoughts could tell just like an old time movie about a ghost from a wishing well in a castle dark or a fortress strong with chains upon my feet the story always ends and if you read between the lines youll know that im just trying to understand the feeling that you lefti never thought i could feel this way and ive got to say that i just dont get it i dont know where we went wrong but the feelings gone and i just cant get it back ",1
39,"gypsys tramps  thieves","cher",1971,"cher miscellaneous gypsys tramps  thieves i was born in the wagon of a travelin show my mama used to dance for the money theyd throw papa would do whatever he could preach a little gospel sell a couple bottles of doctor good gypsys tramps and thieves wed hear it from the people of the town theyd call us gypsys tramps and thieves but every night all the men would come around and lay their money down picked up a boy just south of mobile gave him a ride filled him with a hot meal i was sixteen he was twentyone rode with us to memphis and papa woulda shot him if he knew what hed done gypsys tramps and thieves wed hear it from the people of the town theyd call us gypsys tramps and thieves but every night all the men would come around and lay their money down i never had schoolin but he taught me well with his smooth southern style three months later im a girl in trouble and i havent seen him for a while oh no i havent seen him for a while she was born in the wagon of a travelin show her mama had to dance for the money theyd throw grandpad do whatever he could preach a little gospel sell a couple bottles of doctor good gypsys tramps and thieves wed hear it from the people of the town theyd call us gypsys tramps and thieves but every night all the men would come around and lay their money down gypsys tramps and thieves wed hear it from the people of the town theyd call us gypsys tramps and thieves but every night all the men would come around and lay their money down",3
40,"never can say goodbye","the jackson 5",1971,"the jackson 5 miscellaneous never can say goodbye never can say goodbye i never can say goodbye no no no no now i never can say goodbye even though the pain and heartache seems to follow me wherever i go though i try and try to hide my feelings they always seems to show then you try to say youre leaving me and i always have to say no tell me why is it so that i never can say goodbye no no no no now i never can say goodbye everytime i think ive had enough and start heading for the door theres a very strange vibration piercing me right through the core it says turn around you fool you know you love him more and more tell me why is it so dont wanna let go never can say goodbye boy oo oo baby never can say goodbye no no no no no oo oh i never can say goodbye boy oo oo i never can say goodbye no no no no no oo never can say goodbye no no no no now i never can say goodbye i keep thinking that our propblems soon are all gonna work out but theres that same unhappy feeling theres that anguish theres that doubt its the same old dizzy hangup cant do with you or without tell me why is it so dont wanna let you go",3
41,"rose garden","lynn anderson",1971," i beg your pardon i never promised you a rose garden along with the sunshine theres gotta be a little rain some time when you take you gotta give so live and let live or let go ohwhoawhoawhoa i beg your pardon i never promised you a rose gardeni could promise you things like big diamond rings but you dont find roses growin on stalks of clover so you better think it over well if sweettalkin you could make it come true i would give you the world right now on a silver platter but what would it matter so smile for a while and lets be jolly love shouldnt be so melancholy come along and share the good times while we cani beg your pardon i never promised you a rose garden along with the sunshine theres gotta be a little rain some timei beg your pardon i never promised you a rose gardeni could sing you a tune and promise you the moon but if thats what it takes to hold you id just as soon let you go but theres one thing i want you to know you better look before you leap still waters run deep and there wont always be someone there to pull you out and you know what im talkin about so smile for a while and lets be jolly love shouldnt be so melancholy come along and share the good times while we cani beg your pardon i never promised you a rose garden along with the sunshine theres gotta be a little rain some time i beg your pardon i never promised you a rose garden ",1
42,"dont pull your love","hamilton joe frank  reynolds",1971,"chorus dont pull your love out on me baby if you do then i think that maybe ill just lay me down cry for a hundred years dont pull your love out on me honey take my heart my soul my money but dont leave me here drowning in my tears you say youre gonna leave gonna take that big white bird gonna fly right out of here without a single word but you know youll break my heart when i watch you close that door cause i know i wont see you anymore chorus havent i been good to you what about that brand new ring doesnt that mean love to you doesnt that mean anything if i threw away my pride and i got down on my knees would you make me beg you pretty please chorus theres so much i wanna do ive got love enough for two and ill never use it girl if i dont have you chorus repeat and fade out",5
43,"it dont come easy","ringo starr",1971," it dont come easy you know it dont come easy it dont come easy you know it dont come easygot to pay your dues if you wanna sing the blues and you know it dont come easy you dont have to shout or leap about you can even play them easyopen up your heart lets come together use a little love and we will make it work out betteri dont ask for much i only want your trust and you know it dont come easy and this love of mine keeps growing all the time and you know it dont come easypeace remember peace is how we make it here within your reach if youre big enough to take itgot to pay your dues if you wanna sing the blues and you know it dont come easy you dont have to shout or leap about you can even play them easypeace remember peace is how we make it here within your reach if youre big enough to take iti dont ask for much i only want your trust and you know it dont come easy and this love of mine keeps growing all the time and you know it dont come easy ",1
44,"mr bojangles","nitty gritty dirt band",1971," NA ",1
45,"i love you for all seasons","the fuzz",1971,"the fuzz miscellaneous i love you for all seasons i love you for all seasons the fuzz i love you for so many reasons which means i love you for all seasons first of all i love you with the freshness of a spring day then i love you with hot passions like the summer sun when junes here to stay i dont know how to explain my loves seasonal change it seems never the sameall i know is i love you for so many reasons which means i love you for all seasons i love you with the gentleness of a falling leaf on an autumn day but most of all i love you with the briskness of a winter when the snows come out to stay i dont know how to explain my loves seasonal change it seems never the sameall i know is i love you for so many reasons which means i love you for all seasons autumn summer winter springtime i love you for so many reasons which means i love you for all seasons repeat to fade from jbaer10134aolcom",3
46,"whatcha see is whatcha get","the dramatics",1971," some people are made of plastic and you know some people are made of wood some people have hearts of stone some people are up to no goodbut baby im for real im as real as real can get if what youre looking for is real loving then what you see is what you getwhat you see is what you get what you see is what you get i said what you see is what you get now baby and the real thing is the best thing yetyou know some people are made of lies to bring you down and shame your name but baby i have good intentions ",1
47,"thats the way ive always heard it should be","carly simon",1971," my father sits at night with no lights on his cigarette glows in the dark the living room is still i walk by no remark i tiptoe past the master bedroom where my mother reads her magazines i hear her call sweet dreams but i forgot how to dreambut you say its time we moved in together and raised a family of our own you and me  well thats the way ive always heard it should be you want to marry me well marrymy friends from college theyre all married now they have their houses and their lawns they have their silent noons tearful nights angry dawns their children hate them for the things theyre not they hate themselves for what they are and yet they drink they laugh close the wound hide the scarbut you say its time we moved in together and raised a family of our own you and me  well thats the way ive always heard it should be you want to marry me well marryyou say we can keep our love alive babe  all i know is what i see  the couples cling and claw and drown in loves debris you say well soar like two birds through the clouds but soon youll cage me on your shelf  ill never learn to be just me first by myselfwell ok its time we moved in together and raised a family of our own you and me  well thats the way ive always heard it should be you want to marry me well marry well marry ",1
48,"if you really love me","stevie wonder",1971," and if you really love me wont you tell me yeah and if you really love me wont you tell me and if you really love me wont you tell me yeah then i wont have to be playing aroundyou call my name oh so sweet to make your kiss incomplete when your mood is clear you quickly change your ways then you say im untrue what am i supposed to do be a fool who sits alone waiting for youbut if you really love me wont you tell me yeah but if you really love me wont you tell me and if you really love me wont you tell me yeah then i wont have to be playing aroundi see the light of your smile calling me all the while you are saying baby its time to go first the feelings alright then its gone from sight so im taking out this time to sayoh if you really love me wont you tell me yeah oh if you really love me wont you tell me and if you really love me wont you tell me baby tell me then i wont have to be playing around no playing around nohey yeah goofin around no oh baby playing around no let me know how you feel baby hey oh baby playing around no ",1
49,"spanish harlem","aretha franklin",1971," lalala lalala lalalala lalala lalala lalalalatheres a rose in a lack and spanish harlem a rose in a lack and spanish harlemit is a special one its never seen the sun it only comes out when the moon is on the run and all the stars are gleaming its growing in the street right up through the concrete but soft sweet and dreamintheres a rose in a spanish harlem a rose in a lack and spanish harlemwith eyes as black as coal that look down in my soul and starts a fire there and then i lose control i have to beg your pardon yeah hes going to pick that rose and watch her as she grows in his gardentheres a rose in a spanish harlem a rose in a lack and spanish harlemwith eyes as black as coal that look down in my soul and starts a fire there and then i lose control i have to beg your pardon hes going to pick that rose and watch her as she grows in his gardenlalala lalala lalalala lalala lalala lalalala lalala lalala lalalala ",1
50,"i dont know how to love him","helen reddy",1971,"i dont know how to love him what to do how to move him ive been changed yes really changed in these past few days when ive seen myself i seem like someone else i dont know how to take this i dont see why he moved me hes a man he just a man and ive had so many men before in very many ways hes just one more should i bring him down should i scream and shout should i speak of love let my feeling out i never thought id come to this whats it all about dont you think its rather funny i should be in this position im the one whos always been so calm so cool no lovers fool running every show he scares me so yet if he said he loved me id be lost id be frightened i couldnt cope just couldnt cope id turn my head id back away i wouldnt want to know he scares me so i want him so i love him so",5
51,"yoyo","the osmonds",1971," woah ho ho woah ho ho just like a yoyo just like a yoyowoah ho ho woah ho ho just like a yoyo just like a yoyogirl its hard for me to see how you got such a hold on me first im up and then im down then my heart goes around and around round and roundwell ill bet you five dollars im the only fool who would climb up a string for you oh yeah and need i say i cant break away you control every little thing i doi used to be a swinger until you wrapped me round your fingeryeow just like a yo yo just like a yoyo just like a yoyo just like a yoyoturnin turnin love keeps on burnin like a fire in my heart when were apart but when were back together you keep changin like the weather whoops nowoh yeah like a yoyo just like a yoyo oh just like a yoyo just like a yoyohear what he said like a yoyo just like a yoyo ow yeah just like a yoyo just like a yoyooh where i go and what i do well it all just depends on you you build me up just to let me down but i dare not to make a soundcause im so afraid you will cast me away like a beat up worn out toy so i hold on tight with all my might just to be your lovin boy yeahno matter what they say or do im gonna bounce right back to you nowoh just like a yoyo just like a yoyo just like a yoyo just like a yoyoturnin turnin love keeps on burnin like a fire in my heart when were apart but when were back together you keep changin like the weather whoops nowoh yeah like a yoyo oh just like a yoyo oh yeahwoah ho ho woah ho ho just like a yoyo just like a yoyowoah ho ho woah ho ho just like a yoyo just like a yoyowoah ho ho woah ho ho just like a yoyo just like a yoyowoah ho ho woah ho ho just like a yoyo yeah just like a yoyo ",1
52,"bridge over troubled water","aretha franklin",1971," dont trouble the water i wont give it up why dont you why dont you let it be um hum still water run deep yes it do i know that whoa yeah yeah if you only believedont trouble the water said i wouldnt give it up why dont you why dont you let it be umm still water run deep yes it do yes it do whoa oh ho yeah if you only believewhen youre down and out when youre on the street when evenin falls somehow i will comfort youill take the bow whoa when darkness comes and incomprehensible your love around just like a bridge over troubled water i will lay me down like a bridge just like a bridge over troubled over troubled water i will lay me downsail on silver moon sail on by your time has come to shine all of your dreams are on their way see how they shineooh and if you ever need a friend need a friend look around and sailing by just like a bridge over troubled water ill be there to lay me down like a bridge like a bridge over troubled water troubled water i will lay me down ooh ill be your bridge yes i willdont trouble the water said i wouldnt give it up well why dont you why dont you let it be uh huh still water run deep i know that yes it do yeah oh yeahstill the water dont trouble the water yeah give it up why dont you why dont you let it be talkin bout still water still water run deep you know they run deep yes it do uh huh oh yeahwell im gonna be your bridge yeah dont trouble the water the troubled water give it up oh why dont you why dont you let it be come on come on walk out on me still water run deep oh yes it do ",1
53,"doesnt somebody want to be wanted","the partridge family",1971," i go downtown and roam all around but every street i walk i find another dead end im on my own but im so all alone i need somebody so i wont have to pretendi know theres someone just waiting somewhere i look around for her but shes just not thereoh doesnt somebody want to be wanted like me where are you doesnt somebody want to be wanted like me just like meim running free but i dont want to be i couldnt take another day like yesterday im dead on my feet from walking the street i need somebody to help me find my wayive gotta get out of this town before i do ill take a last look aroundoh doesnt somebody want to be wanted like me where are you doesnt somebody want to be wanted like me just like meyou know im no different from anybody else i start each day and end each night but it gets real lonely when youre by yourself now where is love and who is love i gotta knowdoesnt somebody want to be wanted like me where are you doesnt somebody want to be wanted like me just like me doesnt somebody want to be wanted like me where are you doesnt somebody want to be wanted like me just like medoesnt somebody want to be wanted like me where are you ",1
54,"draggin the line","tommy james",1971,"making a living the old hard way taking and giving my day by day i dig the snow and the rai nand the bright sunshine im draggin the line draggin the line my dog sam eats purple flowers we aint got much but what weve gots ours we dig snow and the rain and the bright sunshine draggin the line draggin the line i feel fine im talking about peace of mind im gonna take my time im getting to good times draggin the line draggin the line loving a free and feeling spirit hugging a tree when you get near it digging the snow and the rain and the bright sunshine im draggin the line draggin the line draggin the line draggin the line i feel fine im talking about peace of mind im gonna take my time im getting to good times draggin the line draggin the line",3
55,"proud mary","ike  tina turner",1971,"left a good job in the city working for the man evry night and day then i never lost a minute of sleep when worrying bout the way that things might have been big wheels keep on turning proud mary keeps on burning rolling rolling rolling on the river cleaned a lot of plates in memphis pumped a lot of tane down in new orleans but i never saw the good side of the city til i hitched a ride on a river boat queen big wheels keep on turning proud mary keeps on burning rolling rolling rolling on the river if you come down to the river betcha gonna find the people who live you dont have to worry though you have no money people on the river are happy to give big wheels keep on turning proud mary keeps on burning rolling rolling rolling on the river",3
56,"beginningscolour my world","chicago",1971,NA,NA
57,"stay awhile","the bells",1971," into my room he creeps without making a sound into my dreams he peeps with his hair all long and hanging downhow he makes me quiver how he makes me smile with all this love i have to give you i guess im gonna stay with him awhileshe brushes the curls from my eyes she drops her robe on the floor and she reaches for the light on the bureau and the darkness is her pillow once morehow she makes me quiver how she makes me smile with all this love i have to give her i guess im gonna stay with her awhilehow it makes me quiver how it makes me smile with all this love i have to give you guess im gonna stay with you awhilehow it makes me quiver how it makes me smile with all this love i have to give you guess im gonna stay with you awhilestay with you awhile i guess im gonna stay ",1
58,"sweet city woman","the stampeders",1971,"well im on my way to the city life to a pretty face that shines her light on the city nights and i gotta catch a noon train gotta be there on time oh it feels so good to know she waits at the end of the line sweet sweet city woman i can see your face i can hear your voice i can almost touch you sweet sweet city woman oh my banjo and me we got a feel for singin yeah yeah bon ci bon bon ci bon bon bon ci bon bon bon bon bon bon ci bon bon ci bon bon bon ci bon bon bon bon bon",3
59,"me and you and a dog named boo","lobo",1971," i remember to this day the bright red georgia clay how it stuck to the tires after the summer rain will power made that old car go a womans mind told me that its so oh how i wish we were back on the road againme and you and a dog named boo travellin and livin off the land me and you and a dog named boo how i love bein a free mani can still recall the wheat fields of st paul and the mornin we got caught robbin from an old hen old mac donald made us work but then he paid us for what it was worth another tank of gas and back on the road againme and you and a dog named boo travellin and livin off the land me and you and a dog named boo how i love bein a free manill never forget that day we motored stately into big la the lights of the city put settlin down in my brain though its only been a month or so that old cars buggin us to go you gotta get away and get back on the road againme and you and a dog named boo travellin and livin off the land me and you and a dog named boo how i love bein a free man  ",1
60,"another dayoh woman oh why","paul mccartney",1971,NA,NA
61,"if","bread",1971," if a picture paints a thousand words then why cant i paint you the words will never show the you ive come to know if a face could launch a thousand ships then where am i to go theres no one home but you youre all thats left me tooand when my love for life is running dry you come and pour yourself on meif a man could be two places at one time id be with you tomorrow and today beside you all the way if the world should stop revolvin spinning slowly down to die id spend the end with you and when the world was throughthen one by one the stars would all go out then you and i would simply fly away ",1
62,"mercy mercy me the ecology","marvin gaye",1971," woo ah mercy mercy me ah things aint what they used to be no no where did all the blue skies go poison is the wind that blows from the north and south and eastwoo mercy mercy me mercy ah things aint what they used to be no no oil wasted on the ocean and upon our seas fish full of mercuryah oh mercy mercy me ah things aint what they used to be no no radiation underground and in the sky animals and birds who live nearby are dyingoh mercy mercy me ah things aint what they used to be what about this overcrowded land how much more abuse from man can she stand ",1
63,"one toke over the line","brewer  shipley",1971,"one toke over the line sweet jesus one toke over the line sittin downtown in a railway station one toke over the line awaitin for the train that goes home sweet mary hopin that the train is on time sittin downtown in a railway station one toke over the line who do you love i hope its me ive bin a changin as you can plainly see i felt the joy and i learned about the pain that my momma said if i should choose to make a part of me surely strike me dead now im one toke over the line sweet jesus one toke over the line sittin downtown in a railway station one toke over the line im waitin for the train that goes home sweet mary hopin that the train is on time sittin downtown in a railway station one toke over the line i been away a country mile now im returnin showin off a smile i met all the girls and loved myself a few ended by surprise like everything else ive been through it opened up my eyes and now im one toke over the line sweet jesus one toke over the line sittin downtown in a railway station dont you just know i waitin for the train that goes home sweet mary hopin that the train is on time sittin downtown in a railway station one toke over the line dont you just know i waitin for the train that goes home sweet mary hopin that the train is on time sittin downtown in a railway station one toke over the line i want to be one toke over the line sweet jesus one toke over the line sittin downtown in a railway station one toke over the line dont you just know i waitin for the train that goes home sweet mary hopin that the train is on time sittin downtown in a railway station one toke over the line sittin downtown in a railway station one toke over line one toke one toke over the line",3
64,"shes not just another woman","8th day",1971,NA,NA
65,"bring the boys home","freda payne",1971,"fathers are pleading lovers are all alone mothers are prayin send our sons back home tell em bout it you marched them away yes you did now on ships and planes to a senseless war facing death in vain bring the boys home bring em back alive bring the boys home bring em back alive bring the boys home bring em back alive bring the boys home bring em back alive why dont you turn the ships around everybody oughta lay your weapons down cant you see em marchin cross the sky all the soldiers that have died tryin to get home cant you see them tryin to get home tryin to get home theyre tryin to get home cease all fire on the battlefield tell em bout it enough men have already been wounded and killed bring the boys home bring em back alive bring the boys home bring em back alive bring the boys home bring em back alive bring the boys home bring em back alive why dont you turn the ships around everybody oughta lay your weapons down mothers fathers and lovers cant you see them tryin to get home cant you see them tryin to get home have mercy tryin to get home tryin to get home bring the boys home bring em back alive bring the boys home bring em back alive bring the boys home bring em back alive bring the boys home bring em back alive what they doin over there now bring em back alive when we need em over here now bring em back alive what they doin over there now bring em back alive when we need em over here now bring em back alive bring em all bring em all home bring em back alive bring em all bring em home now bring em back alive what they doin over there now bring em back alive when we need em over here now bring em back alive what they doin over there now bring em back alive when we need em over here now bring em back alive bring em all bring em all home bring em back alive bring em all bring em home now bring em back alive what they doin over there now bring em back alive when we need em over here now bring em back alive what they doin over there now bring em back alive when we need em over here now bring em back alive bring em all bring em all home bring em back alive bring em all bring em home now bring em back alive",3
66,"i just want to celebrate","rare earth",1971," one two three fouryeah yeah yeah yeah round round round round yeah yeahi just want to celebrate another day of livin i just want to celebrate another day of life put my faith in the people but the people let me down so i turned the other way and i carry on anyhowthats why im telling you i just want to celebrate yeah yeah another day of living yeah i just want to celebrate another day of life had my head on the dollar bill and the dollar bill flew away but the sun is shining down on me and its here to staythats why im telling you i just want to celebrate yeah yeah another day of living yeah i just want to celebrate another day of livin yeah i just want to celebrate another day of lifedont let it all get you down no no dont let it turn you around and around and around and around and aroundfive four three twocant be bothered with sorrow and i cant be bothered with hate no no im using up the time but feeling fine every daythats why im telling you i just want to celebrate another day of livin i just want to celebrate another day of lifedont let it all get you down no no dont let it turn you around and around and around and around and around and round round roundround dont go roundone two three fouri just want to celebrate i just want to celebrate i just want to celebrate i just want to celebratei just want to celebrate i just want to celebrate i just want to celebrate i just want to celebratei just want to celebrate i just want to celebrate i just want to celebrate i just want to celebrateround round round round ",1
67,"never ending song of love","delaney  bonnie  friends",1971,"ive got a never ending love for you from now on thats all i wanna do from the first time we met i knew id have never ending love for you ive got a never ending love for you from now on thats all i wanna do from the first time we met i knew id have a never ending love for you after all this time of being alone we can love one another feel for each other from now on its so good i can hardly stand it never ending love for you from now on thats all i wanna do from the first we met i knew id sing my never ending song of love for you do do do do do do do do do do do do do do do after all this time of being alone we can love one another feel for each other from now on its so good i can hardly stand it never ending love for you from now on thats all i wanna do from the first we met i knew id sing my never ending song of love for you ive got a never ending love for you from now on thats all i wanna do from the first time we met i knew id sing my never ending song of love for you",3
68,"easy loving","freddie hart",1971," easy lovin so sexy lookin i know from the feelin that it comes from the heart easy lovin every days thanksgivin to count all my blessings i wouldnt know where to startevery time i look you over so real to life it seems for upon your pretty shoulders theres a pair of angel wingseasy lovin seeins believin life with yous like livin in a beautiful dreamevery time i look you over so real to life it seems for upon your pretty shoulders theres a pair of angel wings ",1
69,"liar","three dog night",1971," i wont ever leave you want me to stay nothing you can do that could turn me away hanging on anyway believing the things you say being a foolyouve taken my life so take my soul thats what you said and i believed it all i want to be with you as long as you want me to but dont move awayaint that what you said aint that what you said aint that what you saidliar liar liarmay i see no light may i see no day i may be leaving but you want me to stay you can believe in me i wont be leaving i wont let you goaint that what you said aint that what you said aint that what you saidliar liar liaryouve taken my life so take my soul thats what you said but who are we to know i want to be with you as long as you want me to so dont move awayaint that what you said aint that what you said aint that what you saidliar liar liar ",1
70,"stickup","the honey cone",1971,NA,NA
71,"chirpy chirpy cheep cheep","mac and katie kissoon",1971,"mac miscellaneous chirpy chirpy cheep cheep chirpy chirpy cheep cheep mac  katie kissoon wheres your momma gone wheres your momma gone little baby bird little baby bird wheres your momma gone wheres your momma gone far far away far far awayayay refrain last night i heard my momma singing this song ooh wee chirpy chirpy cheep cheep woke up this morning and my momma was gone ooh wee chirpy chirpy cheep cheep chirpy chirpy cheep cheep chirp wheres your momma gone wheres your momma gone little baby bird little baby bird wheres your momma gone wheres your momma gone far far away wheres your poppa gone wheres your poppa gone little baby bird little baby bird wheres your poppa gone wheres your poppa gone far far away far far awayayay refrain repeat refain repeat refrain again wheres your momma gone wheres your momma gone little baby bird little baby bird wheres your momma gone wheres your momma gone far far away begin fading wheres your poppa gone wheres your poppa gone little baby bird little baby bird wheres tmazanec1junocom or tom mazanec to humans  chirpy chirpy cheep cheep g d g 1 wheres your mama gone wheres your mama gone g d g little baby done little baby done g d g wheres your mama gone wheres your mama gone c g d far far away g d g 2 wheres your papa gone wheres your papa gone g d g little baby done little baby done g d g wheres your papa gone wheres your papa gone c g d far far away c g f d far far away g c g ref last night i heard my mama singing a song c d c d ooowee chirpy chirpy cheep cheep g c g woke up this morning and my mama was gone c d c d ooowee chirpy chirpy cheep cheep c d g chirpy chirpy cheep cheep chirp 1 wheres your mama  2 wheres your papa ref last night  a d a ref last night i heard my mama singing a song d e d e ooowee chirpy chirpy cheep cheep a d a woke up this morning and my mama was gone d e d e ooowee chirpy chirpy cheep cheep d e a chirpy chirpy cheep cheep chirp ref last night  2x",3
72,"where do i begin love story","andy williams",1971,"where do i begin to tell the story of how great a love can be the sweet love story that is older than the sea the simple truth about the love she brings to me where do i start with her first hello she gave new meaning to this empty world of mine thered never be another love another time she came into my life and made the living fine she fills my heart she fills my heart with very special things with angels songs with wild imaginings she fills my soul with so much love that anywhere i go im never lonely with her around who could be lonely i reach for her hand its always there how long does it last can love be measured by the hours in a day i have no answers now but this much i can say i know ill need her till the stars all burn away and shell be there how long does it last can love be measured by the hours in a day i have no answers now but this much i can say i know ill need her till the stars all burn away and shell be there",3
73,"wild world","cat stevens",1971," la la la la la la la la lanow that ive lost everything to you you say you wanna start something new and its breakin my heart youre leavin baby im grievin but if you wanna leave take good care hope you have a lot of nice things to wear but then a lot of nice things turn bad out thereooh baby baby its a wild world its hard to get by just upon a smile ooh baby baby its a wild world ill always remember you like a child girlyou know ive seen a lot of what the world can do and its breakin my heart in two because i never wanna see you a sad girl dont be a bad girl but if you wanna leave take good care hope you make a lot of nice friends out there but just remember theres a lot of bad and beware bewareooh baby baby its a wild world its hard to get by just upon a smile ooh baby baby its a wild world and ill always remember you like a child girlla la la baby i love you but if you wanna leave take good care hope you make a lot of nice friends out there but just remember theres a lot of bad and beware bewareooh baby baby its a wild world its hard to get by just upon a smile ooh baby baby its a wild world and ill always remember you like a child girlooh baby baby its a wild world and its hard to get by just upon a smile ooh baby baby its a wild world and ill always remember you like a child girl ",1
74,"when youre hot youre hot","jerry reed",1971," well now me and homer jones and big john talley had a big crap game goin back in the alley and i kept rollin them sevens winnin all them potsmy luck was so good i could do no wrong i just kept on rollin and controllin them bones and finally they just threw up their hands and said when you hot you hot i said yeahwhen youre hot youre hot and when youre not youre not put all the money in an lets roll em again when youre hot youre hot la la la la la la la la la la la la la la la la la when youre hot youre hotwell now every time i rolled them dice id win and i was just gettin ready to roll em again when i heard somethin behind me i turned around and there was a big old cophe said hello boys and then he gave us a grin an said look like im gonna hafta haul you all in an keep all that money for evidence i said well son when you hot you hot he said yeahwhen youre hot youre hot and when youre not youre not you can splain it all down at city hall i say yeah when youre hot youre hot la la la la la la la la la la la la la la la la la when youre hot youre hotwell when he took us in to court i couldnt believe my eyes the judge was a fishin buddy that i recognized i said hey judge old buddy old pal ill pay ya that hundred i owe ya if youll get me outta this spotso he gave my friends a little fine to pay he turned around an grinned at me an said ninety days jerry when you hot you hot an i said thanks a lotwhen youre hot youre hot and when youre not youre not he let my friends go free and throwed the book at me he said well when youre hot youre hoti said well ill tell ya one thing judge old buddy old pal if you wasnt wearin that black robe id take out in back of this courthouse and id try a little bit of your honor onyou understand that you hillbilly who gonna collect my welfare pay for my cadillac whadda you mean contempt of court judge oh judge judgie poo ",1
75,"funky nassau","the beginning of the end",1971,"the beginning of the end miscellaneous funky nassau part 1 funky nassau the beginning of the end nassaus gone funky and nassaus gone soul weve got a doggone beat now were gonna call our very own mini skirts maxi skirts and afro hair do people are doin their won dont care bout you and me naussau rock and nassau roll nassaus got a whole lot of soul listen to the drummer strum in his feet new york they say has got a whole lot of soul london town is too doggone cold nassaus got sunshine and this you all know but weve gone funky and got some soul too funky nassau funky",3
76,"if not for you","olivia newtonjohn",1971," if not for you babe i couldnt even find the door i couldnt even see the floor id be sad and blue if not for youif not for you babe the night would see me wide awake the day would surely have to break it would not be new if not for youif not for you my sky would fall rain would gather too without your love id be nowhere at all id be lost if not for youif not for you the winter would hold no spring couldnt hear a robin sing i just wouldnt have a clue if not for youif not for you my sky would fall rain would gather too without your love id be nowhere at all id be lost if not for youif not for you the winter would hold no spring you couldnt hear the robin sing i just wouldnt have a clue if not for you if not for you ",1
77,"groove me","king floyd",1971," uhh awww sookie sookie now hey oww uhh come on baby hey there sugar darlin let me tell you something girl ive been trying to say now you look so sweet and youre so doggone fine i just cant get you out of my mind youve become a sweet taste in my mouth now and i want you to be my spouse so that we can live happily nahnah in a great big ol roomy house and i know youre gonna groove me baby ahh yeah now you make me feel good inside come on and groove me baby i need you to groove me ahhh yeah now now darling uhh come on come on hey uhh hey there sugar darlin come on give me something girl ive been needing for days yes im good good loving with plenty plenty hugging ooh you cute little thang you girl between you and me nahnah we dont need no company no other man no other girl can enter into our world not as long as you groove me baby ahh come on make me feel good inside come on and groove me baby move me baby ahh sock it to me mama uhh ahh i like it like that baby uhh groove me baby hey uhh groove me darling come on come on i need you to sock it to me mama come on and groove me baby hey uhh good god it makes me feel so good inside mama now come on come on and uhh groove me baby groove me baby ahh sock it to me sock it to me rock it to me come on come on come on and uhh groove me mama i want you to groove me ",1
78,"watching scotty grow","bobby goldsboro",1971," there he sits with a pen and a yellow pad what a handsome lad thats my boy brlfq spells mom and dad but that aint too bad thats my boyyou can have your tv and you nightclubs and you can have your drive in picture show ill stay here with my little man near well listen to the radio biding my time and watching scotty growmaking a castle out of building blocks and a cardboard box thats my boy mickey mouse says its thirteen oclock well thats quite a shock thats my boyin four short years ive gone from rags to riches and what i did before that i dont know so let it rain on my windowpane i got my own rainbow and were sitting here shining watching scotty growriding on daddys shoulders off to bed old sleepy head thats my boy got to have a drink of water and a story read a teddy bear named fred thats my boywhats that you say momma come on and keep you feet warm well save me a place ill be there in a minute or so i think ill stay right here and say a little prayer before i gome and god watching scotty grow me and god watching scotty grow ",1
79,"woodstock","matthews southern comfort",1971,"i came upon a child of god he was walking along the road when i asked him where are you going this he told me im going down to yasgurs farm think ill join a rock and roll band ill camp out on the land ill try and set my soul free we are stardust we are golden and weve got to get ourselves back to the garden then can i walk beside you i have come here to lose the smog and i feel just like a cog in something turning well maybe its the time of year or maybe its the time of man and i dont know who i am but lifes for learning we are stardust we are golden and weve got to get ourselves back to the garden by the time i got to woodstock they were half a million strong everywhere there were songs and celebration and i dreamed i saw the bombers riding shotgun in the sky turning into butterflies above our nation we are stardust we are golden and weve got to get ourselves back to the garden we are stardust we are golden and weve got to get ourselves back to the garden we are stardust we are golden and weve got to get ourselves back to the garden",3
80,"amazing grace","judy collins",1971," amazing grace how sweet the sound that saved a wretch like me i once was lost but now im found was blind but now i seetwas grace that taught my heart to fear and grace my fears relieved how precious did that grace appear the hour i first believedthrough many dangers toils and snares we have already come twas grace hath brought us safe thus far and grace will lead us homewhen weve been there ten thousand years bright shining as the sun wed know less days to sing gods praise than when we first begun ",1
81,"i hear you knocking","dave edmunds",1971," you went away and left long time ago now your knocking on my door i hear you knocking but you cant come in i hear you knocking go back where you beeni begged you not to go but you said goodbye now your telling me all your lies i hear you knocking but you cant come in i hear you knocking go back where you beenyou better get back to your used to be cause your kind of love aint good for me i hear you knocking but you cant come in i hear you knocking go back where you beeni told you way back in 52 that i would never go with you i hear you knocking but you cant come in i hear you knocking go back where you been ",1
82,"lonely days","bee gees",1971," good morning mister sunshine you brighten up my day come sit beside me in your way i see you every morning outside the restaurants the music plays so nonchalantlonely days lonely nights where would i be without my woman lonely days lonely nights where would i be without my womanlonely days lonely nights where would i be without my woman lonely days lonely nights where would i be without my womanlonely days lonely nights where would i be without my womangood morning mister sunshine you brighten up my day come sit beside me in your waylonely days lonely nights where would i be without my woman lonely days lonely nights where would i be without my womanlonely days lonely nights where would i be without my woman lonely days lonely nights where would i be without my woman ",1
83,"here comes that rainy day feeling again","the fortunes",1971,"here comes that rainy day feeling again and soon my tears they will be falling like rain it always seems to be a monday left over memories of sunday always spent with you before the clouds appeared and took away my sunshine here comes that rainy day feeling again and ill be dreaming of you baby in vain your face is always on my mind girl i hoping soon youre gonna find your way back tome cause if you say youll stay the rainy days will go away misty morning eyes im trying to disguise the way i feel but i just cant hide it people seem to know the loneliness will show im thinking of my pride but breaking up inside here comes that rainy day feeling again and soon my tears they will be falling like rain it always seems to be a monday left over memories of sunday always spent with you before the clouds appeared and took away my sunshine here comes that rainy day feeling again here comes that rainy day feeling again here comes that rainy day feeling again",3
84,"wont get fooled again","the who",1971,"well be fighting in the streets with our children at our feet and the morals that they worship will be gone and the men who spurred us on sit in judgement of all wrong they decide and the shotgun sings the song ill tip my hat to the new constitution take a bow for the new revolution smile and grin at the change all around pick up my guitar and play just like yesterday then ill get on my knees and pray we dont get fooled again the change it had to come we knew it all along we were liberated from the fold thats all and the world looks just the same and history aint changed cause the banners they are flown in the next war ill tip my hat to the new constitution take a bow for the new revolution smile and grin at the change all around pick up my guitar and play just like yesterday then ill get on my knees and pray we dont get fooled again no no ill move myself and my family aside if we happen to be left half alive ill get all my papers and smile at the sky though i know that the hypnotized never lie do ya theres nothing in the streets looks any different to me and the slogans are replaced bythebye and the parting on the left are now parting on the right and the beards have all grown longer overnight ill tip my hat to the new constitution take a bow for the new revolution smile and grin at the change all around pick up my guitar and play just like yesterday then ill get on my knees and pray we dont get fooled again dont get fooled again no no yeaaaaaaaaaaaaaaaaaaaaaaaaah meet the new boss same as the old boss",3
85,"trapped by a thing called love","denise lasalle",1971,"somebody tell me what has this man got he makes me feel what i dont wanna feel somebody tell me what has this man got he makes me give what i dont wanna give on solid ground i feel myself sinking fast i grab a hold but i dont think its gonna last im slowly losing my ground slowly sinking down trapped by this thing called love ooh baby hooked on this thing called love hooked on this thing called love somebody tell me what has this man got he makes me cry lord i dont wanna cry somebody tell me what has this man got he makes me lie when i dont wanna lie he calls me up and i tell em to say that im not in then i cry all night if he doesnt call again im slowly losing my ground slowly sinking down trapped by this thing called love ooh baby hooked on this thing called love",3
86,"mamas pearl","the jackson 5",1971,"you send cold chills up and down my spine you kiss my chills but you draw the line baby cause yo mama told you that love aint right dont you know good lovin is the spice of life yeah mamas pearl let down your curls wont you give my love a whirl find what youve been missin now baby daddy girl let down those curls wont give you give your heart a twirl dont keep me wishin you want my lovin yes you do do do yes you do i know you do you want my lovin is it true true true now baby now your conscience tells you love is wrong did you know good lovin never hurt no one mamas pearl let down your curls wont you give my love a whirl find what youve been missin now baby daddy girl let down those curls yeah you give your heart a twirl dont keep me wishin let it all hang out girl dont be afraid youve got the first step made the rest is up to you feel is what you do let yourself go let your lovin flow now now now let your lovin flow now now just give in to me cause ive got what you need got what you need lets fall in love lets fall in love find out what youre missin goody girl weve got the pearl give your heart a twirl why dont you give my love a whirl girl dont be afraid youve got the first step made just give in just give in to me cause ive got what you need got what you need lets fall in love lets fall in love let yourself go let your lovin flow let your lovin flow just give it to me cause ive got what you need got what you need mamas pearl dont be afraid daddys girl weve got it made find out what youve been missin sugar goody goody goody girl mamas pearl dont be afraid daddys girl weve got it made",3
87,"timothy","the buoys",1971,"trapped in a mine that had caved in and everyone knows the only ones left were joe and me and tim when they broke through to pull us free the only ones left to tell the tale were joe and me timothy timothy where on earth did you go timothy timothy god why dont i know hungry as hell no food to eat and joe said that he would sell his soul for just a piece of meat water enough to drink for two and joe said to me ill have a swig and then theres some for you timothy timothy joe was looking at you timothy timothy god what did we do i must have blacked out just around then cause the very next thing that i could see was the light of the day again my stomach was full as it could be and nobody ever got around to finding timothy timothy",3
88,"i woke up in love this morning","the partridge family",1971," last night i turned out the lights lay down and thought about you i thought about the way that it could be two oclock wonderin what im doin here alone without you so i close my eyes and dream youre here to meand i woke up in love this morning i woke up in love this morning went to sleep with you on my mind yes i woke up in love this morning i woke up in love this morning went to sleep with you on my mindhello girl yes its five oclock i know but you just listen theres something that ive got to let you know this is you this pillow that im huggin and im kissin and one more thing before i let you goand i woke up in love this morning i woke up in love this morning went to sleep with you on my mind and i woke up in love this morning i woke up in love this morning went to sleep with you on my minddo dreams come true well if they do ill have you not just for a night but for my whole life throughi woke up in love this morning i woke up in love this morning went to sleep with you on my mind and i woke up in love this morning i woke up in love this morning went to sleep with you on my mind  ",1
89,"theme from shaft","isaac hayes",1971," shaft whos the black private dick thats a sex machine to all the chicks shaft youre damn right who is the man that would risk his neck for his brother man shaft can ya dig it whos the cat that wont cop out when theres danger all about shaft right on you see this cat shaft is a bad mother shut your mouth but im talkin about shaft then we can dig it hes a complicated man but no one understands him but his woman john shaft ",1
90,"if i were your woman","gladys knight  the pips",1971,"if i were your woman and you were my man youd have no other woman youd be weak as a lamb if you had the strength to walk out that door my love would over rule my sense and id call you back for more if i were your woman if you were my woman if i were your woman if you were my woman and you were my man yeah yeah she tears you down darling says youre nothing at all but ill pick you up darling when she lets you fall youre like a diamond but she treats you like glass yet you make it hard to love you but me you dont ask if i were your woman if you were my woman if i were your woman if you were my woman if i were your woman if you were my woman heres what id do id never no no no stop loving you yeah yeah life is so crazy and love is unkind because she came first darling will she hang on your mind youre a part of me and you dont even know it im what you need but im too afraid to show it if i were your woman if you were my woman if i were your woman if you were my woman if i were your woman if you were my woman heres what id do id never no no no stop loving you yeah if i were your woman heres what id do id never never never stop loving you if i were your woman youre sweet lovin woman if you were my woman if you were my woman what would you do if you were my woman if you were my woman what would you do ",3
91,"i ami said","neil diamond",1971,NA,NA
92,"the wedding song there is love","paul stookey",1971,"stookey paul miscellaneous there is love the wedding song he is now to be among you at the calling of your hearts rest assured this troubador is acting on his part the union of your spirits here has caused him to remain for whenever two or more of you are gathered in his name there is love  there is love oh a man shall leave his mother and a woman leave her home they will travel on to where the two will be as one as it was in the beginning is now until the end woman draws her life from man and gives it back again and there is love  oh theres love well then whats to be the reason for becoming man and wife is it love that brings you here or love that brings you life for is loving is the answer then whos the giving for do you believe in something that youve never seen before oh theres love  there is love he is now to be among you at the calling of your hearts rest assured this troubador is acting on his part the union of your spirits here has caused him to remain for whenever two or more of you are gathered in his name there is love  oh there is love",3
93,"dont knock my love","wilson pickett",1971,"  ",1
94,"love her madly","the doors",1971," dont you love her madly dont you need her badly dont you love her ways tell me what you say dont you love her madly wanna be her daddydont you love her face dont you love her as shes walkin out the door like she did one thousand times beforedont you love her ways tell me what you say dont you love her as shes walkin out the doorall your love all your love all your love all your love all your love is gone so sing a lonely song of a deep blue dream seven horses seem to be on the markyea dont you love her dont you love her as shes walkin out the doorall your love all your love all your love yea all your love is gone so sing a lonely song of a deep blue dream seven horses seem to be on the markdont you love her madly dont you love her madly dont you love her madly ",1
95,"here comes the sun","richie havens",1971,"little darlin it seems like a long cold lonely winter little darlin it seems like so many years since its been there here comes the sun here comes the sun and i say its all right its all right its all right its all right its all right little darlin it seems like the ice is slowly melting little darlin it seems like so years since its been there here comes the sun here comes the sun and i say its all right its all right its all right its all right its all right little darlin it seems like the smiles are returnin to the faces little darlin it seems like so many years since theyve been there here comes the sun here comes the sun and i say its all right its all right its all right its all right its all right its all right here comes the sun here comes the sun and i say its all right its all right its all right its all right its all right its all right and in the end the love you see will be equal to the love you gave",3
96,"sweet mary","wadsworth mansion",1971,"wop badoobado wopwopwop waaop wadoobado wopwopwop waaop wadoobado wopwopwop waaop wadoobado wopwopwop woop sweet mary sent a letter to me she say to hurry home i need you right away ive got a stomach full of love and im all alone all of the day sweet mary im coming home coming home to you heyey sweet mary im coming home now thats the least i can do sweet mary in that letter to me she said its up to you i need you right away and now i got to hop a freight back to the farm and all ive got to be sweet mary im coming home coming home to you yeahhey sweet mary im coming home now thats the least i can do babe chickiechickiechickie to hop a freight chickiechickiechickie to hop a freight chickiechickie mary im coming home baby im coming chickiechickiechickie to hop a freight chickiechickiechickie to hop a freight chickiechickie mary im coming home wop badoobado wopwopwop waaop wadoobado wopwopwop waaop wadoobado wopwopwop waaop wadoobado wop oh yeah baby sweet mary has a smile on her face you know shes happy to see me wrap her in an embrace i only hope that the passing of time shell always feel that way and i wont pack up my things sweet mary im coming home coming home to you yeah hey sweet mary im coming home now thats the least i can do hey chickiechickiechickie to hop a freight chickiechickiechickie to hop a freight chickiechickie mary im coming home well mary im coming chickiechickiechickie to hop a freight chickiechickiechickie to hop a freight chickiechickie mary im coming home home mary im coming",3
97,"right on the tip of my tongue","brenda  the tabulations",1971,NA,NA
98,"one less bell to answer","the 5th dimension",1971,"one less bell to answer one less egg to fry one less man to pick up after i should be happy but all i do is cry   cry cry no more laughter oh i should be happy   oh why did he go i only know that since he left my lifes so empty though i try to forget it just cant be done each time the doorbell rings i still run i still run i dont know how in the world to stop thinking of him cause i still love him so love him so i spend each day the way i start out crying my heart out oh one less man to pick up after no more laughter no more love since he went away he went away   he went away one less bell to answer why did he leave me   why why why did he leave   one less bell to answer now ive got one less egg to fry one less egg to fry   why why why did he leave and all i do is cry   one less bell to answer because a man told me goodbye   why why why did he leave   one less bell to answer somebody tell me please where did he go why did he go   why why why did he leave tell me how could he leave me",3
99,"riders on the storm","the doors",1971," riders on the storm riders on the storm into this house were born into this world were thrown like a dog without a bone an actor out on loan riders on the stormtheres a killer on the road his brain is squirmin like a toad take a long holiday let your children play if ya give this man a ride sweet family will die killer on the road yeahgirl ya gotta love your man girl ya gotta love your man take him by the hand make him understand the world on you depends our life will never end gotta love your man yeahriders on the storm riders on the storm into this house were born into this world were thrown like a dog without a bone an actor out on loan riders on the storm ",1
100,"somos novios its impossible","perry como",1971," feat christina aguileraandrea somos novios pues los dos sentimos mutuo amor profundo y con eso ya ganamos lo ms grande de este mundonos amamos nos besamos como novios nos deseamos y hasta a veces sin motivo sin razn nos enojamoschristina somos novios mantenemos un cario limpio y puro como todos procuramos el momento ms oscuroboth para hablarnos para darnos el ms dulce de los besos recordar de qu color son los cerezos sin hacer mas comentarios somos novioschristina ohh ooh ooh ohh yeahboth its just impossiblenos amamos nos besamos como novios nos deseamos y hasta a veces sin motivo sin raznandrea nos enojamoschristina sin motivo sin raznandrea somos noviosboth mantenemos un carioandrea limpio y purochristina yeahandrea como todoschristina como todosandrea procuramosboth el momento ms oscurochristina ohh yeahpara hablarnos para darnos el ms dulce de los besos recordar de qu color son los cerezos sin hacer mas comentariosandrea somos novioschristina somos noviosandrea siempre novioschristina oohboth somos novios ",1
1,"the first time ever i saw your face","roberta flack",1972," the first time ever i saw your face i thought the sun rose in your eyes and the moon and the stars were the gifts you gave to the dark and the endless skies my love to the dark and the endless skiesthe first time ever i kissed your mouth i felt the earth move in my hand like the trembling heart of a captive bird that was there at my command my love that was there at my command my loveand the first time ever i lay with you i felt your heart so close to mine and i knew our joy would fill the earth and last till the end of time my love and it would last till the end of timethe first time ever i saw your face your face your face ",1
2,"alone again naturally","gilbert osullivan",1972," in a little while from now if im not feeling any less sour i promise myself to treat myself and visit a nearby tower and climbing to the top will throw myself off in an effort to make it clear to whoever wants to know what its like when youre shatteredleft standing in the lurch at a church were people saying my god thats tough she stood him up no point in us remaining we may as well go home as i did on my own alone again naturally to think that only yesterdayi was cheerful bright and gay looking forward to who wouldnt do the role i was about to play but as if to knock me down reality came around and without so much as a mere touch cut me into little pieces leaving me to doubt talk about god in his mercyoh if he really does exist why did he desert me in my hour of need i truly am indeed alone again naturally it seems to me that there are more hearts broken in the world that cant be mendedleft unattended what do we do what do we do alone again naturally looking back over the years and whatever else that appears i remember i cried when my father died never wishing to hide the tearsand at sixtyfive years old my mother god rest her soul couldnt understand why the only man she had ever loved had been taken leaving her to start with a heart so badly broken despite encouragement from meno words were ever and when she passed away i cried and cried all day alone again naturally alone again naturally ",1
3,"american pie","don mclean",1972," a long long time ago i can still remember how that music used to make me smile and i knew if i had my chance that i could make those people dance and maybe theyd be happy for a whilebut february made me shiver with every paper id deliver bad news on the doorstep i couldnt take one more stepi cant remember if i cried when i read about his widowed bride something touched me deep inside the day the music died sobye bye miss american pie drove my chevy to the levee but the levee was dry and them good ole boys were drinking whiskey and rye singin thisll be the day that i die thisll be the day that i diedid you write the book of love and do you have faith in god above if the bible tells you so do you believe in rock and roll can music save your mortal soul and can you teach me how to dance real slowwell i know that youre in love with him cause i saw you dancin in the gym you both kicked off your shoes man i dig those rhythm and bluesi was a lonely teenage broncin buck with a pink carnation and a pickup truck but i knew i was out of luck the day the music died i started singinbye bye miss american pie drove my chevy to the levee but the levee was dry and them good ole boys were drinking whiskey and rye singin thisll be the day that i die thisll be the day that i dienow for ten years weve been on our own and moss grows fat on a rolling stone but thats not how it used to bewhen the jester sang for the king and queen in a coat he borrowed from james dean and a voice that came from you and meoh and while the king was looking down the jester stole his thorny crown the courtroom was adjourned no verdict was returnedand while lennon read a book on marx the quartet practiced in the park and we sang dirges in the dark the day the music died we were singinbye bye miss american pie drove my chevy to the levee but the levee was dry them good ole boys were drinking whiskey and rye and singin thisll be the day that i die thisll be the day that i diehelter skelter in a summer swelter the birds flew off with a fallout shelter eight miles high and falling fastit landed foul on the grass the players tried for a forward pass with the jester on the sidelines in a castnow the halftime air was sweet perfume while sergeants played a marching tune we all got up to dance oh but we never got the chancecause the players tried to take the field the marching band refused to yield do you recall what was revealed the day the music died we started singinbye bye miss american pie drove my chevy to the levee but the levee was dry them good ole boys were drinking whiskey and rye and singin thisll be the day that i die thisll be the day that i dieoh and there we were all in one place a generation lost in space with no time left to start againso come on jack be nimble jack be quick jack flash sat on a candlestick cause fire is the devils only friendoh and as i watched him on the stage my hands were clenched in fists of rage no angel born in hell could break that satans spelland as the flames climbed high into the night to light the sacrificial rite i saw satan laughing with delight the day the music died he was singinbye bye miss american pie drove my chevy to the levee but the levee was dry them good ole boys were drinking whiskey and rye singin thisll be the day that i die thisll be the day that i diei met a girl who sang the blues and i asked her for some happy news but she just smiled and turned awayi went down to the sacred store where id heard the music years before but the man there said the music wouldnt playand in the streets the children screamed the lovers cried and the poets dreamed but not a word was spoken the church bells all were brokenand the three men i admire most the father son and the holy ghost they caught the last train for the coast the day the music died and they were singingbye bye miss american pie drove my chevy to the levee but the levee was dry and them good ole boys were drinking whiskey and rye singin thisll be the day that i die thisll be the day that i diethey were singing bye bye miss american pie drove my chevy to the levee but the levee was dry them good ole boys were drinking whiskey and rye singin thisll be the day that i die ",1
4,"without you","harry nilsson",1972," no i cant forget this evening or your face as you were leaving but i guess thats just the way the story goes you always smile but in your eyes your sorrow shows yes it showsno i cant forget tomorrow when i think of all my sorrows when i had you there but then i let you go and now its only fair that i should let you know what you should knowi cant live if living is without you i cant live i cant give any more cant live if living is without you i cant give i cant give any morewell i cant forget this evening or your face as you were leaving but i guess thats just the way the story goes you always smile but in your eyes your sorrow shows yes it shows ",1
5,"the candy man","sammy davis jr",1972,NA,NA
6,"i gotcha","joe tex",1972," i gotcha uh huh huh you thought i didnt see ya now didnt ya uh huh huh you tried to sneak by me now didnt ya uh huh huh now gimme what you promised me give it here come onheygood godheyheyyou promised me the day that you quit your boyfriend id be the next one to ease on in you promised me it would be just us two yeah id be the only man kissin on you yeah now kiss me hold it a long time hold it dont turn it aloose now hold it a little bit longer now hold it come onhold it hold it hold it hold it now ease up on me now good god heygood god heythe girls alright yall ha hagood godyou made me a promise and youre gonna stick to it you shouldnt have promised if you werent gonna do it you saw me and ran in another direction ill teach you to play with my affection now give it hereyou never shouldve promised to me give it here dont hold back now give it here dont say nothin just give it here come on give it heregive it here give it here give it here give it to me nowgood godheyi gotcha shouldnt made a promise to me i gotchayou never shouldve promised to me gotcha give it on here i gotchayou thought you got away from me didnt ya i gotcha ha ha ha oh i gotchagive it on up i gotcha give it on here i gotchayou tried to sneak by me now didnt ya ha ha i gotcha oh i gotcha ",1
7,"lean on me","bill withers",1972," sometimes in our lives we all have pain we all have sorrow but if we are wise we know that theres always tomorrowlean on me when youre not strong and ill be your friend ill help you carry on for it wont be long til im gonna need somebody to lean onplease swallow your pride if i have faith you need to borrow for no one can fill those of your needs that you wont let showyou just call on me brother when you need a hand we all need somebody to lean on i just might have a problem that youll understand we all need somebody to lean onlean on me when youre not strong and ill be your friend ill help you carry on for it wont be long til im gonna need somebody to lean onyou just call on me brother when you need a hand we all need somebody to lean on i just might have a problem that youll understand we all need somebody to lean onif there is a load you have to bear that you cant carry im right up the road ill share your loadif you just call me call me if you need a friend call me call me uh huhcall me if you need a friend call me if you ever need a friend call me call me call me call me call me call me call me call me call me if you need a friend call me call me call me call me call me call me call me call me call me ",1
8,"baby dont get hooked on me","mac davis",1972,"  ",1
9,"brand new key","melanie",1972," i rode my bicycle past your window last night i roller skated to your door at daylight it almost seems like youre avoiding me im okay alone but you got something i needwell i got a brand new pair of roller skates you got a brand new key i think that we should get together and try them out you see i been looking around awhile you got something for me oh i got a brand new pair of roller skates you got a brand new keyi ride my bike i roller skate dont drive no car dont go too fast but i go pretty far for somebody who dont drive i been all around the world some people say i done all right for a girlwell i got a brand new pair of roller skates you got a brand new key i think that we should get together and try them out you see i been looking around awhile you got something for me oh i got a brand new pair of roller skates you got a brand new keyi asked your mother if you were at home she said yes but you werent alone oh sometimes i think that youre avoiding me im okay alone but youve got something i needwell i got a brand new pair of roller skates you got a brand new key i think that we should get together and try them out to see la la la la la la la la la la la la la la oh i got a brand new pair of roller skates you got a brand new key ",1
10,"daddy dont you walk so fast","wayne newton",1972," the love between the two of us was dying and it got so bad i knew i had to leave but halfway down that highway when i turned around i saw my little daughter running after me cryingdaddy dont you walk so fast daddy dont you walk so fast daddy slow down some cause youre makin me run daddy dont you walk so fastnow it broke my heart to tell my little daughter that her daddy had to run to catch a train she had no way of knowin i was leavin home for good i turned around and there she was again as she said to medaddy dont you walk so fast daddy dont you walk so fast daddy slow down some cause youre makin me run daddy dont you walk so fastif only for the sake of my sweet daughter i just had to turn back home right there and then and try to start a new life with the mother of my child i couldnt bear to hear those words again she cried and saiddaddy dont you walk so fast my daughter cried daddy dont you walk so fast daddy slow down some cause youre makin me run daddy dont you walk so fast daddy slow down some cause youre makin me run oh daddy dont you walk so fast ",1
11,"lets stay together","al green",1972," i im so in love with you whatever you want to do is all right with me cause you make me feel so brand new and i want to spend my life with youlet me say that since baby since weve been together loving you forever is what i need oh let me be the one you come running to ill never be untrueoh lets lets stay together lovin you whether whether times are good or bad happy or sad alright oh yeah whether times are good or bad happy or sadwhy somebody why people break up oh turn around and make up i just cant see youd never do that to me would you baby to be around you is all i see is what i want us to do ",1
12,"brandy youre a fine girl","looking glass",1972," theres a port on a western bay and it serves a hundred ships a day lonely sailors pass the time away and talk about their homesand theres a girl in this harbor town and she works layin whiskey down they say brandy fetch another round she serves them whiskey and winechorus the sailors say brandy youre a fine girl youre a fine girl what a good wife you would be such a fine girl yeah your eyes could steal a sailor from the seabrandy wears a braided chain made of finest silver from the north of spain a locket that bears the name of the man that brandy loveshe came on a summers day bringin gifts from far away but he made it clear he couldnt stay no harbor was his homechorus the sailors say brandy youre a fine girl youre a fine girl what a good wife you would be such a fine girl but my life my lover my lady is the seayeah brandy used to watch his eyes when he told his sailor stories she could feel the ocean fall and rise she saw its ragin glory but he had always told the truth lord he was an honest man and brandy does her best to understandat night when the bars close down brandy walks through a silent town and loves a man whos not around she still can hear him saychorusshe hears him say brandy youre a fine girl youre a fine girl what a good wife you would be such a fine girl but my life my lover my lady is the seabrandy youre a fine girl youre a fine girl what a good wife you would be such a fine girl but my life my lover my lady is the sea ",1
13,"oh girl","the chilites",1972," oh girl id be in trouble if you left me now cause i dont know where to look for love i just dont know howoh girl how i depend on you to give me love when i need it right on time you would always beall my friends call me a fool they say let the woman take care of you so i i try to be hip and think like the crowd but even the crowd cant help me now oh oh oh oh oh ohoh girl tell me what am i gonna do i know ive got a guilty face girl i feel so out of place oh yeah yeahdont know where to go and who to see yeahoh girl i guess i better go i can save myself a lot of useless tears girl ive gotta get away from hereoh girl pain will double if you leave me now cause i dont know where to look for love and i dont i dont know howoh oh oh girl why do i love you so yeah better be on my way i cant stay yeah oh yeah uh huh have you ever seen such a helpless man ",1
14,"nice to be with you","gallery",1972,"gallery miscellaneous nice to be with you nice to be with you  artist gallery as sung on super hits of the 70shave a nice dayvol 8 rhino r4 709218  peak billboard position  4 in 1972  words and music by jim gold chorus oh its so nice to be with you i love all the things ya say and do and its so nice to hear you say youre gonna please me in every way honey i got the notion youre causin commotion in my soul baby you and me have got somethin thats real i know its gonna last a lifetime aww ya better believe it girl at night i call your name darkness fills my room im only dreamin about the time im gonna be with you chorus when im feelin down youre there to pick me up and help me to carry on aww little things mean a lot when you need a shoulder to cry on im there to ease the pain and chase away the rain aww darlin i just gotta say oh its so nice to be with you i love all the things ya say and do and its so nice to hear you say youre gonna please me in every way oh its so nice to be with you i love all the things ya say and do fade and its so nice to hear you say youre gonna please me transcribed by robin hood these lyrics were transcribed from the specific recording mentioned above and do not necessarily correspond with lyrics from other recordings sheet music songbooks or lyrics printed on album jackets",3
15,"my dingaling","chuck berry",1972,NA,NA
16,"if loving you is wrong i dont want to be right","luther ingram",1972,"if loving you is wrong i dont wanna be right if being right means being without you id rather be wrong than right your mama and daddy say its a shame its a downright disgrace long as i gotcha by my side i dont care what your people say your friends tell you its no future in loving a married man but if i cant see you when i want to ill see you when i can if loving you is wrong i dont wanna be right if loving you is wrong i dont wanna be right am i wrong to fall so deeply in love with you knowing i got a wife and two little children depending on me too and am i wrong to hunger for the gentleness of your touch knowing i got someone else at home who needs me just as much and are you wrong to to give your love to a married man and am i wrong trying to hold on to the best thing i ever had if loving you is wrong i dont wanna be right if loving you is wrong i dont wanna be right are you wrong to give your love to a married man and am i wrong trying to hold on to the best thing i ever had if loving you is wrong i dont wanna be right if loving you is wrong i dont wanna be right i dont wanna be right if it means being without you i dont want to right if it means just sleepin at night i dont wanna be right if loving you is wrong i dont wanna be right",5
17,"heart of gold","neil young",1972," i want to live i want to give ive been a miner for a heart of gold its these expressions i never give that keep me searching for a heart of gold and im getting old keeps me searching for a heart of gold and im getting oldive been to hollywood ive been to redwood i crossed the ocean for a heart of gold ive been in my mind its such a fine line that keeps me searching for a heart of gold and im getting old keeps me searching for a heart of gold and im getting oldkeep me searching for a heart of gold you keep me searching and im growing old keep me searching for a heart of gold ive been a miner for a heart of gold ",1
18,"betcha by golly wow","the stylistics",1972," theres a spark of magic in your eyes candyland appears each time you smile never thought that fairy tales came true but they come true when im near you youre a genie in disguise full of wonder and surpriseand betcha by golly wow youre the one that ive been waiting for forever and ever will my love for you keep growin strong keep growin strongif i could id catch a falling star to shine on you so ill know where you are order rainbows in your favorite shade to show i love you thinking of you write your name across the sky anything you ask ill try causebetcha by golly wow youre the one that ive been waiting for forever and ever will my love for you keep growin strong keep growin strongbetcha by golly wow youre the one that ive been waiting for forever and ever will my love for you keep growin strong keep growin strongbetcha by golly wowyoure the one that ive been waiting for forever and ever will my love for you ",1
19,"ill take you there","the staple singers",1972," oh mmm i know a place aint nobody cryin aint nobody worried aint no smilin faces mmm no no lyin to the races help me come on come on somebody help me now ill take you there help me yaall ill take you there help me now ill take you there oh ill take you there oh oh mercy ill take you there oh let me take you there ill take you there ohoh let me take you there ill take you there play your play your piano now all right ah do it do it come on now play on it play on it daddy daddy daddy ooh lord all right now baby easy now now come on little lady all right dumdumdumdum sock it sock it ah oh oh i know a place yaall ill take you there aint nobody cryin ill take you there aint nobody worried ill take you there no smilin faces ill take you there uhuh lyin to the races ill take you there oh no oh ill take you there oh oh oh ill take you there mercy now ill take you there im callin callin callin mercy ill take you there mercy mercy ill take you there let me ill take you there oh oh ill take you there ill take you there ",1
20,"ben","michael jackson",1972," ben the two of us need look no more we both found what we were looking for with a friend to call my own ill never be alone and you my friend will see youve got a friend in me ben youre always running here and there you feel youre not wanted anywhere if you ever look behind and dont like what you find theres something you should know youve got a place to go i used to say i and me now its us now its we i used to say i and me now its us now its we ben most people would turn you away i dont listen to a word they say they dont see you as i do i wish they would try to im sure theyd think again if they had a friend like ben a friend like ben like ben like ben ",1
21,"the lion sleeps tonight","robert john",1972,"wededede dedededede deweumumaway wededede dedededede weumumaway awimoweh awimoweh awimoweh awimoweh awimoweh awimoweh awimoweh awimoweh awimoweh awimoweh awimoweh a wimoweh awimoweh awimoweh awimoweh awimoweh in the jungle the mighty jungle the lion sleeps tonight in the jungle the quiet jungle the lion sleeps tonight awimoweh awimoweh awimoweh awimoweh awimoweh awimoweh awimoweh awimoweh awimoweh awimoweh awimoweh a wimoweh awimoweh awimoweh awimoweh awimoweh near the village the peaceful village the lion sleeps tonight near the village the quiet village the lion sleeps tonight awimoweh awimoweh awimoweh awimoweh awimoweh awimoweh awimoweh awimoweh awimoweh awimoweh awimoweh a wimoweh awimoweh awimoweh awimoweh awimoweh hush my darling dont fear my darling the lion sleeps tonight hush my darling dont fear my darling the lion sleeps tonight awimoweh awimoweh awimoweh awimoweh awimoweh awimoweh awimoweh awimoweh awimoweh awimoweh awimoweh a wimoweh awimoweh awimoweh awimoweh awimoweh wededede dedededede deweumumaway wededede dedededede weumumaway",3
22,"outaspace","billy preston",1972,NA,NA
23,"slippin into darkness","war",1972," slippin into darkness take my mind beyond the dreams i was slippin into darkness take my mind beyond the dreamswhere i talk to my brother oh oh oh who never said their nameslippin into darkness when i heard my mother say i was slippin into darkness when i heard my mother say hey whatd she say whatd she sayyou been slippin into darkness oh oh oh pretty soon youre gonna pay oh oh oh oh ",1
24,"long cool woman in a black dress","the hollies",1972,"saturday night i was downtown working for the fbi sittin in a nest of bad men whiskey bottles piling high bootleggin boozer on the west side full of people who are doin wrong just about to call up the da man when i heard this woman singin a song a pair of incomprehensible made me open my eyes my temperature started to rise she was a long cool woman in a black dress just a 59 beautiful tall with just one look i was a bad mess cause that long cool woman had it all i saw her headin to the table well a tall walkin big black cat when charlie said ̢i hope that youre able boy̢ well im telling you she knows where its at well then suddenly we heard the sirens and everybody started to run jumpin under doors and tables well i heard somebody shootin a gun well the da was pumping my left hand and she was holding my right well i told her dont get scared cause youre gonna be spared well im gonna be forgiven if i wanna spend my living with a long cool woman in a black dress just a 59 beautiful tall with just one look i was a bad mess cause that long cool woman had it all had it all had it all had it all had it all had it all had it all",3
25,"how do you do","mouth  macneal",1972,"once i said i wanted you i dont remember why i often wonder if its true that you could make me cry i only know its long ago you said i love you too but i got one solution that were gonna start anew how do you do mm mm i thought wana nana nana just me and you and then we can nana nana just like before and you will say nana nana please give me more and you will think nana nana hey thats what im living for how do you do uh huh i thought why na nana just me and you and then we can nana nana just like before and you will say nana nana please give me more and you will think nana nana hey thats what im living for once i said i wanted you and i remember why i often wonder if its true you still can make me cry and now its not so long ago you said i love you true cause i had one solution left and thats we start anew how do you do uh huh i thought wana nana just me and you and then we can nana nana just like before and you will say nana nana please give me more and you will think nana nana hey thats what im living for how do you do uh huh i thought by na nana just me and you and then we can nana nana just like before and you will say nana nana please give me more and you will think nana nana hey thats what im living for how do you do uhhuh lalalala hey thats what im living for how do you do lala lala lalalalala",3
26,"song sung blue","neil diamond",1972," song sung blue everybody knows one song sung blue every garden grows oneme and you are subject to the blues now and then but when you take the blues and make a song you sing them out again sing them out againsong sung blue weeping like a willow song sung blue sleeping on my pillowfunny thing but you can sing it with a cry in your voice and before you know it get to feeling good you simply got no choiceme and you are subject to the blues now and then but when you take the blues and make a song you sing them out againsong sung blue weeping like a willow song sung blue sleeping on my pillowfunny thing but you can sing it with a cry in your voice and before you know it started feeling good you simply got no choicesong sung blue song sung blue ",1
27,"a horse with no name","america",1972," on the first part of the journey i was looking at all the life there were plants and birds and rocks and things there was sand and hills and rings the first thing i met was a fly with a buzz and the sky with no clouds the heat was hot and the ground was dry but the air was full of soundive been through the desert on a horse with no name it felt good to be out of the rain in the desert you can remember your name cause there aint no one for to give you no pain la laafter two days in the desert sun my skin began to turn red after three days in the desert fun i was looking at a river bed and the story it told of a river that flowed made me sad to think it was deadyou see ive been through the desert on a horse with no name it felt good to be out of the rain in the desert you can remember your name cause there aint no one for to give you no pain la laafter nine days i let the horse run free cause the desert had turned to sea there were plants and birds and rocks and things there was sand and hills and rings the ocean is a desert with its life underground and a perfect disguise above under the cities lies a heart made of ground but the humans will give no loveyou see ive been through the desert on a horse with no name it felt good to be out of the rain in the desert you can remember your name cause there aint no one for to give you no pain la la ",1
28,"popcorn","hot butter",1972,"instrumental",3
29,"everybody plays the fool","the main ingredient",1972,"okay so your heart broke you sit around moping crying and crying you say youre even thinking about dying well before you do anything rash dig this everybody plays the fool sometime theres no exception to the rule listen baby it may be factual may be cruel i aint lying everybody plays the fool falling in love is such an easy thing to do and theres no guarantee that the one you love is gonna love you oh loving eyes they cannot see a certain person could never be love runs deeper than any ocean and clouds your mind with emotion everybody plays the fool sometime theres no exception to the rule listen baby it may be factual may be cruel but everybody plays the fool how can you help it when the music starts to play and your ability to reason is swept away oh heaven on earth is all you see youre out of touch with reality and now you cry but when you do next time around someone cries for you everybody plays the fool sometime they use your heart just like a tool listen baby they never tell you so in school and everybody plays the fool everybody plays the fool sometime no exception to the rule it may be factual may be cruel but everybody plays the fool everybody plays the fool",3
30,"precious and few","climax",1972,"precious and few are the moments we two can share quiet and blue like the sky im hung over you and if i cant find my way back home cant find my way it just wouldnt be fair be fair precious and few are the moments we two can share baby its you on my mind your love is so rare being with you is a feeling i just cant compare and if i cant hold you in my arms it just wouldnt be fair cause precious and few are the moments we two can share and if i cant find my way back home cant find my way it just wouldnt be fair precious and few are the moments we two can share precious and few are the moments we two can share quiet and blue like the sky im hung over you and if i cant find my way back home cant find my way it just wouldnt be fair wouldnt be fair precious and few are the moments we two can share precious and few are the moments we two can share",3
31,"last night i didnt get to sleep at all","the 5th dimension",1972," last night i didnt get to sleep at all no no i lay awake and watched until the mornin light washed away the darkness of the lonely night lonely nightoh and last night i got to thinkin maybe i i i should call you up and just forget my foolish pride i heard your number ringin i went cold inside and last night i didnt get to sleep at alli know its not my fault i did my best god knows this heart of mine could use a rest but more and more i find the dreams i left behind are somehow too real to replace replaceoh last night i didnt get to sleep at all no no the sleepin pill i took was just a waste of time i couldnt close my eyes cause you were on my mind and last night i didnt get to sleep didnt get to sleep no i didnt get to sleep at allbut more and more i find the dreams i left behind are somehow too real to replace replaceoh last night i didnt get to sleep at all no no the sleepin pill i took was just a waste of time i couldnt close my eyes cause you were on my mind and last night i didnt get to sleep didnt get to sleep no i didnt get to sleep at all no no no no no nolast night i didnt get to sleep at all no no last night i didnt get to sleep at all oh last night i didnt get to sleep at all ",1
32,"nights in white satin","the moody blues",1972,"nights in white satin never reaching the end letters ive written never meaning to send beauty id always missed with these eyes before just what the truth is i cant say any more cause i love you yes i love you oh how i love you oh gazing at people some hand in hand just what im going through they cant understand some try to tell me thoughts they cannot defend just what you want to be youll be in the end and i love you yes i love you oh how i love you oh i love you nights in white satin never reaching the end letters ive written never meaning to send beauty id always missed with these eyes before just what the truth is i cant say any more cause i love you yes i love you oh how i love you oh cause i love you yes i love you oh how i love you oh i love you oh",3
33,"go all the way","raspberries",1972,"raspberries miscellaneous go all the way i never knew how complete love could be till she kissed me and said baby please go all the way it feels so right being with you here tonight please go all the way just hold me close dont ever let me go i couldnt say what i wanted to say till she whispered i love you so before her love i was cruel and mean i had a hole in the place where my heart should have been but now ive changed and it feels so strange i come alive when she does all those things to me and she says come on come on come on i need you i love you i need you sallysallyusanet",3
34,"too late to turn back now","cornelius brothers  sister rose",1972,"my mama told me she said son please beware theres this thing called love and its everywhere she told me it can break your heart and put you in misery since i met this little woman i feel its happened to me and im tellin you its too late to turn back now i believe i believe i believe im fallin in love its too late to turn back now i believe i believe i believe im fallin in love i found myself wantin her at least ten times a day you know its so unusual for me to carry on this way im tellin you i cant sleep at night wantin to hold her tight ive tried so hard to convince myself that this feelin just cant be right and im tellin you its too late to turn back now i believe i believe i believe im fallin in love its too late to turn back now i believe i believe i believe im fallin in love its too late to turn back now oh baby i believe i believe i believe im fallin in love its too late baby to turn back now i tell ya i believe i believe i believe im fallin in love i wouldnt mind it if i knew she really loved me too but i hate to think that im in love alone and nothing that i can do its too late to turn back now i believe i believe i believe im fallin in love its too late baby to turn back now i tell ya i believe i believe i believe im fallin in love its too late to turn back now i believe i believe i believe im fallin in love ooh baby i tell ya i believe i believe i believe im fallin in love its too late to turn back now i believe i believe i believe im fallin in love its too late to turn back now i believe i believe i believe im fallin in love",3
35,"back stabbers","the ojays",1972," what they do they smile in your face all the time they want to take your place the back stabbers back stabbers they smile in your face all the time they want to take your place the back stabbers back stabbersall you fellows who have someone and you really care yeah yeah then its all of you fellows who better beware yeah yeah somebodys out to get your lady a few of your buddies they sure look shady blades are long clenched tight in their fist aimin straight at your back and i dont think theyll misswhat they do they smile in your face all the time they want to take your place the back stabbers back stabbers i keep gettin all these visits from my friends yeah what they doin to me they come to my house again and again and again and again yeah so are they there to see my woman i dont even be home but they just keep on comin what can i do to get on the right track i wish theyd take some of these knives off my backwhat they do they smile in your face all the time they want to take your place the back stabbers back stabbers low down dirty ",1
36,"down by the lazy river","the osmonds",1972,"what are ya doin tonight ya got no place to go gotta get out of the city why dontcha come along with me mighty fine out tonight getcha girl and hold her tight we can take it nice and easy you know it wont be long till well be well be down by the lazy river come as you please down by the lazy river one big family if youre all alone you wont be long just bring your guitar and sing your song down by the lazy river everybody follow me better make up your mind lets get the show on the road were gonna have a party come along or youll be sorry sorry you know theres plenty of room come on and sing a boom boom boom we can get nice and cozy why dontcha come along and mosey and down i said down come on down im goin down by the lazy river come as you please down by the lazy river one big family if youre all alone you wont be long just bring your guitar and sing your song down by the lazy river everybody follow me if youre all alone you wont be long just bring your guitar and sing your song down by the lazy river down im going down by the lazy river down im going down by the lazy river down im going down by the lazy river down",3
37,"sunshine","jonathan edwards",1972," sunshine go away today i dont feel much like dancing some mans gone hes tried to run my life dont know what hes askinghe tells me id better get in line cant hear what hes saying when i grow up im going to make it mine but these arent dues i been payingchorus how much does it cost ill buy it the time is all weve lost ill try it but he cant even run his own life ill be damned if hell run mine sunshinesunshine go away today i dont feel much like dancing some mans gone hes tried to run my life dont know what hes askingworking starts to make me wonder where the fruits of what i do are going he says in love and war all is fair but hes got cards he aint showingchorussunshine come on back another day i promise you ill be singing this old world shes gonna turn around brand new bellsll be ringing ",1
38,"starting all over again","mel and tim",1972,"starting all over again is gonna be rough so rough but were gonna make it starting all over as friends is gonna be rough on us but we gotta face it we lost what we had thats why it hurt so bad it set us back a thousand years were gonna make it up though its gonna be rough to erase all the hurt and tears starting all over again is gonna be hard but i pray that the love will help us make it starting all over again is gonna be slow but we both know that we can make it we gotta take life as it comes and never worry about whos right or wrong its an uphill climb to the finish line were gonna try to make it one more time starting all over again is gonna be rough so rough but were gonna make it starting all over as friends is gonna be tough on us but we gotta face it starting all over again is gonna be hard but i pray that the love will help us make it starting all over again is gonna be slow we both know that were gonna make it",3
39,"day after day","badfinger",1972," i remember finding out about you everyday my mind is all around youlooking out of my lonely room day after day bring it home maybe make it soon i give my love to youi remember holding you while you sleep everyday i feel the tears that you weeplooking out of my lonely gloom day after day bring it home maybe make it soon i give my love to youlooking out of my lonely gloom day after day bring it home maybe make it soon i give my love to youi remember finding out about you everyday my mind is all around youlooking out of my lonely gloom day after day bring it home maybe make it soon i give my love to you ",1
40,"rocket man","elton john",1972," she packed my bags last night pre flight zero hour nine am and im gonna be high as a kite by then i miss the earth so much i miss my wife its lonely out in space on such a timeless flightand i think its gonna be a long long time till touch down brings me round again to find im not the man they think i am at home oh no no no im a rocket man rocket man burning out his fuse up here aloneand i think its gonna be a long long time till touch down brings me round again to find im not the man they think i am at home oh no no no im a rocket man rocket man burning out his fuse up here alonemars aint the kind of place to raise your kids in fact its cold as hell and theres no one there to raise them if you didnt and all this science i dont understand its just my job five days a week a rocket man a rocket manand i think its gonna be a long long time till touch down brings me round again to find im not the man they think i am at home oh no no no im a rocket man rocket man burning out his fuse up here aloneand i think its gonna be a long long time till touch down brings me round again to find im not the man they think i am at home oh no no no im a rocket man rocket man burning out his fuse up here alonenow i think its gonna be a long long time and i think its gonna be a long long time and i think its gonna be a long long time and i think its gonna be a long long time  ",1
41,"rockin robin","michael jackson",1972," he rocks in the tree tops all day long hoppin and aboppin and singing his song all the little birdies on jaybird street love to hear the robin go tweet tweet tweetrockin robin rock rock rockin robin blow rockin robin cause were really gonna rock tonightevery little swallow every chickadee every little bird in the tall oak tree the wise old owl the big black crow flappin their wings singing go bird gorockin robin rock rock rockin robin blow rockin robin cause were really gonna rock tonightpretty little raven at the birdband stand told them how to do the bob and it was grand they started going steady and bless my soul he outbopped the buzzard and the oriolehe rocks in the tree tops all day long hoppin and aboppin and singing his song all the little birdies on jaybird street love to hear the robin go tweet tweet tweetrockin robin rock rock rockin robin blow rockin robin cause were really gonna rock tonightpretty little raven at the birdband stand told them how to do the bob and it was grand they started going steady and bless my soul he outbopped the buzzard and the oriolehe rocks in the tree tops all day long hoppin and aboppin and singing his song all the little birdies on jaybird street love to hear the robin go tweet tweet tweetrockin robin rock rock rockin robin blow rockin robin cause were really gonna rock tonight ",1
42,"beautiful sunday","daniel boone",1972,"sunday morning up with the lark i think ill take a walk in the park hey hey hey its a beautiful day ive got someone waiting for me when i see her i know that shell say hey hey hey its a beautiful day hi hi hi beautiful sunday this is my my my beautiful day when you say say say say that you love me oh my my my its a beautiful day birds are singing you by my side lets take a car and go for a ride hey hey hey its a beautiful day well drive on and follow the sun makin sunday go on and on hey hey hey its a beautiful day hi hi hi beautiful sunday this is my my my beautiful day when you say say say say that you love me oh my my my its a beautiful day hi hi hi beautiful sunday this is my my my beautiful day when you say say say say that you love me oh my my my its a beautiful day",3
43,"scorpio","dennis coffey",1972,"instrumental ",3
44,"morning has broken","cat stevens",1972," morning has broken like the first morning blackbird has spoken like the first bird praise for the singing praise for the morning praise for them springing fresh from the wordsweet the rains new fall sunlit from heaven like the first dewfall on the first grass praise for the sweetness of the wet garden sprung in completeness where his feet passmine is the sunlight mine is the morning born of the one light eden saw play praise with elation praise every morning gods recreation of the new daymorning has broken like the first morning blackbird has spoken like the first bird praise for the singing praise for the morning praise for them springing fresh from the word ",1
45,"city of new orleans","arlo guthrie",1972," riding on the city of new orleans illinois central monday morning rail fifteen cars and fifteen restless riders three conductors twentyfive sacks of mail all along the southbound odyssey  the train pulls out of kankakee and rolls along past houses farms and fields passing trains that have no name and freight yards full of old black men and the graveyards of the rusted automobilegood morning america how are you say dont you know me im your native son im the train they call the city of new orleans ill be gone five hundred miles when the day is donedealing card games with the old man in the club car penny a point  aint no one keeping score as the paper bag that holds the bottle feel the wheels rumbling neath the floor and the sons of pullman porters and the sons of engineers ride their fathers magic carpets made of steel and mothers with their babes asleep rocking to the gentle beat and the rhythm of the rails is all they feelgood morning america how are you say dont you know me im your native son im the train they call the city of new orleans ill be gone five hundred miles when the day is donenight time on the city of new orleans changing cars in memphis tennessee halfway home  well be there by morning through the mississippi darkness rolling down to the sea but all the towns and people seem to fade into a bad dream and the steel rail still aint heard the news the conductor sings his songs again  the passengers will please refrain this train got the disappearing railroad bluesgood night america how are you say dont you know me im your native son im the train they call the city of new orleans ill be gone five hundred miles when the day is done ",1
46,"garden party","ricky nelson",1972,"i went to a garden party to reminisce with my old friends a chance to share old memories and play our songs again when i got to the garden party they all knew my name but no one recognized me i didnt look the same but its all right now i learned my lesson well you see you cant please evryone so you got to please yourself people came for miles around everyone was there yoko brought her walrus there was magic in the air and over in the corner much to my surprise mr hughes hid in dylans shoes wearing his disguise i played them all the old songs i thought thats why they came no one heard the music we didnt look the same i said hello to mary lou she belongs to me when i sang a song about a honkytonk it was time to leave someone opened up a closet door and out stepped johnny b goode playing guitar like a ring an a bell and lookin like he should if you gotta play at garden parties i wish you a lot a luck but if memories were all i sang id rather drive a truck",3
47,"i can see clearly now","johnny nash",1972," i can see clearly now the rain is gone i can see all obstacles in my way gone are the dark clouds that had me blind its gonna be a bright bright bright bright sun shiny dayi think i can make it now the pain is gone all of the bad feelings have disappeared here is the rainbow ive been prayin for its gonna be a bright bright bright bright sun shiny daylook all around theres nothin but blue skies look straight ahead nothin but blue skiesi can see clearly now the rain is gone i can see all obstacles in my way gone are the dark clouds that had me blind its gonna be a bright bright bright bright sun shiny day ",1
48,"burning love","elvis presley",1972," lord almighty i feel my temperature rising higher higher its burning through to my soulgirl girl girl you gonna set me on fire my brain is flaming i dont know which way to goyour kisses lift me higher like the sweet song of a choir you light my morning sky with burning loveooh ooh ooh i feel my temperature rising help me im flaming i must be a hundred and nine burning burning burning and nothing can cool me i just might turn into smoke but i feel finecause your kisses lift me higher like a sweet song of a choir and you light my morning sky with burning loveits coming closer the flames are now licking my body wont you help me i feel like im slipping away its hard to breath my chest is a heaving lord have mercy im burning a hole where i layyour kisses lift me higher like the sweet song of a choir you light my morning sky with burning love with burning love im just a hunk a hunk of burning love a hunk a hunk of burning love a hunk a hunk of burning love a hunk a hunk of burning love a hunk a hunk of burning love a hunk a hunk of burning love ",1
49,"clean up woman","betty wright",1972," a clean up woman is a woman who gets all the love we girls leave behind the reason i know so much about her is because she picked up a man of minejumpin slick was my ruin cause i found out all i was doin was makin it easy for the clean up woman to get my mans love aww yeah just makin it easy for the clean up woman to get my babys love huh huhi took this mans love and put it on a shelf and like a fool i thought i had him all to myself when he needed love i was out havin fun but i found out that all i had done was made it easy for the clean up woman to get my mans love huh huh yeah thats what i did i made it easy for the clean up woman to steal my babys love aw yeahthe clean up woman will wipe his blues away shell give him plenty lovin twenty four hours a day the clean up woman shell sweep him off his feet shes the one wholl take him in when you dump him in the street so take a tip you better get hip to the clean up woman cause shes tough i mean she really cleans up ",1
50,"hold your head up","argent",1972," and if its bad dont let it get you down you can take it and if it hurts dont let them see you cry you can take ithold your head up hold your head up hold your head up hold your head highand if they stare just let them burn their eyes on you moving and if they shout dont let them change a thing what youre doinghold your head up hold your head up hold your head up hold your head high ",1
51,"jungle fever","the chakachas",1972,"  ",1
52,"everything i own","bread",1972," you sheltered me from harm kept me warm kept me warm you gave my life to me set me free set me free the finest years i ever knew were all the years i had with youand i would give anything i own id give up my life my heart my home i would give everything i own just to have you back againyou taught me how to love what its of what its of you never said too much but still you showed the way and i knew from watching younobody else could ever know the part of me that cant let goand i would give anything i own id give up my life my heart my home i would give everything i own just to have you back againis there someone you know your loving them so but taking them all for granted you may lose them one day someone takes them away and they dont hear the words you long to sayi would give anything i own id give up my life my heart my home i would give everything i own just to have you back again just to touch you once again ",1
53,"in the rain","the dramatics",1972," i wanna go outside in the rain it may sound crazy but i wanna go outside in the rain cause i i think im gonna cry and i i dont want you to see me cry i wanna go outside in the rain it may sound crazy but i wanna go outside in the rainonce the rain starts falling on my face you wont see a single trace of the tears im crying because of you im crying dont want you to see me cry let me go let me go let me go in the rainonce the sun comes out and the rain has gone away i know im gonna see a better day right now i think im crying because of you im crying dont want you to see me cry let me go let me go let me go outside in the rainit may sound crazy it may sound crazy but i wanna go outside in the rain i wanna go outside i wanna go outside in the rain it may sound crazy it may sound crazy but i wanna go outside in the raini wanna go outside in the rain it may sound crazy it may sound crazy but ihurts to see me cry no dont want you to see me cry i got to walk out the door i cant stand it no more i wanna go outside yeah yeah yeah ",1
54,"look what you done for me","al green",1972," now that youre here with me i want to keep you free to do the things that you want to do the joy in life is loving you but now the day has come to let you know where im coming fromthe best of my years will go to you its the only thing that i can do but these things dont come overnight lovin you baby i think im right let me say before i forget lovin you baby its where its at yeahya baby look what you done for me ya baby you set my heart free oh but i feel yeah yeah yeah i feel yeahsometimes i want to leave but then i say it wouldnt make sense at all anyway forgive me baby if i do wrong i havent been a true man for so long but let me say before i forget lovin you baby its where its at yeahya baby look what you done for me ya baby you set my heart free baby do you want to do the thing that you oughta youve been very good for me and thats a fact i sayya baby look what you done for me ya yeah you set my heart free yeh oh no matter what you done for me i got the feelin that its gonna ya look what you done for me baby baby you set my heart free ",1
55,"the happiest girl in the whole usa","donna fargo",1972," shine on me sunshine walk with me world its a skippidity do da day im the happiest girl in the whole usagood morning morning hello sunshine wake up sleepy head whyd we move that bojangle clock so far away from the bed just one more minute thats why we moved it one more hug would do do you love waking up next to me as much as i love waking up next to youyou make the coffee ill make the bed ill fix your lunch and you fix mine now tell me the truth do these old shoes look funny honey its almost nine now you be careful gotta go i love you have a beautiful day and kiss the happiest girl in the whole usaskippidity do da thank you oh lord for making him for me and thank you for letting life turn out the way that i always thought it could be there once was a time when i could not imagine how it would feel to say im happiest girl in the whole usanow shine on me sunshine walk with me world its a skippidity do da day im the happiest girl in the whole usashine on me sunshine walk with me world its a skippidity do da day im the happiest girl in the whole usashine on me sunshine walk with me world its a skippidity do da day im the happiest girl in the whole usa ",1
56,"get it on","t rex",1972," well youre dirty and sweet clad in black dont look back and i love you youre dirty and sweet oh yeah well youre slim and youre weak youve got the teeth of the hydra upon you youre dirty sweet and youre my girlget it on bang a gong get it on get it on bang a gong get it onwell youre built like a car youve got a hub cap diamond star halo youre built like a car oh yeah well youre an untamed youth thats the truth with your cloak full of eagles youre dirty sweet and youre my girlget it on bang a gong get it on get it on bang a gong get it on  ohwell youre windy and wild youve got the blues in your shoes and your stockings youre windy and wild oh yeah well youre built like a car youve got a hub cap diamond star halo youre dirty sweet and youre my girlget it on bang a gong get it on get it on bang a gong get it on  oohwell youre dirty and sweet clad in black dont look back and i love you youre dirty and sweet oh yeah well you dance when you walk so lets dance take a chance understand me youre dirty sweet and youre my girlget it on bang a gong get it on get it on bang a gong get it on  ow get it on bang a gong get it on  ow  get it on  mhget it on bang a gong get it on  aaaa get it on bang a gong get it on  aaaa  take me for a meanwhile im still thinking  ",1
57,"mother and child reunion","paul simon",1972," no i would not give you false hope on this strange and mournful day but the mother and child reunion is only a motion away oh little darling of minei cant for the life of me remember a sadder day i know they say let it be but it just dont work out that way and the course of a lifetime runs over and over againno i would not give you false hope on this strange and mournful day but the mother and child reunion is only a motion away oh little darling of minei just cant believe its so though it seems strange to say i never been laid so low in such a mysterious way and the course of a lifetime runs over and over againbut i would not give you false hope on this strange and mournful day when the mother and child reunion is only a motion awayoh the mother and child reunion is only a motion away oh the mother and child reunion is only a moment awayoh the mother and child reunion is only a motion away oh the mother and child reunion is only a moment awayoh the mother and child reunion is only a motion away oh the mother and child reunion is only a moment away ",1
58,"where is the love","roberta flack  donny hathaway",1972,"where is the love where is the love where is the love where is the love where is the love where is the love where is the love where is the love you said youd give to me as soon as you were free will it ever be where is the love you told me that you didnt love him and you were gonna say goodbye but if you really didnt mean it why did you have to lie where is the love you said was mine all mine till the end of time was it just a lie where is the love if you had had a sudden change of heart i wish that you would tell me so dont leave me hangin on the promises youve got to let me know oh how i wish i never met you i guess it must have been my fate to fall in love with someone elses love all i can do is wait thats all i can do yeah yeah where is the love where is the love where is the love where is the love where is the love where is the love where is the love where is the love where is the love where is the love where is the love where is the love where is the love where is the love where is the love where is the love where is the love",3
59,"im still in love with you","al green",1972," spending my day thinkin bout you girl being here with you being near with you i cant explain myself why i feel like i do like i do though it hurt me so to let you know when i look in your eyes you want to let me know how you feel let me know that love is really real but it seems to me that im wrapped up in your lovedont you know that im still in love still in love in love with you sho nuff in love with you heyheaven knows that im still in love still in love in love with you sho nuff in love with you heyand i look in your eyes and all and all the years i i see i see me lovin you and you lovin me well it seems to me that im so wrapped up in your lovedont you know that im still in love still in love in love with you sho nuff in love with you i i i idont you know that im still in love still in love in love with you sho nuff in love with you hey i tried in love with you i i ",1
60,"layla","derek and the dominos",1972,"derek miscellaneous layla layla derek  the dominoes whatll you do when you get lonely and nobodys waitin by your side youve been runnin and hidin much too long you know its just your foolish pride layla you got me on my knees layla im beggin darlin please layla darlin wont you ease my worried mind tried to give you consolation when your old man had let you down like a fool i fell in love with you you turned my whole world upside down layla you got me on my knees layla im beggin darlin please layla darlin wont you east my worried mind kim wise 9729388542 home 2146167152 cell wwwgoldinccomedwise",3
61,"day dreaming","aretha franklin",1972," daydreamin and im thinkin of you daydreamin and im thinkin of you daydreamin and im thinkin of you daydreamin and im thinkin of youlook at my love blowing away hes the kind of guy that would say hey baby lets get away lets go some place huh where i dont care hes the kind of guy that you give your everything you trust your heart share all of your love till death do you parti wantto be what he wants when he wants it and whenever he needs it and when hes lonesome and feelin love starved ill be there to feed it im lovin him a little bit more each day turns me right on when i hear him say hey baby lets get away lets go somewhere far baby can we well i dont care hey baby lets get away lets go somewhere far baby can we well i dont carei wanna be what he wants when he wants it and whenever he needs it and when hes lonesome and feelin loved starved ill be there to feed it lovin him a little bit more each day it turns me right on when i hear him say hey baby lets get away lets go somewhere far baby can we well i dont care hey baby lets get away lets go somewhere far baby can we well i dont care daydreamin and im thinkin of you daydreamin and im thinkin of you daydreamin and im thinkin of you daydreamin and im thinkin of you look at my love floating away daydreaming of you daydreaming thinking of you daydreaming daydreaming ",1
62,"the way of love","cher",1972," when you meet a boy that you like a lot and you fall in love but he loves you notif a flame should start as you hold him near better keep your heart out of danger dearfor the way of love is a way of woe and the day may come when youll see him gothen what will you do when he sets you free just the way that you said goodbye to mewhen you meet a boy that you like a lot and you fall in love but he loves you notif a flame should start as you hold him near better keep your heart out of danger dearfor the way of love is a way of woe and the day may come when youll see him gothen what will you do when he sets you free just the way that you said goodbye to methats the way of love the way of love ",1
63,"black and white","three dog night",1972," the ink is black the page is white together we learn to read and write to read and writethe slate is black the chalk is white the words stand out so clear and bright so clear and brighta child is black a child is white the whole world looks up on the sight a beautiful sightand now a child can understand this is the law of all the land aii the landand now at last we plainly see the alphabet of liberty libertya child is black a child is white the whole world looks up on this sightthe world is black the world is white it turns by day and then by night it turns by night ",1
64,"sylvias mother","dr hook  the medicine show",1972,NA,NA
65,"hurting each other","the carpenters",1972," no one in the world ever had a love as sweet as my love for nowhere in the world could there be a boy as true as you love all my love i give gladly to you all your love you give gladly to me tell me why then oh why should it be thatwe go on hurting each other we go on hurting each other making each other cry hurting each other without ever knowing whycloser than the leaves on a weepin willow baby we are closer dear are we than the simple letters a and b are all my life i could love only you all your life you could love only me tell me why then oh why should it be thatwe go on hurting each other we go on hurting each other making each other cry hurting each other without ever knowing whycant we stop hurting each other gotta stop hurting each other making each other cry breaking each others heart tearing each other apartcant we stop hurting each other gotta stop hurting each other making each other cry breaking each others heart tearing each other apart ",1
66,"coconut","harry nilsson",1972," brother bought a coconut he bought it for a dime his sister had another one she paid it for the limeshe put the lime in the coconut she drank em bot up she put the lime in the coconut she drank em bot up she put the lime in the coconut she drank em bot up she put the lime in the coconut she call the doctor woke im upand said doctor aint there nothin i can take i said doctor to relieve this belly ache i said doctor aint there nothin i can take i said doctor to relieve this belly achenow lemme get this straight you put the lime in the coconut you drank em bot up put the lime in the coconut you drank em bot up put the lime in the coconut you drank em botup put the lime in the coconut you call your doctor woke im upsaid doctor aint there nothing i can take i said doctor to relieve this belly ache i said doctor aint there nothin i can take i said doctor to relieve this belly acheyou put the lime in the coconut you drink em bot together put the lime in the coconut and youll feel better put the lime in the coconut drink em bot up put the lime in the coconut and call me in the morningwooooooh oohoohooh wooooooh oohoohooh wooooooh oohoohooh oohoohoohbrother bought a coconut he bought it for a dime his sister had another one she paid it for a lime she put the lime in the coconut she drank em bot up she put the lime in the coconut she called the doctor woke im upand said doctor aint there nothin i can take i said doctor to relieve this belly ache i said doctor aint there nothin i can take i said doctor now lemme get this straightyou put the lime in the coconut you drink em botup put the lime in the coconut you drink em bot up put the lime in the coconut you drink em bot up put the lime in the coconut youre such a silly womanput a lime in the coconut and drink em bot together put the lime in the coconut then youll feel better put the lime in the coconut drink em both down put the lime in your coconut and call me in the morningwoo aint there nothin you can take i say woo to relieve your belly ache you say well woo aint there nothin i can take i say woo woo to relieve your belly ache you say ya aint there nothin i can takei say wow to relieve this belly ache i said doctor aint there nothing i can take i said doctor aint there nothing i can take i said doctor aint there nothing i can take i said doctor youre such a silly womanput the lime in the coconut and drink em both together put the lime in the coconut and youll feel better put the lime in the coconut drink em bot up put the lime in the coconut and call me in the morningyes you call me in the morning you call me in the morning ill tell you what to do if you call me in the morning ill tell you what to do if you call me in the morning ill tell you what to do if you call me in the morning ill tell you what to do and if you call me in the morning ill tell you what to do ",1
67,"puppy love","donny osmond",1972," and they called it puppy love oh i guess theyll never know how a young heart really feels and why i love her soand they called it puppy love just because were in our teens tell them all please tell them it isnt fair to take away my only dreami cry each night my tears for you my tears are all in vain ill hope and ill pray that maybe someday youll be back in my arms once againsomeone help me help me help me please is the answer up above how can i oh how can i tell them this is not a puppy love ",1
68,"you dont mess around with jim","jim croce",1972," uptown got its hustlers the bowery got its bums 42nd street got big jim walker hes a pool shootin son of a gun yeah he big and dumb as a man can come but he stronger than a country hoss and when the bad folks all get together at night you know they all call big jim boss just because and they sayyou dont tug on supermans cape you dont spit into the wind you dont pull the mask off that old lone ranger and you dont mess around with jimwell outta south alabama came a country boy he say im lookin for a man named jim i am a pool shootin boy my name willie mccoy but down home they call me slim yeah im lookin for the king of 42nd street he drivin a drop top cadillac last week he took all my money and it may sound funny but i come to get my money back and everybody say jack dont you knowand you dont tug on supermans cape you dont spit into the wind you dont pull the mask off that old lone ranger and you dont mess around with jimwell a hush fell over the pool room jimmy come boppin in off the street and when the cuttin were done the only part that wasnt bloody was the soles of the big mans feet yeah he were cut in in bout a hundred places and he were shot in a couple more and you better believe they sung a different kind of story when big jim hit the floor now they sayyou dont tug on supermans cape you dont spit into the wind you dont pull the mask off that old lone ranger and you dont mess around with slimyeah big jim got his hat find out where its at and its not hustlin people strange to you even if you do got a two piece custom made pool cueyeah you dont tug on supermans cape you dont spit into the wind you dont pull the mask off the old lone ranger and you dont mess around with slim ",1
69,"hot rod lincoln","commander cody and his lost planet airmen",1972,"commander cody miscellaneous hot rod lincoln hot rod lincoln by commander cody and the lost planet airmen my pappy said son youre gonna drive me to drinkin if you dont stop drivin that hot rod lincoln have you heard this story of the hot rod race when fords and lincolns was settin the pace that story is true im here to say i was drivin that model a its got a lincoln motor and its really souped up that model a vitimix makes it look like a pup its got eight cylinders uses them all its got overdrive just wont stall with a 4barrel carb and a dual exhaust with 411 gears you can really get lost its got safety tubes but i aint scared the brakes are good tires fair pulled out of san pedro late one night the moon and the stars was shinin bright we was drivin up grapevine hill passing cars like they was standing still all of a sudden in a wink of an eye a cadillac sedan passed us by i said boys thats a mark for me by then the taillight was all you could see now the fellas was ribbin me for bein behind so i thought id make the lincoln unwind took my foot off the gas and man alive i shoved it on down into overdrive wound it up to a hundredandten my speedometer said that i hit top end my foot was blue like lead to the floor thats all there is and there aint no more now the boys all thought id lost my sense and telephone poles looked like a picket fence they said slow down i see spots the lines on the road just look like dots took a corner sideswiped a truck crossed my fingers just for luck my fenders was clickin the guardrail posts the guy beside me was white as a ghost smoke was comin from out of the back when i started to gain on that cadillac knew i could catch him i thought i could pass dont you know by then wed be low on gas we had flames comin from out of the side feel the tension  man  what a ride i said look out boys ive got a license to fly and that caddy pulled over and let us by now all of a sudden she started to knockin and down in the dips she started to rockin i looked in my mirror a red light was blinkin the cops was after my hot rod lincoln they arrested me and they put me in jail and called my pappy to throw my bail and he said son youre gonna drive me to drinkin if you dont stop drivin that hot rod lincoln",3
70,"a cowboys work is never done","sonny  cher",1972,NA,NA
71,"joy","apollo 100",1972,"  ",1
72,"anticipation","carly simon",1972," we can never know about the days to come but we think about them anyway and i wonder if im really with you now or just chasing after some finer dayanticipation anticipation is making me late is keeping me waitingand i tell you how easy it is to be with you and how right your arms feel around me bit i rehearsed those words just late last night when i was thinking about how right tonight might beanticipation anticipation is making me late is keeping me waiting ",1
73,"never been to spain","three dog night",1972," well i never been to spain but i kinda like the music say the ladies are insane there and they sure know how to use itthey dont abuse it never gonna lose it i cant refuse it mmhmmwell i never been to england but i kinda like the beatles well i headed for las vegas only made it out to needlescan you feel it it must be real it feels so good oh feels so goodwell i never been to heaven but ive been to oklahoma well they tell me i was born there but i really dont rememberin oklahoma not arizona what does it matter what does it matteroh i never been to spain but i kinda like the music say the ladies are insane there and they sure know how to use itthey dont abuse it never gonna lose it i cant refuse it ohwell i never been to heaven but ive been to oklahoma well they tell me i was born there but i really dont rememberin oklahoma not arizona what does it matter what does it matter ",1
74,"kiss an angel good mornin","charley pride",1972," whenever i chance to meet some old friends on the street they wonder how does a man get to be this way ive always got a smilin face any time and any place and everytime they ask me why i just smile and say youve got to kiss an angel good mornin and let her know you think about her when youre gone kiss an angel good mornin and love her like a devil when you get back homewell people may try to guess the secret of happiness but some of them never learn its a simple thing the secret im speaking of is a woman and a man in love and the answer is in the song that i always sing youve got to kiss an angel good mornin kiss an angel good mornin ",1
75,"schools out","alice cooper",1972," well we got no choice all the girls and boys makin all that noise cause they found new toys well we cant salute ya cant find a flag if that dont suit ya thats a drag schools out for summer schools out forever schools been blown to piecesno more pencils no more books no more teachers dirty looks yeah well we got no class and we got no principals and we got no innocence we cant even think of a word that rhymes schools out for summer schools out forever my schools been blown to piecesno more pencils no more books no more teachers dirty looks out for summer out till fall we might not come back at all schools out forever schools out for summer schools out with fever schools out completely ",1
76,"saturday in the park","chicago",1972," saturday in the park i think it was the fourth of july saturday in the park i think it was the fourth of julypeople dancing people laughing a man selling ice cream singing italian songs eh cumpari ci vo sunari can you dig it yes i can and ive been waiting such a long time for saturdayanother day in the park i think it was the fourth of july another day in the park i think it was the fourth of julypeople talking really smiling a man playing guitar and singing for us all will you help him change the world can you dig it yes i can and ive been waiting such a long time for todayslow motion riders fly the colors of the day a bronze man still can tell stories his own way listen children all is not lost all is not lost oh no nofunny days in the park and every day is the fourth of july funny days in the park and every day is the fourth of julypeople reaching people touching a real celebration waiting for us all if we want it really want it can you dig it yes i can and ive been waiting such a long time for the day ",1
77,"drowning in the sea of love","joe simon",1972,"chorus ive been down one time ive been down two times but now im drowning drowning in the sea of love let me tell ya all about it ive been out here so very long ive lost all my direction baby when you came my way i thought id found my protection but a strong wind came into my life surely took me by surprise  i cant seem to control these tears thats falling from my eyes listen to me baby i depended on you for a love  affection but now you gone and deserted me cant you see that im in desperation im in the middle of a bad love storm ew yeah i just cant let it boy i looked around and all i could see was water coming over me all i do is cry all i do is walk around and cry but right now im drowning oh im drowning in the sea of love but thats alright i dont mind drowning for your love thats alright baby hear me when i say its alright you got the kind of love that make me feel alright you got the kind of love baby that make me cry all night long you got the kind of love baby make me do things i dont wanna do and its alright",3
78,"use me","bill withers",1972," my friends feel its their appointed duty they keep trying to tell me here all you want to do is use me but my answer yeah to all that use me stuffi i i is that i wanna spread the news that if it feels this good getting used oh you just keep on using me until you use me up until you use me upmy brother sit me right down and he talked to me he told me that i ought not to let you just walk on me and im sure he meant well yeah but when our talk was throughi i i said brother if you only knew youd wish that you were in my shoes you just keep on using me until you use me up until you use me upoh sometimes yeah its true you really do abuse me you get me in a crowd of high class people and then you act real rude to me but oh baby baby baby baby when you love me i cant get enoughi and i wanna spread the news that if it feels this good getting used oh you just keep on using me until you use me up until you use me uptalking about you using me but it all depends on what you do it aint too bad the way youre using me cause i sure am using you to do the things you do ",1
79,"family affair","sly  the family stone",1972,"its a family affair its a family affair its a family affair its a family affair one child grows up to be somebody that just loves to learn and another child grows up to be somebody youd just love to burn mom loves the both of them you see its in the blood both kids are good to mom bloods thicker than mud its a family affair its a family affair its a family affair its a family affair newlywed a year ago but youre still checking each other out yeah nobody wants to blow nobody wants to be left out you cant leave cause your heart is there but you cant stay cause youve been somewhere else you cant cry cause youll look broke down but youre cryin anyway cause youre all broke down its a family affair its a family affair its a family affair its a family affair family affair its a family affair its a family affair its a family affair its a family affair its a family affair its a family affair  its a family affair well its a family affair its a family affair",3
80,"troglodyte cave man","jimmy castor bunch",1972,"what were gonna do right here is go back way back back into time when the only people that existed were troglodytes cave men cave women neanderthal troglodytes lets take the average cave man at home listening to his stereo sometimes hed get up try to do his thing hed begin to move something like this dance dance when he got tired of dancing alone hed look in the mirror gotta find a woman gotta find a woman gotta find a woman gotta find a woman hed go down to the lake where all the woman would be swimming or washing clothes or something hed look around and just reach in and grab one come here come here hed grab her by the hair you cant do that today fellas cause it might come off youd have a piece of hair in your hand and shed be swimming away from you haha this one woman just lay there wet and frightened he said move move she got up she was a big woman big woman her name was bertha bertha butt she was one of the butt sisters he didnt care he looked up at her and said sock it to me sock it to me sock it to me sock it to me sock it to me sock it to me sock it to me sock it to me  she looked down on him she was ready to crush him but she began to like him she said falsetto ill sock it to ya daddy he said wha she said falsetto ill sock it to ya daddy you know what he said he started it way back then i wouldnt lie to you when she said falsetto ill sock it to ya daddy he said right on right on hotpants hotpants ugh ugh ugh",5
81,"the witch queen of new orleans","redbone",1972,"marie marie la voodoo veau shell put a spell on you marie marie la voodoo veau shell put a spell on you marie marie la voodoo veau shes the witchqueen oh of new orleans of new orleans im gonna tell you a story strange as it now seems of zombie voodoo gris and the witchqueen of new orleans she lived in a world of magic possessed by the devils skew from a shack near the swamp lands made of mud by brick marie stirred her witches brew marie marie la voodoo veau shell put a spell on you marie marie la voodoo veau shell put a spell on you marie marie la voodoo veau shes the witchqueen oh of new orleans of new orleans dime or a nickel anyone could buy voodoo of any kind she had potions and lotions herb and tanna leaves guaranteed to blow your mind early one mornin into mucky swamp dew vanished marie with hate in her eyes tho shell never return all the cajuns knew a witchqueen never dies marie marie la voodoo veau shell put a spell on you marie marie la voodoo veau shell put a spell on you marie marie la voodoo veau shes the witchqueen oh of new orleans of new orleans marie marie la voodoo veau shell put a spell on you marie marie la voodoo veau shell put a spell on you",3
82,"freddies dead","curtis mayfield",1972," freddies dead thats what i said let the man rap a plan said hed see him home but his hope was a rope and he shouldve knowneverybodys misused him ripped him up and abused him another junkie plan pushing dope for the man a terrible blow but thats how it goes a freddies on the corner now if you want to be a junkie wow remember freddies deadwere all built up with progress but sometimes i must confess we can deal with rockets and dreams but reality what does it mean aint nothing said cause freddies deadhey hey love love ha ha love love yeah yeah ha ha love love freddies deadall i want is some peace of mind with a little love im trying to find this could be such a beautiful world with a wonderful girl why i need a woman child dont want to be like freddie now cause freddies deadeverybodys misused him ripped him up and abused him another junkie plan pushing dope for the man a freddies on the corner now if you want to be a junkie why remember freddies dead ha ha ha ha ha freddies dead ",1
83,"power of love","joe simon",1972,"whoayeah baby sugar honey sweet darlin im yours oh yes i am every since that day we met my whole life been full of joy and happiness oh when you kiss me it burns to my soul seven days later my body i cant control you got power in your kiss you got power in your twist you got power power power oh ooh oh i love ya i tell you i just cant help myself oh when i hear you talk and i see you walk that make me know i dont want nobody else you got power in your walk oh yeah you got power in your talk uh huh you got power power power oh baby power over me i love it when you love me love the way you love me i love the way you call my name all my life i wanted someone to love an understand now were together listen to me honey my loneliness has gone away i swear i think im think im able to carry on yeah you got honey in your kiss and im glad of that you got honey in your twist and im glad about it sometime baby i wanna scream about your love sometimes baby i just awanna say oh im glad im glad im glad im glad you got power in your kiss power in your kiss you got power in your twist power in your twist you got power in your walk power in your walk you got power in your talk power in your talk power with your best you got it you got it you got it baby sometime i wanna squeeze you",3
84,"aint understanding mellow","jerry butler  brenda lee eager",1972,NA,NA
85,"taxi","harry chapin",1972," it was raining hard in frisco i needed one more fare to make my night a lady up ahead waved to flag me down she got in at the lightsoh where you going to my lady blue its a shame you ruined your gown in the rain she just looked out the window she said sixteen park side lanesomething about her was familiar i could swear id seen her face before but she said im sure youre mistaken then she didnt say anything moreit took a while but she looked in the mirror then she glanced at the license for my name a smile seemed to come to her slowly it was a sad smile just the sameand she said how are you harry i said how are you sue through the too many miles and the too little smiles i still remember youit was somewhere in a fairy tale i used to take her home in my car we learned about love in the back of a dodge the lesson hadnt gone too faryou see she was gonna be an actress and i was gonna learn to fly she took off to find the footlights i took off to find the skyoh ive got something inside me to drive a princess blind theres a wild man wizard hes hiding in me illuminating my mindoh ive got something inside me but its not what my lifes about cause ive been letting my outside tide me over till my time runs outbabys so high that shes skying yes shes flying afraid to fall ill tell you why babys crying shes dying arent we allthere was not much more for us to talk about whatever we had once was gone so i turned my cab into the driveway past the gates and the fine trimmed lawnsand she said we must get together but i knew itd never be arranged then she handed me twenty dollars for a twofifty fare she said harry keep the changewell another man might have been angry and another man might have been hurt but another man never would have let her go i stashed the bill in my shirtand she walked away in silence its strange how you never know but wed both gotten what wed asked for such a long long time agoyou see she was gonna be an actress and i was gonna learn to fly she took off to find the footlights and i took off for the skyand here shes acting happy inside her handsome home and me im flying in my taxi taking tips getting stonedi go flying so high when im stoned ",1
86,"dont say you dont remember","beverly bremers",1972,"we wrote on the corner of the table this is the only one that will last for you for me for always forever was meant for us but for us it went by too fast chorus dont say you dont remember ill never love anyone else if you say you dont remember how can i go on living with myself when we meet you always call me baby how could it be that you forgot my name before you go be honest i belonged to you and believed that you felt the same repeat chorus people never stay the same forever somebody always loves a little more tonight i need to love you together well find a way to make tomorrow worth living for repeat chorus 2x",5
87,"sealed with a kiss","bobby vinton",1972," though we gotta say goodbye for the summer baby i promise you this ill send you all my love every day in a letter sealed with a kissyes its gonna be a cold lonely summer but ill fill the emptiness ill send you all my dreams every day in a letter sealed with a kissill see you in the sunlight ill hear your voice everywhere ill run to tenderly hold you but baby you wont be therei dont want to say goodbye for the summer knowing the love well miss so let us make a pledge to meet in september and seal it with a kiss ",1
88,"i saw the light","todd rundgren",1972," it was late last night i was feeling something wasnt right there was not another soul in sight only you only youso we walked along though i knew there was something wrong and the feeling hit me oh so strong about youthen you gazed up at me and the answer was plain to see cause i saw the light in your eyes in your eyesthough we had our fling i just never would suspect a thing till that little bell began to ring in my head in my head in my headbut i tried to run though i knew it wouldnt help me none cause i couldnt ever love no one or so i saidbut my feelings for you were just something i never knew till i saw the light in your eyes in your eyesbut i love you best its not something that i say in jest cause youre different girl from all the rest in my eyesand i ran out before but i wont do it anymore cant you see the light in my eyes in my eyes in my eyes in my eyes ",1
89,"motorcycle mama","sailcat",1972,"tell your daddy and your mama too you got something better to do than stick around the house the rest of your life youre eighteen you can do what you like youd be the queen of my highway my motorcycle mama and well see the world from my harley well get matched jackets and helmets too well get respect from the towns we ride through well sleep at the roadside in the soft green grass and if the squares walk by well let them pass youll be the queen of my highway my motorcycle mama and well see the world from my harley and maybe in a year or two well have a little one shell look just like you well add on a sidecar electric guitar and well be a trio the baby makes three oh tell your daddy and your mama too you got something better to do than stick around the house the rest of your life youre eighteen you can be my wife youd be the queen of my highway my motorcycle mama and well see the world from my harley and well see the world from my harley and well see the world from my harley if the chain dont break",3
90,"day by day","original cast of godspell",1972,NA,NA
91,"roundabout","yes",1972," ill be the roundabout the words will make you out an out you spend the day your way call it morning driving through the south in an out the valleythe music dance and sing they make the children really ring i spend the day your way call it morning driving through the south in an out the valleyin and around the lake mountains come out of the sky and they stand there one mile over well be there and well see you ten true summers well be back and laughing too twenty four before my love youll see ill be there with youi will remember you your silhouette will charge the view of distant atmosphere call it morning driving through the south even in the valleyin and around the lake woh mountains come out of the sky and they stand there one mile over well be there and well see you come again ten true summers well be back and laughing too oh oh twenty four before my love youll see ill be there with youalong the drifting cloud the eagle searching down on the land catching the swirling wind the sailor sees the rim of the land the eagles dancing wings create as weather spins out of handgo closer hold the land feel partly no more than grains of sand we stand to lose all time a thousand answers by in our hand next to your deeper fears we stand surrounded by a million yearsill be the roundabout the words will make you out an out ill be the roundabout the words will make you out an outin and around the lake mountains come out of the sky and they stand there twenty four before my love ill be there feels likeill be the roundabout the words will make you out an out you spend the day your way call it morning driving through the south in and out the valleyin and around the lake mountains come out of the sky and they stand there one mile over well be there and well see you ten true summers well be back and laughing too twenty four before my love youll see ill be there with youthere with you na na na there with you na na na there with you na na na there with you na na na there with you na na na there with you na na na there with you na na na there with you na nathank you thank you very much take care of you ",1
92,"doctor my eyes","jackson browne",1972," doctor my eyes have seen the years and the slow parade of fears without crying now i want to understandi have done all that i could to see the evil and the good without hiding you must help me if you candoctor my eyes tell me what is wrong was i unwise to leave them open for so longcause i have wandered through this world and as each moment has unfurled ive been waiting to awaken from these dreamspeople go just where they will i never noticed them until i got this feeling that its later than it seemsdoctor my eyes tell me what you see i hear their cries just say if its too late for medoctor my eyes cannot see the sky is this the prize for having learned how not to cry ",1
93,"id like to teach the world to sing in perfect harmony","the new seekers",1972,NA,NA
94,"vincent","don mclean",1972," starry starry night paint your palette blue and gray look out on a summers day with eyes that know the darkness in my soulshadows on the hills sketch the trees and the daffodils catch the breeze and the winter chills in colors on the snowy linen landnow i understand what you tried to say to me and how you suffered for your sanity and how you tried to set them free they would not listen they did not know how perhaps theyll listen nowstarry starry night flaming flowers that brightly blaze swirling clouds in violet haze reflect in vincents eyes of china bluecolors changing hue morning fields of amber grain weathered faces lined in pain are soothed beneath the artists loving handnow i understand what you tried to say to me and how you suffered for your sanity and how you tried to set them free they would not listen they did not know how perhaps theyll listen nowfor they could not love you but still your love was true and when no hope was left inside on that starry starry nightyou took your life as lovers often do but i could have told you vincent this world was never meant for one as beautiful as youstarry starry night portraits hung in empty halls frame less heads on nameless walls with eyes that watch the world and cant forgetlike the strangers that youve met the ragged men in ragged clothes the silver thorn of bloody rose lie crushed and broken on the virgin snownow i think i know what you tried to say to me and how you suffered for your sanity and how you tried to set them free they would not listen theyre not listening still perhaps they never will ",1
95,"baby let me take you in my arms","the detroit emeralds",1972,"baby let me take you let me take you in my arms let me take you in my arms and hold you show you i love you baby i love you baby i love you baby baby i love you dont love nobody else you got my love just for yourself baby let me kiss you baby baby let me kiss your lips let me kiss you til i feel your soul cant you see that i need you and if you feel the same tell me that you love me too and when you call my name try to feel the way i do baby let me feel you baby baby let me feel your soul let me feel you put your soul in mine gonna make you love me baby let me hold you let me hold you in my loving arms baby baby let me feel your charms show you i love you baby i love you i love you baby and if you feel the same tell me that you love me too and when you call my name try to feel the way i do dont love nobody else you got my love just for yourself cant you see the love vibrations dont you feel them sweet sensations baby baby let me kiss your lips and if you feel the same tell me that you love me too and when you call my name try to feel the way i do baby let me take you let me take you in my arms let me take you in my arms and hold you show you i love you baby i love you baby baby i love you dont love nobody else you got my love just for yourself cant you see the love vibrations dont you feel them sweet sensations dont you feel this warm embrace why dont you give my love a chance ",3
96,"speak to the sky","rick springfield",1972," speak to the sky whenever things go wrong and youll know youre not talkin to the air to the air and the world will look better from up therespeak to the sky cause things can get ya down and youll know when youre talkin to the lord to the lord the world will look better than beforeand if i stumble and it seems that i am blind or if the road im on seems awful hard to find and though my conversation doesnt always rhyme i always try to find some time tospeak to the sky and tell you how i feel and you know sometimes what i say aint right its all right cause i speak to the sky every nightand if i stumble and it seems that i am blind or if the road im on seems awful hard to find and though my conversation doesnt always rhyme i always try to find some time tospeak to the sky and tell you how i feel and you know sometimes what i say aint right its all right cause i speak to the sky every nightspeak to the sky whenever things go wrong and youll know youre not talkin to the air to the air and the world will look better from up there and the world will look better from up there and the world will look better from up there ",1
97,"id like to teach the world to sing in perfect harmony","the hillside singers",1972,NA,NA
98,"walkin in the rain with the one i love","love unlimited",1972,"it sure is everyones trying to get out in the rain oh it feels so good the rain and thinking of you soon as i get home im gonna call you and tell you how much i love you oh i feel so good oh i just walking in the rain with the one i love feel so fine walking in the rain with the one i love on my mind to each is own ive heard them say well i got mine in so many ways yeah like being together whether near or far it doesnt matter where you are so in love with each other giving love so warm and free made our dream a reality then itll last forever and ever with every step we take and every breath we make darling just you and me oh i just walking in the rain with the one i love feel so fine walking in the rain with the one i love on my mind so in love with each other with every passing day we share the thought of knowing someone cares just being together making love so tenderly exploding into ecstasy then itll last forever and ever together we hold the key to make forever our destiny oh i just walking in the rain with the one i love feel so fine walking in the rain with the one i love on my mind im gonna call him right now gee i hope hes home hello baby im home ive got something to tell you what i love you oh i love you too did you get caught in the rain oh yes it was so beautiful let me tell you how it started walking in the rain with the one i love",3
99,"get on the good foot","james brown",1972," cant pass the people cant pass the hit meooh get on down like uh i wanna get on the good foot ho good foot i got to get on the good foot ahgoing down to the crib let all hang out where soulful people knows what its about ah going down to the crib and let it all hang out ahwhere soulful people knows what its about ah where people do the sign and take your hands ah and dancin to the music james brown bandtheyre dancing on the good foot i got to get on the good foot got to do it on the good foot do it with the good footsaid the long hair hippies and the afro blacks they all get together across the tracks and they partyho on the good foot you know they dance on the good foot dance on the good footaint nothing goin on now but the rent ah a whole lotta bills and my moneys spent and thats on my bad foot whoa uhyou know my face gettin short and i got the blues i got a funky job and i paid my dues on the good footho on the good foot i got to get on the good foot hey on the good foot get on the good foot come overhit it there you got to get it get it sharper now uh come on get it ah huhon the good foot on the good foot ho on the good foot get on the good footon the good foot on the good foot ho get on the good foot on the good footget it there get it there ho now bass play on it nowcome on get it ah get it get on the good foot ooh i got to get on the good foot ooh get on the good foot hotake care of business sister im your fella ",1
100,"pop that thang","the isley brothers",1972," pop that thang bang bang bang pop that thang bang bang bangting a ling a ling i hook it on up get on down now do your stuff come onpop that thang bang bang bang pop that thang bang bang bangif you cant do it right dont you try it again look at that rooster runnin after that hen come onpop that thang bang bang bang pop that thang bang bang bangsister rosaline ting a ling a ling look at that child popping that thanghitch up to my wagon and get ready to roll but dont get on board if you cant carry the loadif balloon goes down i fill it up with wind if the record stops start it over againpop that thang bang bang bang pop that thang bang bang bangting a ling a ling hook it on up get on down and do your own stuffpop that thang bang bang bang pop that thang bang bang bangif you cant do it right dont you try it again look at that rooster running after that hencome on and pop it pop it pop it pop it come on and pop it pop it pop it pop it come on and pop it ",1
1,"tie a yellow ribbon round the ole oak tree","tony orlando and dawn",1973,"im comin home ive done my time now ive got to know what is and isnt mine if you received my letter telling you id soon be free then youll know just what to do if you still want me if you still want me whoa tie a yellow ribbon round the ole oak tree its been three long years do you still want me if i dont see a ribbon round the ole oak tree ill stay on the bus forget about us put the blame on me if i dont see a yellow ribbon round the ole oak tree bus driver please look for me cause i couldnt bear to see what i might see im really still in prison and my love she holds the key a simple yellow ribbons what i need to set me free and i wrote and told her please whoa tie a yellow ribbon round the ole oak tree its been three long years do you still want me if i dont see a ribbon round the ole oak tree ill stay on the bus forget about us put the blame on me if i dont see a yellow ribbon round the ole oak tree now the whole damned bus is cheerin and i cant believe i see a hundred yellow ribbons round the ole oak tree im comin home tie a ribbon round the ole oak tree tie a ribbon round the ole oak tree tie a ribbon round the ole oak tree tie a ribbon round the ole oak tree tie a ribbon round the ole oak tree tie a ribbon round the ole oak tree tie a ribbon round the ole oak tree tie a ribbon round the ole oak tree",3
2,"bad bad leroy brown","jim croce",1973," well the south side of chicago is the baddest part of town and if you go down there you better just beware of a man named leroy brownnow leroy more than trouble you see he stand bout six foot four all the downtown ladies call him treetop lover all the men just call him sirand its bad bad leroy brown the baddest man in the whole damned town badder than old king kong and meaner than a junkyard dognow leroy he a gambler and he like his fancy clothes and he like to wave his diamond rings in front of everybodys nosehe got a custom continental he got an eldorado too he got a 32 gun in his pocket for fun he got a razor in his shoeand its bad bad leroy brown the baddest man in the whole damned town badder than old king kong and meaner than a junkyard dogwell friday bout a week ago leroy shootin dice and at the edge of the bar sat a girl named doris and ooh that girl looked nicewell he cast his eyes upon her and the trouble soon began cause leroy brown learned a lesson bout messin with the wife of a jealous manand its bad bad leroy brown the baddest man in the whole damned town badder than old king kong and meaner than a junkyard dogwell the two men took to fighting and when they pulled them from the floor leroy looked like a jigsaw puzzle with a couple of pieces goneand its bad bad leroy brown the baddest man in the whole damned town badder than old king kong and meaner than a junkyard dogand its bad bad leroy brown the baddest man in the whole damned town badder than old king kong and meaner than a junkyard dog yeah badder than old king kong and meaner than a junkyard dog ",1
3,"killing me softly with his song","roberta flack",1973," strumming my pain with his fingers singing my life with his words killing me softly with his song killing me softly with his song telling my whole life with his words killing me softly with his songi heard he sang a good song i heard he had a style and so i came to see him to listen for a while and there he was this young boy a stranger to my eyesstrumming my pain with his fingers singing my life with his words killing me softly with his song killing me softly with his song telling my whole life with his words killing me softly with his songi felt all flushed with fever embarrassed by the crowd i felt he found my letters and read each one out loud i prayed that he would finish but he just kept right on strumming my pain with his fingerssinging my life with his words killing me softly with his song killing me softly with his song telling my whole life with his words killing me softly with his songhe sang as if he knew me in all my dark despair and then he looked right through me as if i wasnt there but he just came to singing singing clear and strongstrumming my pain with his fingers singing my life with his words killing me softly with his song killing me softly with his song telling my whole life with his words killing me softly with his song ",1
4,"lets get it on","marvin gaye",1973," ive been really tryin baby tryin to hold back this feeling for so long and if you feel like i feel baby then cmon oh cmonlets get it on ah baby lets get it on lets love baby lets get it on sugar lets get it onwere all sensitive people with so much to give understand me sugar since weve got to be here lets live i love youtheres nothing wrong with me loving you baby no no and giving yourself to me can never be wrong if the love is truedont you know how sweet and wonderful life can be im asking you baby to get it on with me i aint gonna worry i aint gonna push wont push you baby so cmon cmon cmon cmon cmon baby stop beatin round the bushlets get it on lets get it on you know what im talkin bout cmon baby let your love come out if you believe in love lets get it on lets get it on baby this minute oh yeah lets get it on please lets get it oncmon cmon cmon cmon cmon darlin stop beatin round the bush oh gonna get it on threaten you baby i wanna get it on you dont have to worry that its wrong if the spirit moves ya let me groove ya good let your love come down oh get it oncmon baby do you know the meaning ive been sanctified girl you give me good feeling ive been sanctified ",1
5,"my love","paul mccartney  wings",1973,"and when i go away i know my heart can stay with my love its understood its in the hands of my love and my love does it good wo wo wo wo wo wo my love does it good and when the cupboards bare ill still find something there with my love its understood its everywhere with my love and my love does it good wo wo wo wo wo wo wo wo my love does it good i love oh wo my love only my love holds the other key to me oh my love oh my love only my love does it good to me wo wo wo wo wo wo wo wo my love does it good dont ever ask me why i never say goodbye to my love its understood its everywhere with my love and my love does it good wo wo wo wo wo wo wo wo my love does it good oh my love oh my love only my love does it good to me wo",3
6,"why me","kris kristofferson",1973," why me lord what have i ever done to deserve even one of the pleasures ive known lord what did i ever do that was worth lovin you or the kindness youve shownlord help me jesus ive wasted it so help me jesus i know what i am but now that i know that ive needed you so help me jesus my souls in your handtry me lord if you think theres a way i can try to repay all ive taken from you maybe lord i can show someone else what i go through myself on my way back to youlord help me jesus ive wasted it so help me jesus i know what i am but now that i know that ive needed you so help me jesus my souls in your hand jesus my souls in your hand ",1
7,"crocodile rock","elton john",1973," i remember when rock was young me and suzie had so much fun holding hands and skimming stones had an old gold chevy and a place of my own but the biggest kick i ever got was doing a thing called the crocodile rock while the other kids were rocking round the clock we were hopping and bopping to the crocodile rockwell crocodile rocking is something shocking when your feet just cant keep still i never knew me a better time and i guess i never will oh lawdy mama those friday nights when suzie wore her dresses tight and the crocodile rocking was out of sightla lalalala la lalalala la lalalala labut the years went by and the rock just died suzie went and left us for some foreign guy long nights crying by the record machine dreaming of my chevy and my old blue jeans but theyll never kill the thrills weve got burning up to the crocodile rock learning fast as the weeks went past we really thought the crocodile rock would lastwell crocodile rocking is something shocking when your feet just cant keep still i never knew me a better time and i guess i never will oh lawdy mama those friday nights when suzie wore her dresses tight and the crocodile rocking was out of sightla lalalala la lalalala la lalalala lai remember when rock was young me and suzie had so much fun holding hands and skimming stones had an old gold chevy and a place of my own but the biggest kick i ever got was doing a thing called the crocodile rock while the other kids were rocking round the clock we were hopping and bopping to the crocodile rockwell crocodile rocking is something shocking when your feet just cant keep still i never knew me a better time and i guess i never will oh lawdy mama those friday nights when suzie wore her dresses tight and the crocodile rocking was out of sightla lalalala la lalalala la lalalala la la lalalala la lalalala la lalalala la la lalalala la lalalala la lalalala la ",1
8,"will it go round in circles","billy preston",1973," ive got a song i aint got no melody ima gonna sing it to my friends ive got a song i aint got no melody ima gonna sing it to my friendswill it go round in circles will it fly high like a bird up in the sky will it go round in circles will it fly high like a bird up in the skyive got a story i aint got no moral let the bad guy win every once in a while ive got a story i aint got no moral let the bad guy win every once in a whilewill it go round in circles will it fly high like a bird up in the sky will it go round in circles will it fly high like a bird up in the skyive got a dance i aint got no steps no im gonna let the music move me around ive got a dance i aint got no steps ima gonna let the music move me aroundwill it go round in circles will it fly high like a bird up in the sky will it go round in circles will it fly high like a bird up in the skywell well now oh will it go round in circles will it fly high like a bird up in the sky will it go round in circles will it fly high like a bird up in the skyive got a song i aint got no melody ima gonna sing it to my friends ive got a song i aint got no melody ima gonna sing it to my friendswill it go round in circles will it fly high like a bird up in the sky will it go round in circles will it fly high like a bird up in the skywill it go round in circles will it fly high like a bird up in the sky will it go round in circles will it fly high like a bird up in the sky ",1
9,"youre so vain","carly simon",1973," carly simonyou walked into the party like you were walking onto a yacht your hat strategically dipped below one eye your scarf it was apricot you had one eye in the mirror as you watched yourself gavotte and all the girls dreamed that theyd be your partner theyd be your partner andyoure so vain you probably think this song is about you youre so vain ill bet you think this song is about you dont you dont youyou had me several years ago when i was still quite naive well you said that we made such a pretty pair and that you would never leave but you gave away the things you loved and one of them was me i had some dreams they were clouds in my coffee clouds in my coffee andyoure so vain you probably think this song is about you youre so vain ill bet you think this song is about you dont you dont you dont youi had some dreams they were clouds in my coffee clouds in my coffee and youre so vain you probably think this song is about you youre so vain ill bet you think this song is about you dont you dont youwell i hear you went up to saratoga and your horse naturally won then you flew your lear jet up to nova scotia to see the total eclipse of the sun well youre where you should be all the time and when youre not youre with some underworld spy or the wife of a close friend wife of a close friend andyoure so vain you probably think this song is about you youre so vain ill bet you think this song is about you dont you dont you dont you ",1
10,"touch me in the morning","diana ross",1973," touch me in the morning then just walk away we dont have tomorrow but we had yesterday hey wasnt it me who said that nothing goods gonna last forever and wasnt it me who said lets just be glad for the time togetherit mustve been hard to tell me that youve given all you had to give i can understand youre feeling that way everybodys got their life to livewell i can say goodbye in the cold morning light but i cant watch love die in the warmth of the night if ive got to be strong dont you know i need to have tonight when youre gonetill you go i need to lie here and think about the last time that youll touch me in the morning then just close the door leave me as you found me empty like beforehey wasnt it yesterday we used to laugh at the wind behind us didnt we run away and hope that time wouldnt try to find us didnt we rundidnt we take each other to a place where no ones ever been yeah i really need you near me tonight cause youll never take me there againlet me watch you go with the sun in my eyes weve seen how love can grow now well see how it dies if ive got to be strong dont you know i need to have tonight when youre gonetill you go i need to hold you until the time your hands reach out and touch me in the morning mornings where blue and gold and we could feel one another living then just walk away we walked with a dream to hold and we could take what the world was givingwe dont have tomorrow theres no tomorrow here theres only love and the time to chase it but we had yesterday but yesterdays gone my love theres only now and its time to face it touch me in the morning ",1
11,"the night the lights went out in georgia","vicki lawrence",1973," he was on his way home from candletop been two weeks gone and he thought hed stop at webs and have him a drink for he went home to her andy wolo said hello he said hi whats new and wo said sit down i got some bad news thats gonna hurt said im your best friend and you know thats right but your young bride aint home tonight since you been gone shes been seeing that amos boy seth now he got mad and he saw red andy said boy dont you lose your head cause to tell you the truth ive been with her myselfthats the night that the lights went out in georgia thats the night that they hung an innocent man well dont trust your soul to no back woods southern lawyer cause the judge in the towns got bloodstains on his handsandy got scared and left the bar walking on home cause he didnt live far you see andy didnt have many friends and he just lost him one brother thought his wife mustve left town so he went home and finally found the only thing daddy had left him and that was a gun he went off to andys house slipping through the back woods quiet as a mouse came upon some tracks too small for andy to makehe looked through the screen at the back porch door and he saw andy lying on the floor in a puddle of blood and he started to shakethe georgia patrol was making their rounds so he fired a shot just to flag em down a big bellied sheriff grabbed his gun and said whyd you do itthe judge said guilty on a makebelieve trial slapped the sherriff on the back with a smile said suppers waiting at home and i gotta get to itthats the night the lights went out in georgia thats the night that they hung an innocent man dont trust your soul to no back woods southern lawyer cause the judge in the towns got bloodstains on his handswell they hung my brother before i could say the tracks he saw while on his way to andys house and back that night were mine and his cheatin wife had never left town thats one body thatll never be found you see little sister dont miss when she aims her gunthats the night the lights went out in georgia thats the night that they hung an innocent man dont trust your soul to no back woods southern lawyer cause the judge in the towns got bloodstains on his handthats the night the lights went out in georgia thats the night that they hung an innocent man dont trust your soul to no back woods southern lawyer cause the judge in the towns got bloodstains on his hand ",1
12,"playground in my mind","clint holmes",1973,"clint holmes miscellaneous playground in my mind playground in my mind artist clint holmes peak billboard position  2 in 1973 words and music by paul vance and lee pockriss 1when this old world gets me down and theres no love to be found i close my eyes and soon i find im in a playground in my mind where the children laugh and the children play and we sing a song all day 2my name is michael ive got a nickel ive got a nickel shiny and new im gonna buy me all kinds of candy thats what im gonna do 3in the wonders that i find in the playground in my mind in a world that used to be close your eyes and follow me where the children laugh and the children play and well sing a song all day 4my girl is cindy when we get married were gonna have a baby or two were gonna let them visit their grandma thats what were gonna do tag lines concurrent with background singers singing verses two and four living in a world that i left behind happy little children in the playground in my mind see the little children see how they play in the playground in my mind la la lafade transcribed by ronald e hontz ronhontzworldnetattnet",3
13,"brother louie","stories",1973," brother louie  storiesshe was black as the night louie was whiter than white danger danger when you taste brown sugar louie fell in love overnightnothing bad it was good louie had the best girl he could when he took her home to meet his mama and papa louie knew just where he stoodlouie louie louie louie louie louie loui louie louie louie louie louie youre gonna cryinstrumental interludethere he stood in the night knowing whats wrong from whats right he took her home to meet his mama and papa man he had a terrible frightlouie nearly caused a scene wishin it was a dream aint no diffrence if youre black or white brothers you know what i meanlouie louie louie louie louie louie loui louie louie louie louie louie youre gonna cryinstrumental interludelouie louie louie louie louie louie loui louie louie louie louie louie youre gonna crylouie louie louie louie louie louie louie louie loui louie louie louie louie louie youre gonna cry ",1
14,"delta dawn","helen reddy",1973," chorus delta dawn whats that flower you have on could it be a faded rose from days gone by and did i hear you say he was ameetin you here today to take you to his mansion in the skyshes 41 andher dady still calls her baby all the folks round brownsville say shes crazy cause she walks downtown with a suitcase in her hand lookin for a mysterious dark haired manin her younger days they called her delta dawn prettiest woman you ever laid eyes on then a man of low degree stood by her side promised her hed take her for his briderepeat chorus to fade out ",1
15,"me and mrs jones","billy paul",1973," me and mrsjones we got a thing goinon we both know that its wrong but its much too strong to let it go nowwe meet every day at the same cafe sixthirty and no one knows shell be there holding hands making all kinds of plans while the juke box plays our favorite songsme and mrsjones we got a thing goinon we both know that its wrong but its much too strong to let it go nowwe gotta be extra careful that do we dont build our hopes up too high because shes got her own obligations and so and so do ime and mrsjones we got a thing goinon we both know that its wrong but its much too strong to let it go nowwell its time for us to be leaving it hurts so much it hurts so much inside now shell go her way snd ill go mine tomorrow well meet the same pklace the same timeme and mrsjones we got a thing goinon we both know that its wrong but its much too strong to let it go now ",1
16,"frankenstein","edgar winter group",1973,"instrumental",3
17,"drift away","dobie gray",1973," day after day im more confused yet i look for the light through the pourin rain you know thats a game that i hate to loose and im feelin the strain aint it a shameoh give me the beat boys and free my soul i wanna get lost in your rock n roll and drift away oh give me the beat boys and free my soul i wanna get lost in your rock n roll and drift awaybeginnin to think that im wastin time i dont understand the things i do the world outside looks so unkind now im countin on you to carry me throughoh give me the beat boys and free my soul i wanna get lost in your rock n roll and drift away yeah give me the beat boys and free my soul i wanna get lost in your rock n roll and drift awayand when my mind is free you know a melody can move me and when im feelin blue the guitars comin through to soothe methanks for the joy that youve given me i want you to know i believe in your song and rhythm and rhyme and harmony you help me along makin me strongoh give me the beat boys and free my soul i wanna get lost in your rock n roll and drift away give me the beat boys and free my soul i wanna get lost in your rock n roll and drift awayohho ahno give me the beat boys and free my soul i wanna get lost in your rock n roll and drift awayhey hey hey yeah give me the beat boys and free my soul i wanna get lost in your rock n roll and drift awayna na now wont ya wont ya take me ohha take me ",1
18,"little willy","sweet",1973,"north side east side little willy willy wears the crown hes the king around town dancin glancin willy drives them silly with his star shoe shimmy shuffle down way past one and feelin alright cos with little willy round they can last all night hey down stay down stay down down cos little willy willy wont go home but you cant push willy round willy wont go try tellin everybody but oh no little willy willy wont go home up town down town little willy willy drives them wild with his runaround style inside outside willy sends them silly with his starshine shimmy shuffle smile mama done chase willy down through the hall but laugh willy laugh he dont care at all hey down stay down stay down down cos little willy willy wont go home but you cant push willy round willy wont go try tellin everybody but oh no little willy willy wont go home little willy willy wont willy wont willy wont little willy willy wont willy wont willy wont little willy willy wont willy wont willy wont little willy willy wont willy wont willy wont little willy willy wont go home but you cant push willy round willy wont go try tellin everybody but oh no little willy willy wont go home little willy willy wont go home but you cant push willy round willy wont go try tellin everybody but oh no little willy willy wont go home little willy willy wont go home but you cant push willy round willy wont go try tellin everybody but oh no",3
19,"you are the sunshine of my life","stevie wonder",1973," you are the sunshine of my life thats why ill always be around you are the apple of my eye forever youll stay in my hearti feel like this is the beginning though ive loved you for a million years and if i thought our love was ending id find myself drowning in my own tears whoa oh oh ahyou are the sunshine of my life thats why ill always stay around mmm mmm yeah yeah you are the apple of my eye forever youll stay in my heartyou must have known that i was lonely because you came to my rescue and i know that this must be heaven how could so much love be inside of you whoa oh oh ohyou are the sunshine of my life yeah thats why ill always stay around you are the apple of my eye forever youll stay in my heartyou are the sunshine of my life baby thats why ill always stay around ",1
20,"halfbreed","cher",1973," my father married a pure cherokee my mothers people were ashamed of me the indians said that i was white by law the white man always called me indian squawhalfbreed thats all i ever heardhalfbreed how i learned to hate the wordhalfbreed shes no good they warned both sides were against me since the day i was bornwe never settled went from town to town when youre not welcome you dont hang around the other children always laughed at me give her a feather shes a cherokeehalfbreed thats all i ever heard   we werent accepted and i felt ashamed nineteen i left them tell me whos to blame my life since then has been from man to man but i cant run away from what i amhalfbreed thats all i ever heard    ",1
21,"that lady","the isley brothers",1973," whos that lady whos that lady beautiful lady whos that lady lovely lady whos that lady real fine lady whos that lady hear me callin out to you cause its all that i can do your eyes tell me to pursue but you say look yeah but dont touch babyno no no dont touchwhos that lady whos that lady sexy lady whos that lady beautiful lady whos that lady real fine lady whos that lady i would dance upon a string any gift shed wanna bring i would give her anything if she would just do what i saycome round my way baby shine my way ",1
22,"pillow talk","sylvia",1973," aye aye aye aye ayehey baby let me stay i dont care what your friends are about to say ahah what you friends all say is fine but it cant compete with this pillow talk of mineooooh you cant find love on a one way street it takes two to tango takes two to even compete oh yeah so boy just put that stop sign down and lets get together before the day runs us down im pleading to you nowhey baby let me try to be the ones whos gonna light your fire haha what you friends all say is fine but it cant compete with this pillow talk of mineooooh i dont wanna see you be no fool what im teachin you tonight boy youll never learn it in school oh no so friends who tell me wrong from right ill ask to borrow their man some cold and lonely nightooooh hey baby let me be the one who turns you on from a to z haha what you friends all say is fine but it cant compete with this pillow talk of mineooooh  baby ooooh baby aye alalalalalalaah would you baby would you baby lalalalalalalaaye aye aye aye aye aye aye aye uno momento poquito uno momento poquito aye aye aye aye lie steady lie steady lie steady aye aye aye aye oh my god ",1
23,"were an american band","grand funk railroad",1973," out on the road for forty days last night in little rock put me in a haze sweet sweet connie doin her act she had the whole show and thats a natural fact up all night with freddie king i got to tell you pokers his thing booze and ladies keep me right as long as we can make it to the show tonightwere an american band were an american band were comin to your town well help you party it down were an american bandfour young chiquitas in omaha waitin for the band to return from the show feelin good feelin right its saturday night the hotel detective he was outta sight now these fine ladies they had a plan they was out to meet the boys in the band they said come on dudes lets get it on and we proceeded to tear that hotel downwere an american band were an american band were comin to your town well help you party it down were an american bandwere an american band were an american band were comin to your town well help you party it down were an american bandwere an american band were an american band were comin to your town well help you party it down were an american bandwere an american band were an american band were comin to your town well help you party it down were an american bandwere an american band wooo were an american band wooo were an american band wooo ",1
24,"right place wrong time","dr john",1973," i been in the right place but it must have been the wrong time id have said the right thing but i must have used the wrong line i been in the right trip but i must have used the wrong car my head was in a bad place and im wondering what its good for i been in the right place but it must have been the wrong time my head was in a bad place but im having such a good timei been running trying to get hung up in my mind got to give myself a good talkingto this time just need a little brain salad surgery got to cure my insecurityi been in the wrong place but it must have been the right time i been in the right place but it must have been the wrong song i been in the right vein but it seems like the wrong arm i been in the right world but it seems wrong wrong wrong wrong wrongslipping dodging sneaking creeping hiding out down the street see me life shaking with every ho i meet refried confusion is making itself clear wonder which way do i go to get on out of here ",1
25,"wildflower","skylark",1973," shes faced the hardest times you could imagine and many times her eyes fought back the tears and when her youthful world was about to fall in each time her slender shoulders bore the weight of all her fears and a sorrow no one hears still rings in midnight silence in her earslet her cry for shes a lady let her dream for shes a child let the rain fall down upon her shes a free and gentle flower growing wildand if by chance i should hold her let me hold her for a time but if allowed just one possession i would pick her from the garden to be minebe careful how you touch her for shell awaken and sleeps the only freedom that she knows and when you walk into her eyes you wont believe the way shes always paying for a debt she never owes and a silent wind still blows that only she can hear and so she goes ",1
26,"superstition","stevie wonder",1973," very superstitious writings on the wall very superstitious ladders bout to fall thirteen month old baby broke the lookin glass seven years of bad luck the good things in your pastwhen you believe in things that you dont understand then we suffer superstition aint the wayvery superstitious wash your face and hands rid me of the problems do all that you can keep me in a daydream keep me goin strong you dont want to save me sad is my songwhen you believe in things you dont understand then you suffer superstition aint the way yeh yehvery superstitious nothin more to say very superstitious the devils on his way thirteen month old baby broke the lookin glass seven years of bad luck good things in your pastwhen you believe in things that you dont understand then you suffer superstition aint the way no no no ",1
27,"loves me like a rock","paul simon",1973," when i was a little boy and the devil would call my name id say now who do who do you think youre fooling im a consecrated boy singer in a sunday choir my mama loves she loves me she gets down on her knees and hugs me she loves me like a rock she rocks me like the rock of ages and she loves me she loves me loves me loves me loves mewhen i was grown to be a man and the devil would call my name id say now who do who do you think youre fooling im a consummated man i can snatch a little purity my mama loves me she loves me she gets down on her knees and hugs me she loves me like a rock she rocks me like the rock of ages and she loves me she loves me loves me loves me loves meif i was president and the congress call my name id say who do who do you think youre fooling ive got the presidential seal im up on the presidential podium my mama loves me she loves me she gets down on her knees and hugs me and she loves me like a rock she rocks me like the rock of ages and she loves me she loves me loves me loves me loves me she loves me loves me loves me loves me she loves me loves me loves me loves me ",1
28,"the morning after","maureen mcgovern",1973," theres got to be a morning after if we can hold on through the night we have a chance to find the sunshine lets keep on looking for the lightoh cant you see the morning after its waiting right outside the storm why dont we cross the bridge together and find a place thats safe and warmits not too late we should be giving only with love can we climb its not too late not while were living lets put our hands out in timetheres got to be a morning after were moving closer to the shore i know well be there by tomorrow and well escape the darkness we wont be searching anymoretheres got to be a morning after theres got to be a morning after theres got to be a morning after theres got to be a morning after theres got to be a morning after theres got to be a morning aftertheres got to be a morning after theres got to be a morning after theres got to be a morning after theres got to be a morning after ",1
29,"rocky mountain high","john denver",1973," he was born in the summer of his 27th year coming home to a place hed never been before he left yesterday behind him you might say he was born again you might say he found a key for every doorwhen he first came to the mountains his life was far away on the road and hanging by a song but the strings already broken and he doesnt really care it keeps changing fast and it dont last for longbut the colorado rocky mountain high ive seen it rainin fire in the sky the shadow from the starlight is softer than a lullabye rocky mountain high colorado  memory  bymegalodon     i too went to the rockies in my 27th year didnt say very long any where unfortunately but i can see the attraction i have seen fire in the sky a    see all   he climbed cathedral mountains he saw silver clouds below he saw everything as far as you can see and they say that he got crazy once and he tried to touch the sun and he lost a friend but kept his memorynow he walks in quiet solitude the forest and the streams seeking grace in every step he takes his sight has turned inside himself to try and understand the serenity of a clear blue mountain lakeand the colorado rocky mountain high ive seen it raining fire in the sky you can talk to god and listen to the casual reply rocky mountain highnow his life is full of wonder but his heart still knows some fear of a simple thing he cannot comprehend why they try to tear the mountains down to bring in a couple more more people more scars upon the landand the colorado rocky mountain high ive seen it rainin fire in the sky i know hed be a poorer man if he never saw an eagle fly rocky mountain highits colorado rocky mountain high ive seen it rainin fire in the sky friends around the campfire and everybodys high rocky mountain high rocky mountain high rocky mountain high rocky mountain high rocky mountain high rocky mountain high ",1
30,"stuck in the middle with you","stealers wheel",1973," well i dont know why i came here tonight i got the feeling that something aint right im so scared in case i fall off my chair and im wondering how ill get down the stairs clowns to the left of me jokers to the right here i am stuck in the middle with youyes im stuck in the middle with you and im wondering what it is i should do its so hard to keep this smile from my face losing control yeah im all over the place clowns to the left of me jokers to the right here i am stuck in the middle with youwell you started out with nothing and youre proud that youre a self made man and your friends they all come crawlin slap you on the back and say please pleasetrying to make some sense of it all but i can see that it makes no sense at all is it cool to go to sleep on the floor cause i dont think that i can take anymore clowns to the left of me jokers to the right here i am stuck in the middle with youwell you started out with nothing and youre proud that youre a self made man and your friends they all come crawlin slap you on the back and say please pleasewell i dont know why i came here tonight i got the feeling that something aint right im so scared in case i fall off my chair and im wondering how ill get down the stairs clowns to the left of me jokers to the right here i am stuck in the middle with you yes im stuck in the middle with you stuck in the middle with you here i am stuck in the middle with you ",1
31,"shambala","three dog night",1973," wash away my troubles wash away my pain with the rain in shambala wash away my sorrow wash away my shame with the rain in shambalachorus ah ooh yeah yeah yeah yeah yeaheveryone is helpful everyone is kind on the road to shambala everyone is lucky everyone is so kind on the road to shambalachorushow does your light shine in the halls of shambalai can tell my sister by the flowers in her eyes on the road to shambala i can tell my brother by the flowers in his eyes on the road to shambalachorushow does your light shine in the halls of shambala ",1
32,"love train","the ojays",1973," people all over the world everybody join hands join start a love train love train people all over the world all the world now join hands love ride start a love train love ride love trainthe next stop that we make will be soon tell all the folks in russia and china too dont you know that its time to get on board and let this train keep on riding riding on through well wellpeople all over the world you dont need no money join hands come on start a love train love train dont need no ticket come on people all over the world join in ride this train join in ride this train yall start a love train come on train love trainall of you brothers over in africa tell all the folks in egypt and israel too please dont miss this train at the station cause if you miss it i feel sorry sorry for you wellpeople all over the world sisters and brothers join hands join come on start a love train ride this train yall love train come on people all over the world dont need no tickets join hands come on ride start a love train love trainride let it ride let it ride let it ride people aint no war people all over the world on this train join in ride the train start a love train love train ride the train yall people all over the world come on join hands you can ride or stand yeah start a love train love train makin love people all over the world round the world yall join hands come on start a love train love train ",1
33,"im gonna love you just a little more baby","barry white",1973," it feels so good you lying here next to me oh what a groove you have no idea how it feels my hands just wont keep still i love you baby oh i love you i love you i love you i just wanna hold you run my fingers through your hair ooh outta sight uhhuh right there you like it like that closer come here closer closer oh baby oh babygive it up aint no use i couldnt help myself if i wanted to im hung up no doubt im so in love with you for me theres no way outcause deeper and deeper in love with you im falling sweeter and sweeter your tender words of love keep callingeager and eager yeah to feel your lips upon my face please her and please her any time or any placeim gonna love you love you love you just a little more baby im gonna need you need you need you every day im gonna want you want you want you in every way yeahmake no mistake for ill hold back knowing this time it looks like love is here to stay as long as i shall live ill give you all i have and all i have to givecause please her and please her any time or any place eager and eager to feel your sweet lips on my facedeeper and deeper in love with you im falling yeah sweeter and sweeter your tender words of love keep callingim gonna love you love you love you just a little more baby im gonna need you need you need you every day im gonna want you want you want you in every way ",1
34,"say has anybody seen my sweet gypsy rose","tony orlando and dawn",1973,"we were very happy well at least i thought we were cant somebody tell me whats got into her a house a home a family and a man that loves her so whod believe shed leave us to join the burlesque show oh say has anybody seen my sweet gypsy rose heres her picture when she was my sweet mary jo now shes got rings on her fingers and bells on her toes say has anybody seen my sweet gypsy rose oh i got wind my jos been dancin here in new orleans in this smokefilled honkytonk they call the land of dreams oh here she comes a strutting in her birthday clothes say has anybody seen my sweet gypsy rose oh baby baby wont you come home   baby baby baby wont you come on home say we all miss you   we all miss you and every night we kiss your picture oh rose one night the lights go dim and the crowd goes home thats the day you wake up and you find youre all alone so lets say goodbye to gypsy hello mary jo say has anybody seen my sweet gypsy rose sweet gypsy rose sweet gypsy rose so take those rings off your fingers and bells off your toes say has anybody seen my now you know just what i mean by has anybody seen my gypsy rose say has anybody seen his sweet gypsy rose heres her picture when she consist sweet mary jo say has anybody seen his sweet gypsy rose heres her picture when she was his sweet mary jo say has anybody seen",3
35,"keep on truckin","eddie kendricks",1973,"  ",1
36,"dancing in the moonlight","king harvest",1973,"we get it on most every night when that moon is big and bright its a supernatural delight everybodys dancing in the moonlight everybody here is out of sight they dont bark and they dont bite they keep things loose they keep it tight everybodys dancing in the moonlight dancing in the moonlight everybodys feeling warm and bright its such a fine and natural sight everybodys dancing in the moonlight we like our fun and we never fight you cant dance and stay uptight its a supernatural delight everybody was dancing in the moonlight dancing in the moonlight everybodys feeling warm and bright its such a fine and natural sight everybodys dancing in the moonlight we get it on most every night and when that moon is big and bright its a supernatural delight everybodys dancing in the moonlight dancing in the moonlight everybodys feeling warm and bright its such a fine and natural sight everybodys dancing in the moonlight",3
37,"dannys song","anne murray",1973," people smile and tell me im the lucky one and weve just begun i think im gonna have a son he will be like you and me as free as a dove conceived in love the sun is gonna shine aboveand even though we aint got money im so in love with ya honey everything bring a chain of love and in the morning when i rise bring a tear of joy to my eyes and tell me every things gonna be all rightlove a guy who holds the world in a paper cup drink it up love him and hell bring you luck and if ya find he helps your mind better take him home yeah n dont you live alone try to earn what lovers ownand even though we aint got money im so in love with ya honey everything bring a chain of love and in the morning when i rise bring a tear of joy to my eyes and tell me every things gonna be all right ",1
38,"monster mash","bobby boris pickett and the cryptkickers",1973,"i was working in the lab late one night when my eyes beheld an eerie sight for my monster from his slab began to rise and suddenly to my surprise he did the mash he did the monster mash the monster mash it was a graveyard smash he did the mash it caught on in a flash he did the mash he did the monster mash from my laboratory in the castle east to the master bedroom where the vampires feast the ghouls all came from their humble abodes to get a jolt from my electrodes they did the mash they did the monster mash the monster mash it was a graveyard smash they did the mash it caught on in a flash they did the mash they did the monster mash the zombies were having fun the party had just begun the guests included wolf man dracula and his son the scene was rockin all were digging the sounds igor on chains backed by his baying hounds the coffinbangers were about to arrive with their vocal group the cryptkicker five they played the mash they played the monster mash the monster mash it was a graveyard smash they played the mash it caught on in a flash they played the mash they played the monster mash out from his coffin dracs voice did ring seems he was troubled by just one thing he opened the lid and shook his fist and said whatever happened to my transylvania twist its now the mash its now the monster mash the monster mash and its a graveyard smash its now the mash its caught on in a flash its now the mash its now the monster mash now everythings cool dracs a part of the band and my monster mash is the hit of the land for you the living this mash was meant too when you get to my door tell them boris sent you then you can mash then you can monster mash the monster mash and do my graveyard smash then you can mash youll catch on in a flash then you can mash then you can monster mash",3
39,"natural high","bloodstone",1973," why do i keep my mind on you all the time and i dont even know youwhy do i feel this way thinking about you every day and i dont even know youtake me in your arms thrill me with all of your charmsand ill take to the sky on a natural high i want to take to the sky loving you more till the day i die on the natural high take to the sky on a natural high i want you to be mine loving you moreif you have anything to do call me and i will do it for you and i dont even know youif i only had one wish to give that wish would be for you to live forever and ever when i see you on the street my heart skips a beatand ill take to the sky on a natural high ill just take to the sky loving you more till the day i die on a natural high take to the sky on a natural high loving you more and i dont know you loving you moreim gonna try to do all the things you want me to if youll just give me a chance im trying to make something out of a nothing romance and i dont even know youtake me in your arms thrill me with all of your charmsand ill take to the sky on a natural high loving you more till the day i die to the skyill take to the sky on a natural high loving you moreand ill take to the sky on a natural high loving you more till the day i dieill take to the sky on a natural high loving loving youill take to the sky on a natural high loving you more till the day i dieill take to the sky on a natural high loving loving youla la la la la la  ",1
40,"diamond girl","seals and crofts",1973,"seals miscellaneous diamond girl diamond girl seals and crofts words by james seals music by james seals and dash crofts diamond girl  you sure do shine glad i found you  glad youre mine oh my love youre like a precious stone part of earth where heaven has rained on makes no difference where you are day or nighttime youre like a shinin star and how could i shine without you when its about you that i am diamond girl  roamin wild such a rare thing  radiant child i could never find another one like you part of me is deep down inside you cant you feel the whole worlds aturnin we are real and we are aburnin diamond girl now that ive found you its around you that i am diamond girl  you sure do shine diamond girl  you sure do shine diamond girl  you sure do shine diamond girl  you sure do shine i got the lyrics from inside the album cover so they should be accurate from kabenn000aolcom",3
41,"long train runnin","the doobie brothers",1973," down around the corner a half a mile from here you see them old trains runnin and you watch them disappearwithout love where would you be now without loveyou know i saw miss lucy down along the tracks she lost her home and her family and she wont be comin backwithout love where would you be right now without lovewell the illinois central and the southern central freight gotta keep on pushin mama cause you know theyre runnin latewithout love where would you be now now now now without lovewell the illinois central and the southern central freight gotta keep on pushin mama you know theyre runnin latewithout love where would you be now without lovewhere pistons keep on churnin and the wheels go round and round and the steel rails are cold and hard for the miles that they go downwithout love where would you be right now without love where would you be nowgot to get up baby things are moving now well they are moving now baby baby baby baby well they are moving now see the big train run when the train is moving on you got to keep on moving keep on moving keep on moving well keep on moving ",1
42,"give me love give me peace on earth","george harrison",1973,"  ",1
43,"if you want me to stay","sly  the family stone",1973,"if you want me to stay ill be around today to be available for you to see im about to go and then youll know for me to stay here ive got to be me youll never be in doubt thats what its all about you cant take me for granted and smile count the days im gone forget reachin me by phone because i promise ill be gone for a while and when you see me again i hope that you have been the kind of person that you really are now you got to get it straight how could i ever be late when youre my woman takin up my time ohh how could i ever allow i guess i wonder how i could get out a pocket for fun when you know that youre never number two number ones gonna be number one ill be good i wish i could i get this message over to you now when you see me again i hope that you have been the kind of person you really are now ill be so good i wish i could get the message over to you now",3
44,"daddys home","jermaine jackson",1973,"shep  the limelites youre my love youre my angel youre the girl of my dreams id like to thank you for waiting patiently daddys home your daddys home to stay how ive waited for this moment to be by your side your best friend wrote and told me you had teardrops in your eyes daddys home your daddys home to stay it wasnt on a sunday monday and tuesday went by it wasnt on a tuesday afternoon all i could do was cry but i made a promise that you treasured i made it back home to you how ive waited for this moment to be by your side your best friend wrote and told me you had teardrops in your eyes daddys home your daddys home to stay daddys home to stay im not a thousand miles away daddys home to stay im gonna be here come what may daddys home to stay",5
45,"neither one of us wants to be the first to say goodbye","gladys knight  the pips",1973,"its sad to think were not gonna make it and its gotten to the point where we just cant fake it for some ungodly reason we just wont let it die i guess neither one of us wants to be the first to say goodbye i keep wondering what im gonna do without you and i guess you must be wondering that same thing too so we go on go on together living a lie because neither one of us wants to be the first to say goodbye everytime i find the nerve everytime i find the nerve to say im leaving memories those old memories get in my way lord knows its only me oh he knows its me that im deceiving when it comes to saying goodbye thats a simple word that i just cannot say there can be no way there can be no way this can have a happy ending no no so we just go on hurting and pretending and convincing ourselves to give it just one more try because neither one of us wants to be the first to say neither one of us wants to be the first to say neither one of us wants to be the first to say farewell my love goodbye goodbye",3
46,"im doin fine now","new york city",1973,"remember the day you up and left i nearly cried myself to death oh yeah and then i met someone else she made me stop and get ahold of myself oh girl im doing fine now without you baby im doing fine now without you baby remember the day you walked away i ran behind you and i begged ya to stay oh yeah but you never heard a word i said you kept on stepping never turning your head yeah oh girl im doing fine now without you baby im doing fine now without you baby im doing fine now without you baby im doing fine now without you baby im doing fine now without you baby now you had a chance now baby baby im doing fine now without you baby so you made your choice now baby baby im doing fine now without you baby you didnt want me around im doing fine now without you baby now you had your chance now baby baby im doing fine now without you baby so you made your choice now baby baby im doing fine now without you baby oh you didnt want me around",5
47,"could it be im falling in love","the spinners",1973," since i met you ive begun to feel so strange every time i speak your name thats funny you say that you are so helpless too that you dont know what to doeach night i pray there will never come a day when you up and take your love away say you feel the same way too and i wonder what it is i feel for youcould it be im falling in love with you baby could it be im falling in love ooh could it be im falling in love with you with you with you with youi dont need all those things that used to bring me joy you made me such a happy boy and honey youll always be the only one for me meeting you was my destiny you can be sure i will never let you down when you need me i will be around and darling youll always be the only one for me heaven made you speciallycould it be im falling in love could you babe could it be im falling in love could it be im falling in love with you with you with you with youand darling youll always be the only one for me heaven made you speciallycould it be im falling in love would you babe could it be im falling in love i wanna now now babe could it be im falling in love with you with you with you with you could it be im falling in love could it be im falling in love could it be im falling in love could it be im falling in love could it be im falling in love could it be im falling in love ",1
48,"daniel","elton john",1973," daniel is traveling tonight on a plane i can see the red tail lights heading for spain oh and i can see daniel waving goodbye god it looks like daniel must be the clouds in my eyesthey say spain is pretty though ive never been well daniel says its the best place that hes ever seen oh and he should know hes been there enough lord i miss daniel oh i miss him so muchoh oh daniel my brother you are older than me do you still feel the pain of the scars that wont heal your eyes have died but you see more than i daniel youre a star in the face of the skyoh oh daniel my brother you are older than me do you still feel the pain of the scars that wont heal your eyes have died but you see more than i daniel youre a star in the face of the sky ",1
49,"midnight train to georgia","gladys knight  the pips",1973,"la proved too much for the man too much for the man he couldnt make it so hes leavin the life hes come to know ooh he said hes goin he said hes goin back to find goin back to find ooh whats left of his world the world he left behind not so long ago oh hes leavin leavin on that midnight train to georgia yeah leavin on that midnight train said hes goin back goin back to find to a simpler place in time when he takes that ride oh yes he is guess whos gonna be right by his side and ill be with him i know you will on that midnight train to georgia leavin on that midnight train to georgia ooh ooh id rather live in his world live in his world than live without him in mine my world is his his and hers alone he kept dreamin dreamin ooh that someday hed be a star a superstar but he didnt get far but he sure found out the hard way that dreams dont always come true oh no   dreams dont always come true aha no aha so he pawned all his hopes and he even sold his old car bought a one way ticket back to the life he once knew oh yes he did he said he would oh hes leavin leavin on that midnight train to georgia mmm yeah   leavin on that midnight train said hes goin back to find goin back to find ooh a simpler place in time when he takes that ride oh yeah guess whos gonna be right by his side and im gonna be with him i know you will on that midnight train to georgia leavin on that midnight train to georgia ooh ooh id rather live in his world live in his world than live without him in mine my world is his his and hers alone ooh hes leavin leavin on the midnight train to georgia yeah leavin on that midnight train ooh yall said hes goin back to find goin back to find ooh a simpler place in time whenever he takes that ride ooh yall guess whos gonna be right by his side and i got be with him i know you will on that midnight train to georgia   leavin on that midnight train to georgia ooh ooh oh hey id rather live in his world live in his world than live without him in mine her world is his his and hers alone for love gonna board the midnight train and go for love gonna board gonna board the midnight train and go for love gonna board uh huh the midnight train and go my world for love his world gonna board our world the midnight train and go mine and his alone my world for love his world gonna board our world the midnight train and go mine and his alone ive got to go for love ive got to go gonna board ive got to go the midnight train and go hey ive got to go for love ive got to go gonna board the midnight train and go my world for love his world gonna board my man the midnight train and go his girl ive got to go for love ive got to go gonna board the midnight train and go oh ive got to go my world for love his world gonna board",3
50,"smoke on the water","deep purple",1973," we all came out to montreux on the lake geneva shoreline to make records with a mobile we didnt have much time frank zappa and the mothers were at the best place around but some stupid with a flare gun burned the place to the ground smoke on the water fire in the sky smoke on the waterthey burned down the gambling house it died with an awful sound funky claude was running in and out pulling kids out the ground when it all was over we had to find another place but swiss time was running out it seemed that we would lose the race smoke on the water fire in the sky smoke on the water fire in the sky ",1
51,"the cover of the rolling stone","dr hook  the medicine show",1973,"ha ha ha i dont believe it da da ah ooh dont touch me hey ray hey sugar tell them who we are well were big rock singers weve got golden fingers and were loved everywhere we go that sounds like us we sing about beauty and we sing about truth for tenthousand dollars a show right we take all kinds of pills that give us all kind of thrills but the thrill weve never known is the thrill thatll get ya when you get your picture on the cover of the rolling stone   rolling stone wanna see my picture on the cover   stone wanna buy five copies for my mother yeah   stone wanna see my smilin face on the cover of the rolling stone thats a very very good idea i got a freaky ole lady name a cocaine katy who embroideries on my jeans i got my poor old gray haired daddy drivin my limousine now its all designed to blow our minds but our minds wont really be blown like the blow thatll get ya when you get your picture on the cover of the rolling stone   rolling stone  wanna see our pictures on the cover   stone wanna buy five copies for our mothers yeah   stone wanna see my smilin face on the cover of the rolling stone hey i know how rock and roll ah thats beautiful we got a lot of little teenage blueeyed groupies who do anything we say we got a genuine indian guru whos teaching us a better way we got all the friends that money can buy so we never have to be alone and we keep getting richer but we cant get our picture on the cover of the rolling stone   rolling stone wanna see my picture on the cover   stone wanna buy five copies for my mother i want one   stone wanna see my smilin face on the cover of the rolling stone on the cover of the rolling stone man i dont know why we aint on the cover baby were beautiful fellas i aint kiddin why we would make a beautiful cover fresh shot right up front man i can see it now well be up on the front smilin man oh beautiful",3
52,"behind closed doors","charlie rich",1973,"my baby makes me proud lord dont she make me proud she never makes a scene by hanging all over me in a crowd cause people like to talk lord dont they love to talk but when they turn out the lights i know shell be leaving with me and when we get behind closed doors then she lets her hair hang down and she makes me glad that im a man oh no one knows what goes on behind closed doors my baby makes me smile lord dont she make me smile shes never too far away or too tired to say i want you shes always a lady just like a lady should be but when they turn out the lights shes still a baby to me and when we get behind closed doors then she lets her hair hang down and she makes me glad that im a man oh no one knows what goes on behind closed doors behind closed doors",3
53,"your mama dont dance","loggins and messina",1973,NA,NA
54,"feelin stronger every day","chicago",1973," i do believe in you and i know you believe in me oh yeah oh yeahbut now weve realized loves not all that its supposed to be oh yeah oh yeahand knowing that you would have wanted it this way i do believe im feelin stronger every day i know we really tried together we had love inside oh yeah oh yeahso now the time has come for both of us to live on the run oh yeah oh yeahand knowing that you would have wanted it this way i do believe im feelin stronger every day yeah yeah yeah yeah yeah yeah ahafter what youve meant to me ooo baby now i can make it easily yeah yeah yeahi know that we both agree best thing that happened to you the worst thing that happened to me yeah yeah yeahfeelin stronger every day feelin stronger every day feelin stronger every day  ",1
55,"the cisco kid","war",1973,"the cisco kid was a friend of mine the cisco kid was a friend of mine he drink whiskey poncho drink the wine he drink whiskey poncho drink the wine we met down on the fort of rio grande we met down on the fort of rio grande eat the salted peanuts out of can eat the salted peanuts out the can the outlaws had us pinned down at the fort the outlaws had us pinned down at the fort cisco came in blastin drinkin port cisco came in blastin drinkin port they rode the sunset horse was made of steel they rode the sunset horse was made of steel chased a gringo last night through a field chased a gringo last night through a field cisco kid was a friend of mine the cisco kid he was a friend of mine cisco kid was a friend of mine the cisco kid was a friend of mine cisco kid was a friend of mine the cisco kid he was a friend of mine the cisco kid was a friend of mine the cisco kid was a friend of mine cisco kid he was a friend of mine the cisco kid he was a friend of mine the cisco kid he was a friend of mine",3
56,"live and let die","paul mccartney  wings",1973,"when you were young and your heart was an open book you used to say live and let live you know you did you know you did you know you did but if this everchanging world in which we live in makes you give in and cry say live and let die live and let die live and let die live and let die what does it matter to ya when youve got a job to do you gotta do it well you gotta give the other fellow hell you used to say live and let live you know you did you know you did you know you did but if this everchanging world in which we live in makes you give in and cry say live and let die live and let die live and let die live and let die",3
57,"oh babe what would you say","hurricane smith",1973," have i a hope or half a chance to even ask if i could dance with you you oo would you greet me or politely turn away would there suddenly be sunshine on a cold and rainy day oh babe what would you sayfor there are you sweet lollipop and here am i with such a lot to say hey hey just to walk with you along the milky way to caress you through the night time bring you flowers everyday oh babe what would you saycause oh baby i know i know i could be so in love with you and i know that i could make you love me too and if i could only hear you say you do oo oo oo oo but anyway what would you sayyes oh baby i know i know i could be so in love with you and i know that i could make you love me too and if i could only hear you say you do oo oo oo oo but anyway what would you say ",1
58,"i believe in you you believe in me","johnnie taylor",1973,"unverified i feel sorry i feel sorry i feel sorry i feel sorry i feel for sorry for any man out there when he cant look around and say this is my woman my woman alone i feel sorry yeah for any woman out there who cant say i got somebody that i can call my very own i feel sorry i feel sorry i feel sorry i feel sorry one thing i can say about the people of the world today they see you with a good thing they want to take it away but i believe in you you believe in me too yeah even your best friend will come around making sly remarks trying to put you down i believe in you you believe in me too listen honey people talking trying to pull us apart sticking pins and needles in both of our hearts i love you no matter dont care about the stormy weather i heard your mother say loving me didnt make no sense but when she put me down you stood up in my defense i believe in you anytime you against your own mother it makes me know you believe in me yeah heres another thing we had our hard times and almost didnt make it we always worked it never tried to fake it but i believe in you you believe in me too heres anything about it people talking trying to pull us apart always ticking pins and needles in both of our hearts our love together dont care about the stormy weather i believe in you you believe in me too yeah i believe thats why every time we get a chance i tell you honey how much i love you love you love you love you love you and most of all how much i trust you the reason why i trust you baby is because of one thing i can lean on you yeah baby and you can lean on me too one more time im gonna say i believe in you honey please let me believe in you i know a lot of folk out there wish they had somebody they could believe in i believe i believe in you you believe in me too anytime you against your own mother it makes me know you believe in me i believe in you and youve shown me enough to know you believe in me too",5
59,"sing","the carpenters",1973," sing sing a song sing out loud sing out strong sing of good things not bad sing of happy not sad sing sing a song make it simple to last your whole life long dont worry that its not good enough for anyone else to hear just sing sing a songla la la la la la la la la la lasing sing a song let the world sing along sing of love there could be sing for you and for me ",1
60,"aint no woman like the one ive got","the four tops",1973," aint no woman like the one ive got aint no woman like the one ive got aint no woman like the one ive gotevery day the sun comes up around her she can make the birds sing harmony every drop of rain is glad it found her heaven must have made her just for me when she smiles so warm and tender a sight for sore eyes to seeaint no woman like the one ive got oh no they dont come better to make her happy doesnt take a lot she dont ask for things no diamond rings so together like a hand in glove like pages in a letter aint no woman like the one i loveshe can fill me up when its down im goin im goin put a little music in my day wouldnt be surprised if my love keeps growin it keeps growin bigger every minute that she stays awayi would kiss the ground she walks on cause its my word my word shell obey nowaint no woman like the one ive got well i kiss the ground she walks on to make her happy doesnt take a lot shes a real good friend right to the end so together like a hand in glove a lonely man when shes gone people aint no woman like the one i lovewhat a good good thing ive got she means she means a lotaint no woman like the ive got no no they dont come better to make her happy doesnt take a lot she dont ask for things no diamond rings so together like a hand in glove like pages in a letter aint no woman like the one i love peopleaint no woman like the one ive got well i kiss the ground she walks on to make her happy doesnt take a lot im a lonely man when my babys gone ",1
61,"dueling banjos","eric weissberg  steve mandell",1973,NA,NA
62,"higher ground","stevie wonder",1973," people keep on learnin soldiers keep on warrin world keep on turnin cause it wont be too longpowers keep on lyin while your people keep on dyin world keep on turnin cause it wont be too longim so glad that he let me try it again cause my last time on earth i lived a whole world of sin im so glad that i know more than i knew then gonna keep on tryin till i reach my highest groundlovers keep on lovin believers keep on believin sleepers just stop sleepin cause it wont be too long oh noim so glad that he let me try it again cause my last time on earth i lived a whole world of sin im so glad that i know more than i knew then gonna keep on tryin till i reach my highest groundwoo till i reach my highest ground no ones gonna bring me down oh no till i reach my highest grounddont let nobody bring you down theyll sho nough try god is gonna show you higher ground ",1
63,"here i am come and take me","al green",1973,"i cant believe that its real the way that you make me feel a burning deep down inside a love that i cannot hide our love is you and me baby that makes the world go round and if youve been doin lovin with me layin all my troubles down here i am baby come and take me here i am baby come and take me take me by the hand show me here i am baby it always ends up this way me begging you every day a love that i cannot have you broke my heart into half our love is you and me baby that makes the world go round and if youve been doin lovin with me layin all my troubles down here i am baby come and take me here i am baby come and take me take me by the hand squeeze me here i am baby when im down i can always call you for a helpin hand i know youll do the best you can but it dont take much from me just my cup of joe oh theres love inside me i believe theres going to be an explosion its tough for me oh baby i can do worry tell me all your troubles you wont ever have to worry now just one more thing ask everybody everybody you see no no youll find yourself lost and alone on a darkened street here i am baby come and take me here i am baby come and take me take me by the hand show me here i am take me here i am show me wont you here i am baby come and take me wont you teach me baby wont you take me by the hand teach me here i am baby",3
64,"my maria","bw stevenson",1973," my maria dont you know ive come a long long way i been longing to see her when shes around she takes my blues away sweet maria the sunlight surely hurts my eyes im a lonely dreamer on a highway in the skiesmaria maria i love youmy maria there were some blue and sorrow times just my thoughts about you bring back my piece of mind you gypsy lady youre a miracle work for me you set my soul free like a ship sailing on the seashe is the sunlight when the skies are gray she treats me so right lady take me awaymaria maria i love youmaria maria i love you maria ",1
65,"superfly","curtis mayfield",1973," darkest of night with the moon shining bright theres a set goin strong lotta things goin on the man of the hour has an air of great power the dudes have envied him for so longoh superfly youre gonna make your fortune by and by but if you lose dont ask no questions why the only game you know is do or die ahhahahard to understand what a hell of a man this cat of the slum had a mind wasnt dumb but a weakness was shown cause his hustle was wrong his mind was his own but the man lived aloneoh superfly youre gonna make your fortune by and by but if you lose dont ask no questions why the only game you know is do or die ahhahathe game he plays he plays for keeps hustlin times and ghetto streets tryin ta get over thats what he tryin to do yall taking all that he can take gambling with the odds of fate tryin ta get over tryin ta get over tryin ta get over tryin ta get over woo superflythe aim of his role was to move a lot of blow ask him his dream what does it mean he woudnt know cant be like the rest is the most hell confess but the times running out and theres no happinessoh superfly youre gonna make your fortune by and by but if you lose dont ask no questions why the only game you know is do or die ahhaha superfly superfly superfly superflytryin ta get over tryin ta get over tryin ta get over tryin ta get over tryin ta get over tryin ta get over tryin ta get over tryin ta get over tryin ta get over ",1
66,"get down","gilbert osullivan",1973," told you once before and i wont tell you no more get down get down get down youre a bad dog baby but i still want you roundyou give me the creeps when you jump on your feet so get down get down get down keep your hands to yourself im strictly out of boundsonce upon a time i drank a little wine was as happy as could be happy as could be now im just like a cat on a hot tin roof baby what do you think youre doin to metold you once before and i wont tell you no more so get down get down get down youre a bad dog babybut i still want you round around i still want you around aye aye ayei dont give a damn and id like you if you can to get down get down get down youre bad dog baby but i still want you roundonce upon a time i drank a little wine was as happy as could be happy as could be now im just like a cat on a hot tin roof baby what do you think youre doin to metold you once before and i wont tell you no more so get down get down get down youre a bad dog baby but i still want you round around ",1
67,"last song","edward bear",1973,"did you know id go to sleep and leave the lights on hopin youd come by and know that i was home and still awake but two years go by and still my lights on this is hard for me to say but this is all that i can say its the last song ill ever write for you its the last time that ill tell you just how much i really care this is the last song ill ever sing for you you come looking for the light and it wont be there but i love you oh yes i do yes i do all the times that ive spent waiting wondering where you are always knew the time would come when i would start to wonder why now the time is here i dont know where you are so ill write you one more song but its the last time that ill try its the last song ill ever write for you its the last time that ill tell you just how much i really care this is the last song ill ever sing for you you come looking for the light and it wont be there but i love you oh yes i do mmm mmm its the last song ill ever write for you its the last song ill ever write for you its the last song ill ever write for you its the last song ill ever write for you its the last song ill ever write for you",3
68,"reelin in the years","steely dan",1973," your everlasting summer you can see it fading fast so you grab a piece of something that you think is gonna last well you wouldnt even know a diamond if you held it in your hand the things you think are precious i cant understandare you reelin in the years stowin away the time are you gatherin up the tears have you had enough of mineare you reelin in the years stowin away the time are you gatherin up the tears have you had enough of mineyou been tellin me youre a genius since you were seventeen in all the time ive known you i still dont know what you mean the weekend at the college didnt turn out like you planned the things that pass for knowledge i cant understandare you reelin in the years stowin away the time are you gatherin up the tears have you had enough of mineare you reelin in the years stowin away the time are you gatherin up the tears have you had enough of minei spent a lot of money and i spent a lot of time the trip we made to hollywood is etched upon my mind after all the things weve done and seen you find another man the things you think are useless i cant understandare you reelin in the years stowin away the time are you gatherin up the tears have you had enough of mineare you reelin in the years stowin away the time are you gatherin up the tears have you had enough of mine ",1
69,"hocus pocus","focus",1973,"̫i or̫r̫i r̫r̫r̫i r̫r̫r̫i r̫r̫r̫i r̫r̫r̫i ohror̫ pop̫ y̫i or̫r̫i r̫r̫r̫i r̫r̫r̫i r̫r̫r̫i r̫r̫r̫i ohror̫ pop̫ aaaah aaah aaah aaah uuuh oooh oooh ooooooooh ̫i or̫r̫i r̫r̫r̫i r̫r̫r̫i r̫r̫r̫i r̫r̫r̫i ohror̫ pop̫ y̫i or̫r̫i r̫r̫r̫i r̫r̫r̫i r̫r̫r̫i r̫r̫r̫i ohror̫ boump̫ aaaah aaah aaah aaah uuuh oooh oooh ooooooooh tatrrrep̫tetretrepiec̫̣̩̩̫ḥh̩nh̩n ̫i tr̩gueregu̩d̫i det̻ro degued̫ a tataro teguereguedaw tegueregued̻ro d̻dow ̫̩hr̫hr̻hr̻hr��hr�_ h̩ ḥ he how ̣i er̻ṛi ṛṛr̫i r̫r̫r̫i r̫r̫r̫i r̫r̫r̫i ohror̫ pop̫ y̫i or̫r̫i r̫r̫r̫i r̫r̫r̫i r̫r̫r̫i r̫r̫r̫i ohror̫m pomp̫ aaaah aaah aaah aaah uuuh oooh oooh ooooooooh ̫i or̫r̫i r̫r̫r̫i r̫r̫r̫i r̫r̫r̫i r̫r̫r̫i ohror̫ pop̫ y̫i or̫r̫i r̫r̫r̫i r̫ aaaah aaah aaah aaah uuuh oooh oooh ooooooooh uaaahuhahaha eee hi hi h������",3
70,"yesterday once more","the carpenters",1973," when i was young id listen to the radio waitin for my favorite songs when they played id sing along it made me smilethose were such happy times and not so long ago how i wondered where theyd gone but theyre back again just like a long lost friend all the songs i loved so wellevery shalalala every woowoo still shines every shingalingaling that theyre startin to sings so finewhen they get to the part where hes breakin her heart it can really make me cry just like before its yesterday once morelookin back on how it was in years gone by and the good times that i had makes today seem rather sad so much has changedit was songs of love that i would sing to then and id memorize each word those old melodies still sound so good to me as they melt the years awayevery shalalala every woowoo still shines every shingalingaling that theyre startin to sings so fineall my best memories come back clearly to me some can even make me cry just like before its yesterday once moreevery shalalala every woowoo still shines every shingalingaling that theyre startin to sings so fineevery shalalala every woowoo still shines every shingalingaling that theyre startin to sings so fine ",1
71,"boogie woogie bugle boy","bette midler",1973," he was a famous trumpet man from out chicago way he had a boogie style that no one else could play he was the top man at his craft but then his number came up and he was gone with the draft hes in the army now a blowin reveille hes the boogie woogie bugle boy of company bthey made him blow a bugle for his uncle sam it really brought him down because he couldnt jam the captain seemed to understand because the next day the cap went out and drafted the band and now the company jumps when he plays reveille hes the boogie woogie bugle boy of company ba root a toot a toodlieadatoot he blows it eight to the bar in boogie rhythm he cant blow a note unless a bass and guitar is playin with him he makes the company jump when he plays reveille hes the boogie woogie bugle boy of company b he was some boogie woogie bugle boy of company bwhen he played his boogie woogie bugle he was busy as a bzzzz bee and when he plays he makes the company jump eight to the bar hes the boogie woogie bugle boy of company b andata toodliatatoodliata toot toot he blows it eight to the bar he cant blow a note if a bass and guitar isnt with him and the company jumps when he plays reveille hes the boogie woogie bugle boy of company bhe puts the boys to sleep with boogie every night and wakes em up the same way in the early bright they clap their hands and stamp their feet cause they know how he plays when someone gives him a beat woh woh he wakes em up when he plays reveille the boogie woogie bugle boy of company ba root a toot a toodliada to toot toot toot hes blowin eight to the bar cant blow a note if a bass and guitar isnt woh with him and the company jumps when he plays reveille hes the boogie woogie bugle boy of company b ",1
72,"clair","gilbert osullivan",1973," clair the moment i met you i swear i felt as if something somewhere had happened to me which i couldnt seeand then the moment i met you again i knew in my heart that we were friends it had to be so it couldnt be no but try as hard as i might doi dont know why you get to me in a way i cant describe words mean so little when you look up and smilei dont care what people say to me youre more than a child oh clair clairclair if ever a moment so rare was captured for all to compare that moment is you in all that you do but why in spite of our age difference do i cry each time i leave youi feel i could die nothing means more to me than hearing you say im going to marry you will you marry me uncle ray oh clair clairclair ive told you before dont you dare get back into bed cant you see that is late no you cant have a drink oh alright then but wait just a bitwhile i in an effort to baby sit capture my breath what there is left of it you can be murder at this hour of the day but in the morning tonight will seem a life time away oh clair clair ",1
73,"do it again","steely dan",1973," in the mornin you go gunnin for the man who stole your water and you fire till he is done in but they catch you at the border and the mourners are all singin as they drag you by your feet but the hangman isnt hangin and they put you on the streetyou go back jack do it again wheel turinin round and round you go back jack do it againwhen you know shes no high climber then you find your only friend in a room with your two timer and youre sure youre near the end then you love a little wild one and she brings you only sorrow all the time you know shes smilin youll be on your knees tomorrow yeahyou go back jack do it again wheel turinin round and round you go back jack do it againnow you swear and kick and beg us that youre not a gamblin man then you find youre back in vegas with a handle in your hand your black cards can make you money so you hide them when youre able in the land of milk and honey you must put them on the tableyou go back jack do it again wheels turinin round and round you go back jack do it again ",1
74,"kodachrome","paul simon",1973," when i think back on all the crap i learned in high school its a wonder i can think at all and though my lack of education hasnt hurt me none i can read the writing on the wallkodachrome they give us those nice bright colors they give us the greens of summers makes you think all the worlds a sunny day i got a nikon camera i love to take a photograph so mama dont take my kodachrome awayif you took all the girls i knew when i was single and brought them all together for one night i know theyd never match my sweet imagination everything looks worse in black and whitekodachrome they give us those nice bright colors they give us the greens of summers makes you think all the worlds a sunny day i got a nikon camera i love to take a photograph so mama dont take my kodachrome awaymama dont take my kodachrome away mama dont take my kodachrome away mama dont take my kodachrome awaymama dont take my kodachrome mama dont take my kodachrome mama dont take my kodachrome away mama dont take my kodachrome leave your boy so far from home mama dont take my kodachrome away mama dont take my kodachrome mama dont take my kodachrome away ",1
75,"why cant we live together","timmy thomas",1973," tell me why tell me why tell me why why cant we live together tell me why tell me why why cant we live togethereverybody wants to live together why cant we be togetherno more war no more war no more war just a little peace no more war no more war all we want is some peace in this worldeverybody wants to live together why cant we be togetherno matter no matter what colour you are still my brother i said no matter no matter what colour you are still my brothereverybody wants to live together why cant we be togethereverybody wants to live everybodys got to be togethereverybody wants to live everybodys going to be togethereverybodys got to be together everybody wants to be togetheri said no matter no matter what colour youre still my brother i said no matter no matter what colour youre still my brothereverybody wants to live together why cant we be togethergotta live together together ",1
76,"so very hard to go","tower of power",1973," aint nothin i can say nothin i can do i feel so bad yeah i feel so blue i got to make it right for everyone concerned even if its me if it means its me whats gettin burnedcause i could never make you unhappy no i couldnt do that girl only wish i didnt have to love you do makes it so so very hard to goso very hard to go cause i love you so so very hard to go ah i love you soi knew the time would come id have to pay for my mistakes i cant blame you for what youre doin to me girl even tho my heart achesyour dreams have all come true just the way you planned them so ill just step aside im gonna step aside and lend a helping hand thencause i could never make you unhappy no i couldnt do that girl only wish i didnt love you so makes it so very hard to goso very hard to go cause i love you so so very hard to go oh i love you soi could never make you unhappy no i couldnt do that girl only wish i didnt love you so makes it so very hard to goso very hard to go cause i love you so so very hard to go oh i love you soso very hard to go and it aint easy to walk away when a man loves somebody so very hard to go hey hey hey hey ",1
77,"do you wanna dance","bette midler",1973," do you wanna dance and hold my hand tell me youre my lover man oh baby do you wanna dancewe could dance under the moonlight hug and kiss all through the night oh baby tell me do you wanna dance with me babydo you do you do you do you want to dance do you do you do you want to dance do you do you do you do you want to dance with me babyah thats right ah ah aaaaaaaah do you want to dance under the moonlight hug me kiss me baby all through the night oh baby baby baby baby baby baby tell me do you want to dance ",1
78,"rockin pneumonia and the boogie woogie flu","johnny rivers",1973," i wanna jump but im afraid ill fall i wanna holler but the joints too small young man rhythms got a hold of me too i got the rockin pneumonia and the boogie woogie flucall some others baby that aint all i wanna kiss her but shes way too tall young man rhythms got a hold of me too i got the rockin pneumonia and the boogie woogie flui wanna squeeze her but im way too low i would be runnin but my feets too slow young man rhythms got a hold of me too i got the rockin pneumonia and the boogie woogie flui wanna squeeze her but im way too low i would be runnin but my feets too slow young man rhythms got a hold of me too i got the rockin pneumonia and the boogie woogie flu ",1
79,"ramblin man","the allman brothers band",1973,"lord i was born a ramblin man tryin to make a livin and doin the best i can and when its time for leavin i hope youll understand that i was born a ramblin man well my father was a gambler down in georgia he wound up on the wrong end of a gun and i was born in the back seat of a greyhound bus rollin down highway 41 lord i was born a ramblin man tryin to make a livin and doin the best i can and when its time for leavin i hope youll understand that i was born a ramblin man im on my way to new orleans this mornin leaving out of nashville tennessee theyre always having a good time down on the bayou lord the delta women think the world of me lord i was born a ramblin man tryin to make a livin and doin the best i can and when its time for leavin i hope youll understand that i was born a ramblin man lord i was born a ramblin man lord i was born a ramblin man lord i was born a ramblin man lord i was born a ramblin man",3
80,"masterpiece","the temptations",1973,"where i was born everything was dull and dingy i lived in a place they called the inner city getting ahead was strictly a no no cause nobody cares what happens to the folks that live in the ghetto thousands of lives wasting away people living from day to day its a challenge just staying alive cause in the ghetto only the strong survives broken down homes kids strung out they dont even know what lifes all about stealin cars robbin bars muggings drugs rat infested and no ones interested kids dodging cars for recreation only adds to a mothers frustration breakins folks comin home and finding all their possessions gone oh its an everyday thing well well in the ghetto oh its an everyday thing in the ghetto",3
81,"peaceful","helen reddy",1973,"in the morning fun when no one will be drinking any more wine ill wake the sun up by givin him a fresh air full of the wind cup and i wont be found in the shadows hiding sorrow and i can wait for fate to bring around to me any part of my tomorrow tomorrow cause its oh so peaceful here theres no one bending over my shoulder nobody breathing in my ear oh so peaceful here in the evening shadows are callin me and the dew settles in my mind and i think of friends in the yesterday when my plans were giggled in rhyme i had a son while on the run and his love brought a tear to my eye and maybe some day hell up and say we had a pretty nice time oh my cause its oh so peaceful here theres no one bending over my shoulder nobody breathing in my ear oh so peaceful here",3
82,"one of a kind love affair","the spinners",1973," one of a kind love affair is the kind of love that you read about in a fairy tale like the sun that shines on a rainy day its a cloud of love one of a kind love affair is when your down is up when your up is down but love stays around and when you know youre right but you got to make a little sacrifice you make it for love who oh oh oh yeahi never thought about today would come when she would leave without goodbye yes sir she wrote a line or two upon the wall said im leaving you know i love you too i cant stay with you until this very day i could never say a discouraging word cause i love you whoohohoh yes siree nowone of a kind love affair is when you hate to say girl i told you so but you gotta go there wont be a fight cause your love is right but youre leaving wrong wrong wrong wrong one of a kind ooh love affair is ooh yeah when you treat her nice but you finally have to pay the price and though you know youre right but you got to make a little sacrifice you make it for love you make it for love yeah heh heh heh ohone of a kind love affair is makes you want to love her you just have to hurt her yeah one of a kind one of a kind love affair is makes a lame man walk makes a blind man talk about seein again one of a kind ooh yeah love affair is my heart it makes you me want to be around ya ah girl im glad i found you one of a kind woohee baby love affair is i want to tell you now every day is sunshine girl youre on my mind one of a kind one of a kind love affair is makes me want to want to be with you one of a kind babe babe babe ",1
83,"funny face","donna fargo",1973," funny face i love you funny face i need you my whole worlds wrapped up in youwhen the road i walk seems all up hill and the colors in my rainbow turn blue you kiss the tears away you smile at me and say funny face i love youfunny face i love you funny face i need you these are the sweetest words ive ever heard funny face dont leave me funny face believe me my whole worlds wrapped up in youand when i hurt your feelings as i sometimes do and i say those mean things that we know are not true you forgive my childish ways you hold me close and say funny face i love youfunny face i love you funny face i need you these are the sweetest words ive ever heard funny face dont leave me funny face believe me my whole worlds wrapped up in youfunny face i love you funny face i need you these are the sweetest words ive ever heard funny face dont leave me funny face believe me my whole worlds wrapped up in you ",1
84,"funky worm","ohio players",1973," youre a little late so step right this way and well get started granny what say it nowoh say it now say it now ahem me and the ohio players are gonna tell you about a worm hes the funkiest worm in the worldalright sing it clarence clarence theres a worm in the ground yes there is granny thats right clarence hes six feet long granny six feet longclarence he only comes around granny when he wants to get down but when he comes out of his hole he sounds something like thisgranny oh thats funky like nine cans of shaving powder thats funky alright sing it again clarence clarence and through all the land yeah granny yeahclarence he plays in a band granny plays in a band clarence plays guitar without any handspretty good i might add granny yeah when he grabs his guitar and starts to pluck everybody wants to get up and dancegranny ah get it baby dont dont dont dont fight the feeling dont fight ithey dont stop now honey get down im his manager heh heh gonna make a million dollars i get it all cause he cant spend itthere he goes goin back in his hole just the same way he came out do we get paid for this i just wanted to make sure we do okay ",1
85,"angie","the rolling stones",1973,"angie angie when will those clouds all disappear angie angie where will it lead us from here with no lovin in our soul and no money in our coats you cant say were satisfied but angie angie you cant say we never tried angie youre beautiful but i hate that sadness in your eyes angie i still love you baby remember all those nights we cried all the dreams were held so close seemed to all go up in smoke let me whisper in your ear angie angie where will it lead us from here yeah all the dreams we held so close seemed to all go up in smoke hate that sadness in your eyes but angie i still love you baby everywhere i look i see your eyes there aint a woman that comes close to you come on baby dry your eyes but angie angie aint it good to be alive angie angie you cant say we never tried",3
86,"jambalaya on the bayou","blue ridge rangers",1973,"blue ridge rangers miscellaneous jambalaya on the bayou jambalaya jimmy c newman music  lyrics  h williams notes  also performed by creedence clearwater revival goodbye joe me gotta go me oh my oh me gotta go pole the pirogue down the bayou my yvonne the sweetest one me oh my oh son of a gun well have big fun on the bayou jambalaya and a crawfish pie and fil gumbo cause tonight im gonna see my ma cher amio pick guitar fill fruit jar and be gayo son of a gun well have big fun on the bayou thibodaux fontaineaux the place is buzzin kinfolk come to see yvonne by the dozen dress in style and go hog wild me oh my oh son of a gun well have big fun on the bayou jambalaya and a crawfish pie and filgumbo cause tonight im gonna see my ma cher amio pick guitar fill fruit jar and be gayo son of a gun well have big fun on the bayou settle down far from town get me a pirogue and ill catch all the fish in the bayou swap my mon to buy yvonne what she needo son of a gun well have big fun on the bayou jambalaya and a crawfish pie and filgumbo cause tonight im gonna see my ma cher amio pick guitar fill fruit jar and be gayo son of a gun well have big fun on the bayou  note by jim shilliday  the word filwith an acute accent on the e pronounced feelay is a spice used to flavor the soup",3
87,"dont expect me to be your friend","lobo",1973," i stopped sending flowers to your apartment you said you arent at home much anymore i stopped dropping by without an appointment cause id hear laughter coming through your doorsometimes late at night youll still call me just before you close your eyes to sleep you make me vow to try and stop by sometime but baby thats a promise i cant keepi love you too much to ever start liking you so lets leave the story at an end i love you too much to ever start liking you so dont expect me to be your friendi dont walk down through the village or other places that we used to go to all the time im trying to erase you from my memory cause thinking of you jumbles up my mindi love you too much to ever start liking you so lets leave the story at an end i love you too much to ever start liking you so dont expect me to be your friendyou always act so happy when i see you you smile that way you take my hand and then introduce me to your latest lover thats when i feel the walls start crashing ini love you too much to ever start liking you lets leave the story at an end i love you too much to ever start liking you so dont expect me to be your friend ",1
88,"break up to make up","the stylistics",1973,"tell me whats wrong with you now  tell me why i never seem to make you happy though heaven knows i try what does it take to please you tell me just how i can satisfy you woman youre drivin me wild break up to make up thats all we do first you love me then you hate me thats a game for fools break up to make up thats all we do first you love me then you hate me thats a game for fools when i come home from workin youre on the phone talkin about how bad i treat you now tell me im wrong you say its me who argues ill say its you we have got to get together or baby were through break up to make up thats all we do first you love me then you hate me thats a game for fools break up to make up thats all we do yeah first you love me then you hate me thats a game for fools break up to make up thats all we do yeah first you love me then you hate me thats a game for fools break up to make up thats all we do first you love me then you hate me thats a game for fools",3
89,"daisy a day","jud strunk",1973,"he remembers the first time he met her he remembers the first thing she said he remembers the first time he held her and the night that she came to his bed he remembers her sweet way of singin honey has somethin gone wrong he remembers the fun and the teasin and the reason he wrote her this song ill give you a daisy a day ill give you a daisy a day ill love you until the rivers run still and the four winds we know blow away they would walk down the street in the evenin and for years i would see them go by and their love that was more than the clothes that they wore could be seen in the gleam of their eye as a kid they would take me for candy and i loved to go taggin along wed hold hands while we walked to the corner and the old man would sing her his song ill give you a daisy a day ill give you a daisy a day ill love you until the rivers run still and the four winds we know blow away now he walks down the street in the evenin and he stops by the old candy store and i somehow believe hes believin hes holdin her hand like before for he feels all her love walkin with him and he smiles at the things she might say then the old man walks up to the hilltop and gives her a daisy a day ill give you a daisy a day ill give you a daisy a day ill love you until the rivers run still and the four winds we know blow away",3
90,"also sprach zarathustra 2001","deodato",1973,"rain was your birth gathered deep beneath the earth search and seep hollow stone issue and flow virgin stream meander free its a long way to the sea caves and canyons stark prison walls swirl and hurl you",3
91,"stir it up","johnny nash",1973,"stir it up little darling stir it up come on baby come on and stir it up little darling stir it up its been a long long time since ive got you on my mind and now you are here i say its so clear to see what we can do honey just me and you come on and stir it up little darling stir it up come on baby come on and stir it up little darling stir it up ill push the wood ill blaze your fire then ill satisfy your hearts desire said ill stir it up yeah evry minute yeah all you got to do is keep it in baby and stir it up little darling stir it up come on and stir it up oh little darling stir it up yeah oh will you quench me while im thirsty come and cool me down when im hot your recipe darling is so tasty and you sure can stir your pot so stir it up little darling stir it up come on and stir it up oh little darling stir it up come on and stir it up oh little darling stir it up",3
92,"money","pink floyd",1973," money get away get a good job with good pay and youre okay money its a gas grab that cash with both hands and make a stash new car caviar four star daydream think ill buy me a football teammoney get back im all right jack keep your hands off of my stack money its a hit dont give me that do goody good bullshit im in the highfidelity first class traveling set and i think i need a lear jetmoney its a crime share it fairly but dont take a slice of my pie money so they say is the root of all evil today but if you ask for a raise its no surprise that theyre giving none away away away way away away away away ",1
93,"gypsy man","war",1973," they call they call me a gypsy man they call me a gypsy manthey call me a gypsy man they call me a gypsy manthey call me a gypsy man cause i dont stay in one place too longim searchin for a brand new world to make and call my homei gotta find a friend a nice sharp baby i gotta find a friend a nice sharp babyto make my home oh yeah to make my homecause im a gypsy man yes im a gypsy man oh im a gypsy man ",1
94,"the world is a ghetto","war",1973," walkin down the street smoggyeyed looking at the sky starryeyed searchin for a place wearyeyed crying in the night tearyeyeddont you know that its true that for me and for you the world is a ghettodont you know that its true that for me and for you the world is a ghettowonder when ill find paradise somewhere theres a home sweet and nice wonder if ill find happiness never give it up now i guessdont you know that its true that for me and for you the world is a ghettodont you know that its true that for me and for you the world is a ghettodont you know that its true that for me and for you the world is a ghettodont you know that its true that for me and for you the world is a ghettothe world is a ghetto the world is a ghetto ",1
95,"yes we can can","the pointer sisters",1973,"nows the time for all good men to get together with one another we got to iron out our problems and iron out our quarrels and try to live as brothers and try to find peace within without stepping on one another and do respect the women of the world remember you all had mothers we got to make this land a better land than the world in which we live and we got to help each man be a better man with the kindness that we give i know we can make it i know darn well we can work it out oh yes we can i know we can can yes we can can why cant we if we wanna yes we can can i know we can make it work i know that we can make it if we try oh yes we can i know we can can yes we can great gosh almighty oh yes we can i know we can can and we gotta take care of all the children the little children of the world cause theyre our strongest hope for the future the little bitty boys and girls we got to make this land a better land than the world in which we live and we gotta help each man be a better man with the kindness that we give i know we can make it i know darn well we can work it out oh yes we can i know we can can yes we can can why cant we if we wanna yes we can can i know we can make it work i know that we can make it if we try oh yes we can i know we can can yes we can great gosh almighty oh yes we can i know we can can i know we can make it i know darn well we can work it out oh yes we can i know we can can yes we can can why cant we if we wanna yes we can can i know we can make it work i know we can make it if we try oh yes we can i know we can can yes we can great gosh almighty oh yes we can i know we can can oh yes we can i know we can can yes we can can why cant we if we wanna yes we can can oh yes we can i know we can can yes we can can why cant we if we wanna yes we can can oh yes we can i know we can can yes we can can why cant we if we wanna yes we can can oh yes we can i know we can can yes we can can why cant we if we wanna yes we can can i know we can make it i know darn well we can work it out yes we can can yes we can can why cant we if we wanna get together we can work it out i know we can make it i know darn well we can work it out yes we can can yes we can can why cant we if we wanna get together we can work it out i know we can make it i know darn well we can work it out yes we can can yes we can can why cant we if we wanna get together we can work it out i know we can make it i know darn well we can work it out yes we can can yes we can can why cant we if we wanna get together we can work it out i know we can make it i know darn well we can work it out yes we can can yes we can can why cant we if we wanna get together we can work it out i know we can make it i know darn well we can work it out yes we can can yes we can can why cant we if we wanna get together we can work it out i know we can make it i know darn well we can work it out yes we can can yes we can can why cant we if we wanna get together we can work it out i know we can make it i know darn well we can work it out i know we can make it i know darn well we can work it out i know we can can yes we can can why cant we if we want it yes we can can i know we can make it i know darn well we can work it out i know we can can yes we can can why cant we if we want it yes we can can i know we can make it i know darn well we can work it out yes we can can yes we can can why cant we if we want it yes we can can i know we can make it i know darn well we can work it out yes we can can yes we can can why cant we if we want it yes we can can i know we can make it i know darn well we can work it out",3
96,"free ride","edgar winter group",1973," the mountain is high the valley is low and youre confused bout which way to go so i flew here to give you a hand and lead you into the promised landso come on and take a free ride free ride come on and take it by my side come on and take a free rideall over the country im seeing the same nobodys winning at this kind of game we gotta do better its time to begin you know all the answers must come from withinso come on and take a free ride free ride come on and take it by my side come on and take a free ride yeah yeah yeah ",1
97,"space oddity","david bowie",1973," ground control to major tom ground control to major tom take your protein pills and put your helmet on ground control to major tom ten nine eight seven six commencing countdown engines on five four three check ignition and may gods love be with you two one liftoff    meaning  byamandah   editor    in 2013 famous canadian astronaut chris hadfield released a cover of space oddityfilmed in space    see all   this is ground control to major tom youve really made the grade and the papers want to know whose shirts you wear now its time to leave the capsule if you dare this is major tom to ground control im stepping through the door and im floating in a most peculiar way and the stars look very different today for here am i sitting in a tin can far above the world planet earth is blue and theres nothing i can dothough im past one hundred thousand miles im feeling very still and i think my spaceship knows which way to go tell my wife i love her very much she knows ground control to major tom your circuits dead theres something wrong can you hear me major tom can you hear me major tom can you hear me major tom can you here am i floating round my tin can far above the moon planet earth is blue and theres nothing i can do ",1
98,"it never rains in southern california","albert hammond",1973," got on board a westbound seven forty seven didnt think before deciding what to do all that talk of opportunities tv breaks and movies rang true sure rang trueseems it never rains in southern california seems ive often heard that kind of talk before it never rains in california but girl dont they warn ya it pours man it poursout of work im out of my head out of self respect im out of bread im under loved im underfed i wanna go homeit never rains in california but girl dont they warn ya it pours man it pourswill you tell the folks back home i nearly made it had offers but dont know which one to take please dont tell em how you found me dont tell em how you found me gimme a break gimme a breakseems it never rains in southern california seems ive often heard that kind of talk before it never rains in california but girl dont they warn ya it pours man it pours ",1
99,"the twelfth of never","donny osmond",1973," you ask me how much i need you must i explain i need you oh my darling like roses need rainyou ask how long ill love you ill tell you true until the twelfth of never ill still be loving youhold me close never let me go hold me close melt my heart like april snowill love you til the bluebirds forget to sing ill love you til the clover has lost its perfume ill love you til the poets run out of rhymeuntil the twelfth of never and thats a long long time until the twelfth of never and thats a long long timethats a long long time thats a long long time ",1
100,"papa was a rollin stone","the temptations",1973,"it was the third of september that day ill always remember yes i will cause that was the day that my daddy died i never got a chance to see him never heard nothing but bad things about him mama im depending on you to tell me the truth mama just hung her head and said son papa was a rolling stone wherever he laid his hat was his home and when he died all he left us was a loan papa was a rolling stone my son wherever he laid his hat was his home and when he died all he left us was a loan well well hey mama is it true what they say that papa never worked a day in his life and mama some bad talk going around town saying that papa had three outside children and another wife and that aint right i heard some talk about papa doing some store front preaching talking about saving souls and all the time leeching dealing in debt and stealing in the name of the lord mama just hung her head and said papa was a rolling stone my son wherever he laid his hat was his home and when he died all he left us was a loan hey papa was a rolling stone wherever he laid his hat was his home and when he died all he left us was a loan hey mama i heard papa called himself a jack of all trades tell me is that what sent papa to an early grave folks say papa would beg borrow steal to pay his bills hey mama folks say papa never was much on thinking spent most of his time chasing women and drinking mama im depending on you to tell me the truth mama looked up with a tear in her eye and said son papa was a rolling stone well well well well yeah wherever he laid his hat was his home and when he died all he left us was a loan loan loan loan loan papa was a rolling stone wherever he laid his hat was his home and when he died all he left us was a loan i said papa was a rolling stone wherever he laid his hat was his home and when he died all he left us was a loan my daddy was papa was a rolling stone wherever he laid his hat was his home",3
1,"the way we were","barbra streisand",1974," memories light the corners of my mind misty watercolored memories of the way we were scattered pictures of the smiles we left behind smiles we gave to one another for the way we werecan it be that it was all so simple then or has time rewritten every line and if we had the chance to do it all again just tell me tell me would we would we could we could wememories may be beautiful and yet so many memories too painful to remember the way we werecan it be that it was all so simple then or has time rewritten every line or has time rewritten and if we had the chance to do it all again tell me would we would we ah could we could we ",1
2,"seasons in the sun","terry jacks",1974," goodbye to you my trusted friend weve known each other since we were nine or ten together we climbed hills and trees learned of love and a b cs skinned our hearts and skinned our kneesgoodbye my friend its hard to die when all the birds are singing in the sky now that the spring is in the air pretty girls are everywhere think of me and ill be therewe had joy we had fun we had seasons in the sun but the hills that we climbed were just seasons out of timegoodbye papa please pray for me i was the black sheep of the family you tried to teach me right from wrong too much wine and too much song wonder how i got alonggoodbye papa its hard to die when all the birds are singing in the sky now that the spring is in the air little children everywhere when you see them ill be therewe had joy we had fun we had seasons in the sun but the wine and the song like the seasons have all gonewe had joy we had fun we had seasons in the sun but the wine and the song like the seasons have all gonegoodbye michelle my little one you gave me love and helped me find the sun and every time that i was down you would always come around and get my feet back on the groundgoodbye michelle its hard to die when all the birds are singing in the sky now that the spring is in the air with the flowers everywhere i wish that we could both be therewe had joy we had fun we had seasons in the sun but the stars we could reach were just starfish on the beachwe had joy we had fun we had seasons in the sun but the stars we could reach were just starfish on the beachwe had joy we had fun we had seasons in the sun but the wine and the song like the seasons have all goneall our lives we had fun we had seasons in the sun but the hills that we climbed were just seasons out of timewe had joy we had fun we had seasons in the sun ",1
3,"loves theme","love unlimited orchestra",1974,NA,NA
4,"come and get your love","redbone",1974," hey hey whats the matter with your head yeah hey hey whats the matter with your mind and all your sighing anda oohohh hey hey nothins a matter with your head baby find it come on and find it hell with it baby cause youre fine and youre mine and you look so divinecome and get your love come and get your love come and get your love come and get your lovehey hey whats the matter with your feel right dont you feel right baby hey oh yeah get it from the main vine alright i saida find it find it darling love it if you like it yeaheh hey hey its your business if you want some take some get it together babycome and get your love come and get your love come and get your love come and get your lovecome and get your love come and get your love come and get your love now come and get your love come and get your love come and get your love now come and get your love come and get your love come and get your love now come and get your love come and get your love come and get your love nowcome and get your love come and get your love come and get your love come and get your lovehey hey whats the matter with your feel right dont you feel right baby hey oh yeah get it from the main vine alrightlalalalalala come and get your love lalalalalala come and get your love lalalalalala come and get your love lalalalalala come and get your love lalalalalalalalala come and get your love lalalalalalalalala come and get your love lalalalalala come and get your love lalalalalalalalala come and get your love ",1
5,"dancing machine","the jackson 5",1974,"the jackson 5 miscellaneous dancing machine dancing machine the jackson five dancing dancing dancing shes a dancing machine ah babe move it baby automatic systematic full of color self contained tuned and gentle to your vibes captivating stimulating she said you sexy lady filled with space age design shes moving shes grooving dancing until the music stop now yea rythmetic acrobatic shes a dynamite attraction at the drop of a coin she comes alive yeah she knows what shes doing she super bad now shes geared to blow your mind dancing dancing dancing shes a dancing machine ah babe do it baby dancing dancing dancing shes a dancing machine ah babe move it baby shes a dance dance dance dance dancing machine watch her get down watch her get down as she do do do her thing right on the scene shes a dance dance dance dance dancing machine watch her get down watch her get down as she do do do her thing right on the scene come on babe come on babe babe babe shake it baby shake it babe babe babe babe dance dance dance dance i like it i like i love you shes a dance dance dance dance dancing machine watch her get down watch her get down as she do do do her thing right on the scene shes a dance dance dance dance dancing machine watch her get down watch her get down",3
6,"the locomotion","grand funk railroad",1974," everybodys doing a brandnew dance now come on baby do the locomotion i know youll get to like it if you give it a chance now come on baby do the locomotion my little baby sister can do it with me its easier than learning your abc so come on come on do the locomotion with me you gotta swing your hips nowcome on jump up jump back well now i think youve got the knack wow wownow that you can do it lets make a chain now come on baby do the locomotion a chuga chuga motion like a railroad train now come on baby do the locomotion do it nice and easy now dont lose control a little bit of rhythm and a lot of soulcome on come on and do the locomotion with memove around the floor in a locomotion come on baby do the locomotion do it holding hands if you get the notion come on baby do the locomotiontheres never been a dance thats so easy to do it even makes you happy when youre feeling blue so come on come on do the locomotion with mecome on baby do the locomotion so come on come on and do the locomotion with me come on baby do the locomotion so come on come on and do the locomotion with me come on baby do the locomotion come on baby do the locomotion come on baby do the locomotion come on baby do the locomotion come on baby do the locomotion ",1
7,"tsop the sound of philadelphia","mfsb",1974,"yeah ooh yeah lets get it on its time to get down yeah lets get it on its time to get down yeah yeah lets get it on its time to get down here at incomprehensible lets get it on",5
8,"the streak","ray stevens",1974," hello everyone this is your action news reporter with all the news that is news across the nation on the scene at the supermarket there seems to have been some disturbance here pardon me sir did you see what happenedyeah i did is standin overe there by the tomaters and here he come running through the pole beans through the fruits and vegetables nekkid as a jay bird and i hollered over t ethel i said dont look ethel but its too late shed already been incensedhere he comes boogity boogity there he goes boogity boogity and he aint wearin no clothesoh yes they call him the streak boogity boogity fastest thing on two feet boogity boogity hes just as proud as he can be of his anatomy he goin give us a peekoh yes they call him the streak boogity boogity he likes to show off his physique boogity boogity if theres an audience to be found hell be streakin around invitin public critiquethis is your action news reporter once again and were here at the gas station pardon me sir did you see what happenedyeah i did is just in here gettin my car checked he just appeared out of the traffic come streakin around the grease rack there didnt have nothin on but a smile i looked in there and ethel was gettin her a cold drink i hollered dont look ethel but it was too late shed already been mooned flashed her right there in front of the shock absorbershere he comes boogity boogity there he goes boogity boogity and he aint wearin no clotheshe aint crude look at ",1
9,"bennie and the jets","elton john",1974," hey kids shake it loose together the spotlights hitting something thats been known to change the weather well kill the fatted calf tonight so stick around youre gonna hear electric music solid walls of soundsay candy and ronnie have you seen them yet uh but theyre so spaced out bbbbennie and the jets oh but theyre weird and theyre wonderful oh bennie shes really keen shes got electric boots a mohair suit you know i read it in a magazine bbbbennie and the jetshey kids plug into the faithless maybe theyre blinded but bennie makes them ageless we shall survive let us take ourselves along where we fight our parents out in the streets to find whos right and whos wrongoh candy and ronnie have you seen them yet oh but theyre so spaced out bennie and the jets oh but theyre weird and theyre wonderful oh bennie shes really keen shes got electric boots a mohair suit you know i read it in a magazine oh bbbbennie and the jets ",1
10,"one hell of a woman","mac davis",1974," shes a woman shes a baby shes a witch shes a lady shes a free and gentle spirit she can be what she wants to be if she wants to be with me tonight thats alrightshes one hell of a woman young and strong and tame but soft when she loves me like a gentle kitten in my hand she makes me feel like a hell of a manshes wild warm and tender shell resist then shell surrender shes a free and gentle spirit she can be what she wants to be and if she wants to be with me tonight well thats alrightshes one hell of a woman young and strong and tame but soft when she loves me like a gentle kitten in my hand she makes me feel like a hell of a manshes one hell of a woman young and strong and tame but lord when she loves me she makes me feel like a hell of the manshes one hell of a woman young and strong and tame but lord when she loves me she makes me feel like a hell of the man ",1
11,"until you come back to me thats what im gonna do","aretha franklin",1974,NA,NA
12,"jungle boogie","kool  the gang",1974,"get down get down get down get down get down get down get down get down get down get down get down get down get down get down get down get down jungle boogie jungle boogie get it on jungle boogie jungle boogie get it on jungle boogie jungle boogie jungle boogie get down with the boogie jungle boogie come and shake it around jungle boogie help and get down jungle boogie boogie baby jungle boogie the boogie jungle boogie jungle boogie help and get down jungle boogie get boogie jungle boogie let me jump in jungle boogie down with the boogie get down get down get down get down get down get down get down get down get down get down get down get down get down get down get down get down get down get down get down get down get down get down get down get down uh yeah feel the funk youll let me feel the load get down with the boogie im gonna knock with the jungle boogie get down get down with the boogie say ough get down say ugh get down say ugh til you feel it youll get down youll get down get funky yall with the get down",3
13,"midnight at the oasis","maria muldaur",1974," midnight at the oasis send your camel to bed shadows painting our faces traces of romance in our heads heavens holding a halfmoon shining just for us lets slip off to a sand dune real soon and kick up a little dust come on cactus is our friend hell point out the way come on till the evening ends till the evening ends you dont have to answer theres no need to speak ill be your belly dancer prancer and you can be my sheiki know your daddys a sultan a nomad known to all with fifty girls to attend him they all send him jump at his beck and call but you wont need no harem honey when im by your side and you wont need no camel no no when i take you for a ride come on cactus is our friend hell point out the way come on till the evening ends till the evening ends midnight at the oasis send your camel to bed got shadows painting our faces and traces of romance in our heads ",1
14,"you make me feel brand new","the stylistics",1974," my love ill never find the words my love to tell you how i feel my love mere words could not explainprecious love you held my life within your hands created everything i am taught me how to live againonly you cared when i needed a friend believed in me through thick and thin this song is for you filled with gratitude and lovegod bless you you make me feel brand new for god blessed me with you you make me feel brand new i sing this song cause you make me feel brand newmy love whenever i was insecure you built me up and made me sure you gave my pride back to meprecious friend with you ill always have a friend youre someone who i can depend to walk a path that sometimes bendswithout you life has no meaning or rhyme like notes to a song out of time how can i repay you for having faith in megod bless you you make me feel brand new for god blessed me with you you make me feel brand new i sing this song for you ",1
15,"show and tell","al wilson",1974," these are the eyes that never knew how to smile till you came into my lifeand these are the arms that long to lock you inside every day and every nightgirl and here is the soul of which youve taken control cant you see im trying to show love is rightoh show and tell just a game i play when i want to say i love you girl so show me and tell me that you feel the same way too say you do babythese are the hands that cant help reaching for you if youre anywhere inside anywhere insideand these are the lips that cant help calling your name in the middle of the night middle of the nightoh and here is the man that needs to know where you stand dont you know ive done all i can so decideoh show and tell its just a game i play when i want to say i love you girl so show me and tell me that you feel the same way too say you do say you do baby baby babyhere is the soul of which youve taken control cant you see im trying to show love is rightooh girl show and tell just a game i play when i want to say oh i love you girl so show me and tell me that you feel the same way too say you do say you do babyoh show and tell just a game i play when i want to say oh i love you girl so show me and tell me that you feel the same way too ",1
16,"spiders and snakes","jim stafford",1974,"i remember when mary lou said you wanna walk me home from school well i said yes i do she said i dont have to go right home and im the kind that likes to be alone as long as you would i said me too and so we took a stroll wound up down by the swimmin hole and she said do what you wanna do i got silly and found a frog in the water by a hollow log and i shook it at her and i said this frogs for you she said i dont like spiders and snakes and that aint what it takes to love me you fool you fool i dont like spiders and snakes and that aint what it takes to love me like i wanna be loved by you well i think of that girl from time to time i call her up when i got a dime i say hello baby she says aint you cool i say do you remember when and would you like to get together again she says ill see you after school i was shy and so for a while most of my love was touch and smile till she said come on over here i was nervous as you might guess still looking for somethin to slip down her dress and she said lets make it perfectly clear she said i dont like spiders and snakes and that aint what it takes to love me you fool you fool i dont like spiders and snakes and that aint what it takes to love me like i wanna be loved by you",3
17,"rock on","david essex",1974," hey kid rock and roll rock on ooh my soul hey kid boogey too did yahey shout summertime blues jump up and down in my blue suede shoes hey kid rock and roll rock onand where do we go from here which is the way thats clearstill looking for that blue jean baby queen prettiest girl i ever seen see her shake on the movie screen jimmy dean james deanand where do we go from here which is the way thats clearstill looking for that blue jean baby queen prettiest girl i ever seen see her shake on the movie screen jimmy dean jimmy dean rock on rock on rock onhey hey rock and roll rock onrock on hey hey rock and roll rock onrock on hey hey rock and roll rock onrock on hey hey rock and roll rock on ",1
18,"sunshine on my shoulders","john denver",1974," sunshine on my shoulders makes me happy sunshine in my eyes can make me cry sunshine on the water looks so lovely sunshine almost always makes me highif i had a day that i could give you id give to you a day just like today if i had a song that i could sing for you id sing a song to make you feel this waysunshine on my shoulders makes me happy sunshine in my eyes can make me cry sunshine on the water looks so lovely sunshine almost always makes me highif i had a tale that i could tell you id tell a tale sure to make you smile if i had a wish that i could wish for you id make a wish for sunshine all the while ",1
19,"sideshow","blue magic",1974," hurry hurry step right up see the sideshow in town for only fifty centsstep right up hurry hurry before the show begins my friends stand in line get your tickets i hope you will attend itll only cost you fifty cents to see what life has done to those like you and mesee the man with the broken heart youll see that he is sad he hurts so bad so bad so bad see the girl who has lost the only love she ever had theres got to be no sadder show to see no doubt about it satisfactions guaranteedso let the sideshow begin hurry hurry step right on in cant afford to pass it by guaranteed to make you crylet the sideshow begin hurry hurry hurry hurry step right on in cant afford to pass it by guaranteed to make you crysee the man whos been cryin for a million years so many tears so many tears see the girl whos collected broken hearts for souvenirs its more exciting than a one man band the saddest little show in all the landso let the sideshow begin hurry hurry hurry hurry step right on in cant afford to pass it by guaranteed to make you crylet the sideshow begin hurry hurry step right on in cant afford to pass it by guaranteed to make you cryso let the sideshow begin hurry hurry hurry hurry step right on in cant afford to pass it by guaranteed to make you crylet the sideshow begin step right on in hurry hurry step right on in cant afford to pass it by guaranteed to make you cry hurry hurrylet the sideshow begin step right on in ",1
20,"hooked on a feeling","blue swede",1974," ouga chaka ouga ouga x4i cant stop this feeling deep inside of me girl you just dont realize what you do to mewhen you hold me in your arms so tight you let me know everythings alrightim hooked on a feeling im high on believing that youre in love with melips as sweet as candy its taste is on my mind girl you got me thirsty for another cup of winegot a bug for you girl but i dont need no cure i just stay a victim if i can for sureall the good love when were all alone keep it up girl yeah you turn me onim hooked on a feeling im high on believing that youre in love with meall the good love when were all alone keep it up girl yeah you turn me onim hooked on a feeling im high on believing that youre in love with meim hooked on a feeling and im high on believing that youre in love with mei said im hooked on a feeling and im high on believing that youre in love with me im hooked on a feeling ",1
21,"billy dont be a hero","bo donaldson and the heywoods",1974,NA,NA
22,"band on the run","paul mccartney and wings",1974," stuck inside these four walls sent inside forever never seeing no one nice again like you mama you mama youif i ever get out of her thought of giving it all away to a registered charity all i need is a pint a day if i ever get outta here if we ever get outta of herewell the rain exploded with a mighty crash as we fell into the sun and the first one said to the second one there i hope youre having funband on the run band on the run and the jailer man and sailor sam were searching every one for the band on the run band on the run band on the run band on the runwell the undertaker drew a heavy sigh seeing no one else had come and a bell was ringing in the village square for the rabbits on the runband on the run band on the run and the jailer man and sailor sam were searching every one for the band on the run band on the runyeah the band on the run band on the run band on the run band on the runwell the night was falling as the desert world began to settle down in the town theyre searching for us everywhere but we never will be foundband on the run band on the run and the county judge who held a grudge will search for evermore for the band on the run band on the run band on the run band on the run ",1
23,"the most beautiful girl","charlie rich",1974," hey did you happen to see the most beautiful girl in the world and if you did was she crying crying hey if you happen to see the most beautiful girl that walked out on me tell her im sorry tell her i need my baby oh wont you tell her that i love heri woke up this morning realized what i had done i stood alone in the cold gray dawn i knew id lost my morning sun i lost my head and i said some things now comes the heartaches that the morning brings i know im wrong and i couldnt see i let my world slip away from meso hey did you happen to see the most beautiful girl in the world and if you did was she crying crying hey if you happen to see the most beautiful girl that walked out on me tell her im sorry tell her i need my baby oh wont you tell her that i love herif you happen to see the most beautiful girl that walked out on me tell her im sorry tell her i need my baby oh wont you tell her that i love her ",1
24,"time in a bottle","jim croce",1974," if i could save time in a bottle the first thing that id like to do is to save every day til eternity passes away just to spend them with youif i could make days last forever if words could make wishes come true id save every day like a treasure and then again i would spend them with youbut there never seems to be enough time to do the things you want to do once you find them ive looked around enough to know that youre the one i want to go through time withif i had a box just for wishes and dreams that had never come true the box would be empty except for the memory of how they were answered by you ",1
25,"annies song","john denver",1974," you fill up my senses like a night in a forest like the mountains in springtime like a walk in the rain like a storm in the desert like a sleepy blue ocean you fill up my senses come fill me againcome let me love you let me give my life to you let me drown in your laughter let me die in your arms let me lay down beside you let me always be with you come let me love you come love me againlet me give my life to you come let me love you come love me againyou fill up my senses like a night in a forest like the mountains in springtime like a walk in the rain like a storm in the desert like a sleepy blue ocean you fill up my senses come fill me again ",1
26,"let me be there","olivia newtonjohn",1974," wherever you go wherever you may wander in your life surely you know i always wanna be thereholdin you hand and standing by to catch you when you fall seein you through in everythin you dolet me be there in your mornin let me be there in you night let me change whatevers wrong and make it rightlet me take you through that wonderland that only two can share all i ask you is let me be therewatchin you grow and goin through the changes in your life thats how i know i always wanna be therewhenever you feel you need a friend to lean on here i am whenever you call you know ill be therelet me be there in your mornin let me be there in you night let me change whatevers wrong and make it rightlet me take you through that wonderland that only two can share all i ask you is let me be therelet me be there in your mornin let me be there in you night let me change whatevers wrong and make it rightlet me take you through that wonderland that only two can share all i ask you is let me be there all i ask you is let me be there ",1
27,"sundown","gordon lightfoot",1974," i can see her lyin back in her satin dress in a room where ya do what ya dont confess sundown you better take care if i find you beenn creepin round my back stairs sundown ya better take care if i find you been creepin round my back stairsshes been lookin like a queen in a sailors dream and she dont always say what she really means sometimes i think its a shame when i get feelin better when im feelin no pain sometimes i think its a shame when i get feelin better when im feelin no paini can picture every move that a man could make getting lost in her lovin is your first mistake sundown you better take care if i find you been creepin round my back stairs sometimes i think its a sin when i feel like im winnin when im losin againi can see her lookin fast in her faded jeans shes a hard lovin woman got me feelin mean sometimes i think its a shame when i get feelin better when im feelin no pain sundown you better take care if i find you been creepin round my back stairs sundown you better take care if i find you been creepin round my back stairs sometimes i think its a sin when i feel like im winnin when im losin again ",1
28,"youre having my baby","paul anka",1974," having my baby what a lovely way of sayin how much you love me having my baby what a lovely way of sayin what youre thinkin of mei can see it face is glowin i can see in your eyes im happy you know itthat youre having my baby youre the woman i love and i love what its doin to ya having my baby youre a woman in love and i love whats goin through yathe need inside you i see it showin whoa the seed inside ya baby do you feel it growin are you happy you know itthat youre having my baby im a woman in love and i love what its doin to me having my baby im a woman in love and i love whats goin through medidnt have to keep it wouldnt put you through it you could have swept it from you life but you wouldnt do it no you wouldnt do itand youre having my baby im a woman in love and i love what its doin to me having my baby im a woman in love and i love whats goin through mehaving my baby having my baby what a lovely way of sayin how much you love me having my baby having my baby im a woman in love and i love whats goin through me ",1
29,"rock me gently","andy kim",1974," aint it good aint it right that you are with me here tonight the music playing our bodies swayin in time in time in time in timetouching you so warm and tender lord i feel such a sweet surrender beautiful is the dream that makes you minemmm rock me gently rock me slowly take it easy dont you know that i have never been loved like this beforebaby baby rock me gently rock me slowly take it easy dont you know that i have never been loved like this beforeoh my darling oh my baby you got the moves that drive me crazy and on your face i see a trace of love of love of love of love come hold me close dont let me go i need you honey i love you so you were made for me by the stars aboveoh rock me gently rock me slowly take it easy dont you know that i have never been loved like this beforeand baby baby rock me gently rock me slowly take it easy dont you know that i have never been loved like this beforerock me gently rock me slowly take it easy dont you know that i have never been loved like this beforeaint it good aint it right that you are with me here tonightrock me gently rock me slowly take it easy dont you know that i have never been loved like this beforebaby baby rock me gently rock me slowly take it easy dont you know that i have never been loved like this before ",1
30,"boogie down","eddie kendricks",1974," boogie boogie down baby ooo uh boogie baby lets boogie downim bad enough to make another bad lie im gonna hook you on a natural high and i know i can satisfy hey i wanna love ya kiss and hug you baby tonightooh hoo tonight boo hoo hoo boogie downhey hey boogie boogie down baby ooo uh boogie baby lets boogie downlets get it on girl dont hesitate let my love flood your water gate sweet lover dont make me wait hey i wanna love ya kiss and hug ya baby tonightmake ya feel alright boo hoo hoo ooh ooh boogie downboogie down boogie down baby boogie down boogie down baby boogie boogie down baby boogie boogie down babyboogie hmm have mercy boogie down baby boogie down boogie down babyboogie ah ha boogie down baby boogie down boogie down babygo downtown gonna mess around uh huh huh huh boogie down uh huhgo downtown gonna mess around ah ha ha ha boogie downlike a hound gonna sniff around ah ha ha ha boogie down i found a girl love you up and down ah ha ha ha boogie downboogie boogie down baby boogie down boogie down babyboogie hey hey yall boogie down baby boogie down boogie down baby ooh have mercyboogie ooh huh huh huh huh boogie down baby boogie down ",1
31,"youre sixteen","ringo starr",1974," you come on like a dream peaches and cream lips like strawberry wine youre sixteen youre beautiful and youre mineyoure all ribbons and curls ooh what a girl eyes that sparkle and shine youre sixteen youre beautiful and youre mineyoure my baby youre my pet we fell in love on the night we met you touched my hand my heart went pop ooh when we kissed i could not stopyou walked out of my dreams and into my arms now youre my angel divine youre sixteen youre beautiful and youre mineyoure my baby youre my pet we fell in love on the night we met you touched my hand my heart went pop ooh when we kissed i could not stopyou walked out of my dreams and into my car now youre my angel divine youre sixteen youre beautiful and youre mine youre sixteen so beautiful and youre mine youre sixteen youre beautiful and youre mine all mine all mine all mine all mine all mine all mine ",1
32,"if you love me let me know","olivia newtonjohn",1974," you came when i was happy in your sunshine i grew to love you more each passing day before too long i built my world around you and i prayed youd love enough of me to stayif you love me let me know if you dont then let me go i cant take another minute of a day without you in itif you love me let it be if you dont then set me free take the chains away that keep me loving youthe arms that open wide to hold me closer the hands that run their fingers through my hair the smile that says hello its good to see you anytime i turn around to find you thereits this and so much more that makes me love you what else can i do to make you see you know you have whatevers mine to give you but a love affair for one can never beif you love me let me know if you dont then let me go i cant take another minute of a day without you in itif you love me let it be if you dont then set me free take the chains away that keep me loving youtake the chains away that keep me loving you ",1
33,"dark lady","cher",1974," the fortune queen of new orleans was brushing her cat in her black limousine on the backseat were scratches from the marks of men her fortune she had won couldnt see through the tinted glass she said home james and he hit the gas i followed her to some darkened room she took my money she said ill be with you soondark lady laughed and danced and lit the candles one by one danced to her gypsy music till her brew was done dark lady played back magic till the clock struck on the twelve she told me more about me than i knew myselfshe dealt two cards a queen and a three and mumbled some words that were so strange to me then she turned up a twoeyed jack my eyes saw red but the card still stayed black she said the man you love is secretly true to someone else who is very close to you my advice is that you leave this place never come back and forget you ever saw my facedark lady laughed and danced and lit the candles one by one danced to her gypsy music till her brew was done dark lady played back magic till the clock struck on the twelve she told me more about me than i knew myselfso i ran home and crawled in my bed i couldnt sleep because of all the things she said then i remembered her strange perfume and how i smelled it was in my own room so i sneaked back and caught her with my man laughing and kissing till they saw the gun in my hand the next thing i knew they were dead on the floor dark lady would never turn a card up anymoredark lady laughed and danced and lit the candles one by one danced to her gypsy music till her brew was done dark lady played back magic till the clock struck on the twelve she told me more about me than i knew myself ",1
34,"best thing that ever happened to me","gladys knight  the pips",1974,"ive had my share of lifes ups and downs but fates been kind the downs have been few i guess you could say that ive been lucky well i guess you could say that its all because of you if anyone should ever write my life story for whatever reason there might be ooh youll be there between each line of pain and glory cause youre the best thing that ever happened to me ah youre the best thing that ever happened to me oh there have been times when times were hard but always somehow i made it i made it through cause for every moment that ive spent hurting there was a moment that i spent ah just loving you if anyone should ever write my life story for whatever reason there might be oh youll be there between each line of pain and glory cause youre the best thing that ever happened to me oh youre the best thing that ever happened to me i know youre the best thing oh that ever happened to me",3
35,"feel like makin love","roberta flack",1974,"strollin in the park watchin winter turn to spring walkin in the dark seein lovers do their thing ooh thats the time i feel like makin love to you thats the time i feel like makin dreams come true oh baby when you talk to me when youre moanin sweet and low when youre touchin me and my feelings start to show ooh thats the time i feel like makin love to you thats the time i feel like makin dreams come true oh baby in a restaurant holdin hands by candlelight while im touchin you wanting you with all my might ooh thats the time i feel like makin love to you thats the time i feel like makin dreams come true oh baby strollin in the park watchin winter turn to spring walkin in the dark seein lovers do their thing ooh thats the time i feel like makin love to you thats the time i feel like makin dreams come true",3
36,"just dont want to be lonely","the main ingredient",1974," i dont mind when you say that youre going away i just dont wanna be lonely and i dont care if you share only moments a day i just dont wanna be lonely chorus  id rather be loved and needed depended on to give a love i cant give when youre gone when youre gone i just dont want to be lonely id just rather be loved  lyrics provided by wwwmp3lyricsorg i dont mind when the time sets the sun to the moon i just dont wanna be lonely let the stairs find you there at the end of the room i just dont wanna be lonely chorus  ",1
37,"nothing from nothing","billy preston",1974," nothin from nothin leaves nothin you gotta have somethin if you wanna be with me nothin from nothin leaves nothin you gotta have somethin if you wanna be with meim not tryna be your hero cause that zero is too cold for me brrr im not tryin to be your highness cause that minus is too low to see yeahnothin from nothin leaves nothin and im not stuffin believe you me dont you remember i told ya im a soldier in the war on poverty yeah yes i amnothin from nothin leaves nothin you gotta have somethin if you wanna be with me oh baby nothin from nothin leaves nothin you gotta have somethin if you wanna be with me thats right ha yea ",1
38,"rock your baby","george mccrae",1974," sexy mamawoman take me in your arms rock your baby woman take me in your arms rock your babytheres nothing to it just say you wanna do it open up your heart and let the loving startoh woman take me in your arms rock your baby woman take me in your arms rock your babyyeah hold me tight with all your might now let your loving flow real sweet and slowoh woman take me in your arms rock your baby woman take me in your arms rock your babyoh woman take me in your arms rock your baby woman take me in your arms rock your babyoh woman take me in your arms and rock me ah woman take me in your arms and rock me ahh ",1
39,"top of the world","the carpenters",1974," such a feelins comin over me there is wonder in most evry thing i see not a cloud in the sky got the sun in my eyes and i wont be surprised if its a dreameverything i want the world to be is now comin true especially for me and the reason is clear its because you are here youre the nearest thing to heaven that ive seenim on the top of the world lookin down on creation and the only explanation i can find is the love that ive found ever since youve been around your loves put me at the top of the worldsomethin in the wind has learned my name and its tellin me that things are not the same in the leaves on the trees and the touch of the breeze theres a pleasin sense of happiness for methere is only one wish on my mind when this day is through i hope that i will find that tomorrow will be just the same for you and me all i need will be mine if you are hereim on the top of the world lookin down on creation and the only explanation i can find is the love that ive found ever since youve been around your loves put me at the top of the worldim on the top of the world lookin down on creation and the only explanation i can find is the love that ive found ever since youve been around your loves put me at the top of the world ",1
40,"the joker","steve miller band",1974," some people call me the space cowboy yeah some call me the gangster of love some people call me maurice cause i speak of the pompitous of lovepeople talk about me baby say im doin you wrong doin you wrong well dont you worry baby dont worry cause im right here right here right here right here at homecause im a picker im a grinner im a lover and im a sinner i play my music in the sunim a joker im a smoker im a midnight toker i get my lovin on the runyoure the cutest thing that i ever did see i really love your peaches want to shake your tree loveydovey loveydovey loveydovey all the time oee baby ill sure show you a good timecause im a picker im a grinner im a lover and im a sinner i play my music in the sunim a joker im a smoker im a midnight toker i sure dont want to hurt no one2xpeople keep talking about me baby they say im doin you wrong well dont you worry dont worry no dont worry mama cause im right here at homeyoure the cutest thing i ever did see really love your peaches want to shake your tree loveydovey loveydovey loveydovey all the time come on baby now ill show you a good time ",1
41,"ive got to use my imagination","gladys knight  the pips",1974,NA,NA
42,"the show must go on","three dog night",1974," baby although i chose this lonely life it seems its strangling me now all the wild men big cigars gigantic car theyre all laughing at the lieoh ive been used ohh ive been a fool oh what a fool i broke all the rules oh yeah but i must let the show go onbaby theres an enormous crowd of people theyre all after my blood i wish maybe theyd tear down the walls of this theater let me out let me outoh im so blind oh im blind i wasted time wasted wasted wasted time walking on the wire high wire but i must let the show go onoh im so blind oh im blind i wasted time wasted wasted all too much time walking on the wire high wire but i must let the show go onbaby i wish youd help me escape help me get away leave me outside my address far away from this masqueradecause ive been blind oh so blind i wasted time wasted wasted all too much time walking on the wire high wire but i must let the show go i must let the show go i must let the show go on ",1
43,"rock the boat","the hues corporation",1974,"so id like to know where you got the notion said id like to know where you got the notion to rock the boat dont rock the boat baby rock the boat dont tip the boat over rock the boat dont rock the boat baby rock the boat ever since our voyage of love began your touch has thrilled me like the rush of the wind and your arms have held me safe from a rolling sea theres always been a quiet place to harbor you and me our love is like a ship on the ocean weve been sailing with a cargo full of love and devotion so id like to know where you got the notion said id like to know where you got the notion to rock the boat dont rock the boat baby rock the boat dont tip the boat over rock the boat dont rock the boat baby rock the boat up to now we sailed through every storm and ive always had your tender lips to keep me warm oh i need to have the strength that flows from you dont let me drift away my dear when love can see me through our love is like a ship on the ocean weve been sailing with a cargo full of love and devotion so id like to know where you got the notion said id like to know where you got the notion to rock the boat rock the boat rock the boat rock the boat rock the boat rock the boat rock the boat",3
44,"smokin in the boys room","brownsville station",1974," how you doin out there yever seem to have one of those days where it just seems like everybodys gettin on your case from your teacher all the way down to your best girlfriend well yknow i used to have em just about all the time but i found a way to get out of em let me tell you about it sitting in the classroom thinking its a drag listening to the teacher rap just aint my bag the noon bells ring you know thats my cue im gonna meet the boys on floor number two smokin in the boys room smokin in the boys room now teacher dont you fill me up with your rules but everybody knows that smokin aint allowed in school acheckin out the halls makin sure the coast is clear lookin in the stalls no there aint nobody here oh my buddy fang and me and paul to get caught would surely be the death of us all smokin in the boys room smokin in the boys room now teacher dont you fill me up with your rules but everybody knows that smokin aint allowed in school all right oh put me to work in the school book store check out counter and i got bored teacher was lookin for me all around two hours later you know where i was found smokin in the boys room yes indeed i was smokin in the boys room now teacher dont you fill me up with your rules but everybody knows that smokin aint allowed in school one mo smokin in the boys room oh smokin in the boys room now teacher i am fully aware of the rules but everybody knows that smokin aint allowed in school ",1
45,"living for the city","stevie wonder",1974," a boy is born in hard time mississippi surrounded by four walls that aint so pretty his parents give him love and affection to keep him strong moving in the right direction living just enough just enough for the cityhis father works some days for fourteen hours and you can bet he barely makes a dollar his mother goes to scrub the floors for many and youd best believe she hardly gets a penny living just enough just enough for the city yeahhis sisters black but she is sho nuff pretty her skirt is short but lord her legs are sturdy to walk to school shes got to get up early her clothes are old but never are they dirty living just enough just enough for the cityher brothers smart hes got more sense than many his patiences long but soon he wont have any to find a job is like a haystack needle cause where he lives they dont use colored people living just enough just enough for the cityliving just enough for the cityhis hair is long his feet are hard and gritty he spends his life walking the streets of new york city hes almost dead from breathing in air pollution he tried to vote but to him theres no solutionliving just enough just enough for the city yeah yeah yeahi hope you hear inside my voice of sorrow and that it motivates you to make a better tomorrow this place is cruel no where could be much colder if we dont change the world will soon be overliving just enough just enough for the city ",1
46,"the night chicago died","paper lace",1974," daddy was a cop on the east side of chicago back in the u s a back in the bad old daysin the heat of a summer night in the land of the dollar bill when the town of chicago died and they talk about it stillwhen a man named al capone tried to make that town his own and he called his gang to war against the forces of the lawi heard my mama cry i heard her pray the night chicago died brother what a night it really was brother what a fight it really was glory bei heard my mama cry i heard her pray the night chicago died brother what a night the people saw brother what a fight the people saw yes indeedand the sound of the battle rang through the streets of the old east side til the last of the hoodlum gang had surrendered up or diedthere was shouting in the street and the sound of running feet and i asked someone who said bout a hundred cops are deadi heard my mama cry i heard her pray the night chicago died brother what a night it really was brother what a fight it really was glory bei heard my mama cry i heard her pray the night chicago died brother what a night the people saw brother what a fight the people saw yes indeedthen there was no sound at all but the clock upon the wallthen the door burst open wide and my daddy stepped inside and he kissed my mamas face and he brushed her tears awaythe night chicago died the night chicago died brother what a night the people saw brother what a fight the people saw yes indeedthe night chicago died the night chicago died brother what a night it really was brother what a fight it really was glory be ",1
47,"then came you","dionne warwick  the spinners",1974,NA,NA
48,"the entertainer","marvin hamlisch",1974," instrumental ",1
49,"waterloo","abba",1974," my my at waterloo napoleon did surrender oh yeah and i have met my destiny in quite a similar way the history book on the shelf is always repeating itself waterloo i was defeated you won the war waterloo promise to love you for ever more waterloo couldnt escape if i wanted to waterloo knowing my fate is to be with you waterloo finally facing my waterloomy my i tried to hold you back but you were stronger oh yeah and now it seems my only chance is giving up the fight and how could i ever refuse i feel like i win when i lose waterloo i was defeated you won the war waterloo promise to love you for ever more waterloo couldnt escape if i wanted to waterloo knowing my fate is to be with you oh oh waterloo finally facing my waterlooso how could i ever refuse i feel like i win when i lose waterloo couldnt escape if i wanted to waterloo knowing my fate is to be with you waterloo finally facing my waterloo waterloo knowing my fate is to be with you oh oh waterloo finally facing my waterloo waterloo knowing my fate is to be with you ",1
50,"the air that i breathe","the hollies",1974,"if i could make a wish i think id pass cant think of anything i need no cigarettes no sleep no light no sound nothing to eat no books to read making love with you has left me peaceful warm and tired what more could i ask theres nothing left to be desired peace came upon me and it leaves me weak so sleep silent angel go to sleep sometimes all i need is the air that i breathe and to love you all i need is the air that i breathe just to love you all i need is the air that i breathe peace came upon me and it leaves me weak so sleep silent angel go to sleep sometimes all i need is the air that i breathe and to love you all i need is the air that i breathe just to love you all i need is the air that i breathe sometimes all i need is the air that i breathe and to love you all i need is the air that i breathe just to love you all i need is the air that i breathe",3
51,"rikki dont lose that number","steely dan",1974," we hear youre leaving thats okay i thought our little wild time had just begun i guess you kind of scared yourself you turn and run but if you have a change of heartrikki dont lose that number you dont want to call nobody else send it off in a letter to yourself rikki dont lose that number its the only one you own you might use it if you feel better when you get homei have a friend in town hes heard your name we can go out driving on slow hand row we could stay inside and play games i dont know and you could have a change of heartrikki dont lose that number you dont want to call nobody else send it off in a letter to yourself rikki dont lose that number its the only one you own you might use it if you feel better when you get homeyou tell yourself youre not my kind but you dont even know your mind and you could have a change of heartrikki dont lose that number you dont want to call nobody else send it off in a letter to yourself rikki dont lose that number its the only one you own you might use it if you feel better when you get home ",1
52,"mockingbird","carly simon  james taylor",1974,"mockingbird yeah yeah yeah yeah yeah mockingbird now everybody have you heard hes gonna buy me a mockingbird and if that mockingbird dont sing hes gonna buy me a diamond ring and if that diamond ring wont shine hes gonna surely break this heart of mine and thats why i keep on tellin everybody say yeah yeah whoa whoa whoa whoa whoa uh oh hear me now and understand hes gonna find me some piece of mind and if that piece of mind wont stay im gonna find myself a better way and if that better way aint so ill ride with the tide and go with the flow and thats why i keep on shoutin in your ear say yeah yeah whoa whoa whoa whoa whoa uh oh now everybody have you heard shes gonna buy me a mockingbird yeah if that mockingbird dont sing shes gonna buy me a diamond ring and if that diamond ring wont shine yes itll surely break this heart of mine and theres a reason why i keep on tellin everybody say yeah yeah no no no no no no no no no listen now and understand shes gonna find me some piece of mind yeah if that piece of mind wont stay im gonna get myself a better way i might rise above i might go below ride with the tide and go with the flow and thats the reason why i keep on shoutin in your ear no no no no no no no now now baby",5
53,"help me","joni mitchell",1974," help me i think im falling in love again when i get that crazy feeling i know im in trouble again im in troublecause youre a rambler and a gambler and a sweettaikingladies man and you love your lovin but not like you love your freedomhelp me i think im falling in love too fast its got me hoping for the future and worrying about the past cause ive seen some hot hot blazes come down to smoke and ash we love our lovinbut not like we love our freedom didnt it feel good we were sitting there talking or lying there not talking didnt it feel good you dance with the lady with the hole in her stockingdidnt it feel good didnt it feel good help me i think im falling in love with youare you going to let me go there by myself thats such a lonely thing to do both of us flirting around flirting and flirtinghurting too we love our lovin but not like we love our freedom ",1
54,"you wont see me","anne murray",1974," when i call you up your lines engaged i have had enough so act your age we have lost the time that was so hard to find and i will lose my mind if you wont see me you wont see mei dont know why you should want to hide but i cant get through my hands are tied i wont want to stay i dont have much to say but i can turn away if you wont see me you wont see metime after time you refuse to even listen i wouldnt mind if i knew what i was missinthough the days are few theyre filled with tears and since i lost you it feels like years yes it seems so long since youve been gone and i just cant go on if you wont see me you wont see metime after time you refuse to even listen i wouldnt mind if i knew what i was missinthough the days are few theyre filled with tears and since i lost you it feels like years yes it seems so long since youve been gone and i just cant go on if you wont see me you wont see me ",1
55,"never never gonna give you up","barry white",1974," aahh ooh baby ooh baby keep on my baby keep on doing it right on oh oh oh right on doing it we get it together baby keep on oh we get it together baby right on keep on doing it and ill give you baby all that i get now my baby keep on i swear we get it together baby keep on  keep onwherever wherever girl ill do it forever and ever yeah yeah yeah yeah ill see you through itive got to keep you pleased in every way i can gonna give you all of me as much as you can stand make love to you right now thats all i want to doi know you need it girl and you know i need it too cause i found what the world is searching for here right here my dear i dont have to look no more and oh my babe i hoped and i prayed for someone just like you to make me feel the way you donever never gonna give you up im never ever gonna stop not the way i feel about you girl i just cant live without youim never ever gonna quit cause quitin just aint my schtick im gonna stay right here with you do all the things you want me towhatever you want girl you got it and whatever you need i dont want to see you without ityouve given me much more than words could ever say and oh my dear ill be right here until my dying day i dont know just how to say all the things i feel i just know that i love you so and it gives me such a thrillcause i found what this world is searching for here right here my dear i dont have to look no more and all of my days i hoped and i prayed for someone just like you to make me feel the way you doi never never gonna give you up im never ever gonna stop stop the way i feel about you girl i just cant live without youim never ever gonna quit cause quitin just aint my schtick im gonna stay right here with you do all the things you want me tooh i never gonna give you up im never ever gonna stop all the things i feel about you girl i just cant live without youim never ever gonna quit cause quitin just aint my schtick im gonna stay right here with you do all the things you want me to ",1
56,"tell me something good","rufus  chaka khan",1974,"you aint got no kind of feeling inside i got something that will sho nuff set your stuff on fire you refuse to put anything before your pride what i got will knock all your pride aside tell me something good tell me that you love me yeah tell me something good tell me that you like it yeah got no time is what youre known to say got no time no got no time ill make you wish there was 48 hours to each day your problem is you aint been loved like you should incomprehensible what i got to give will sho nuff do you good tell me something good tell me tell me tell me tell me that you love me yeah tell me something good tell me tell me tell me tell me that you like it yeah you aint got no kind of feeling inside i got something that will sho nuff set your stuff on fire you refuse to put anything before your pride what i got will knock your pride aside tell me something good oh yeah yeah tell me that you love me yeah tell me something good oh baby baby baby yeah tell me that you like it yeah you got it tell me something good oh tell me baby tell me tell me that you love me yeah yeah yeah yeah yeah tell me something good oh tell me tell me tell me tell me that you like it yeah yeah dont you like it baby",3
57,"you and me against the world","helen reddy",1974," you and me against the world sometimes it feels like you and me against the world when all the others turn their backs and walk away you can count on me to stayremember when the circus came to town and you were frightened by the clown wasnt it nice to be around someone that you knew someone who was big and strong and looking out foryou and me against the world sometimes it feels like you and me against the world and for all the times weve cried i always felt that god was on our sideand when one of us is gone and one of us is left to carry on then remembering will have to do our memories alone will get us through think about the days of me and you you and me against the world ",1
58,"rock and roll heaven","the righteous brothers",1974," if you believe in forever then life is just a onenight stand if theres a rock n roll heaven well you know theyve got a hell of a band band band jimmygave us rainbows and janis took a piece of our hearts and otisbrought us all to the dock of a bay sing a song to light my fire remember jim that way theyve all found another place another place to playif you believe in forever then life is just a onenight stand if theres a rock n roll heaven well you know theyve got a hell of a band band band jimmyremember bad bad leroy brown hey jimmy touched us with that song time wont change a friend we came to know and bobbygave us mack the knife well look out hes back in town theyll all be there together when they meet in one big showif you believe in forever then life is just a onenight stand if theres a rock n roll heaven well you know theyve got a hell of a band band band jimmytheres a spotlight waiting no matter who you are cuz everybodys got a song to sing everyones a star everybodys got to be a starif you believe in forever then life is just a onenight stand if theres a rock n roll heaven well you know theyve got a hell of a band band band jimmy ",1
59,"hollywood swinging","kool  the gang",1974,"hey hey hey what ya got to say i said hey hey hey what ya got to say hollywood hollywood swinging hollywood hollywood swinging i remember not too long ago i went to a theater and i saw the kool  the gang show i always wanted to fit into a band to sing my songs and then become a bad piano playing man so here i am in this hollywood city the city of the stars movies women and cars well i guess i i guess i star i said hey hey hey what ya got to say i said hey hey hey what ya got to say hollywood hollywood swinging hollywood hollywood swinging hollywood swinging hollywood swinging hollywood swinging ",3
60,"be thankful for what you got","william devaughn",1974," though you may not drive a great big cadillac gangsta whitewalls tv antennas in the back you may not have a car at all but remember brothers and sisters you can still stand talljust be thankful for what youve got though you may not drive a great big cadillac diamond in the back sunroof top diggin the scene with a gangsta lean gangsta whitewalls tv antennas in the backyou may not have a car at all but remember brothers and sisters you can still stand tall just be thankful for what youve gotdiamond in the back sunroof top diggin the scene with a gangsta lean woohoohooh diamond in the back sunroof top diggin the scene with a gangsta lean woohoohooh diamond in the back sunroof top diggin the scene with a gangsta lean woohoohoohthough you may not drive a great big cadillac gangsta whitewalls tv antennas in the back you may not have a car at all but remember brothers and sisters you can still stand talldiamond in the back sunroof top diggin the scene with a gangsta lean woohoohooh diamond in the back sunroof top diggin the scene with a gangsta lean woohoohoohinstrumental interludediamond in the back sunroof top diggin the scene with a gangsta lean woohoohooh diamond in the back sunroof top diggin the scene with a gangsta lean woohoohooh diamond in the back sunroof top diggin the scene with a gangsta lean woohoohooh diamond in the back sunroof top diggin the scene with a gangsta lean woohoohooh diamond in the back sunroof top diggin the scene with a gangsta lean woohoohooh diamond in the back sunroof top diggin the scene with a gangsta lean woohoohooh ",1
61,"hang on in there baby","johnny bristol",1974,"  ",1
62,"eres tu","mocedades",1974," como una promesa eres t eres t como una maana de verano como una sonrisa eres t eres t as as eres ttoda mi esperanza eres t eres t como lluvia fresca en mis manos como fuerte brisa eres t eres t as  as eres teres t como el agua de mi fuente eres t el fuego de mi hogar eres t como el agua de mi fuente eres t el fuego de mi hogarcomo un poema eres t eres t como una guitarra en la noche como el horizonte eres t eres t as as eres teres t como el agua de mi fuente eres t el fuego de mi hogar eres t como el agua de mi fuente eres t el fuego de mi hogartranslationlike a promise are you are you like a morning of summer like a smile are you are you like that like that are youall my hope are you are you like rain fresh in my hands like strong breeze are you are you like that like that are youare you like the water of my fountain are you the fire of my home are you like the water of my fountain are you the fire of my homesomething like that are you mmmm something like  the fire of my hearth something like that are you oooomy life something like that are you like my poem are you are you like a guitar in the night all my horizon are you are you like that like that are youare you like the water of my fountain are you the fire of my home are you like the water of my fountain are you the fire of my homesomething like that are you mmmm something like  the fire of my hearth something like that are you oooo my life something like that are yousomething like that are you mmmm something like  the fire of my hearth something like that are you oooo my life something like that are you ",1
63,"takin care of business","bachmanturner overdrive",1974,NA,NA
64,"radar love","golden earring",1974," ive been drivin all night my hands wet on the wheel theres a voice in my head that drives my heel its my baby callin says i need you here and its a half past four and im shiftin gear when she is lonely and the longing gets too much she sends a cable comin in from above dont need no phone at allweve got a thing thats called radar love weve got a wave in the air radar love the radio is playing some forgotten song brenda lees comin on strongthe road has got me hypnotized and im speedin into a new sunrise when i get lonely and im sure ive had enough she sends her comfort comin in from abovewe dont need no letter at all weve got a thing thats called radar love weve got a light in the sky radar loveno more speed im almost there gotta keep cool now gotta take care last car to pass here i goand the line of cars drove down real slow and the radio played that forgotten song brenda lees comin on strong and the newsman sang his same song oh one more radar lover gonewhen i get lonely and im sure ive had enough she sends her comfort comin in from above we dont need no letter at allweve got a thing thats called radar love weve got a light in the skyweve got a thing thats called radar love weve got a thing thats called radar love ",1
65,"please come to boston","dave loggins",1974,"please come to boston for the springtime im stayin here with some friends and theyve got lotsa room you can sell your paintings on the sidewalk by a caf̣ here i hope to be workin soon please come to boston she said no would you come home to me and she said hey ramblin boy now wont cha settle down boston aint your kinda town there aint no gold and there aint nobody like me im the number one fan of the man from tennessee please come to denver with the snowfall well move up into the mountains so far that we cant be found and throw i love you echoes down the canyon and then lie awake at night till they come back around please come to denver she said no boy would you come home to me and she said hey ramblin boy why dont cha settle down denver aint your kinda town there aint no gold and there aint nobody like me cause im the number one fan of the man from tennessee now this drifters world goes round and round and i doubt that its ever gonna stop but of all the dreams ive lost or found and all that i aint got i still need to lean to somebody i can sing to please come to la to live forever california life alone is just too hard to build i live in a house that looks out over the ocean and theres some stars that fell from the sky livin up on the hill please come to la she just said no boy wont you come home to me̢ and she said hey ramblin boy why dont cha settle down la cant be your kinda town there aint no gold and there aint nobody like me no no im the number one fan of the man from tennessee im the number one fan of the man from tennessee",3
66,"keep on smilin","wet willie",1974," well you say you got the blues you got holes in both of your shoes yeah youre feeling alone and confused you got to keep on smilin just keep on smilinyeah youre youre bout to go insane cause your womans playing games and she says that youre to blame you try to keep on smilin just keep on smilinkeep on smilin through the rain laughin at the pain just flowin with the changes till the sun comes out againkeep on smilin through the rain laughin at the pain just flowin with the changes and singin this refrainsinging in a honky tonk cafe nobodys hearin what you play yeah theyre too busy drinkin anyway you gotta keep on smilin brother keep on smilinsay you you found a piece of land gonna change from city boy to country man yeah try to build your life with your hands and just keep on smilin keep on smilinkeep on smilin through the rain laughin at the pain just flowin with the changes keep on singin this refrainyoure just hangin out in a local bar and youre wonderin who the hell you are are you a farmer are you a starsmile on through the rain laugh all through the pain flow on with the changes till the sun comes out againkeep on smilin smilin smilin smilin laughin laughin said laughin laughin keep on flowin flowin flowin flowin yeah smilin smilin smilin smilin ",1
67,"lookin for a love","bobby womack",1974," im lookin for a love im lookin for a love im gonna find ive got to find someoneim lookin for a love everyday im lookin for a love well im and im lookin here and there and im searching everywhere and im lookin im lookin im lookin im lookinim lookin for a love lookin for a love well now and im lookin here and there searching everywhere gotta gotta gotta ive gotta ive gotta find someonesomeone to get up in the mornin and rub my head someone to fix my breakfast and bring it to my bedsomeone to do a little housework and pamper me again yeah with lots of love and kisses but people until then but right now ohim lookin for a love yes sir everyday of my life and im lookin here and there and im searching everywhere and im lookin im lookin im lookin im lookinim lookin for a love im lookin for a love im lookin for a love  ",1
68,"put your hands together","the ojays",1974," come on come on come on yall now put your hands together nananana put your hands together everybody now put your hands together nananana let us prayweve got to pray for all the brothers under thine hand pray for all the sisters thats doing the best she can let us pray that tomorrow therell be a better day to come yeahwe got to put our forces together sing a song so loud so fair that the birds in the trees hum along with me sweet harmonythen let it thunder let it lightning let it rain let it rain let it rain cause were gonna sing glory hallelujah so the whole wide world can hearcome on yall now put your hands together put your hands together put your hands together and let us praywe got to pray for all the people who are sleeping in the street pray for all the people who dont have enough to eat let us pray that tomorrow therell be a better day to come yeah yeah yeahwe got to put our forces together sing a song so loud so fair that the birds in the trees hum along with me sweet harmonythen let it thunder let it lightning let it rain let it rain let it rain cause were gonna sing glory hallelujah so the whole wide world can hearcome on come on put your hands together put your hands together put your hands together and let us praycause were gonna sing sing glory glory hallelujah right here right now i said well well well well sing singing glory glory hallelujah well well hallelujah well hallelujahcome on come on come on come on come on come on come on come on come on come on come on come on put your hands together put your hands together put your hands together put your hands together put your hands together put your hands together put your hands together put your hands together put your hands together put your hands together put your hands together ",1
69,"on and on","gladys knight  the pips",1974,"bet your life ill be yeah a better woman you see all because you proved out to be a better man for me build me up with so much affection   you build me up with so much affection and you make me realize my needs   you make me realize my needs you seem to move in the right direction   seem to move in the right direction makin love makin love all we please   makin love makin love oh here we go on and on on and on on and on here we go on and on on and on on and on on and on on and on we gotta go on and on keep on movin on and on on and on on and on how can i how can i show you how i wanna now prove all my love but im so afraid to take a part dont break my heart the way so many lovers do so good i feel cause the loves real having tons of fun since the love begun huggin and a lovin on and on gettin with the kissin on and on chills i feel whenever youre near stickin like glue i keep a lovin you on and on on and on keep on movin on and on we gotta go keep on movin keep on groovin on and on on and on hey hey hey on and on on and on we gotta go how can i work out this sweet relation let us deal with love keepin our hearts together with no temptation keepin us lovin keepin us lovin going on and on on and on on and on on and on on and on we gotta go on and on keep on movin on and on keep on groovin on and on on and on on and on we gone on and on i wanna know i know you feel like i feel thats why weve got a love thats real so lets keep on groovin the way we do lets just keep on movin if were gonna make it through huggin and a lovin huggin and a lovin gettin with the kissin gettin with the kissin gettin with the kissin gettin with the kissin huggin and a lovin huggin and a lovin huggin and a lovin gettin with the kissin yeah gettin with the kissin huggin and a lovin tears i fear whenever youre near stickin like glue i keep a lovin you keep a lovin you on and on on and on keep on groovin on and on we gotta move we gotta groove keep on movin on and on on and on we gotta move on and on on and on keep on groovin on and on hey hey hey hey on and on on and on keep on movin keep on groovin on and on on and on on and on on and on on and on",3
70,"oh very young","cat stevens",1974," oh very young what will you leave us this time youre only dancing on this earth for a short while and though your dreams may toss and turn you now they will vanish away like your daddys best jeans denim blue fading up to the skyand though you want them to last forever you know they never will you know they never will and the patches make the goodbye harder stilloh very young what will you leave us this time therell never be a better chance to change your mind and if you want this world to see a better day will you carry the words of love with you will you ride the great white bird into heavenand though you want to last forever you know you never will you know you never will and the goodbye makes the journey harder stillwill you carry the words of love with you goodbye goodbye goodbyeoh very young what will you leave us this time youre only dancing on this earth for a short while oh very young what will you leave us this time ",1
71,"leave me alone ruby red dress","helen reddy",1974," big ole ruby red dress wanders round the town talkin to herself now sometimes sitten down dont you get too close now ruby runs away poor ole ruby red dress born on a sorry day i can hear her sayleave me alone wont you leave me alone please leave me alone now leave me alone oh leave me alone please leave me alone yes leave me leave me alone wont you leave me alone please leave me alone now leave me alone god leave me along just leave me alone oh leave mebig ole ruby red dress everybody laughs say shes got no future and never made no past something hurt that ruby something she cant bear you look at her real close now you see a little tear oh when she says nowleave me alone wont you leave me alone please leave me alone now god leave me alone oh leave me alone just leave me alone please leave me leave me alone wont you leave me alone please leave me alone now leave me alone oh leave me along just leave me alone oh leave mesome folks say some farm boy up from tennessee taught it all to ruby then just let her be her daddy tried to hide it tried to keep things cool but something happened to ruby she broke down to a fool who just said nowleave me alone wont you leave me alone please leave me alone now leave me alone oh leave me alone please leave me alone yes leave me leave me alone wont you leave me alone please leave me alone now leave me alone god leave me along just leave me alone please leave me leave me alone wont you leave me alone ",1
72,"goodbye yellow brick road","elton john",1974," when are you gonna come down when are you going to land i should have stayed on the farm i should have listened to my old manyou know you cant hold me forever i didnt sign up with you im not a present for your friends to open this boys too young to be singing the bluesso goodbye yellow brick road where the dogs of society howl you cant plant me in your penthouse im going back to my ploughback to the howling old owl in the woods hunting the horny back toad oh ive finally decided my future lies beyond the yellow brick roadwhat do you think youll do then i bet thatll shoot down your plane itll take you a couple of vodka and tonics to set you on your feet againmaybe youll get a replacement theres plenty like me to be found mongrels who aint got a penny sniffing for tidbits like you on the groundso goodbye yellow brick road where the dogs of society howl you cant plant me in your penthouse im going back to my ploughback to the howling old owl in the woods hunting the horny back toad oh ive finally decided my future lies beyond the yellow brick road ",1
73,"ive been searchin so long","chicago",1974," as my life goes on i believe somehow somethings changed something deep inside ooh a part of metheres a strange new light in my eyes things ive never known changin my life changin meive been searchin so long to find an answer now i know my life has meaning ohnow i see myself as i am feeling very free life is everything ooh its meant to bewhen my tears have come to an end i will understand what i left behind part of meive been searchin so long to find an answer now i know my life has meaning woah woahsearchin for an answer to the question oh yeah for our minds baby its only natural good things in life take a long time ",1
74,"oh my my","ringo starr",1974," i phoned up my doctor to see whats the matter he said come on over i said do i have tomy knees started shaking my wrists started aching when my doctor said to meoh my my oh my my you can boogie you can slide oh my my oh my my you can boogie if you try oh my my oh my my its guaranteed to keep you alivethe head nurse she blew it just like a tornado when they started dancing i jumped off the tablemy lips started healing and as i was leaving this is what they said to meyeah oh my my oh my my you can boogie you can slide oh my my oh my my you can boogie you can fly oh my my oh my my its guaranteed to keep you alivenow if you should slow down and youre feeling low down dont call up your doctor just grab you a partnerive got your prescription its what youve been missing that boogie woogie remedyhey oh my my oh my my you can boogie you can slide oh my my oh my my we can boogie till we die oh my my oh my my its guaranteed to keep you alivehey oh my my oh my my you can boogie you can slide oh my my oh my my we can boogie we can flyoh my my oh my my can you boogie can you fly oh my my oh my my we can boogie we can fly oh my my oh my my its guaranteed to keep you alive ",1
75,"for the love of money","the ojays",1974," money money money money money x6 some people got to have it some people really need it listen to me yall do things do things do bad things with it you wanna do things do things do things good things with it talk about cash money money talk about cash money dollar bills yallfor the love of money people will steal from their mother for the love of money people will rob their own brother for the love of money people cant even walk the street because they never know who in the world theyre gonna beat for that lean mean mean green almighty dollar moneyfor the love of money people will lie lord they will cheat for the love of money people dont care who they hurt or beat for the love of money a woman will sell her precious body for a small piece of paper it carries a lot of weight call it lean mean mean greenalmighty dollari know money is the root of all evil do funny things to some people give me a nickel brother can you spare a dime money can drive some people out of their mindsgot to have it i really need it how many things have i heard you say some people really need it how many things have i heard you say got to have it i really need it how many things have i heard you say lay down lay down a woman will lay down for the love of money all for the love of money dont let dont let dont let money rule you for the love of money money can change people sometimes dont let dont let dont let money fool you money can fool people sometimes people dont let money dont let money change you it will keep on changing changing up your mind ",1
76,"i shot the sheriff","eric clapton",1974," i shot the sheriff but i did not shoot the deputy i shot the sheriff but i did not shoot the deputyall around in my home town theyre trying to track me down they say they want to bring me in guilty for the killing of a deputy for the life of a deputy but i sayi shot the sheriff but i swear it was in selfdefense i shot the sheriff and they say it is a capital offensesheriff john brown always hated me for what i dont know every time that i plant a seed he said kill it before it grows he said kill it before it grows i sayi shot the sheriff but i swear it was in selfdefense i shot the sheriff but i swear it was in selfdefensefreedom came my way one day and i started out of town all of a sudden i see sheriff john brown aiming to shoot me down so i shot i shot him down i sayi shot the sheriff but i did not shoot the deputy i shot the sheriff but i did not shoot the deputyreflexes got the better of me and what is to be must be every day the bucket goes to the well but one day the bottom will drop out yes one day the bottom will drop out but i sayi shot the sheriff but i did not shoot the deputy oh no i shot the sheriff but i did not shoot the deputy oh no ",1
77,"jet","paul mccartney and wings",1974," jet jet jet i can almost remember their funny faces that time you told them you were going to marrying soon and jet i thought the only lonely place was on the moonjet jetjet was your father as bold as the sergeant major how come he told you that you were hardly old enough yet and jet i thought the major was a lady suffragettejet jetah mater want jet to always love me ah mater want jet to always love me ah mater much laterjetand jet i thought the major was a lady suffragette jet jetah mater want jet to always love me ah mater want jet to always love me ah mater much laterjet with the wind in your hair of a thousand laces climb on the back and well go for a ride in the sky and jet i thought that the major was a little lady suffragettejet jet and jet you know i thought you was a little lady suffragette jet a little lady my little lady yes ",1
78,"dont let the sun go down on me","elton john",1974," i cant light no more of your darkness all my pictures seem to fade to black and white im growing tired and time stands still before me frozen here on the ladder of my life    meaning  byamandah   editor    on february 27th 2016 elton john performed a free concert on las sunset strip as a thankyou to his aids foundation supporters he welcomed close friend    see all   too late to save myself from falling i took a chance and changed your way of life but you misread my meaning when i met you closed the door and left me blinded by the lightdont let the sun go down on me although i searched myself its always someone else i see id just allow a fragment of your life to wander free but losing everything is like the sun going down on mei cant find the right romantic line but see me once and see the way i feel dont discard me just because you think i mean you harm but these cuts i have they need love to help them heal ",1
79,"tubular bells","mike oldfield",1974,"spoken grand piano reed and pipe organ glockenspiel bass guitar doublespeed guitar two slightly distorted guitars mandolin spanish guitar and introducing acoustic guitar plus tubular bells",3
80,"a love song","anne murray",1974," theres a wren in a willow wood flies so high and sings so good and he brings to you what he sings to youlike my brother the wren and i well he told me if i try i could fly for you and i wanna try for you causei wanna sing you a love song i wanna rock you in my arms all night long i wanna get to know you i wanna show you the peaceful feelin of my homesummer thunder on moonbright days northern lights and skies ablaze and i bring to you lover when i sing to yousilver wings in a fiery sky show the trail of my love and i wanna sing to you love is what i bring to you and i wanna sing to you ohi wanna sing you a love song i wanna rock you in my arms all night long i wanna get to know you i wanna show you the peaceful feelin of my homei wanna sing you a love song i wanna rock you in my arms all night long i wanna get to know you i wanna show you the peaceful feelin of my homei wanna show you the peaceful feelin of my home home hohohome ",1
81,"im leaving it up to you","donny and marie osmond",1974,NA,NA
82,"hello its me","todd rundgren",1974," hello its me ive thought about us for a long long time maybe i think too much but some things wrong theres something here that doesnt last too long maybe i shouldnt think of you as mineseeing you or seeing anything as much as i do you i take for granted that youre always there i take for granted that you just dont care sometimes i cant help seeing all the way throughits important to me that you know you are free cause i never want to make you change for methink of me you know that id be with you if i could ill come around to see you once in a while or if i ever need a reason to smile and spend the night if you think i shouldits important to me that you know you are free cause i never want to make you change for methink of me you know that id be with you if i could ill come around to see you once in a while yes i will or if i ever need a reason to smile and spend the night if you think i shouldthink of me think of me think of me  ",1
83,"i love","tom t hall",1974," i love little baby ducks old pickup trucks slow movin trains and rain i love little country streams sleep without dreams sunday school in may and hayand i love you tooi love leaves in the wind pictures of my friends birds of the world and squirrels i love coffee in a cup little fuzzy pups bourbon in a glass and grassand i love you tooi love honest open smiles kisses from a child tomatoes on the vine and onions i love winners when they cry losers when they try music when its good and lifeand i love you too ",1
84,"clap for the wolfman","the guess who featuring wolfman jack",1974,"clap for the wolfman he gon rate your record high clap for the wolfman you gon dig him till the day you die clap for the wolfman he gon rate your record high clap for the wolfman you gon dig him till the day you die doo ron ron and the duke of earl they were friends of mine i was on my moonlight drive snuggled in said baby just one kiss she said no no no romance aint keepin me alive said hey babe you wanna coo coo coo she said ahh ahh ahh so i was left out in the cold i said youre what ive been dreamin of she said i dont want to know clap for the wolfman he gon rate your record high clap for the wolfman you gon dig him till the day you die seventyfive or eighty miles an hour she hollered slow slow slow baby i can stop right on a dime said hey baby gimme just one kiss she said no no no but how was i to bide my time said hey babe you wanna coo coo coo she said ahh ahh ahh said im about to overload i said youre what i been living for she said i dont want to know clap for the wolfman he gon rate your record high clap for the wolfman you gon dig him till the day you die clap for the wolfman he gon rate your record high clap for the wolfman you gon dig him till the day you die clap for the wolfman clap for the wolfman clap for the wolfman ",3
85,"ill have to say i love you in a song","jim croce",1974," well i know its kind of late i hope i didnt wake you but what i got to say cant wait i know youd understand every time i tried to tell you the words just came out wrong so ill have to say i love you in a songyeah i know its kind of strange every time im near you i just run out of things to say i know youd understand every time i tried to tell you the words just came out wrong so ill have to say i love you in a songevery time the time was right all the words just came out wrong so ill have to say i love you in a songyeah i know its kind of late i hope i didnt wake you but theres something that i just got to say i know youd understand every time i tried to tell you the words just came out wrong so ill have to say i love you in a song ",1
86,"the lords prayer","sister janet mead",1974,"chorus our father who art in heaven hallowed be thy name thy kingdom come thy will be done on earth as it is in heaven  chorus  give us this day our daily bread forgive us our trespasses as we forgive them who trespass against us forgive us our trespasses  chorus  our lord lead us not into temptation but save us from evil and the kingdom the power and the glory forever will be yours  chorus 4x ",5
87,"trying to hold on to my woman","lamont dozier",1974,"im just tryin to hold on to my woman to my life ive got a woman that satisfies my every need shes got a formula guaranteed to please you know what there was once a time when i ran the streets and tryin to sleep all the girls off their feet but that kind of kind  not sure it only destroys and thats why i have no desire to paint the town with the boys i stay home i just tryin tryin ta hold on hold on to my aah my woman my life i feel like i want to testify for all the wrong ive done she never once complained she stuck beside me all through the sunshine and rain and i dont gamble with her love thats something i couldnt stand to lose her confidence in me i dont dare misuse if i get the urge to go she may not know where im goin but i dont fear me that when i come in she knows where i been in my life shes first and shes last shes my future and im telling you all she my past and for what shes given me i can never repay i can only hope only hope only hope only hope that she let me let me let me let me i said let me let me server her for the rest of her days always and always im just tryin to hold on hold on to my to my home and my life love some call me henpecked for giving my woman the proper respect but i dont care i dont mind if they tease me as long as my woman is pleasing me im just tryin ta tryin ta tryin ta tryin ta hold on to my my woman my life",3
88,"dont you worry bout a thing","stevie wonder",1974," everybodys got a thing but some dont know how to handle it always reachin out in vain just taking the things not worth having butdont you worry bout a thing dont you worry bout a thing mama cause ill be standing on the side when you check it outthey say your style of lifes a drag and that you must go other places but just dont you feel too bad when you get fooled by smiling faces butdont you worry bout a thing dont you worry bout a thing mama cause ill be standing on the side when you check it outwhen you get it off your trip dont you worry bout a thing dont you worry bout a thingbam bambam bambam bambam bambambambam bambambambam bam bambam bambam bambam bambambambam bambambambamdont you worry bout a thing dont you worry bout a thing mama cause ill be standing on the side when you check it outwhen you get it off your trip everybody needs a change a chance to check out the new but youre the only one to see the changes you take yourself through butdont you worry bout a thing dont you worry bout a thing pretty mama cause ill be standing in the wings when you check it out dont you worry bout a thing dont you worry bout a thing dont you worry bout a thing dont you worry bout a thing yeah bam bambam bambam bambam bambambambam bambambambam dont you worry bout a thing dont you worry bout a thing sugar dont you worry bout a thing mama dont you worry bout a thing dont worry dont worry dont worry dont you worry bout a thing sugar dont you worry bout a thing dont you worry bout a thing dont you worry bout a thing ",1
89,"a very special love song","charlie rich",1974," babe somewhere i know im gonna find it babe itll have my love behind it and it will be a symphony of all you mean to me a very special love songand babe if theres a way you know im gonna say it babe if theres a melody ill play it and ill play it through especially for you and all the words are true a very special love songso dont be surprised if youre sittin alone and you hear it cause im gonna sing it to the whole big lonely world so turn your radio way down low and get near it and ill tell the world i love you girlbabe if theres an ounce of love im gonna give it to you babe if theres a breath of life im gonna live it every day for you and all the whole life through singing just for you a very special love song for you ",1
90,"my girl bill","jim stafford",1974," in a vine covered shack in the mountains bravely fighting the battle of time theres a dear one whos weathered lifes sorrow its that silver haired daddy of mineif i could recall all the heartaches dear old daddy ive caused you to bear if i could erase those lines from your face and bring back the gold to your hairif god would but grant me the power just to turn back the pages of time id give all i own if i could but atone to that silver haired daddy of minei know its too late dear old daddy to repay for the heartaches and care but dear mother is waiting in heaven just to comfort and solace you thereif i could recall all the heartaches dear old daddy ive caused you to bear if i could erase those lines from your face and bring back the gold to your hairif god would but grant me the power just to turn back the pages of time id give all i own if i could but atone to that silver haired daddy of mine ",1
91,"helen wheels","paul mccartney and wings",1974," said farewell to my last hotel it never was much a kind of a bode glasgow town never brought me down when i was heading out on the road carlisle city never looked so pretty and the kendal freeways fast slow down driver want to stay alive i want to make this journey lasthelen hell on wheels aint nobody else gonna know the way she feels helen hell on wheels and they never gonna take her awaym six south down to liverpool where they play the west coast sound sailor sam he came from birmingham but he never will be found doing fine when a london sign greets me like a long lost friend mister motor wont you check her out shes got to take me back againhelen hell on wheels aint nobody else gonna know the way she feels helen hell on wheels and they never gonna take her awaygot no time for a rum and lime i want to get my right foot down shake some dust off of this old bus i gotta get her out of town spend the day up on the motorway where the carburetors blast slow down driver want to stay alive i want to make this journey lasthelen hell on wheels aint nobody else gonna know the way she feels helen hell on wheels and they never gonna take her awaysay bye bye ",1
92,"my mistake was to love you","diana ross  marvin gaye",1974,"my mistake was to love you girl love you girl my mistake was to give my all tell the world first i had you in the palm of my hand but i let you slip through like rain to sand at the beginning when i didnt care like my own reflection you were always there my mistake was to love you girl love you girl my mistake baby give my all tell the world you were sweeter than my very own skin but what did i do for you not a thing in front of my friends you broke me down since then darling its hard to track you down my mistake was to love you boy love you boy my mistake was to give my all tell the world many a smile you put on my face but i paid dearly with the tears i taste my tenderness made you cold not sweet cause if a girl loves you you only call her weak my mistake was to love you boy love you boy my mistake was to give my all tell the world my mistake was to love you girl love you girl my mistake was to give my all tell the world my mistake was to love you girl",3
93,"wildwood weed","jim stafford",1974," wildwood flower grew wild on the farm and we never knowed what it was called some said it was a flower and some said it was a weed i didnt give it much thought one day i was out there talkin to my brother and i reached down for a weed to chew on things got fuzzy and things got blurry and then evrything was gone didnt know what happened but i knew it beat the hell out of sniffing burlapi come to and my brother was there and he said whats wrong with your eyes i said i dont know i was chewin on the weed he said let me give it a try we spent the rest of that day and most of that night tryin to find my brother bill caught up with him about six oclock the next mornin naked singing on the windmill he said he flew up there i had to fly up and get him down he was about half crazythe very next day we picked a bunch of them weeds and put em in the sun to dry then we mashed em up and we cleaned em off put em in the corn cob pot smokin them wildwood flowers got to be a habit we never seen no harm we thought it was kinda handy take a trip and never leave the farm big ole puff of that wildwood weed next thing you know youre just wandring round behind the little animalsall good things got to come to an end its the same with the wildwood weeds one day this feller from washington come by and spied one and turned white as a sheet and they dug and they burned and they burned and they dug and they killed all our cute little weeds and then they drove away we just smiled and waved sittin ther on that sack o seeds ",1
94,"beach baby","the first class",1974,"do you remember back in old la when everybody drove a chevrolet whatever happened to the boy next door the suntaned crew cut all american male remember dancin at the high school hop the dress i ruined with the soda pop i didnt recognize the girl next door with beat up sneakers and a ponytail beach baby beach baby give me your hand give me somethin that i can remember just like before we could walk by the shore in the moonlight beach baby beach baby there on the sand from july to the end of september surfin is fun wed be out in the sun everyday uhm i never thought that it would end ooh and i was everybodys friend long hot days cool sea haze jukebox plays but now its fading away we couldnt wait for graduation day we took the car and drove to san jose thats where you told me that youd wear my ring i guess you dont remember anything beach baby beach baby give baby gimme me your hand gimme your hand give me somethin that i can remember gimme that something to remember just like before we could walk by the shore in the moonlight beach baby beach baby there on the sand there on the sand from july to the end of september from july to september surfin is fun wed be out in the sun everyday beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby beach baby",5
95,"me and baby brother","war",1974," me and baby brother used to run together me and baby brother used to run togetherwelcome one another headed for the corner welcome one another headed for the cornershiftin on his mind is like drinking funky wine by the river chippin on his mind is like drinking funky wine by the riverme and baby brother used to run together me and baby brother used to run togetherwelcome one another headed for the corner welcome one another headed for the corneri remember the day we used to fight together i remember the day yeah we used to fight togetherme and baby brother used to run together me and baby brother used to run togetherhang on baby brother oh they call it law and order hey hey heycome back baby brother come back baby brother come back baby brother come back baby brother your my baby brother your my baby brother come back baby brother come back baby brother come back baby brother come back baby brother your my baby brother your my baby brother come back baby brother come back baby brother ",1
96,"rockin roll baby","the stylistics",1974," tootsie roll soul and doodle white shoes papas sure proud of his little bitty rockin roll baby singin at the age of two he can hardly talk but he sure knows how to sing the blueslittle joe never sings out of tune always in key hes a soulful little rockin roll baby papa loves the way you do never heard a boy sing the way my little joey dohe was born in a theater in bluefield west virginia his ma and i were travelin on the road i worked hard all that summer as a fill in for the drummer one night stands werent easy for little joebought a new house in beverly hills papa made it big and he did it for his rockin roll baby a little bit of rhythm and blues got a funky walk in his little orthopedic shoes ",1
97,"i honestly love you","olivia newtonjohn",1974," maybe i hang around here a little more than i should we both know i got somewhere else to go but i got something to tell you that i never thought i would but i believe you really ought to knowi love you i honestly love youyou dont have to answer i see it in your eyes maybe it was better left unsaid but this is pure and simple and you must realize that its coming from my heart and not my headi love you i honestly love youim not trying to make you feel uncomfortable im not trying to make you anything at all but this feeling doesnt come along everyday and you shouldnt blow the chance when youve got the chance to sayi love you i love you i honestly love youif we both were born in another place and time this moment might be ending in a kiss but there you are with yours and here i am with mine so i guess well just be leaving it at thisi love you i honestly love you i honestly love you ",1
98,"call on me","chicago",1974," the feelin is clear clear as a blue sky on a sunny day everything was you cause no one made me feel the way i felt with youcall on me cause i love you you know i do you love me toothen came a change when i said i would soon be leavin you nothin else to do oh please remember ill never lose the thought of youcall on me cause i love you you know i do you love me tooyouve got to find someone else to somehow take my place share his love with you and if you need a friend you can always count on mecount on me cause i love you you know i do you love me tooyou can count on me oh you can count on me you can count on me baby you can count on me you can count on me oh you can count on me you can count on me baby you can count on me you can count on me oh you can count on me you can count on me baby you can count on me ",1
99,"wild thing","fancy",1974,"wild thing you make my heart sing you make everything groovy wild thing wild thing i think i love you but i wanna know for sure come on and hold me tight i love you wild thing you make my heart sing you make everything groovy wild thing  instrumental break  wild thing i think you move me but i wanna know for sure so cmon and hold me tight you move me wild thing you make my heart sing you make everything groovy wild thing wild thing cmon cmon wild thing shake it shake it wild thing fade",3
100,"mighty love","the spinners",1974,"once there was a boy and girl boys said i love you so girl said ill never leave you they grew older and left each other cause thats the way love goes thats the way love goes then theres a time seems like youll never find someone willing to love you keep on lookin youll soon discover a mighty love will sometimes makes you weep and moan a mighty love you sit all day by the telephone cause youre all alone you need a mighty love eh hey some say that youre sure to find true love and peace of mind at the end of a rainbow theres no sign in the sky to follow cause thats the way love goes baby thats the way love goes and so theres a rhyme that says life will soon be fine love is just what you make it so keep on lovin youll soon discover a mighty love will sometimes make aa weak man strong a mighty love will sometimes make aa rich man weak and knock him off his feet youll have a mighty love mighty mighty mighty mighty mighty mighty love jones comin down on me baby yeah hey hey mighty love i can feel the world gettin brighter brighter with your lovin mighty love you see baby with a mighty love you can sometimes turn the world around mighty love from all your love you can you can turn the world around sometimes yes you can oh mighty love oh baby makes music have a happy hahahappy sigh mighty love makes you move makes you groove you get the feelin that is reelin come on mighty love oh high high high im gon gon gon gon gon get your lovin mighty love oh baby oh ho ho got your love mighty love got your love got your lovin oh i got your love here with you mighty love you got the love hey baby mighty love ii knew when i first met you that you had a mighty love baby mighty love im gonna wait on you gonna wait on you gonna wait on you baby just give me mighty love give give give give give give give me your love mighty love mighty mighty mighty mighty mighty mighty mighty mighty love hey can i say it can can i say it lalalalalalalalalalala baby mighty love ho ho ho ho ho ho baby mighty love time just a little more time baby woo mighty love woo hoo hoo hoo hoo hoo mighty love hoo hoo hoo hoo hoo hoo mighty love hoo hoo hoo hoo hoo hoo feel feel feel feel feel me baby yeah mighty love so when im down and out i know youre mighty love you got you got it baby oh lord mighty love sho nuff can make a love jones come on down me mighty love",3
1,"love will keep us together","captain  tennille",1975,"love love will keep us together think of me babe whenever some sweet talkin girl comes along singin his song dont mess around you just got to be strong just stop cause i really love you stop ill be thinking of you look in my heart and let love keep us together you you belong to me now aint gonna set you free now when those girls start hanging around talking me down hear with your heart and you wont hear a sound just stop cause i really love you stop ill be thinkin of you look in my heart and let love keep us together whatever young and beautiful someday your looks will be gone when the others turn you off wholl be turnin you on i will i will i will i will be there to share forever love will keep us together i said it before and ill say it again while others pretend i need you now and i need you then just stop cause i really love you stop ill be thinking of you look in my heart and let love keep us together whatever i will i will i will i will you better stop cause i really love you stop ive been thinkin of you look in my heart and let love keep us together whatever i will i will i will i will",3
2,"rhinestone cowboy","glen campbell",1975," ive been walkin these streets so long singin the same old song i know every crack in these dirty sidewalks of broadway where hustles the name of the game and nice guys get washed away like the snow and the rain theres been a load of compromisin on the road to my horizon but im gonna be where the lights are shinin on melike a rhinestone cowboy riding out on a horse in a starspangled rodeo like a rhinestone cowboy getting cards and letters from people i dont even know and offers comin over the phonewell i really dont mind the rain and a smile can hide all the pain but youre down when youre ridin the train thats takin the long way and i dream of the things ill do with a subway token and a dollar tucked inside my shoe therell be a load of compromisin on the road to my horizon but im gonna be where the lights are shinin on melike a rhinestone cowboy riding out on a horse in a starspangled rodeo rhinestone cowboy gettin cards and letters from people i dont even know and offers comin over the phonelike a rhinestone cowboy riding out on a horse in a starspangled rodeolike a rhinestone cowboy gettin card and letters from people i dont even knowlike a rhinestone cowboy riding out on a horse in a starspangled rodeo ",1
3,"philadelphia freedom","elton john",1975," i used to be a rolling stone you know if a cause was right id leave to find the answer on the road i used to be a heart beating for someone but the times have changed the less i say the more my work gets donecause i live and breathe this philadelphia freedom from the day that i was born ive waved the flag philadelphia freedom took me knee high to a man yeah gave me a piece of mama daddy never hadoh philadelphia freedom shine on me i love you shine the light through the eyes of the ones left behind shine the light shine the light shine the light wont you shine the light philadelphia freedom i loveveve you yes i doif you choose to you can live your life alone some people choose the city some people the city some others choose the good old family home some others choose a good old i like living easy without family ties living easy till the whippoorwill of freedom zapped me right between the eyescause i live and breathe this philadelphia freedom from the day that i was born ive waved the flag philadelphia freedom took me knee high to a man mm mm gave me a piece of mama daddy never hadoh philadelphia freedom shine on me i love you shine the light through the eyes of the ones left behind shine the light shine the light shine the light wont you shine the light philadelphia freedom i loveveve you yes i dooh philadelphia freedom shine on me i love you shine the light through the eyes of the ones left behind shine the light shine the light shine the light wont you shine the light philadelphia freedom i loveveve you know i loveveve  you know i loveveve you yes i do philadelphia freedom i loveveve you yes i do philadelphia freedom you know that i loveveve you yes i do philadelphia freedom dont you know that i loveveve you yes i do philadelphia freedom dont you know that i loveveve you yes i do philadelphia freedom ",1
4,"before the next teardrop falls","freddy fender",1975,"if he brings you happiness then i wish you all the best its your happiness that matters most of all but if he ever breaks your heart if the teardrops ever start ill be there before the next teardrop falls si te quire de verdad y te da felicidad te deseo lo mas bueno palos dos pero si te hace llorar a mime puedes hablar y estare contigo cuando treste estas ill be there anytime you need me by your side to drive away every teardrop that you cried and if he ever leaves you blue just remember i love you and ill be there before the next teardrop falls and ill be there before the next teardrop falls",3
5,"my eyes adored you","frankie valli",1975," my eyes adored you though i never laid a hand on you my eyes adored you like a million miles away from me you couldnt see how i adored you so close so close and yet so far carried your books from school playin make believe youre married to me you were fifth grade i was sixth when we came to be walkin home evry day over bonnicut bridge and bay till we grew into the me and you who went our separate waysmy eyes adored you though i never laid a hand on you my eyes adored you like a million miles away from me you couldnt see how i adored you so close so close and yet so far headed for city lights climbed the ladder up to fortune and fame i worked my fingers to the bone made myself a name funny i seemed to find that no matter how the years unwind still i reminisce bout the girl i miss and the love i left behindmy eyes adored you though i never laid a hand on you my eyes adored you like a million miles away from me you couldnt see how i adored you so close so close and yet so farall my life i will remember how warm and tender we were way back then whoa baby oh the feeling sad regrets i know i wont ever forget you my childhood friend ",1
6,"shining star","earth wind  fire",1975,"yeah hey when you wish upon a star ya dreams will take you very far yeah when you wish upon a dream life aint always what it seems oh yeah once you see your light so clear hey in the sky so very dear yeah youre a shining star no matter who you are shining bright to see what you can truly be that you can truly be shining star come into view shine is watchful light on you yeah gives you strength to carry on yeah yeah make your body big and strong yeah on an adventure of the sun yeah yeah its all awake and just begun yeah thought i had to stir the mood yeah thats it now i got my own oh yeah oh yeah so if you find yourself in need why dont you listen to his words of heat be a child free of sin be some place yes i can youre a shining star no matter who you are shining bright to see what you can truly be youre a shining star no matter who you are shining bright to see what you can truly be youre a shining star no matter who you are shining bright to see what you can truly be shining star for you to see what your life can truly be shining star for you to see what your life can truly be shining star for you to see what your life can truly be",3
7,"fame","david bowie",1975," fame makes a man take things over fame lets him loose hard to swallow fame puts you there where things are hollow fame fame its not your brain its just the flame that burns your change to keep you insane famefame fame what you like is in the limo fame fame what you get is no tomorrow fame fame what you need you have to borrow fame fame fame its mine its mine its just his line to bind your time it drives you to crime fameis it any wonder i reject you first fame fame fame fame is it any wonder you are too cool to fool fame fame bully for you chilly for me got to get a rain check on pain famefame fame fame fame fame fame fame fame fame fame fame fame fame fame fame fame fame fame fame whats your name fame ",1
8,"laughter in the rain","neil sedaka",1975," strolling along country roads with my baby it starts to rain it begins to pour without an umbrella were soaked to the skin i feel a shiver run up my spinei feel the warmth of her hand in mineooh i hear laughter in the rain walking hand in hand with the one i love ooh how i love the rainy days and the happy way i feel insideafter a while we run under a tree i turn to her and she kisses me there with the beat of the rain on the leaves softly she breathes and i close my eyessharing our love under stormy skiesooh i hear laughter in the rain walking hand in hand with the one i love ooh how i love the rainy days and the happy way i feel insidei feel the warmth of her hand in mineooh i hear laughter in the rain walking hand in hand with the one i love ooh how i love the rainy days and the happy way i feel insideooh i hear laughter in the rain walking hand in hand with the one i love ooh how i love the rainy days and the happy way i feel inside ",1
9,"one of these nights","eagles",1975,"one of these nights one of these crazy old nights were gonna find out pretty mama what turns on your lights the full moon is calling the fever is high and the wicked wind whispers and moans you got your demons you got desires well i got a few of my own ooo someone to be kind to in between the dark and the light ooo coming right behind you swear im gonna find you one of these nights one of these dreams one of these lost and lonely dreams now were gonna find one one that really screams ive been searching for the daughter of the devil himself ive been searching for an angel in white ive been waiting for a woman whos a little of both and i can feel her but shes nowhere in sight ooo loneliness will blind you in between the wrong and the right ooo coming right behind you swear im gonna find you one of these nights one of these nights ooo in between the dark and the light coming right behind you swear im gonna find you get ya baby one of these nights one of these nights one of these nights i can feel it i can feel it one of these nights coming right behind you swear im gonna find you now one of these nights it gets so dark its so dark and all alone one of these nights one of these crazy crazy crazy nights one of these nights swear im gonna find you coming right behind you one of these nights one of these nights i wanna say aah one of these nights one of these one of these one of these nights coming right behind you swear im gonna find you one of these nights",3
10,"thank god im a country boy","john denver",1975," well life on the farm is kinda laid back aint much an old country boy like me cant hack its early to rise early in the sack i thank god im a country boywell a simple kinda life never did me no harm a raisin me a family and workin on a farm my days are all filled with an easy country charm thank god im a country boywell i got me a fine wife i got me an ole fiddle when the suns comin up i got cakes on the griddle life aint nothin but a funny funny riddle thank god im a country boywhen the works all done and the suns settlin low i pull out my fiddle and i rosin up the bow the kids are asleep so i keep it kinda low i thank god im a country boyid play sally goodin all day if i could but the lord and my wife wouldnt take it very good so i fiddle when i can work when i should thank god im a country boywell i got me a fine wife i got me an ole fiddle when the suns comin up i got cakes on the griddle life aint nothin but a funny funny riddle thank god im a country boywell i wouldnt trade my life for diamonds and jewels i never was one of them money hungry fools id rather have my fiddle and my farmin tools thank god im a country boyyeah city folk drivin in a black limousine a lotta sad people thinkin thats mighty keen son let me tell ya now exactly what i mean i thank god im a country boywell i got me a fine wife i got me an ole fiddle when the suns comin up i got cakes on the griddle life aint nothin but a funny funny riddle i thank god im a country boy yes srwell my fiddle was my daddys till the day he died and he took me by the hand and held me close to his side said live a good life and play the fiddle with pride and thank god youre a country boywell my daddy taught me young how to hunt and how to whittle taught me how to work and play a tune on the fiddle taught me how to love and how to give just a little and thank god im a country boywell i got me a fine wife i got me an ole fiddle when the suns comin up i got cakes on the griddle life aint nothin but a funny funny riddle thank god im a country boy ",1
11,"jive talkin","bee gees",1975," its just your jive talkin youre telling me lies yeah jive talkin you wear a disguise jive talkin so misunderstood yeah jive talkin you really no goodoh my child youll never know just what you mean to me oh my child you got so much youre gonna take away my energywith all your jive talkin youre telling me lies yeah good lovin still gets in my eyes nobody believes what you say its just your jive talkin that gets in the wayoh my love youre so good treating me so cruel there you go with your fancy lies leavin me lookin like a dumbstruck fool with all yourjive talkin youre telling me lies yeah jive talkin you wear a disguise jive talkin so misunderstood yeah jive talkin you just aint no goodlove talkin is all very fine yeah jive talkin just isnt a crime and if theres somebody youll love till you die then all that jive talkin just gets in your eyejive talkin youre telling me liesyeah good lovin still gets in my eyes nobody believes what you say its just your jive talkin that gets in the waylove talkin is all very fine yeah jive talkin just isnt a crime and if theres somebody youll love till you die then all that jive talkin just gets in your eye yeah yeahoh jive talkin jive talkin oh jive talkin ",1
12,"best of my love","eagles",1975,"every night im lyin in bed holdin you close in my dreams thinkin about all the things that we said comin apart at the seams we try to talk it over but the words come out too rough i know you were tryin to give me the best of your love beautiful faces and loud empty places look at the way that we live wastin our time on cheap talk and wine left us so little to give that same old crowd was like a cold dark cloud that we could never rise above but here in my heart i give you the best of my love oh sweet darlin you get the best of my love you get the best of my love oh sweet darlin you get the best of my love you get the best of my love im goin back in time and its a sweet dream it was a quiet night and i would be all right if i could go on sleepin but every mornin i wake up and worry whats gonna happen today you see it your way and i see it mine but we both see it slippin away you know we always had each other baby i guess that wasnt enough oh but here in my heart i give you the best of my love oh sweet darlin you get the best of my love   the best of my love oh sweet darlin you get the best of my love   the best of my love oh sweet darlin every night and day you get the best of my love   the best of my love oh sweet darlin you get the best of my love   the best of my love oh sweet darlin you get the best of my love you get the best of my love   the best of my love oh sweet darlin you get the best of my love   the best of my love oh sweet darlin you get the best of my love",3
13,"lovin you","minnie riperton",1975," m riperton r rudolphlovin you is easy cause youre beautiful makin love with you is all i wanna do lovin you is more than just a dream come true and everything that i do is out of lovin you la la la la la la la do do do do dono one else can make me feel the colors that you bring stay with me while we grow old and we will live each day in springtime cause lovin you has made my life so beautiful and every day my life is filled with lovin youlovin you i see your soul come shinin through and every time that we oooooh im more in love with you la la la la la la la do do do do do ",1
14,"kung fu fighting","carl douglas",1975," introeverybody was kung fu fighting those kicks were fast as lightning in fact it was a little bit frightening but they fought with expert timingthere were funky china men from funky chinatown they were chopping them up they were chopping them down its an ancient chinese art and everybody knew their part from a feint into a slip and a kickin from the hip everybody was kung fu fighting those kicks were fast as lightning in fact it was a little bit frightning but they fought with expert timingthere was funky billie chin and little sammy chong he said here comes the big boss lets get it on we took the bow and made a stand started swaying with the hand the sudden motion made me skip now were into a brand new tripeverybody was kung fu fighting those kicks were fast as lightning in fact it was a little bit frightning but they did it with expert timingeverybody was kung fu fighting those kicks were fast as lightning in fact it was a little bit frightning make sure you have expert timingkung fu fighting is it the fastest lightning ",1
15,"black water","the doobie brothers",1975," well i built me a raft and shes ready for floatin ol mississippi shes callin my name catfish are jumpin that paddle wheel thumpin black water keep rollin on past just the sameold black water keep on rollin mississippi moon wont you keep on shinin on me old black water keep on rollin mississippi moon wont you keep on shinin on me old black water keep on rollin mississippi moon wont you keep on shinin on me yeah keep on shinin your light gonna make everything pretty mama gonna make everything all right and i aint got no worries cause i aint in no hurry at allwell if it rains i dont care dont make no difference to me just take that street car thats goin up town yeah id like to hear some funky dixieland and dance a honky tonk and ill be buyin evrybody drinks all rounold black water keep on rollin mississippi moon wont you keep on shinin on me old black water keep on rollin mississippi moon wont you keep on shinin on me old black water keep on rollin mississippi moon wont you keep on shinin on me keep on shinin your light gonna make everything everything gonna make everything all right and i aint got no worries cause i aint in no hurry at allid like to hear some funky dixieland pretty mama come and take me by the hand by the hand take me by the hand pretty mama come and dance with your daddy all night long id like to hear some funky dixieland pretty mama come and take me by the hand i want to honky tonk honky tonk honky tonk with you all night longid like to hear some funky dixieland pretty mama come and take me by the hand by the hand take me by the hand pretty mama come and dance with your daddy all night long id like to hear some funky dixieland pretty mama come and take me by the hand i want to honky tonk honky tonk honky tonk with you all night longid like to hear some funky dixieland pretty mama come and take me by the hand by the hand take me by the hand pretty mama come and dance with your daddy all night long id like to hear some funky dixieland pretty mama come and take me by the hand i want to honky tonk honky tonk honky tonk with you all night long id like to hear some funky dixieland pretty mama come and take me by the hand by the hand take me by the hand pretty mama ",1
16,"the ballroom blitz","sweet",1975,"are you ready oh its been getting so hard living with the things you do to me aha my dreams are getting so strange id like to tell you everything i see oh i see a man at the back as a matter of fact his eyes are as red as a sun and a girl in the corner let no one ignore her cause she thinks shes the passionate one oh yeah it was like lightning everybody was frightening and the music was soothing and they all started grooving yeah yeah yeah yeah yeah and the man at the back said everyone attack and it turned into a ballroom blitz and the girl in the corner said boy i wanna warn ya itll turn into a ballroom blitz ballroom blitz ballroom blitz ballroom blitz ballroom blitz im reaching out for something touching nothing is all i ever do oh i softly call you over when you appear theres nothing left of you aha now the man in the back is ready to crack as he raises his hands to the sky and the girl in the corner is everyones mourner she could kill you with a wink of her eye oh yeah it was electric so frantically hectic and the band started leaving cause they all stopped breathing yeah yeah yeah yeah yeah and the man at the back said everyone attack and it turned into a ballroom blitz and the girl in the corner said boy i wanna warn ya itll turn into a ballroom blitz ballroom blitz oh yeah it was like lightning everybody was frightening and the music was soothing and they all started grooving yeah yeah yeah yeah yeah and the man at the back said everyone attack and it turned into a ballroom blitz and the girl in the corner said boy i wanna warn ya itll turn into a ballroom blitz ballroom blitz ballroom blitz ballroom blitz ballroom blitz ooh its its a ballroom blitz its its a ballroom blitz its its a ballroom blitz yeah its a ballroom blitz",3
17,"hey wont you play another somebody done somebody wrong song","bj thomas",1975," its lonely out tonight and the feeling just got right for a brand new love song somebody done somebody wrong songhey wont you play another somebody done somebody wrong song and make me feel at home while i miss my baby while i miss my babyso please play for me a sad melody so sad that it makes everybody cry a real hurtin song about a love thas gone wrong cause i dont wanna cry all alonehey wont you play another somebody done somebody wrong song and make me feel at home while i miss my baby while i miss my babyso please play for me a sad melody so sad that it makes everybody cry a real hurtin song about a love thas gone wrong cause i dont wanna cry all alonehey wont you play another somebody done somebody wrong song and make me feel at home while i miss my baby while i miss my babyhey wont you play another somebody done somebody wrong song and make me feel at home while i miss my baby while i miss my babyhey wont you play another somebody done somebody wrong song and make me feel at home while i miss my baby while i miss my baby ",1
18,"he dont love you like i love you","tony orlando and dawn",1975,NA,NA
19,"at seventeen","janis ian",1975," i learned the truth at seventeen that love was meant for the beauty queens and high school girls with clearskinned smiles who married young and then retiredthe valentines i never knew the friday night charades of youth were spent on one more beautiful at seventeen i learned the truthand those of us with ravaged faces lacking in the social graces desperately remained at home inventing lovers on the phonewho called to say come dance with me and murmured vague obscenities it isnt all it seems at seventeena browneyed girl in handmedowns whose name i never could pronounce said pity please the ones who serve they only get what they deserveand the rich relationed hometown queen marries into what she needs with a guarantee of company and haven for the elderlyremember those who win the game they lose the love they sought to gain in debentures of quality and dubious integritytheir small town eyes will gape at you in dull surprise when payment due exceeds accounts received at seventeento those of us who knew the pain of valentines that never came and those whose names were never called when choosing sides for basketballit was long ago and far away the world was younger than today when dreams were all they gave for free to ugly duckling girls like mewe all play the game and when we dare to cheat ourselves at solitaire inventing lovers on the phone repenting other lives unknownthey call and say come dance with me and murmur vague obscenities at ugly girls like me at seventeen ",1
20,"pick up the pieces","average white band",1975," pick up the pieces pick up the pieces pick up the pieces pick up the piecespick up the pieces pick up the pieces pick up the pieces pick up the pieces ",1
21,"the hustle","van mccoy  the soul city symphony",1975,NA,NA
22,"lady marmalade","labelle",1975," hey sister go sister soul sister go sister hey sister go sister soul sister go sisterhe met marmalade down in old new orleans struttin her stuff on the street she said hello hey joe you wanna give it a go mmm mmmitchi gitchi ya ya da da itchi gitchi ya ya here mochachocalata ya ya creole lady marmaladevoulezvous coucher avec moi ce soir voulezvous coucher avec moi    meaning  byamandah   editor    theres no denying that the supergirlgroup who released their version of lady marmalade in 2001 for the moulin rouge soundtrack is an iconic moment in pop    see all   he sat in her boudoir while she freshened up the boy drank all her magnoliawine on the black satin sheets oh i swear he started to freakitchi gitchi ya ya da da itchi gitchi ya ya here mochachocalata ya ya creole lady marmaladevoulezvous coucher avec moi ce soir voulezvous coucher avec moihey hey hey touching her skin feelin silky smooth the colour of cafe au lait made the savage beast inside roar until it cried more more morenow hes back home doing nine to five living his grey flannel life but when he turns off to sleep old memories creep more more moreitchi gitchi ya ya da da da itchi gitchi ya ya here mochachocolata ya ya creole lady marmaladevoulezvous coucher avec moi ce soir voulezvous coucher avec moi voulezvous couchez avec moi ce soir creole lady marmaladevoulezvous coucher avec moi ce soir voulezvous coucher avec moi voulezvous couchez avec moi ce soir voulezvous coucher avec moi voulezvous couchez avec moi ce soir voulezvous coucher avec moi voulezvous couchez avec moi ce soir voulezvous coucher avec moiitchi gitchi ya ya da da itchi gitchi ya ya here mochachocolata ya ya itchi gitchi ya ya here ",1
23,"why cant we be friends","war",1975," oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh ohla la la la la la la la la la la lawhy cant we be friends why cant we be friends why cant we be friends why cant we be friendsi seen ya around for a long long time i really remember you when you drank my winewhy cant we be friends why cant we be friends why cant we be friends why cant we be friendsid seen ya walking down in chinatown i called ya but you could not look aroundwhy cant we be friends why cant we be friends why cant we be friends why cant we be friendsi pay my money to the welfare line i see ya standing in it every timewhy cant we be friends why cant we be friends why cant we be friends why cant we be friendsthe color of your skin dont matter to me as long as we can live in harmonywhy cant we be friends why cant we be friends why cant we be friends why cant we be friendsid kinda like to be the president so i could show you how your moneys spentwhy cant we be friends why cant we be friends why cant we be friends why cant we be friendssometimes i dont speak right but yet i know what im talking aboutwhy cant we be friends why cant we be friends why cant we be friends why cant we be friendsi know youre working for the cia they wouldnt have you in the mafiawhy cant we be friends why cant we be friends why cant we be friends why cant we be friendswhy cant we be friends why cant we be friends why cant we be friends why cant we be friendswhy cant we be friends why cant we be friends why cant we be friends why cant we be friendswhy cant we be friends why cant we be friends why cant we be friends why cant we be friends why cant we be friends why cant we be friends why cant we be friends ",1
24,"love wont let me wait","major harris",1975,"the time is right you hold me tight and loves got me high please tell me yes and dont say no honey not tonight i need to have you next to me in more ways than one and i refuse to leave till i see the morning sun creep through your window pane cause love wont let me wait not one more minute baby the time is right turn down the lights and take my hand well take a flight and spend the night in a wonderland now move a little close to me you owe it to yourself and i will selfishly take a little for myself and its because of you that love wont let me wait no listen girl i need your love so desperately and only you can set me free when i make love to you well explode in ecstacy and i wont take the blame that love wont let me wait no love wont let me wait temperatures risin cause youre so tantilizin love wont let me wait awww listen girl love wont let me wait",5
25,"boogie on reggae woman","stevie wonder",1975," i like to see you boogie right across the floor i like to do it to you till you holla for morei like to reggae but you dance too fast for me id like to make love to you so you can make me screamso boogie on reggae woman what is wrong with me boogie on reggae woman baby cant you seeid like to see both of us fall deeply in love id like to see you na under the stars above yes i would id like to see both of us fall deeply in love yeah id like to see you in the raw under the stars aboveso boogie on reggae woman what is wrong with you boogie on reggae woman what you tryin to do can i play can i play noboogie on reggae woman what is wrong with me boogie on reggae woman what you tryin to doboogie on reggae woman let me do it to you boogie on reggae woman what you tryin to do ",1
26,"wasted days and wasted nights","freddy fender",1975,"wasted days and wasted nights i have left for you behind for you dont belong to me your heart belongs to someone else why should i keep loving you when i know that youre not true and why should i call your name when youre the blame for making me blue dont you remember the day that you went away and left me i was so lonely prayed for you only my love why should i keep loving you when i know that youre not true and why should i call your name when youre the blame for making me blue dont you remember the day that you went away and left me i was so lonely prayed for you only my love why should i keep loving you when i know that youre not true and why should i call your name when youre the blame for making me blue",3
27,"fight the power","the isley brothers",1975," time is truly wastin theres no guarantee smiles in the makin you gotta fight the powers that begot so many forces stayin on the scene givin up all around me faces full a paini try to play my music they say my musics too loud i tried talkin about it i got the big run around and when i rolled with the punches i got knocked on the ground by all this bullshit going downtime is truly wastin theres no guarantee smiles in the makin you gotta fight the powers that bei dont understand it people wanna see those that got the answers red tape in the wayi could take you in easy thats just half the fun oh boy seeking satisfaction keeps me on the runi try to play my music they say my musics too loud i tried talkin about it i got the big run around and when i rolled with the punches i got knocked on the ground but all this bullshit going downtime is truly wastin theres no guarantee smiles in the makin you gotta fight the powers that be got it babyif you and i can we got the power fight it got the power fight it baby baby fight it fight the powerfight it got the power fight it got the power fight it got the power  ",1
28,"angie baby","helen reddy",1975," you live your life in the songs you hear on the rock and roll radio and when a young girl doesnt have any friends thats a really nice place to go folks hoping youd turn out cool but they had to take you out of school youre a little touched you know angie babylovers appear in your room each night and they whirl you across the floor but they always seem to fade away when your daddy taps on your door angie girl are you all right tell the radio goodnight all alone once more angie babyangie baby youre a special lady living in a world of makebelieve well maybestopping at her house is a neighbor boy with evil on his mind cause hes been peeking in angies room at night through the window blind i see your folks have gone away would you dance with me today ill show you how to have a good time angie babywhen he walks in the room he feels confused like hes walked into a play and the musics so loud it spins him around til his soul has lost its way and as she turns the volume down hes getting smaller with the sound it seems to pull him off the ground toward the radio hes bound never to be foundthe headlines read that a boy disappeared and everyone thinks he died cept a crazy girl with a secret lover who keeps her satisfied its so nice to be insane no one asks you to explain radio by your side angie babyangie baby youre a special lady living in a world of makebelieve well maybe well maybe well maybe ",1
29,"jackie blue","ozark mountain daredevils",1975," ooh jackie blue lives her life from inside of her room hides a smile when shes wearin a frown ooh jackie youre not so downyou like your life in a freeform style youll take an inch but youd love a mile there never seems to be quite enough floating around to fill your lovin cupooh jackie blue whats a game girl if you never lose ask a winner and youll probably find ooh jackie theyve lost at sometimedont try to tell me that youre not aware of what youre doing and that you dont care you say its easy just a natural thing like playing music but you never singooh jackie blue making wishes that never come true going places that youve never been ooh jackie blue youre going againooh jackie blue lives a dream that can never come true making love is like sifting through sand ooh jackie it slips through your handevery day in your indigo eyes i watch the sunset but i dont see it rise moonlight and stars in your strawberry wine youd take the world but you wont take the timeoohhoohoo jackie blue lives her life from inside of a room makes you think that her life is a drag ooh jackie what fun you have hadooh jackie ooh jackie ooh jackie ooh jackie hey hey hey hey ",1
30,"fire","ohio players",1975," hey now huhhuh hey hey hey no ow now hey now huhhuh hey hey hey nofire uh uh fire its all about uh uh fire woo woo woo firethe way you walk and talk really sets me off to a fuller love child yes it does uh the way you squeeze and tease knocks to me my knees cause im smokin baby babythe way you swerve and curve really wrecks my nerves and im so excited child yeah woo woo the way you push push lets me know that youre good youre gonna get your wish oh yeahfire what i said child ow fire uhhuh got me burnin burnin burnin got me burnin burnin burnin yeah got me burnin burnin burnin yeahwoohoohoobaby start burnin burnin baby ooh ooh ooh ooh burnin burnin baby oh babywhen you shake what you got and girl youve got a lot youre really somethin child yes you are when youre hot youre hot you really shoot your shot youre dynomight child yeahwell i can tell by your game youre gonna start a flame love baby baby im not gon choke from the smoke got me tightenin up my stroke do you feel it girl yeah ",1
31,"magic","pilot",1975," ho ho ho its magic you know never believe its not so its magic you know never believe its not sonever been awake never seen a day break leaning on my pillow in the morning lazy day in bed music in my head crazy music playing in the morning lightho ho ho its magic you know never believe its not so its magic you know never believe its not soi love my sunny day dream of far away dreaming on my pillow in the morning never been awake never seen a day break leaning on my pillow in the morning lightho ho ho its magic you know never believe its not so its magic you know never believe its not soho ho ho its magic you know never believe its not so its magic you know never believe its not so ",1
32,"please mr postman","the carpenters",1975," stop oh yes wait a minute mr postman wait wait mr postmanplease mr postman look and see oh yeah if theres a letter in your bag for me please please mr postman whys it takin such a long time oh yeah for me to hear from that boy of minethere must be some word today from my boyfriend so far away please mr postman look and see if theres a letter a letter for meive been standin here waitin mr postman so patiently for just a card or just a letter sayin hes returning home to memister postman mister postman look and see oh yeah if theres a letter in your bag for me please please mr postman whys it takin such a long time oh yeah for me to hear from that boy of mineso many days you passed me by see the tears standin in my eyes you didnt stop to make me feel better by leavin me a card or a lettermister postman mister postman look and see oh yeah if theres a letter in your bag for me please please mr postman whys it takin such a long time why dont you check it and see one more time for me you gotta wait a minute wait a minute wait a minute wait a minute mr postman ooh mr postman mr postman look and see cmon deliver the letter the sooner the better mr postman aaah ",1
33,"sister golden hair","america",1975," well i tried to make it sunday but i got so damn depressed that i set my sights on monday and i got myself undressedi aint ready for the altar but i do agree theres times when a woman sure can be a friend of minewell i keep on thinkin bout you sister golden hair surprise and i just cant live without you cant you see it in my eyesi been one poor correspondent and i been too too hard to find but it doesnt mean you aint been on my mindwill you meet me in the middle will you meet me in the air will you love me just a little just enough to show you carewell i tried to fake it i dont mind sayin i just cant make itwell i keep on thinkin bout you sister golden hair surprise and i just cant live without you cant you see it in my eyesnow i been one poor correspondent and i been too too hard to find but it doesnt mean you aint been on my mindwill you meet me in the middle will you meet me in the air will you love me just a little just enough to show you carewell i tried to fake it i dont mind sayin i just cant make it ",1
34,"lucy in the sky with diamonds","elton john",1975," picture yourself in a boat on a river with tangerine trees and marmalade skies somebody calls you you answer quite slowly a girl with kaleidoscope eyescellophane flowers of yellow and green towering over your head look for the girl with the sun in her eyes and shes gonelucy in the sky with diamonds lucy in the sky with diamonds lucy in the sky with diamonds ohfollow her down to a bridge by a fountain where rockinghorse people eat marshmallow pies everyone smiles as you drift past the flowers that grow so incredibly highnewspaper taxis appear on the shore waiting to take you away climb in the back with your head in the clouds and youre gonelucy in the sky with diamonds lucy in the sky with diamonds lucy in the sky with diamonds ohnewspaper taxis appear on the shore waiting to take you away climb in the back with your head in the clouds and youre gonelucy in the sky with diamonds lucy in the sky with diamonds lucy in the sky with diamonds ohpicture yourself on a train in a station with plasticine porters with lookingglass ties suddenly someone is there at the turnstile the girl with kaleidoscope eyeslucy in the sky with diamonds lucy in the sky with diamonds lucy in the sky with diamonds ohlucy in the sky with diamonds lucy lucy in the sky with diamonds oh lucy lucy in the sky with diamonds oh lucy ohlucy in the sky with diamonds lucy lucy in the sky with diamonds oh lucy lucy in the sky with diamonds oh lucy ohlucy in the sky with diamonds lucy lucy in the sky with diamonds oh lucy lucy in the sky with diamonds oh lucy ohlucy in the sky with diamonds hey oh lucy lucy in the sky with diamonds oh lucy lucy in the sky with diamonds oh lucy ",1
35,"mandy","barry manilow",1975," i remember all my life raining down as cold as ice a shadow of a man a face through a window crying in the night the night goes intomorning just another day happy people pass my way looking in their eyes i see a memory i never realized how happy you made me oh mandywell you came and you gave without taking but i sent you away oh mandy and you kissed me and stopped me from shaking and i need you today oh mandyim standing on the edge of time walked away when love was mine caught up in a world of uphill climbing the tears are in my eyes and nothing is rhyming oh mandywell you came and you gave without taking but i sent you away oh mandy and you kissed me and stopped me from shaking and i need you today oh mandyyesterdays a dream i face the morning crying on a breeze the pain is calling oh mandywell you came and you gave without taking but i sent you away oh mandy well you kissed me and stopped me from shaking and i need you today oh mandywell you came and you gave without taking but i sent you away oh mandy you kissed me and stopped me from shaking and i need you ",1
36,"have you never been mellow","olivia newtonjohn",1975," there was a time when i was in a hurry as you are i was like you there was a day when i just had to tell my point of view i was like younow i dont mean to make you frown no i just want you to slow downhave you never been mellow have you never tried to find a comfort from inside you have you never been happy just to hear your song have you never let someone else be strongrunning around as you do with your head up in the clouds i was like you never had time to lay back kick your shoes off close your eyes i was like younow youre not hard to understand you need someone to take your hand heyhave you never been mellow have you never tried to find a comfort from inside you have you never been happy just to hear your song have you never let someone else be strong ",1
37,"could it be magic","barry manilow",1975," spirit move me every time im near you whirling like a cyclone in my mind sweet melissa angel of my lifetime answer to all answers i can findbaby i love you come come come into my arms let me know the wonder of all of youand baby i want you now now now and hold on fast could this be the magic at lastlady take me hight upon a hillside high up where the stallion meets the sun i could love you build my world around you never leave you till my life is done ",1
38,"cats in the cradle","harry chapin",1975," my child arrived just the other day he came to the world in the usual way but there were planes to catch and there were bills to pay he learned to walk while i was awayand he was talking fore i knew it and as he grew hed say im gonna be like you dad you know im gonna be like youand the cats in the cradle and the silver spoon little boy blue and the man in the moon when you coming home dad i dont know when well get together then son you know well have a good time thenwhen my son turned ten just the other day said thanks for the ball dad come on and lets play can you teach me to throw i said not today i got a lot to do he said thats okayand he walked away but his smile never dimmed said im gonna be like him yeah you know im gonna be like himand the cats in the cradle and the silver spoon little boy blue and the man in the moon when you coming home dad i dont know when well get together then son you know well have a good time thenwell he came from college just the other day so much like a man i just had to say son im proud of you can you sit for a while he shook his head and he said with a smilewhat id really like dad is to borrow the car keys see you later can i have them pleaseand the cats in the cradle and the silver spoon little boy blue and the man in the moon when you coming home son i dont know when but well get together then dad were gonna have a good time thenwell ive long since retired and my sons moved away called him up just the other day i said id like to see you if you dont mind he said id love to dad if i could find the timeyou see my new jobs a hassle and the kids got the flu but its sure nice talking to you dad its been sure nice talking to youand as i hung up the phone it occurred to me hed grown up just like me my boy was just like meyeah and the cats in the cradle and the silver spoon little boy blue and the man in the moon when you coming home son i dont know when but well get together then dad were gonna have a good time then ",1
39,"wildfire","michael martin murphey",1975," she comes down from yellow mountain on a dark flat land she rides on a pony she named wildfire with a whirlwind by her side on a cold nebraska nightoh they say she died one winter when there came a killing frost and the pony she named wildfire busted down its stall in a blizzard he was lostshe ran calling wildfire x3 by the dark of the moon i planted but there came an early snow theres been a hootowl howling by my window now for six nights in a row shes coming for me i know and on wildfire were both gonna gowell be riding wildfire x3 ",1
40,"im not lisa","jessi colter",1975," im not lisa my name is julie lisa left you years ago my eyes are not blue but mine wont leave you till the sunlight has touched your faceshe was your morning light her smile told of no night your love for her grew with each rising sunand then one winter day his hand led her away she left you here drowning in your tears here where youve stayed for years crying lisa lisaim not lisa my name is julie lisa left you years ago my eyes are not blue but mine wont leave you till the sunlight has touched your face im not lisa ",1
41,"listen to what the man said","wings",1975,"any time any day you can hear the people say but he wont mind well i dont know but i say love is kind soldier boy kisses girl leaves behind a tragic world but he wont mind hes in love and he says love is fine oh yes indeed we know that people will find a way to go no matter what the man said and love is fine for all we know for all we know our love will grow thats what the man said so wont you listen to what the man said he said ̢oh yes indeed we know that people will find a way to go oh yes indeed we know that people will find a way to go etc etc the wonder of it all baby the wonder of it all baby the wonder of it all baby",3
42,"im not in love","10cc",1975,NA,NA
43,"i can help","billy swan",1975," if youve got a problem dont care what it is if you need a hand i can assure you thisi can help ive got two strong arms i can help it would sure do me good to do you good let me helpits a fact that people get lonely aint nothing new but a woman like you babe should never have the blueslet me help ive got two for me let me help it would sure do me good to do you good let me helpwhen i go to sleep at night youre always a part of my dreams holding me tight and telling me everything i want to heardont forget me babe all you gotta do is call you know how i feel about you i can do anything at alllet me help if your child needs a dad i can help it would sure do me good to do you good let me helpwhen i go to sleep at night youre always a part of my dreams holding me tight and telling me everything i want to heardont forget me babe all you gotta do is call you know how i feel about you if i can do anything at alllet me help for a child needs a dad i can help it would sure do me good to do you good let me help ",1
44,"fallin in love","hamilton joe frank  reynolds",1975,"baby baby fallin in love im fallin in love again baby baby fallin in love im fallin in love again i could never see what fate had meant for me and then you came and made my dreams match reality maybe you can see all the things youve been to me but my simple fate is at the gate and girl youve got the key baby baby fallin in love im fallin in love again baby baby fallin in love im fallin in love again it seems like yesterday you and i first loved this way but now i know how love can grow with each and every day as we lay at midnights hour and feel loves hidden power so strong and bold as life unfolds its mystery to me baby baby fallin in love im fallin in love again baby baby fallin in love im fallin in love again you and me for eternity in love well always be young and free and that should be the way its gotta be baby baby fallin in love im fallin in love again baby baby fallin in love im fallin in love again baby baby fallin in love im fallin in love again baby baby fallin in love im fallin in love again baby baby fallin in love im fallin in love again baby baby fallin in love im fallin in love again ",3
45,"feelings","morris albert",1975,"morris albert miscellaneous feelings feelings nothing more than feelings trying to forget my feelings of love teardrops rolling down on my face trying to forget my feelings of love feelings for all my life ill feel it i wish ive never met you girl youll never come again feelings wooo feelings wooo feel you again in my arms feelings feelings like ive never lost you and feelings like ive never have you again in my heart feelings for all my life ill feel it i wish ive never met you girl youll never come again feelings feelings like ive never lost you and feelings like ive never have you again in my life feelings wooo feelings wooo feelings again in my arms feelingsrepeat  fade",3
46,"chevy van","sammy johns",1975,"i gave a girl a ride in my wagon she crawled in and took control she was tired cause her mind was draggin i said get some sleep and dream of rock and roll cause like a picture she was layin there moonlight dancin off her hair she woke up and took me by the hand shes gonna love me in my chevy van and thats all right with me her young face was like that of an angel her long legs were tanned and brown better keep your eyes on the road son better slow this vehicle down like a picture she was layin there moonlight dancin off her hair she woke up and took me by the hand we made love in my chevy van and thats all right with me i put her out in a town that was so small you could throw a rock from end to end a dirt road main street she walked off in bare feet its a shame i wont be passin through again cause like a picture she was layin there moonlight dancin off her hair she woke up and took me by the hand we made love in my chevy van and thats all right with me",3
47,"when will i be loved","linda ronstadt",1975," ive been cheated been mistreated when will i be lovedive been put down ive been pushed round when will i be lovedwhen i find a new man that i want for mine always breaks my heart in two it happens every timeive been made blue ive been lied to when will i be lovedwhen i find a new man that i want for mine always breaks my heart in two it happens every timeive been cheated been mistreated when will i be loved when will i be loved tell me when will i be loved ",1
48,"youre the first the last my everything","barry white",1975," my first my last my everything and the answer to all my dreams youre my sun my moon my guiding star my kind of wonderful thats what you arei know theres only only one like you theres no way they could have made two youre all im living for your love ill keep forevermore first youre the last my everythingin you ive found so many things a love so new only you could bring cant you see its you you make me feel this way youre like a first morning dew on a brand new dayi see so many ways that i can love you til the day i die youre my reality yet im lost in a dream youre the first the last my everything ",1
49,"please mr please","olivia newtonjohn",1975," in the corner of the bar there stands a jukebox with the best of country music old and new you can hear your five selections for a quarter and somebody elses songs when yours are throughi got good kentucky whiskey on the counter and my friends around to help me ease the pain til some button pushin cowboy plays that love song and here i am just missin you againplease mister please dont play b17 it was our song it was his song but its over please mister please if you know what i mean i dont ever wanna hear that song againif i had a dime for every time i held you though youre far away youve been so close to me i could swear id be the richest girl in nashville maybe even in the state of tennesseebut i guess id better get myself together cause when you left you didnt leave too much behind just a note that said im sorry by your picture and a song thats weighin heavy on my mindplease mister please dont play b17 it was our song it was his song but its over please mister please if you know what i mean i dont ever wanna hear that song again ",1
50,"youre no good","linda ronstadt",1975," feeling better now that were through feeling better cause im over you i learned my lesson it left a scar now i see how you really areyoure no good youre no good youre no good baby youre no goodim gonna say it again youre no good youre no good youre no good baby youre no goodi broke a heart thats gentle and true well i broke a heart over someone like you ill beg his forgiveness on bended knee i wouldnt blame him if he said to meyoure no good youre no good youre no good baby youre no goodim gonna say it again youre no good youre no good youre no good baby youre no goodim telling you now baby and im going my way forget about you baby cause im leaving to stay youre no good youre no good youre no good baby youre no goodim gonna say it again youre no good youre no good youre no good baby youre no good oh oh no youre no good youre no good youre no good baby youre no good ",1
51,"dynomite","bazuka",1975,"instrumental",3
52,"walking in rhythm","the blackbyrds",1975," walking in rhythm movin in sound hummin to the music trying to move on im walking in rhythm singin my song thinkin about my baby tryin to get homewalking in rhythm movin in sound hummin to the music tryin to move onits been so long since i seen her im tired and so all alone ive travelled so very far ive got to get back home got to get back homeits been so long since i seen her song text taken from stlyricscom im tired and so all alone ive travelled so very far ive got to get back home got to get back home ",1
53,"the way we weretry to remember","gladys knight  the pips",1975,"hey everybodys talkin about the good old days right everybody the good old days the good old days well lets talk about the good old days come to think of it as as bad as we think they are these will become the good old days for our children but why dont we try to remember that kind of september when life was slow and oh so mellow try to remember and if you remember then follow oh why does it seem the past is always better we look back and think the winters were warmer the grass was greener the skies were bluer and smiles were bright can it be that it was all so simple then or has time rewritten every line and if we had the chance to do it all again tell me would we could we memories like the corners of my mind misty watercolor memories of the way we were scattered pictures of the smiles we left behind smiles we gave to one another for the way we were oh can it be that it was all so simple then or has time rewritten every line and if we had the chance to do it all again tell me would we could we memories may be beautiful and yet whats too painful to remember we simply choose to forget so its the laughter we will remember whenever we remember the way we were remember the way we were",3
54,"midnight blue","melissa manchester",1975," whatever it is itll keep till the morning havent we both got better things to domidnight blue even though simple things become rough havent we had enoughand i think we can make it one more time if we try one more time for all the old timesfor all of the times you told me you need me needing me now is something i could usemidnight blue wouldnt you give your hand to a friend maybe its not the endand i think we can make it one more time if we try one more time for all the old times midnight bluei think we can make it i think we can make it oh wouldnt you give your hand to a friend think of me as your friendand i think we can make it one more time if we try one more time for all of the old old old times one more time i think we can make it if we tryi think we can make it if we try looks like we gonna make it looks like we gonna make it if we try ",1
55,"dont call us well call you","sugarloaf",1975,"uh long distance directoryassistance area code 212 i said hey mama this is mr rhythmandblues he said hello and put me on hold to say the least the cat was cold he said dont call us child well call you i said you got my number he said yeah i got it when you walked in the door dont call us well call you dont call us well call you i got your name from a friend of a friend who said he used to work with you do you remember the allnight preacher from stereo92  i said could you relate to our quartertrack tape you know the band performs in the nude  he said uhuh dont call us well call you listen kid you pay for the call you aint bad but we ve heard it all before yeah it sounds like john paul and george  anyway we cut a hit and toured a bit with the song he said he couldnt use and now he calls and begs and crawls its telephone deja vu we got percentage points and lousy joints and all the glitter we can use mama so huh dont call us well call you you may have heard this one before too listen kid you pay for the call well you aint bad but ive heard it all before  dont call us well call you dont call us well call you",5
56,"poetry man","phoebe snow",1975," you make me laugh cause your eyes they light the night they look right through me you bashful boy youre hiding something sweet please give it to me yeah to metalk to me some more you dont have to go youre the poetry man you make things all rhymeyou are a genie all i ask for is your smile each time i rub the lamp when i am with you i have a giggling teenage crush then im a sultry vamp yeah sultry vamptalk to me some more you dont have to go youre the poetry man you make things all right yeah yeahtalk to me some more you dont have to go youre the poetry man you make things all right yeah yeah yeah yeahso once again its time to say so long and so recall the cull of life youre going home now homes that place somewhere you go each day to see your wife to see your wifetalk to me some more you know that you dont have to go youre the poetry man you make things all right yeahtalk to me some more you dont have to go youre the poetry man you make things all right ",1
57,"how long","ace",1975," how long has this been goin on how long has this been goin onwell if friends with their fancy persuasion dont admit that its part of a scheme but i cant help but have my suspicions cause i aint quite as dumb as i seem and you said you was never intendin to break up our singing this way but there aint any use in pretendin it could happen to us any dayhow long has this been goin on how long has this been goin onmusical interludeoh your friends with their fancy persuasion dont admit that its part of a scheme but i cant help but have my suspicion cause i aint quite as dumb as i seem oh you said you was never intending to break up our singing this way but there aint any use in pretendin it could happen to us any dayand how long has this been going on how long has this been going on how longhow long has this been going on how long has this been going on how long has this been going on how long how long has this been going on ",1
58,"express","bt express",1975,"come on and do it do it do it til youre satisfied whatever it is do it do it til youre satisfied come on and do it do it do it til youre satisfied whatever it is do it do it til youre satisfied people know just what they like to do whatever it is youve got it long as it pleases you make it last as long as you can and when youre through its up to you to try it again come on and do it do it do it til youre satisfied whatever it is do it do it til youre satisfied come on and do it do it til youre satisfied whatever it is do it do it til youre satisfied everybody knows what theyve like to do whatever it is do it as long as it pleases you just take some time and relax your mind then do it do it do it til youre satisfied come on and do it do it now do it til youre satisfied whatever it is do it do it til youre satisfied come on and do it do it til youre satisfied whatever it is do it now do it til youre satisfied when you have a love im satisfied im satisfied when you have a love when you have a love im satisfied im satisfied when you have a love come on and do it do it do it til youre satisfied whatever it is gotta do it do it til youre satisfied   just do some more come on and do it do it til youre satisfied whatever it is do it do it til youre satisfied do it do it do it till youre satisfied whatever it is gotta do it do it til youre satisfied come on and do it yeah yeah whatever it is gotta do it gotta do it good   just do some more do it til youre satisfied im satisfied im satisfied im satisfied im satisfied im satisfied im satisfied im satisfied im satisfied come on and do it yeah yeah",3
59,"thats the way of the world","earth wind  fire",1975,"hearts of fire creates love desire take you high and higher to the world you belong hearts of fire creates love desire high and higher to your place on the throne weve come together on this special day to sing our message loud and clear looking back weve touched on sorrowful days future pass they disappear you will find peace of mind if you look way down in your heart and soul dont hesitate cause the world seems cold stay young at heart cause youre never never never  old at heart thats the way of the world plant your flower and you grow a pearl a child is born with a heart of gold the way of the world makes his heart grow cold",5
60,"lady","styx",1975," lady when youre with me im smiling give me all your love your hands build me up when im sinking touch me and my troubles all fadelady from the moment i saw you standing all alone you gave all the love that i needed so shy like a child who had grown youre mylady of the morning love shines in your eyes sparkling clear and lovely youre my ladylady turn me on when im lonely show me all your charms evenings when you lay down beside me just take me gently into your arms youre mylady of the morning love shines in your eyes sparkling clear and lovely youre my ladylady of the morning love shines in your eyes sparkling clear and lovely youre my lady ",1
61,"bad time","grand funk",1975,"im in love with the girl that im talking about im in love with the girl i cant live without im in love but i sure picked a bad time to be in love to be in love well let her be somebody elses queen i dont want to know about it theres too many others that know what i mean and thats why i got to live without it im in love with the girl im talking about im in love with the girl i cant live without im in love but i feel like im wearin it out im in love but i must have picked a bad time to be in love a bad time to be in love a bad time to be in love a bad time to be in love all the stories coming back to me from my friends and the people that i dont want to see the things you say i know just couldnt be true at least not until i hear them from you cause i still love the little girl im talking about im in love with the girl i cant live without im in love but i feel like im wearin it out im in love but i must have picked a bad time to be in love a bad time to be in love a bad time to be in love a bad time to be in love you know that i love the little girl im talking about im in love with the girl i cant live without im in love but i feel like im wearin it out im in love but i must have picked a bad time to be in love a bad time to be in love a bad time to be in love a bad time to be in love",3
62,"only women bleed","alice cooper",1975," man got his woman to take his seed he got the power oh she got the need she spends her life through pleasing up her man she feeds him dinner or anything she can she cries alone at night too often he smokes and drinks and dont come home at allonly women bleed only women bleed only women bleedman makes your hair gray hes your lifes mistake all youre really lookin for is an even break he lies right at you you know you hate this game he slaps you once in a while and you live and love in pain she cries alone at night too often he smokes and drinks and dont come home at allonly women bleed only women bleed only women bleed only women bleed only women bleed only women bleed only women bleedman got his woman to take his seed he got the power oh she got the need she spends her life through pleasing up her man she feeds him dinner or anything she can she cries alone at night too often he smokes and drinks and dont come home at allonly women bleed only women bleed only women bleedblack eyes all of the time dont spend a dime clean up this grime and you there down on your knees begging me please come watch me bleedonly women bleed only women bleed only women bleed only women bleed only women bleed only women bleed only women bleed ",1
63,"doctors orders","carol douglas",1975," hello hiya honey its me i want to see the doctor today cos ever since youve been gone ive had a pain deep down inside he said theres nothing really wrong with me im just missing my man so honey please come on home as soon as you candoctors orders say theres only one thing for me nothing he can do cos only you can cure me says in my condition loves the best physician hes prescribed a potion full of warm emotion every day a lovin spoonful to be taken its the only way to stop this empty heart of mine from breakin song text taken from stlyricscom wont get better till youre back again he told me doctors orders need your loving arms to hold me darling now i know there aint no doubt about it im so hooked on your love i cant live without it youre away but please dont treat me like a stranger doctors orders say one kiss from you and i am out of dangermusical interludeplease say you understand how i feel honey i know youve got a lot of things on your mind oh but im missing you so bad please oh please come on home ",1
64,"get down tonight","kc and the sunshine band",1975,"kc miscellaneous get down tonight get down tonight kc  the sunshine band baby lets get together honey hush me an dyou and do the things ah do the things that we like to do oh    do a little dance make a little love get down tonight get down tonight do a little dance make a little love get down tonight get down tonight baby ill meet you same place same time where we get we get together and please our mind  oh    do a little dance make a little love get down tonight get down tonight do a little dance make a little love get down tonight get down tonight baby    oww    do a little dance make a little love get down tonight get down tonight do a little dance make a little love get down tonight get down tonight baby    get down get down get down get down get down tonight baby oohhoohoohoo get down get down get down get down get down tonight baby oohhoohoohoo now now now    get down get down get down get down get down tonight baby oohhoohoohoo get down get down get down get down get down tonight baby oohhoohoohoo get down get down get down get down get down tonight baby oohhoohoohoo lets do it right get down get down get down get down get down tonight baby oohhoohoohoo get down get down get down get down get down tonight baby oohhoohoohoo    transcribed by normalguy",3
65,"you are so beautiful","joe cocker",1975," you are so beautiful to me you are so beautiful to me cant you see youre everything i hoped for youre everything i need you are so beautiful to meyou are so beautiful to me you are so beautiful to me cant you see youre everything i hoped for youre everything i need you are so wonderful to meyou are so beautiful to me you are so beautiful to me cant you see youre everything i hoped for youre everything i need you are so beautiful to me ",1
66,"one man womanone woman man","paul anka  odia coates",1975,NA,NA
67,"feel like makin love","bad company",1975," baby when i think about you i think about love darlin dont live without you and your love if i had those golden dreams of my yesterdays i would wrap you in the heaven til im dyin on the wayfeel like makin feel like makin love feel like makin love feel like makin love feel like makin love to youbaby if i think about you i think about love darlin if i live without you i live without love and if i had the sun and moon we will shine them i would give you both night and day of satisfynfeel like makin feel like makin love feel like makin love feel like makin love feel like makin love to youand if i had those golden dreams of my yesterdays i would wrap you in the heaven til im dyin on the wayfeel like makin feel like makin love feel like makin love feel like makin love feel like makin love to youwell i feel like makin love well i feel like makin love well i feel like makin love feel like makin love to youwell i feel like makin love well i feel like makin love well i feel like makin love feel like makin love to youwell i feel like makin love well i feel like makin love well i feel like makin love feel like makin love to youwell i feel like makin love ",1
68,"how sweet it is to be loved by you","james taylor",1975," how sweet it is to be loved by you how sweet it is to be loved by youi needed the shelter of someones arms and there you were i needed someone to understand my ups and downs and there you were with sweet love and devotion deeply touching my emotion i want to stop and thank you baby i wanna stop and thank you baby yes i dohow sweet it is to be loved by you feels so fine how sweet it is to be loved by youi close my eyes at night wondering where would i be without you in my life everything i did was just a bore everywhere i went it seems id been there before but you brighten up for me all of my days with a love so sweet in so many ways i wanna stop and thank you baby i just wanna stop and thank you baby oh yeshow sweet it is to be loved by you its just like sugar sometimes how sweet it is to be loved by you oh yeahyou were better to me than i was to myself for me theres you and there aint nobody else i wanna stop and thank you baby i just wanna stop and thank you baby oh yeshow sweet it is to be loved by you how sweet it is to be loved by you oh now how sweet it is to be loved by you its like jelly baby oh how sweet it is to be loved by you just like honey to the bee baby yeah now how sweet it is to be loved by you ",1
69,"dance with me","orleans",1975," dance with me i want to be your partner cant you see the music is just starting night is falling and i am falling dance with mefantasy could never be so killing i feel free i hope that you are willing pick the beat up and kick your feet up dance with melet it lift you off the ground starry eyes and love is all around us i can take you where you want to godance with me i want to be your partner cant you see the music is just starting night is falling and i am falling dance with melet it lift you off the ground starry eyes and love is all around us i can take you where you want to godance with me i want to be your partner cant you see the music is just starting night is falling and i am falling dance with me ",1
70,"cut the cake","average white band",1975," cut the cake give me a little piece let me lick up the cream cut the cake i need a little piece baby you know what i meancut the cake give me a little piece some lovin along the side cut the cake i need a little piece and you could keep me satisfied yeahgimme gimme gimme that cake it tastes so good dont pass it all around gimme gimme gimme that cake you got to cut itdowncut the cake i need a little piece of your sweet love cut the cake cant you see that i cant get enoughcut the cake dont you know that i aint a greedy man cut the cake got to see that ill do the best i canwell give me that chance baby that recipe is from my girl incomprehensible love and sugar baby incomprehensiblegimme gimme gimme that cake it tastes so good dont pass it all around gimme gimme gimme that cake got to cut itdown cut itdown we go right nowcut the cake give me a little piece and let me lick up the cream cut the cake i need a little piece baby you know what i meancut the cake give me a little piece some lovin along the side cut the cake i need a little piece and you could keep me satisfiedi like it like that i like it like that like it incomprehensible i like it like that yes i dogimme gimme gimme that cake it tastes so good dont pass it all around gimme gimme gimme that cake never knew you cooked the way you dogimme gimme gimme that cake it tastes so good dont pass the recipe around gimme gimme gimme that cake you got to cut it down cut it down cut it downcut the cake ",1
71,"never can say goodbye","gloria gaynor",1975," i never can say goodbye no no no no now never can say goodbyeeven though the pain and heartache seem to follow me wherever i go though i try and try to hide my feelings they always seem to showthen you try to say youre leaving me and i always have to say no tell me why is it sothat i never can say goodbye no no no no now never can say goodbyeevery time i think ive had enough and start heading for the door theres a very strange vibration piercing me right through the core it says turn around you fool you know you love him more and more tell me why is it sodont wanna let you go i never can say goodbye girl ooh ooh baby dont wanna let you go girl i never can say goodbye no no no no no no ooh oh i never can say goodbye girl ooh ooh ooh dont wanna let you go girl i never can say goodbye no no no no no no oohnever can say goodbye no no no no now never can say goodbyei keep thinking that our problems soon are all gonna work out but theres that same unhappy feeling theres that anguish theres that doubt its the same old dizzy hangup cant do with you or without tell me why is it so dont wanna let you goi never can say goodbye girl ooh ooh baby hey baby i never can say goodbye no no no no no no ooh oh i never can say goodbye girl ooh oh hey baby i never can say goodbye no no no no no no ooh i never can say goodbye girl ooh ooh baby hey baby i never can say goodbye no no no no no no ooh oh i never can say goodbye girl ooh oh hey baby ",1
72,"i dont like to sleep alone","paul anka",1975,"i dont like to sleep alone stay with me dont go talk with me for just a while so much of you to get to know reaching out touching you leaving all the worries behind loving you the way i do my mouth on yours and yours on mine marry me let me live with you nothings wrong and love is right like a man says in his song help me make it through the night loneliness can get you down when you get to thinking no one cares lean on me and ill lean on you together we will see it through no i dont like to sleep alone its sad to think some folks do no i dont like to sleep alone no one does do you no i dont like to sleep alone its sad to think some folks do no i dont like to sleep alone no one does do you",5
73,"morning side of the mountain","donny  marie osmond",1975,"there was a girl there was a boy there was a girl there was a boy if they had met they might have found a world of joy but he lived on the morning side of the mountain and she lived on the twilight side of the hill they never met they never kissed they will never know what happiness theyve missed cause he lived on the morningside of the mountain and she lived on the twilight side of the hill for loves a rose that never grows without the kiss of the morning dew and every jack must have a jill to know the thrill of a dream that comes true and you and i are just like they for all we know our love is just a kiss away but you are on the morning side of the mountain and you are on the twilight side of the hill and you and i are just like they for all we know our love is just a kiss away but you are on the morning side of the mountain and you are on the twilight side of the hill there was a girl there was a boy",3
74,"some kind of wonderful","grand funk railroad",1975," i dont need a whole lots of money i dont need a big fine car i got everything that a man could want i got more than i could ask for i dont have to run around i dont have to stay out all night cause i got me a sweet a sweet lovin woman and she knows just how to treat me rightwell my baby shes all right well my baby shes clean out of sight dont you know that shesshes some kind of wonderful shes some kind of wonderful yes she is shes a shes some kind of wonderful yeah yeah yeah yeahwhen i hold her in my arms you know she sets my soul on fire ooh when my baby kisses me my heart becomes filled with desire when she wraps her lovin arms around me it bout tires me out of my mind yeah when my baby kisses me chills run up and down my spinewell my baby shes all right uh my baby shes clean out of sight dont you know that shesshes some kind of wonderful shes some kind of wonderful yes she is shes a shes some kind of wonderful yeah yeah yeah yeahnow is there anybody got a sweet little woman like mine got to be somebody got got a sweet little woman like minecan i get a witness can i get a witness can i get a witness can i get a witness can i get a witness can i get a witnessim talkin talkin bout my baby shes some kind of wonderful yeah talkin bout my baby shes some kind of wonderful talkin bout my baby shes some kind of wonderful im talkin bout my baby shes some kind of wonderful my baby my baby im talkin about my baby my baby my baby shes some kind of wonderful yeah yeah yeah yeah my baby my baby shes some kind of wonderful talkin bout my baby my baby my baby shes some kind of wonderful im talkin bout my baby my baby my baby shes some kind of wonderful im talkin bout my baby shes some kind of wonderful shes some kind of wonderful ",1
75,"when will i see you again","the three degrees",1975," hoooo haa haa hoooo precious moments when will i see you again when will we share precious moments will i have to wait forever will i have to suffer and cry the whole night trough when will i see you again when will our hearts beat together are we in love or just friends is this my beginning or is this the end when will i see you again when will i see you again when will i see you again hoooo a hoooo precious moments are we in love or just friends is this my beginning or is this the end when will i see you again when will i see you again when will i see you again when will i see you again when will i see you again when will i see you again when will i see you again when will i see you again when will i see you again when will i see you again when will i see you again ",1
76,"get down get down get on the floor","joe simon",1975,"everybody wont you get on the floor get on the floor and let the good time roll we got a kung fu bumpin til its time to go get on the floor and let the good time roll come on get down get down grab your partner and dance to the beat get on the floor and let the good time roll let the music control your feet now get on the floor and let the good time roll come on and party baby get down get down get down all night long baby why dont ya get down get down me and you get down get down i know you have it get down get down why dont you get on the floor and let the good time roll come on and let it roll i feel the beat i feel the heat everybody wont you clap your hands and dance get on the floor and let the good time roll come on all you got to do is move your body and shake what you can oh baby get on the floor and let the good time roll oh let me tell ya your lookin good now get on the floor and let the good time roll come on baby get down get down get down come on and get down all the way baby get down get down i know you have it get down get down  operator get down get down why dont you get on the floor and let the good time roll everybody is lookin good now get down on the floor and let the good time roll oh ya and your doin that kung fu bumpin like i know you could now get down on the floor and let the good time roll it aint now harm yal get down on the floor and let the good time roll it aint no harm to do the bump get down on the floor and let the good time roll but someone out there is doin the devil bump look out get down on the floor and let the good time roll go ahead and do your thing baby get down on the floor and let the good time roll come on and bump baby get down on the floor and let the good time roll come on and kung fu kung fu kung fu kung fu bumpin now get down on the floor and let the good time roll oh your doin it tonight baby get down on the floor and let the good time roll you got me feelin good tonight oh baby get down on the floor and let the good time roll i aint felt this good honey get down on the floor and let the good time roll since i dont know when get down on the floor and let the good time roll i might not baby get down on the floor and let the good time roll oh honey i might not feel this good again get on the floor and let the good time roll you see thats why right now get down on the floor and let the good time roll im goin to get out on the floor get down on the floor and let the good time roll im goin to do my own thing tonight get down on the floor and let the good time roll you see somebody doin it like this get down on the floor and let the good time roll now the kool cats are doin it like this get down on the floor and let the good time roll ha ha eh get on the floor and let the good time roll come on come on come on eh come come come on come on oh baby",3
77,"im sorry","john denver",1975," its cold here in the city it always seems that way and ive been thinking about you almost everyday thinking about the good times thinking about the rain thinking about how bad it feels alone againim sorry for the way things are in china im sorry things aint what they used to be but more than anything else im sorry for myself cause youre not here with meour friends all ask about you and i say youre doing fine and i expect to hear from you almost anytime but they all know im crying and i cant sleep at night they all know im dying down deep insideim sorry for all the lies i told you im sorry for the things i didnt say but more than anything else im sorry for myself i cant believe you went away ",1
78,"killer queen","queen",1975," she keeps moet et chandon in her pretty cabinet let them eat cake she says just like marie antoinette a builtin remedy for kruschev and kennedy at anytime an invitation you cant declinecaviar and cigarettes well versed in etiquette extraordinarily niceshes a killer queen gunpowder gelatin dynamite with a laser beam guaranteed to blow your mind anytimerecommended at the price insatiable an appetite wanna tryto avoid complications she never kept the same address in conversation she spoke just like a baroness met a man from china went down to geisha minah then again incidentally if youre that way inclinedperfume came naturally from paris for cars she couldnt care less fastidious and preciseshes a killer queen gunpowder gelatin dynamite with a laser beam guaranteed to blow your mind anytimedrop of a hat shes as willing as playful as a pussy cat then momentarily out of action temporarily out of gas to absolutely drive you wild wild shes all out to get youshes a killer queen gunpowder gelatin dynamite with a laser beam guaranteed to blow your mind anytimerecommended at the price insatiable an appetite wanna try you wanna try ",1
79,"shoeshine boy","eddie kendricks",1975," shoeshine boy how you do your work so well shoeshine boy tryin to make a livin you go somewhere shoeshine boy where are you gonna be ten years from now just move just keep workin shoeshine boyi wanna know are you gonna be the richest man around youve been a workin so hard so many things in life to learn shoeshine boy what will you discoverthough its a long way up youll reach the top now when youll finally get back dont forget from where you came shoeshine boy workin so hard in the noon day sun just just keep workin shoeshine boylook at ya now gettin it together teasing the guys and havin lots of fun shoeshine boy yeah dont you know that youre a star yeah youre a star shoeshine boyjust the way just the way that you are youve been a workin so hard so many things in life to learn so much to learn shoeshine boy what will you discoveryeah shoeshine boy shoeshine boy youve been a workin so hard shoeshine boy dont you know that youre a star thats the way that you are ",1
80,"do it til youre satisfied","bt express",1975,"oooh chorus go on and do it do it do it til youre satisfied whatever it is do it do it til youre satisfied repeat chorus people know just what theyd like to do whatever it is you got it long as it pleases you make it last as long as you can when youre through its up to you to try it again repeat chorus 2x everybody knows what theyd like to do whatever it is do it long as it pleases you just take some time and relax your mind and do it do it do it til youre satisfied repeat chorus 2x then you holler ohhh ohh im satisfied im satisfied then you holler ohhh woo then you holler ohhh ohh im satisfied im satisfied then you holler ohhh woo ooh go on and do it do it do it til youre satisfied whatever it is gotta do it just do it some more do it til youre satisfied repeat chorus do it do it do it til youre satisfied whatever it is gotta do it do it til youre satisfied go on and do it yeah yeah whatever it is gotta do it gotta do it good just give me some more do it til youre satisfied im satisfied im satisfied im satisfied im satisfied im satisfied im satisfied go and and do it yeah",5
81,"cant get it out of my head","electric light orchestra",1975," midnight on the water i saw the oceans daughter walking on a wave she came staring as she called my nameand i cant get it out of my head no i cant get it out of my head now my old world is gone for dead cos i cant get it out of my headbreakdown on the shoreline cant move its an ebb tide morning dont get here till night searching for her silver lightand i cant get it out of my head no i cant get it out of my head now my old world is gone for dead cos i cant get it out of my head no nobank job in the city robin hood and william tell ivanhoe and lancelot they dont envy me yeah sitting till the sun goes down in dreams the world keeps going round and roundand i cant get it out of my head no i cant get it out of my head now my old world is gone for dead cos i cant get it out of my head no nono i cant get it out of my head no i cant get it out of my head now my old world is gone for dead cos i cant get it out of my head no no no no ",1
82,"shalala make me happy","al green",1975," baby babyshalala oh baby shalala oh babyive been gone so long i dont know what to do oh baby and i know you dont know all that ive been going through baby now you make me happy baby so i can sayshalala and i love you oh shalala thinking of you ohi know you can tell whats on my mind baby ive been feeling this way for such a long time hey hey baby awh make me happy baby yeah awh make me happy i wanna be happy yeahive tried and this feeling it just wont die whoa shalala make you cry hey its something that just gets down in your bones baby and once i see you i cant leave your love alone hey hey baby awh make me happy baby awh make me happy baby and let me sayshalala baby oh let me say shalala baby ",1
83,"lonely people","america",1975," this is for all the lonely people thinking that life has passed them by dont give up until you drink from the silver cup and ride that highway in the skythis is for all the single people thinking that love has left them dry dont give up until you drink from the silver cup you never know until you trywell im on my way yes im back to stay well im on my way back home hit itthis is for all the lonely people thinking that life has passed them by dont give up until you drink from the silver cup and never take you down or never give you up you never know until you try ",1
84,"you got the love","rufus",1975," love me right whats the matter with you hold me tight why must i tell you what to do smilin smilin comes as no surprise smile aint hidin what i see in your eyes the story goes much deeper than the eye can see yes it do stop runnin a game i can tell youre avoiding meoh aint nothin i wouldnt pay just to hear hear you say i love you i need youlove me right whats the matter with you hold me tight why must i tell you what to do smilin smilin comes as no surprise smile aint hidin what i see in your eyesyou got the love gimme the strength to keep on livin whatever it is i cant do without whacha givinoh aint nothin i wouldnt pay just to hear hear you say i love you i need youyou got the love gimme the strength to keep on livin yeah whatever it is i cant do without what cha givin ",1
85,"the rockford files","mike post",1975,"instrumental",3
86,"it only takes a minute","tavares",1975,"ah ha yeah yeah ah ha yeah once an hour of the day we threw at least fun away walk the streets half a year tryin to find a new career now if you get a flu attack for thirty days youre on your back through the night ive seen you dance baby give me half a chance it only takes a minute girl to fall in love to fall in love it only takes a minute girl to fall in love lets fall in love now in the unemployment lines you can spend your life readin signs waitin for your interview they can shoot the whole day for you yeah now winters gonna turn to spring and you havent accomplished a thing   havent accomplished a thing so baby leave a little time cause you never know whats on my mind yeah it only takes a minute girl to fall in love to fall in love it only takes a minute girl yeah to fall in love lets fall in love will you find yourself a few minutes   fall in love will you wanna fry yourself an egg fall in love now you spare a few second girl fall in love when you see when you see a man beg fall in love now he takes on time fall in love to go down to the corner store fall in love well what ive got in mind yeah fall in love give me sixty seconds no more fall in love it only takes a minute girl baby to fall in love to fall in love it only takes a minute girl to fall in love lets fall in love bom bom bom bom fall in love bom bom bom bom fall in love bom bom bom bom fall in love bom bom bom bom fall in love bom bom bom bom fall in love bom bom bom bom fall in love ooh only takes a minute girl baby to fall in love to fall in love it only talk a minute girl to fall in love lets fall in love only talk a minute girl baby to fall in love to fall in love it only talk a minute girl to fall in love to fall in love",3
87,"no no song","ringo starr",1975," huhhuh huhhuh ahahahahah ayeayeayeayea lady that i know just came from columbia she smiled because i did not understand then she held out some marijuana ha ha she said it was the best in all the landand i said no no no no i dont smoke it no more im tired of waking up on the floor no thank you please it only makes me sneeze and then it makes it hard to find the doorahahayeayea woman that i know just came from majorca spain she smiled because i did not understand parazzi parazzi ole then she held out a ten pound bag of cocaine she said it was the finest in the landand i said no no no no i dont sniff it no more im tired of waking up on the floor no thank you please it only makes me sneeze and then it makes it hard to find the doorayeayeayeaye ayeayeayeaye ayeayeayeaye ayeayeayea man that i know just came from nashville tennessee oo oh no he smiled because i did not understand then he held out some moonshine whiskey oh ho he said it was the best in all the land and he wasnt jokingand i said no no no no i dont drink it no more im tired of waking up on the floor no thank you please it only makes me sneeze and then it makes it hard to find the doorwell i said no no no no i cant take it no more im tired of waking up on the floor no thank you please it only makes me sneeze and then it makes it hard to find the doorhey yeh ill just have another drink barman have you got a large brandy ",1
88,"juniors farm","paul mccartney  wings",1975,"you should have seen me with the poker man i had a honey and i bet a grand just in the nick of time i looked at his hand i was talking to an eskimo said he was hopping for a fall of snow when up popped a sea lion ready to go lets go lets go lets go lets go down to juniors farm where i want to lay low low life high life oh lets go take me down to juniors farm at the houses of parliament evrybodys talking bout the president we all chip in for a bag of cement olly hardy should have had more sense he bought a geegee and he jumped the fence all for the sake of a couple of pence i took my bag into a grocers store the price is higher than the time before old mand asked me why is it more i said you should have seen me with the poker man i had a honey and i bet a grand just in the nick of time i looked at his hand lets go lets go lets go lets go down to juniors farm where i want to lay low low life high life oh lets go take me down to juniors farm lets go lets go down to juniors farm where i want to lay low low life high life oh lets go take me down to juniors farm evrybody tag along take me down to juniors farm",5
89,"bungle in the jungle","jethro tull",1975," walking through forests of palm tree apartments scoff at the monkeys who live in their dark tents down by the waterhole drunk every friday eating their nuts saving their raisins for sunday lions and tigers who wait in the shadows theyre fast but theyre lazy and sleep in green meadowswell lets bungle in the jungle well thats all right by me yeah well im a tiger when i want love but im a snake if we disagreejust say a word and the boys will be right there with claws at your back to send a chill through the night air is it so frightening to have me at your shoulder thunder and lightning couldnt be bolder ill write on your tombstone i thank you for dinner this game that we animals play is a winnerwell lets bungle in the jungle well thats all right by me yes im a tiger when i want love but im a snake if we disagreethe rivers are full of crocodile nasties and he who made kittens put snakes in the grass hes a lover of life but a player of pawns yes the king on his sunset lies waiting for dawn to light up his jungle as play is resumed the monkeys seem willing to strike up the tunewell lets bungle in the jungle well thats all right by me yes im a tiger when i want love but im a snake if we disagreewell lets bungle in the jungle well thats all right by me yes well im a tiger when i want love but im a snake if we disagreewell lets bungle in the jungle well thats all right by me yes ",1
90,"long tall glasses","leo sayer",1975," i was travellin down the road feelin hungry and cold i saw a sign sayin food and drinks for everyone so naturally i thought i would take me a look inside i saw so much food there was water coming from my eyesyeah there was ham and there was turkey there was caviar and long tall glasses with wine up to yare and somebody grabbed me threw me out of my chair said before you can eat you gotta dance like fred astaireyou know i cant dance you know i cant dance you know i cant dance you know i cant dance i cant dancei am a man of the road a hobo by name i dont seek entertainment just poultry and game but if its all the same to you then yes i will try my hand if you were hungry as me then im sure you will understandhmm now wait a minute of course i can dance of course i can dance im sure i can dance im sure i can dance i can dance i can dance i really hit the floor ah it feels good look at me dancingi did a two step quick step and a bossanova a little victor sylvester and a rudy valentino you should have seen me moving right across the floor hand me down my tuxedo next week im coming back for morei can dance oh yes i can dance look at me dance on the floor movin i feel good i can dance i can dance i can dance i can dance i can dance i can dance ",1
91,"someone saved my life tonight","elton john",1975," when i think of those east end lights muggy nights the curtains drawn in the little room downstairs prima donna lord you really should have been there sitting like a princess perched in her electric chair and its one more beer and i dont hear you anymore weve all gone crazy lately my friends out there rolling round the basement floorand someone saved my life tonight sugar bear you almost had your hooks in me didnt you dear you nearly had me roped and tied altarbound hypnotized sweet freedom whispered in my ear youre a butterfly and butterflies are free to fly fly away high away bye byei never realized the passing hours of evening showers a slip noose hanging in my darkest dreams im strangled by your haunted social scene just a pawn outplayed by a dominating queen its four oclock in the morning damn it listen to me good im sleeping with myself tonight saved in time thank god my musics still aliveand someone saved my life tonight sugar bear you almost had your hooks in me didnt you dear you nearly had me roped and tied altarbound hypnotized sweet freedom whispered in my ear youre a butterfly and butterflies are free to fly fly away high away bye byeand i would have walked head on into the deep end the river clinging to your stocks and bonds paying your hp demands forever theyre coming in the morning with a truck to take me home someone saved my life tonight someone saved my life tonight someone saved my life tonight someone saved my life tonight someone saved my life tonight so save your strength and run the field you play aloneand someone saved my life tonight sugar bear you almost had your hooks in me didnt you dear you nearly had me roped and tied altarbound hypnotized sweet freedom whispered in my ear youre a butterfly and butterflies are free to fly fly away high away bye byesomeone saved someone saved someone saved my life tonight someone saved someone saved someone saved my life tonight someone saved someone saved someone saved my life tonight someone saved someone saved someone saved my life tonight someone saved someone saved someone saved my life tonight someone saved someone saved someone saved my life tonight ",1
92,"misty","ray stevens",1975," misty ray stevens erroll garnerjohnny burkecovered many times this song has had at least four top 40 appearances with one of the bestknown by johnny mathis in 1959 rays countryfied version peaked at 14 in 1975 and gave him his second grammylook at me im as helpless as a kitten up a tree ah im walkin on a cloud i cant understand lord im misty holdin your handwalk my way and a thousand violins begin to play or it might be the sound of your hello that music i hear lord im misty the moment youre nearyou can say that youre leadin me on but its just what i want you to do dont ya notice how hopelessly im lost thats why im followin youooh on my own should i wander through this wonderland alone now never knowin my right foot from my left my hat from my glove lord im misty and too much in loveyou can say that youre leadin me on but its just what i want you to do dont ya notice how hopelessly im lost thats why im followin youooh on my own should i wander through this wonderland alone now never knowin my right foot from my left my hat from my glove lord im misty and too much in lovemisty too much in love misty too much in love misty misty too much in lovefrom david hayman ",1
93,"bad blood","neil sedaka  elton john",1975,NA,NA
94,"only yesterday","the carpenters",1975," after long enough of being alone everyone must face their share of loneliness in my own time nobody knew the pain i was goin through and waitin was all my heart could dohope was all i had until you came maybe you cant see how much you mean to me you were the dawn breaking the night the promise of mornin light filling the world surroundin me when i hold youbaby baby feels like maybe things will be all right baby baby your loves made me free as a song singin foreveronly yesterday when i was sad and i was lonely you showed me the way to leave the past and all its tears behind me tomorrow maybe even brighter than today since i threw my sadness away only yesterdayi have found my home here in your arms nowhere else on earth id really rather be life waits for us share it with me the best is about to be and so much is left for us to see when i hold youbaby baby feels like maybe things will be all right baby baby your loves made me free as a song singin foreveronly yesterday when i was sad and i was lonely you showed me the way to leave the past and all its tears behind me tomorrow maybe even brighter than today since i threw my sadness away only yesterday only yesterday only yesterdayonly yesterday when i was sad and i was lonely you showed me the way to leave the past and all its tears behind me ",1
95,"im on fire","dwight twilley band",1975,"got your lady on the line got your name on the cover though your friends are ninetynine honey you aint got no lover and you aint you aint you aint got no lover and you aint you aint you aint got no other i remember the feelin that i could be freeeeee now i know it could never ever be meeeeee cause im on fire got myself on fire awhh got your joker on the table youve been told from time to time ill be willin ill be able you could read between the lines but you aint you aint you aint got no lover lover lover and you aint you aint you aint got no other i remember the feelin that i could be freeeeee now i know it could never never be meeeeee cause im on fire ima im on fire but you aint you aint you aint got no lover lover lover lover and you aint you aint you aint got no other other other other and you aint you aint you aint got no lover lover lover im on fire im on fire and you aint you aint you aint got no lover lover lover im on fire lover lover lover lover im on fire lover lover lover",5
96,"only you and you alone","ringo starr",1975," by buck ram and ande rand oooooo oooooooo oooooooo ooooonly you can make this world seem right only you can make the darkness bright only you and you alone can thrill me like you do and fill my heart with love for only youonly you can make this change in me for its true you are my destiny when you hold my hand i understand the magic that you do youre my dream come true my one and only youonly you can make this world seem right only you can make the darkness brightonly you and you alone can thrill me like you do and fill my heart with love for only youonly you can make this change in me for its true you are my destiny when you hold my hand i understand the magic that you do youre my dream come true my one my one and only youonly you only you only you only you only you only you only you only you mmmmmmmm mmmmmmmm only you mmmmmmmm ",1
97,"third rate romance","amazing rhythm aces",1975," sitting at a tiny table in a ritzy restaurant she was staring at her coffee cup he was trying to keep his courage up by applying booze talk was small when they talked at allthey both knew what they wanted there was no need to talk about it they were old enough to scope it out and keep it looseshe said you dont look like my type but i guess youll do third rate romance low rent rendezvous he said ill even tell you that i love you if you want me to third rate romance low rent rendezvousthey left the bar they got in his car and they drove away they drove to the family inn she didnt even have to pretend she didnt know what for he went to the desk and made his request while she waited outsidehe came back with the key she said give it to me and ill unlock the door she kept saying ive never really done this kind of thing before have youthird rate romance low rent rendezvous he said yes i have but only a time or two third rate romance low rent rendezvous third rate romance low rent rendezvous ",1
98,"you aint seen nothing yet","bachmanturner overdrive",1975,NA,NA
99,"swearin to god","frankie valli",1975," swearin to god theres no one else on earth id rather be mm swearin to god you made me see so i believed in youoh youve been fillin my cup til im runnin over with joy from you heaven sent love just touch me again im king of all men and reigning from aboveswearin to god swearin to god your mistress of the world and all i am dont tell the angelsswearin to god swearin to god your where i won in paradise began no one gets me up there like you canbut girl you know im only human and im swearin to god swearin to god so glad youve givin me youi was known for you baby girl aint you glad we made it made to give my heart and soul to you babyim so very glad you gave it hey baby were together try livin on forever as long as long as we live as we liveswearin to god swearin to god i want to dedicate my life to loving you dont tell the angelswell im swearin to god swearin to god i cross my heart and hope to die oh i do just call me your one woman loveri cant even look at another im swearin to god swearin to god so glad im livinim swearin to god swearin to god for all hes givin me swearin to god swearin to godso glad hes givin me you well swearin to god swearin to godlook what hes givin me swearin to god more than the world can see swearin to god hes givin me you oh i love you ",1
100,"get dancin","discotex and the sexolettes",1975,NA,NA
1,"silly love songs","wings",1976," youd think that people would have had enough of silly love songs but i look around me and i see it isnt so some people wanna fill the world with silly love songs and whats wrong with thatid like to know cause here i go againi love you i love you i love you i love youi cant explain the feelings plain to me say cant you see whats wrong with thati need to know cause here i go againi love you i love youlove doesnt come in a minute sometimes it doesnt come at all i only know that when im in it it isnt silly no it isnt silly love isnt silly at allhow can i tell you about my loved one how can i tell you about my loved onei love you i love you i love you i love youi cant explain the feelings plain to me say cant you see ah she gave me more she gave it all to me say cant you seeyoud think that people would have had enough of silly love songs but i look around me and i see it isnt so oh no some people wanna fill the world with silly love songs and whats wrong with that ",1
2,"dont go breaking my heart","elton john  kiki dee",1976,NA,NA
3,"disco lady","johnnie taylor",1976," shake it up shake it down move it in move it round disco lady move it in move it out move it in and about disco ladyshake it up shake it down move it in move it around disco ladyhey sexy lady said i like the way you move your thang lord have mercy girl you dance so fine and youre right on time girl you ought to be on tv on soul trainwhen you get the groove it aint no stoppin just cant help it but im im finger poppinshake it up shake it down move it in move it round disco lady move it in move it out move it in and about disco ladyshake it baby shake it baby shake your thang shake it baby shake it baby shake your thangyou got me groovin i feel like movin you got me lovin cant sit still im groovin i like that funky stuffshake it up shake it down move it in move it round disco lady shove it in move it out move it in and about disco ladyhey sexy lady girl you drive me crazy you dance so fine and youre right on time girl youre driving me out of my mindif it wasnt for the girl sittin next to me id jump right up and outta my safety seat you got me hypnotized soul mesmoized girl your movin me girl your groovin meshake it baby shake it shake it baby shake it shake it baby shake it shake it baby shake itshake it baby shake it shake it baby shake it shake it baby shake it shake it baby shake itshake it up shake it down move it in move it round disco lady move it in move it out shove it in and about disco ladyshake it up shake it down move it in move it round disco lady move it in move it out shove it in and about disco ladyshake it up shake it down move it in move it round disco lady ",1
4,"december 1963 oh what a night","the four seasons",1976," oh what a night late december back in 63 what a very special time for me as i remember what a night oh what a night you know i didnt even know her name but i was never gonna be the same what a lady what a night oh i got a funny feeling when she walked in the room and i as i recall it ended much too soon oh what a night hypnotizing mesmerizing me she was everything i dreamed shed be sweet surrender what a night i felt a rush like a rolling ball of thunder spinning my head around and taking my body under oh what a night oh i got a funny feeling when she walked in the room and i as i recall it ended much too soon oh what a night doo dit doo dit dit doo dit doo dit dit oh what a night doo dit doo dit dit doo dit doo dit dit oh what a night doo dit doo dit dit doo dit doo dit dit oh what a night doo dit doo dit dit doo dit doo dit dit oh what a night whyd it take so long to see the light seemed so wrong but now it seems so right what a lady what a night i felt a rush like a rolling ball of thunder spinning my head around and taking my body under oh what a night i felt a rush like a rolling ball of thunder spinning my head around and taking my body under oh what a night doo dit doo dit dit doo dit doo dit dit oh what a night doo dit doo dit dit doo dit doo dit dit oh what a night doo dit doo dit dit doo dit doo dit dit oh what a night doo dit doo dit dit doo dit doo dit dit oh what a night doo dit doo dit dit doo dit doo dit dit oh what a night doo dit doo dit dit doo dit doo dit dit oh what a night doo dit doo dit dit doo dit doo dit dit oh what a night doo dit doo dit dit doo dit doo dit dit oh what a night doo dit doo dit dit doo dit doo dit dit oh what a night doo dit doo dit dit doo dit doo dit dit oh what a night doo dit doo dit dit doo dit doo dit dit ",1
5,"play that funky music","wild cherry",1976," hey do it now yeah heyyeah there was a funky singer playin in a rock and roll band and never had no problems yeah burnin down one night stands and everything around me yeah got to stop to feelin so low and i decided quickly yes i did to disco down and check out the show yeah they wasdancin and singin and movin to the groovin and just when it hit me somebody turned around and shouted play that funky music white boy play that funky music right play that funky music white boy lay down that boogie and play that funky music till you die till you die oh till you diei tried to understand this i thought that they were out of their minds how could i be so foolish how could i to not see i was the one behind so still i kept on fighting well loosing every step of the way i said i must go back there i got to go back and check to see if things still the same yeah they was dancin and singin and movin to the groovin and just when it hit me somebody turned around and shouted play that funky music white boy play that funky music right play that funky music white boy lay down the boogie and play that funky music till you die till you die ya till you diegonna play that electified funky music yeahhey wait a minute now first it wasnt easy changin rock and roll and minds and things were getting shaky i thought id have to leave it behind but now its so much better its so much better im funking out in every way but ill never lose that feelin no i wont of how i learned my lesson that day when they were dancin and singin and movin to the groovin and just when it hit me somebody turned around and shouted play that funky music white boy play that funky music right play that funky music white boy lay down the boogie and play that funky music till you die till you die oh till you diethey shouted play that funky music play that funky music play that funky music you gotta keep on playin funky music play that funky music play that funky music play that funky music come and take you higher ya play that funky music white boy play that funky music right ya play that funky music white boy play that funky music right play that funky music white boy play that funky music right ",1
6,"kiss and say goodbye","the manhattans",1976,"this has got to be the saddest day of my life i called you here today for a bit of bad news i wont be able to see you anymore because of my obligations and the ties that you have weve been meeting here everyday and since this is our last day together i wanna hold you just one more time when you turn and walk away dont look back i wanna remember you just like this lets just kiss and say goodbye i had to meet you here today theres just so many things to say please dont stop me till im through this is somethin i hate to do weve been meeting here so long i guess what we done oh was wrong please darlin dont you cry lets just kiss and say goodbye many months have passed us by im gonna miss you i cant lie ive got ties and so do you i just think this is the thing to do its gonna hurt me i cant lie maybe youll meet youll meet another guy understand me oh wont you try try try try try try try lets just kiss an say goodbye im gonna miss you i cant lie understand me oh wont you try its gonna hurt me i cant lie take my handkerchief an wipe your eyes maybe youll find youll find another guy well lets kiss and say goodbye pretty baby please dont you cry understand me oh wont you try lets just kiss and say goodbye",3
7,"love machine","the miracles",1976," im just a love machine and i wont work for nobody but you yeah baby im just a love machine a huggin kissin fiendi think its high time you knew whenever i think of you my mind blows a fuse baby when i look in you eyes my meter starts to rise i become so confused my voltage regulator cools when im sitting next to you electricity starts to flow and my indicator starts to glow woohii im just a love machine and i wont work for nobody but you baby im just a love machine yeah baby a huggin kissin fiendii im just a love machine and i wont work for nobody but you im just a love machine yeah baby a huggin kissin fiendim gentle as a lamb im not that hard to program theres no way that you can lose my chassis fits like a glove ive got a button for love that shes got to use if you look into my files i am sure you can find out how to turn me on just set my dial and let me love you for a little while woohii im just a love machine and i wont work for nobody but you baby im just a love machine yeah baby a huggin kissin fiendim just a love machine and i wont work for nobody but youbaby im just a love machine yeah baby a huggin kissin fiendim just a love machine i wont operate for nobody but you im just a love machine yeah baby a huggin kissin fiend ",1
8,"50 ways to leave your lover","paul simon",1976," the problem is all inside your head she said to me the answer is easy if you take it logically id like to help you in your struggle to be free there must be fifty ways to leave your lovershe said its really not my habit to intrude furthermore i hope my meaning wont be lost or misconstrued but ill repeat myself at the risk of being crude there must be fifty ways to leave your lover fifty ways to leave your loveryou just slip out the back jack make a new plan stan you dont need to be coy roy just get yourself free hop on the bus gus you dont need to discuss much just drop off the key lee and get yourself freeooo slip out the back jack make a new plan stan you dont need to be coy roy just listen to me hop on the bus gus you dont need to discuss much just drop off the key lee and get yourself freeshe said it grieves me so to see you in such pain i wish there was something i could do to make you smile again i said i appreciate that and would you please explain about the fifty waysshe said why dont we both just sleep on it tonight and i believe in the morning youll begin to see the light and then she kissed me and i realized she probably was right there must be fifty ways to leave your lover fifty ways to leave your loveryou just slip out the back jack make a new plan stan you dont need to be coy roy just get yourself free hop on the bus gus you dont need to discuss much just drop off the key lee and get yourself freeslip out the back jack make a new plan stan you dont need to be coy roy just listen to me hop on the bus gus you dont need to discuss much just drop off the key lee and get yourself free ",1
9,"love is alive","gary wright",1976," well i think its time to get ready to realize just what i have found i have lived only half of what i am its all clear to me nowmy heart is on fire my souls like a wheel thats turnin my love is alive my love is alive yeah yeah yeahtheres something inside thats making me crazy ill try to keep it together cause what i say may not happen the same way now could be forevermy heart is on fire my souls like a wheel thats turnin my love is alive my love is alive yeah yeah yeah my love is alive my love is alivetheres a mirror moving inside my mind reflecting the love that you shine on me hold on now to that feeling let it flow let it grow yeah yeahmy heart is on fire my souls like a wheel thats turnin my love is alive my love is alive yeah yeah yeahmy love is alive my love is alive my love is alive  ",1
10,"a fifth of beethoven","walter murphy  the big apple band",1976,"instrumental",3
11,"sara smile","hall  oates",1976,"baby hair with a womans eyes i can feel youre watching in the night all alone with me and were waiting for the sunlight when i feel cold you warm me and when i feel i cant go on you come and hold me its you and me forever sara smile wont you smile a while for me sara if you feel like leaving you know you can go but why dont you stay until tomorrow if you want to be free you know all you got to do is say so and when you feel cold ill warm you and when you feel you cant go on ill come and hold you its you and me forever sara smile wont you smile a while for me",3
12,"afternoon delight","starland vocal band",1976," gonna find my baby gonna hold her tight gonna grab some afternoon delight my mottos always been when its right its right why wait until the middle of a cold dark nightwhen everythings a little clearer in the light of day then we know the night is always gonna be here anywaythinking of yous working up an appetite looking forward to a little afternoon delight rubbin sticks and stones together make the sparks ignite and the thought of rubbin you is gettin so excitedsky rockets in flight afternoon delight afternoon delight afternoon delightstarted out this morning feeling so polite i always though a fish could not be caught who didnt bite but youve got some bait a waitin and i think i might try nibbling a little afternoon delightsky rockets in flight afternoon delight afternoon delight afternoon delightbe waiting for me baby when i come around we can make a lot of lovin fore the sun goes downthinkin of yous workin up my appetite looking forward to a little afternoon delight rubbin sticks and stones together makes the sparks ignite and the thought of lovin you is getting so excitingsky rockets in flight afternoon delight afternoon delight afternoon delight afternoon delight afternoon delight ",1
13,"i write the songs","barry manilow",1976," ive been alive forever and i wrote the very first song i put the words and the melodies together i am music and i write the songsi write the songs that make the whole world sing i write the songs of love and special things i write the songs that make the young girls cry i write the songs i write the songsmy home lies deep within you and ive got my own place in your soul now when i look out through your eyes im young again even though im very oldi write the songs that make the whole world sing i write the songs of love and special things i write the songs that make the young girls cry i write the songs i write the songsoh my music makes you dance and gives you spirit to take a chance and i wrote some rock n roll so you can move music fills your heart well thats a real fine place to start its from me its for you its from you its for me its a worldwide symphonyi write the songs that make the whole world sing i write the songs of love and special things i write the songs that make the young girls cry i write the songs i write the songsi write the songs that make the whole world sing i write the songs of love and special things i write the songs that make the young girls cry i write the songs i write the songsi am music music and i write the songs ",1
14,"fly robin fly","silver convention",1976," fly robin fly fly robin fly fly robin fly up up to the sky fly robin fly fly robin fly fly robin fly up up to the skylong instrumentalfly robin fly fly robin fly fly robin fly up up to the skylong instrumental to fade ",1
15,"love hangover","diana ross",1976," if theres a cure for this i dont want it i dont want it if theres a remedy ill run from it from itthink about it all the time never let it out of my mind cause i love youive got the sweetest hangover i dont wanna get over the sweetest hangoveryeah i dont wanna get over i dont wanna get i dont wanna get overooh i dont need no cure i dont need no cure i dont need no curesweet lovin sweet sweet sweet sweet love sweet sweet love sweet sweet lovin sweet sweet sweet sweet lovedont call a doctor dont call her momma dont call her preacherno i dont need it i dont want itsweet love i love you sweet love need loveif theres a cure for this i dont want it i dont want it no no i dont want it if theres a cure for this i dont need itsweet sweet sweet sweet love sweet sweet sweet sweet love sweet sweet sweet sweet love sweet sweet sweet sweet love ",1
16,"get closer","seals and crofts",1976,"seals miscellaneous get closer get closer seals  croft darling if you want me to be closer to you get closer to me darling if you want me to be closer to you get closer to me darling if you want me to love love only you then love only me darling if you want me to see see only you then see only me theres a line that i cant cross over its no good for me and its no good for you and that feeling deep down inside me i cant explain it and youre wondering why you say we been like strangers but im not the others you can hang by your fingers darling if you want me to be closer to you get closer to me darling if you want me to be closer to you get closer to me darling if you want me to love love only you then love only me darling if you want me to see see only you then see only me there was a time i would come running drop everything for the touch of your hand in mine  and i cant go on living wondering if youll be here tomorrow people change and youre changing and ive given you my all that no one can borrow darling if you want me to be closer to you get closer to me darling if you want me to be closer to you get closer to me darling if you want me to be closer to you get closer to me fade",3
17,"more more more","andrea true connection",1976," ooh how do you like your love ooh how do you like your lovebut if you want to know how i really feel get the cameras rollin get the action goin baby you know my love for you is real take me where you want to me and my heart you stealmore more more how do you like it how do you like it how do you like it how do you like it how do you like it how do you like itooh how do you like your love ooh how do you like your lovebut if you want to know how i really feel just get the cameras rollin get the action goin baby you know my love for you is real so take me where you want to me and my heart you stealmore more more how do you like it how do you like it how do you like it how do you like it how do you like it how do you like itmore more more how do you like it how do you like it how do you like it how do you like it how do you like it how do you like itmore more more how do you like it how do you like it how do you like it how do you like it how do you like it how do you like itbut if you want to know how i really feel get the cameras rollin get the action goinmore more more how do you like it how do you like it how do you like it how do you like it how do you like it how do you like itmore more more how do you like it how do you like it how do you like it how do you like it how do you like it how do you like itmore more more how do you like it how do you like it how do you like it how do you like it how do you like it how do you like it ",1
18,"bohemian rhapsody","queen",1976," is this the real life is this just fantasy caught in a landslide no escape from reality open your eyes look up to the skies and see im just a poor boy i need no sympathy because im easy come easy go a little high little low anyway the wind blows doesnt really matter to me to memama just killed a man put a gun against his head pulled my trigger now hes dead mama life had just begun but now ive gone and thrown it all away mama ooo didnt mean to make you cry if im not back again this time tomorrow carry on carry on as if nothing really matterstoo late my time has come sends shivers down my spine bodys aching all the time goodbye everybody ive got to go gotta leave you all behind and face the truth mama ooo anyway the wind blows i dont want to die i sometimes wish id never been born at alli see a little silhouetto of a man scaramouch scaramouch will you do the fandango thunderbolt and lightning very very frightening me gallileo gallileo gallileo gallileo gallileo figaro  magnificobut im just a poor boy and nobody loves me hes just a poor boy from a poor family spare him his life from this monstrosity easy come easy go will you let me go bismillah no we will not let you go  let him go bismillah we will not let you go  let him go bismillah we will not let you go let me go will not let you go let me go never never let you go let me go never let me go ooo no no no no no no no oh mama mia mama mia mama mia let me go beelzebub has a devil put aside for me for me for meso you think you can stop me and spit in my eye so you think you can love me and leave me to die oh baby cant do this to me baby just gotta get out just gotta get right outta hereooh yeah ooh yeah nothing really matters anyone can see nothing really matters nothing really matters to meanyway the wind blows ",1
19,"misty blue","dorothy moore",1976," oh its been such a long long time looks like ive kept you off my mind but i cant just the thought of you turns my whole world a misty blueoh honey just the mention of your name turns the flicker to a flame listen to me good baby i think of things we used to do and my whole world turns misty bluechorus ohhh baby i should forget you heaven knows i tried baby when i say that im glad were through deep in my heart i know ive lied ive lied ive lied ooooend song repeating a version of verse 1 ",1
20,"boogie fever","the sylvers",1976," boogie fever got to boogie down boogie fever i think its going aroundi took my baby to the drive in show she turned the speaker down and then she turned on the radio i watched a silent movie diggin funky soundshes got the boogie fever she likes to boogie down boogie fever i think its going aroundi took my baby too the pizza parlor to get a bite to eat i put some money in the jukebox for her you know she ate her pizza dancing to the beatshes got the boogie fever she likes to boogie down shes got the boogie fever i think its going aroundall night long we did the bump bump bump yes we did yes we did yes we did yeah she kept it going strong doin the bump bump bump doin the bump bump bumpi called the doctor on the telephone doctor doctor said doctor doctor please i i i i got this feeling rockin and areelin tell me what can it be is it some new diseasethey call it boogie fever youve got to boogie down boogie fever i think its going around fever fever feverall night long we did the bump bump bump yes we did yes we did yes we did we kept it going strong doin the bump bump bumpeverybodys got the boogie fever boogie down now get on down now get on down boogie fever i think its going around and around and aroundi got the boogie fever and i said you got the boogie fever i said shes got the boogie fever everybodys got the boogie feverboogie fever boogie down just get on down just get on down boogie fever ",1
21,"id really love to see you tonight","england dan  john ford coley",1976,"hello yeah its been a while not much how about you im not sure why i called i guess i really just wanted to talk to you and i was thinking maybe later on we could get together for a while its been such a long time and i really do miss your smile chorus im not talking about moving in and i dont want to change your life but theres a warm wind blowing the stars around and id really love to see you tonight we could go walking through a windy park or take a drive along the beach or stay at home and watch tv you see it really doesnt matter much to me im not talking about moving in and i dont want to change your life but theres a warm wind blowing the stars around and id really love to see you tonight i wont ask for promises so you dont have to lie weve both played that game before say i love you and say goodbye chorus x2 the end",5
22,"you sexy thing","hot chocolate",1976," i believe in miracles where you from you sexy thing i believe in miracles since you came along you sexy thingwhere did you come from baby how did you know i needed you how did you know i needed you so badly how did you know id give my heart gladly yesterday i was one of the lonely people now youre lying close to me making love to mei believe in miracles where you from you sexy thing sexy thing you i believe in miracles since you came along you sexy thingwhere did you come from angel how did you know id be the one did you know youre everything i prayed for did you know every night and day for every day needing love and satisfaction now youre lying next to me giving it to mei believe in miracles where you from you sexy thing sexy thing you i believe in miracles since you came along you sexy thingoh kiss me you sexy thing touch me baby you sexy thing i love the way you touch me darling you sexy thing oh its ecstasy you sexy thingyesterday i was one of the lonely people now youre lying close to me giving it to mei believe in miracles where you from you sexy thing sexy thing you i believe in miracles since you came along you sexy thingoh touch me kiss me darling i love the way you hold me baby oh its ecstasyoh its ecstasy sexy thing you sexy thing you kiss me baby sexy thing you sexy thing you i love the way you kiss me darling sexy thing you sexy thing you oh yeah sexy thing you sexy thing you love the way you hold me sexy thing you sexy thing you keep on lovin me darling sexy thing you sexy thing you keep on lovin me baby sexy thing you sexy thing you ",1
23,"love hurts","nazareth",1976," love hurts love scars love wounds and marks any heart not tough or strong enough to take a lot of pain take a lot of pain love is like a cloud it holds a lot of rain love hurts ooooo love hurtsim young i know but even so i know a thing or two i learned from you i really learned a lot really learned a lot love is like a flame it burns you when its hot love hurts ooooo love hurtssome fools think of happiness blissfulness togetherness some fools fool themselves i guess theyre not foolin me i know it isnt true i know it isnt true love is just a lie made to make you blue love hurts ooooo love hurts ooooo love hurtsi know it isnt true i know it isnt true love is just a lie made to make you blue love hurts ooooo love hurts ooooo love hurts ooooo ",1
24,"get up and boogie","silver convention",1976,"thats right get up and boogie get up and boogie thats right get up and boogie get up and boogie thats right get up and boogie get up and boogie boogie boogie thats right get up and boogie get up and boogie thats right get up and boogie get up and boogie thats right boogie boogie thats right get up and boogie get up and boogie thats right get up and boogie get up and boogie boogie boogie thats right get up and boogie get up and boogie get up and boogie get up and boogie get up and boogie get up and boogie get up and boogie get up and boogie",3
25,"take it to the limit","eagles",1976,"all alone at the end of the evening and the bright lights have faded to blue i was thinking bout a woman who might have loved me and i never knew you know ive always been a dreamer spent my life running round and its so hard to change cant seem to settle down but the dreams ive seen lately keep on turning out and burning out and turning out the same so put me on a highway and show me a sign and take it to the limit one more time you can spend all your time making money you can spend all your love making time if it all fell to pieces tomorrow would you still be mine and when youre looking for your freedom nobody seems to care and you cant find the door cant find it anywhere when theres nothing to believe in still youre coming back youre running back youre coming back for more so put me on a highway and show me a sign and take it to the limit one more time take it to the limit take it to the limit take it to the limit one more time take it to the limit take it to the limit take it to the limit one more time take it to the limit take it to the limit take it to the limit one more time ",3
26,"shake shake shake shake your booty","kc and the sunshine band",1976,"aah everybody get on the floor lets dance dont fight your feelings give yourself a chance shake shake shake shake shake shake shake your booty shake your booty oh shake shake shake shake shake shake shake your booty shake your booty aah you can you can do it very well youre the best in the world i can tell oh shake shake shake shake shake shake shake your booty shake your booty oh shake shake shake shake shake shake shake your booty shake your booty oh yeah shake shake shake shake aah shake shake shake shake aah shake shake shake shake shake shake shake your booty shake your booty oh shake shake shake shake shake shake shake your booty shake your booty aah shake shake shake shake shake your booty aah dont fight the feeling shake shake shake shake shake your booty aah give yourself a chance shake shake shake shake shake your booty you can do it do it shake shake shake shake shake your booty come home with momma now shake shake shake shake shake your booty shake shake shake shake shake your booty aah run down to sister shake shake shake shake on your booty aah doo your duty shake shake shake shake",3
27,"sweet love","commodores",1976," show me a river thats so deep show me a mountain so high ill show you love thatll last forever flying high so highah show me a place where dreams are for dreamers and all the things you wish come true yeah id wish the world had all happy people then thered be no more wishing to dooh oh oh oh oh sweet love oh oh oh oh oh sweet love oh oh oh oh oh oohwoo hoo hoo hoo hoo hoo sweet sweet lovesun shines over the rainbow high on a hill take a ride on a magic carpet and you know its for realthe world is filled with all the lonely people trying to find their way all they need is a hand to guide them to a brighter dayoh oh oh oh oh sweet love sweet sweet love oh oh oh oh oh well well sweet love sweet sweet love oh oh oh oh oh ohwoo hoo hoo hoo hoo hoo yeah sweet lovesweet love that comes through the ages reach out and touch my soul gave my life so much meaning and everyone a heart of goldoh oh oh oh sweet love well well well oh oh oh oh oh sweet sweet sweet love oh oh oh oh oh sweet sweet sweet sweet love ooo ooooh you needed love ohh sweet love sweet sweet love ohh ohh sweet lovei know youre searchin i know youre searchin for a little love a little peace and understanding and i know its been hard tryin to find your way but you got to keep on searchin harder day by day cause i want you and you you you you you you you you and you to stand on up yes sir put a little love in your heart and little heart in your love together we can make a way listen to me dont wonder to hard ah of what i trying to say cause its love loves the only wayoh nothin but love oh oh love sweet love sweet love ow oh oh oh when youre down and out and you cant see your way sweet love and you need a friend wellellelloh oh oh just call on love love sweet love sweet sweet sweet sweet sweet sweet sweet sweet love ",1
28,"right back where we started from","maxine nightingale",1976," ooo and its alright and its comin long we got to get right back to where we started from love is good love can be strong we got to get right back to where we started fromohohhhhh do you remember that day that sunny day when you first came my way i said no one could take your place and if you get hurt if you get hurt by the little things i say i can put that smile back on your faceooo and its alright and its comin long we got to get right back to where we started from love is good love can be strong we got to get right back to where we started froma love like ours a love like ours can never fade away you know its only just begun you give me your love give me your love i just cant stay away i know that youre the only one ",1
29,"theme from swat","rhythm heritage",1976,"  ",1
30,"love rollercoaster","ohio players",1976," love rollercoaster the ohio players red hot chili peppers album the beavis  butthead do america soundtracksource sandra ott you give me that funny feeling in my tummy ahw sh yeah thats right huh rollercoaster of love say what rollercoaster yeah oohh oohh oohhoh baby you know what im talking about rollercoaster of love oh yeah its rollercoaster timelovin you is really wild oh its just a love rollercoaster step right up and get your tickets1your love is like a rollercoaster babybaby i want to ride yeah awawaw repeat 12move over dad cause im a double dipple upside down on the big dip dipper 12 123 ive got a ticket come ride with me let me go down on the merrygoround all is fair n a big fair ground lets go slow lets go fast like a liqorice twist gonna whip your ass rpt 1 1 2 1rollercoaster say what i will be there for you i will be your man ",1
31,"you should be dancing","bee gees",1976," my baby moves at midnight goes right on till the dawn my woman takes me higher my woman keeps me warmwhat you doin on your back aah what you doin on your back aah you should be dancing yeah dancing yeahshes juicy and shes trouble she gets it to me good my woman gives me power goes right down to my bloodwhat you doin on your back aah what you doin on your back aah you should be dancing yeah dancing yeahwhat you doin on your back aah what you doin on your back aah you should be dancing yeah dancing yeahmy baby moves at midnight goes right on till the dawn yeah my woman takes me higher my woman keeps me warmwhat you doin on your back aah what you doin on your back aah you should be dancing yeah dancing yeahwhat you doin on your back aah what you doin on your back aah you should be dancing yeah dancing yeahyou should be dancing yeah you should be dancing yeah you should be dancing yeah you should be dancing yeah you should be dancing yeah you should be dancing yeah you should be dancing yeah you should be dancing yeah you should be dancing yeah you should be dancing yeah you should be dancing yeah ",1
32,"youll never find another love like mine","lou rawls",1976," youll never find as long as you live someone who loves you tender like i do youll never find no matter where you search someone who cares about you the way i dowhoa im not braggin on myself baby but im the one who loves you and theres no one else no one elseyoull never find itll take the end of all time someone to understand you like i do youll never find the rhythm the rhyme all the magic we shared just us twowhoa im not tryin to make you stay baby but i know some how some day some way you are youre gonna miss my lovin youre gonna miss my lovin youre gonna miss my lovin youre gonna miss my lovin youre gonna miss my lovin youre gonna miss youre gonna miss my lovewhoa oh oh oh oh youre gonna miss my lovin late in the midnight hour baby youre gonna miss my lovin when its cold outside youre gonna miss my lovin youre gonna miss youre gonna miss my loooveyoull never find another love like mine someone who needs you like i do youll never see what youve found in me youll keep searching and searching your whole life throughwhoa i dont wish you no bad luck baby but theres no ifs and buts or maybesyoure gonna youre gonna miss miss my lovin youre gonna miss my lovin youre gonna miss my lovin i know youre gonna my lovin youre gonna miss my lovin youre gonna miss youre gonna miss my lovewhoa oh oh oh oh youre gonna miss my lovin late in the midnight hour baby youre gonna miss my lovin when it gets real cold outside youre gonna miss my lovin i know i know that you are gonna miss my looovelet me tell you that youre gonna miss my lovin yes you will baby youre gonna miss my lovin when im long gone i know i know i know that you are gonna miss ",1
33,"golden years","david bowie",1976," golden years gold whop whop whop golden years gold whop whop whop golden years gold whop whop whopdont let me hear you say lifes taking you nowhere angel come get up my baby look at that sky lifes begun nights are warm and the days are young come get up my babytheres my baby lost thats all once im begging you save her little soul golden years gold whop whop whop come get up my babylast night they loved you opening doors and pulling some strings angel come get up my baby in walked luck and you looked in time never look back walk tall act fine come get up my babyill stick with you baby for a thousand years nothings gonna touch you in these golden years gold golden years gold whop whop whop come get up my babysome of these days and it wont be long gonna drive back down where you once belonged in the back of a dream car twenty foot long dont cry my sweet dont break my heart doing all right but you gotta get smart wish upon wish upon day upon day i believe oh lord i believe all the way come get up my babyrun for the shadows run for the shadows run for the shadows in these golden yearstheres my baby lost thats all once im begging you save her little soul golden years gold whop whop whop come get up my babydont let me hear you say lifes taking you nowhere angel come get up my baby run for the shadows run for the shadows run for the shadows in these golden yearsill stick with you baby for a thousand years nothings gonna touch you in these golden years goldgolden years gold whop whop whop golden years gold whop whop whop golden years gold whop whop whop golden years gold whop whop whop golden years gold whop whop whop golden years gold whop whop whop golden years gold whop whop whop golden years gold whop whop whop golden years gold whop whop whop golden years gold whop whop whop ",1
34,"moonlight feels right","starbuck",1976," the wind blew some luck in my direction i caught it in my hands today i finally made a tricky frech connection you winked and gave me your ok ill take you on a trip beside the ocean and drop the top at chesapeake bay aint nothing like the sky to dose a potion the moonll send you on your way ha ha moonlight feels right moonlight feels rightwell lay back and observe the constellations and watch the moon smiling bright ill play the radio on southern stations cause southern belles are hell at night you say you came to baltimore from ole miss a class of 74 gold ring the eastern moon looks ready for a wet kiss to make the tide rise again ha ha moonlight feels right moonlight feels rightwell see the sun come up on sunday mornin and watch it fade the moon away i guess you know im givin you a warnin cause me and moon are itchin to play ill take you on a trip beside the ocean and drop the top at chesapeake bay aint nothing like the sky to dose a potion the moonll send you on your way moonlight feels right moonlight feels right ",1
35,"only sixteen","dr hook",1976," she was only sixteen only sixteen but i loved her so but she was too young to fall in love and i was too young to knowwed laugh and wed sing and do funny things and it made our hearts glow but she was too young to fall in love and i was too young to knowso why did i give my heart so fast it never will happen again but i was a mere child of sixteen ive aged a year since thenshe was only sixteen only sixteen oh with eyes that would glow but she was too young to fall in love and i was too young to knowso why did i give my heart so fast it never will happen again but i was a mere child of sixteen ive aged a year since thennow she was only sixteen only sixteen oh but i loved that girl so but she was too young to fall in love and i was too young to know yes she was too young to fall in love and i i was too young i was much too young to know ",1
36,"let your love flow","the bellamy brothers",1976,"theres a reason for the sunshine day  theres a reason why im feelin so high must be the season when that love light shines all around us so let that feeling grad you deep inside and send you reeling where your love cant hide and then go stealing throught the summer nights with your lover just let your love flow like a mountain stream and let your love grow with the smallest of dreams and let your love show and youll know what i mean its the season let your love fly like a bird on the wing and let your love bind you to all living things and let your love shine and youll know what i mean thats the reason theres a reason for the warm sweet nights theres a reason for the candle lights must be the season when those love rites shine all around us so let the wonder take you into space and lay you under its loving embrace feel the thunder as it warms your face you cant hold back ust let your love flow like a mountain stream and let your love grow with the smallest of dreams and let your love show and youll know what i mean its the season let your love fly like a bird on the wing and let your love bind you to all living things and let your love shine and youll know what i mean thats the reason",3
37,"dream weaver","gary wright",1976," i have just closed my eyes again climbed aboard the dream weaver train driver take away my worries of today and leave tomorrow behinddream weaver i believe you can get me through the night dream weaver i believe we can reach the morning lightfly me high through the starry skies or maybe to an astral plane cross the highways of fantasy help me to forget todays paindream weaver i believe you can get me through the night dream weaver i believe we can reach the morning lightthough the dawn may be coming soon there still may be some time fly me away to the bright side of the moon and meet me on the other sidedream weaver i believe you can get me through the night dream weaver i believe we can reach the morning light ",1
38,"turn the beat around","vicki sue robinson",1976,"turn the beat around love to hear the percussion turn it upside down love to hear the percussion love to hear it blow horns you sure sound pretty your violins keep movin to the nitty gritty when you hear the scratch of the guitars scratchin then youll know that rhythm carries all the action woah turn the beat around love to hear the percussion turn it upside down love to hear the percussion love to hear it turn the beat around love to hear the percussion turn it upside down love to hear the percussion love to hear it flute player play your flute cause i know that you want to get your thing off but you see ive made up my mind about it its got to be the rhythm no doubt about it woah woah cause when the guitar player start playing with the syncopated rhythm with the scratch scratch scratch makes me wanna move my body yeah yeah yeah and when the drummer starts beating that beat he nails that beat with the syncopated rhythm with the rat tat tat tat tat tat on the drums hey turn the beat around love to hear the percussion turn it upside down love to hear the percussion love to hear it love to hear it love to hear it love to hear it turn the beat around love to hear the percussion turn it upside down love to hear the percussion love to hear it turn the beat around love to hear the percussion turn it upside down love to hear the percussion when the guitar player start playing with the syncopated rhythm with the scratch scratch scratch makes me wanna move my body yeah yeah yeah and when the drummer starts beating that beat he nails that beat with the syncopated rhythm with the rat tat tat tat tat tat on the drums hey turn the beat around love to hear the percussion turn it upside down love to hear the percussion turn the beat around love to hear the percussion turn it upside down love to hear the percussion turn the beat around love to hear the percussion turn it upside down love to hear the percussion turn the beat around love to hear the percussion turn it upside down love to hear the percussion turn the beat around love to hear the percussion turn it upside down",3
39,"lonely night angel face","captain  tennille",1976,"lonely night i cry myself to sleep tell me what am i gonna do cause its always been you to dry my tears its always been you to wash away my fears its always been you each night and day now what can i say when love slips away lonely night im walking the floor tell me what am i gonna do without your precious love your tender touch hey little man i miss you so much wish we could turn back the hands of time to the day when you were mine you used to call me angel face used to call me angel face you used to help me through the night make me feel all right now all i have is teardrops through a lonely night i cant get ya out of my mind i cant get ya out of my mind i cant get ya out of my mind i promise you ill change my ways i promise you loves here to stay hey little man depend on me ill be yours for eternity you used to call me angel face used to call me angel face you used to help me through the night make me feel all right now all i have is teardrops through a lonely night you used to call me angel face you used to help me through the night make me feel all right now all i have is teardrops through a lonely night i cant get ya out of my mind i cant get ya out of my mind i cant get ya out of my mind i cant get ya out of my mind i cant get ya out of my mind i cant get ya out of my mind i cant get ya out of my mind got ya",3
40,"all by myself","eric carmen",1976," when i was young i never needed anyone and makin love was just for fun those days are gonelivin alone i think of all the friends ive known but when i dial the telephone nobodys homeall by myself dont wanna be all by myself anymore all by myself dont wanna live all by myself anymorehard to be sure some times i feel so insecure and love so distant and obscure remains the cureall by myself dont want to be all by myself anymore all by myself dont want to live all by myself anymorewhen i was young i never needed anyone and making love was just for fun those days are goneall by myself dont want to be all by myself anymore all by myself dont want to live all by myself anymoreall by myself dont want to be all by myself anymore all by myself dont want to live all by myself anymoreall by myself dont want to be all by myself anymore ",1
41,"love to love you baby","donna summer",1976," i love to love you baby i love to love you baby i love to love you baby i love to love you baby i love to love you babywhen youre laying so close to me theres no place id rather you be than with mei love to love you baby i love to love you baby i love to love you babydo it to me again and again you put me in such a awful spin in a spini love to love you baby i love to love you baby i love to love you babylay your head down real close to me soothe my mind and set me free set me freeuh love to love you baby uh love to love you baby uh love to love you baby uh love to love you baby uh love to love you baby uh love to love you babywhen youre laying so close to me theres no place id rather you be than with mei love to love you baby i love to love you baby i love to love you babydo it to me again and again you put me in such a awful spin in a spini love to love you baby i love to love you baby i love to love you baby i love to love you baby i love to love you baby i love to love you baby i love to love you baby ",1
42,"deep purple","donny  marie osmond",1976,"when the deep purple falls over sleepy garden walls and the stars begin to twinkle in the sky in the mist of a memory you wander back to me breathing my name with a sigh in the still of the night once again i hold you tight though youre gone your love lives on when moonlight beams and as long as my heart will beat sweet lovers well always meet here in my deep purple dreams when the deep purple falls over sleepy garden walls and the stars begin to twinkle in the sky in the mist of a memory you wander back to me breathing my name with a sigh in the still of the night once again i hold you tight though youre gone your love lives on when moonlight beams and as long as my heart will beat sweet lovers well always meet here in my deep purple dreams and as long as my heart will beat sweet lovers well always meet here in my deep purple dreams here in my deep purple dreams here in my deep purple dreams",3
43,"theme from mahogany do you know where youre going to","diana ross",1976,"  ",1
44,"sweet thing","rufus",1976," i will love you anyway even if you cannot stay i think you are the one for me here is where you ought to be i just want to satisfy ya though youre not mine i cant deny ya dont you hear me talking baby love me now or ill go crazyoh sweet thing dont you know youre my everything oh sweet thing dont you know youre my everything yes you arei wish you were my lover but ya act so undercover to love you child my whole life long be it right or be it wrong im only what you make me baby dont walk away dont be so shady dont want your mind dont want your money these words i say they may sound funny butoh sweet thing dont you know youre my everything oh sweet thing dont you know youre my everything yes you areyou are my heat you are my fire you make me weak with strong desire to love you child my whole life long be it right or be it wrong i just want to satisfy ya though youre not mine i cant deny ya dont you hear me talking baby love me now or ill go crazyyoure my heat you are my fire youre not mine i cant deny ya dont you hear me talking baby love me now or ill go crazy youre my heat you are my fire youre not mine i cant deny ya dont you hear me talking baby love me now or ill go crazyyoure my heat you are my fire youre not mine i cant deny ya dont you hear me talking baby love me now or ill go crazy youre my heat you are my fire youre not mine i cant deny ya dont you hear me talking baby love me now or ill go crazy ",1
45,"thats the way i like it","kc and the sunshine band",1976,NA,NA
46,"a little bit more","dr hook",1976," when your bodys had enough of me and im laying flat out on the floor when you think ive loved you all i can im gonna love you a little bit morecome on over here and lay by my side ive got to be touchin you let me rub your tired shoulders the way i used to dolook into my eyes and give me that smile the one that always turns me on and let me take your hair down cause were stayin up to greet the sunand when your bodys had enough of me and im laying flat out on the floor when you think ive loved you all i can im gonna love you a little bit moregot to say a few things that have been on my mind and you know where my mind has been i guess ive learned my lessons and now is the time to beginso if youre feeling alright and youre ready for me i know that im ready for you we better get it on now cause weve got our whole lives to live throughand when your bodys had enough of me and im laying flat out on the floor when you think ive loved you all i can im gonna love you a little bit moreand when your bodys had enough of me and im laying flat out on the floor ",1
47,"shannon","henry gross",1976," another day is at end mama says shes tired again no one can even begin to tell her i hardly know what to say but maybe its better that way is papa were hereim sure hed tell her shannon is gone i hope shes drifting out to sea she always loved to swim away maybe shell find an island with a shady tree just like the one in our backyard mama tried hard to pretend things would get better again somehow shes keeping it all inside her but finally the tears fill our eyes and i know that somewhere tonight she knows how much we really miss her ",1
48,"if you leave me now","chicago",1976," if you leave me now youll take away the biggest part of me no baby please dont go if you leave me now youll take away the very heart of me no baby please dont goa love like ours is love thats hard to find how could we let it slip away weve come too far to leave it all behind how could we end it all this way when tomorrow comes well both regret things we said todaycause i need you more than youll ever know ",1
49,"lowdown","boz scaggs",1976," babys into running around hanging with the crowd putting your business in the street talking out loud saying you bought her this and that and how much you done spent i swear she must believe its all heaven senthey boy you better bring the chick around to the sad sad truth the dirty lowdownwho i wonder wonder wonder wonder who taught her how to talk like that who i wonder wonder wonder wonder who gave her that big ideanothing you cant handle nothing you aint got put your money on the table and drive it off the lot turn on that ole lovelight and turn a maybe to a yes same old schoolboy game got you into this messhey son better get on back to town face the sad old truth the dirty lowdownwho i wonder wonder wonder wonder who put those ideas in your head who i wonder wonder wonder wonder whoyeah come on back down little son dig the low low low low lowdownyou aint got to be so bad got to be so cold this dog eat dog existence sure is getting old got to have a jones for this jones for that this running with the joneses boy just aint where its atyou gonna come back around to the sad sad truth the dirty lowdownwho i wonder wonder wonder wonder who got you thinking like that boy who i wonder wonder wonder wonder whoi wonder wonder wonder wonder who said i wonder wonder wonder i wonder whowho i wonder wonder wonder wonder who who i wonder wonder wonder wonder who who who i wonder wonder wonder wonder who who i wonder wonder wonder wonder who i wonder wonder wonder wonder who ",1
50,"show me the way live","peter frampton",1976,"i wonder how your feeling theres ringing in my ears and no one to relate to cept the sea who can i believe in im kneeling on the floor there has to be a force who do i call the stars are out and shining but all i really want to know oh wont you show me the way everyday i want you show me the way yeah well i can see no reason you living on your nerves when someone drops a cup and i submerge im swimming in a circle i feel im going down there has to be a fool to play my part well someone thought of healing but all i really want to know oh wont you show me the way everyday i want you show me the way i want you day after day i wonder if im dreaming i feel so unashamed i cant believe this is happening to me i watch you when youre sleeping and then i wanna take your love oh wont you show me the way everyday i want you show me the way one more time i want you day after day hey i want you day after day hey i want you show me the way everyday i want you show me the way night and day i want you day after day hey ooh",5
51,"dream on","aerosmith",1976," every time when i look in the mirror all these lines on my face getting clearer the past is gone it went by like dusk to dawn isnt that the way everybodys got the dues in life to payi know nobody knows where it comes and where it goes i know its everybody sin you got to lose to know how to winhalf my life is books written pages live and learn from fools and from sages you know its true oh all these feelings come back to yousing with me sing for the years sing for the laughter sing for the tears sing with me just for today maybe tomorrow the good lord will take you awayyeah sing with me sing for the year sing for the laughter sing for the tear sing with me just for today maybe tomorrow the good lord will take you awaydream on dream on dream on dream until your dreams come true dream on dream on dream on dream until your dreams come true dream on dream on dream on dream on dream on dream on dream onsing with me sing for the year sing for the laughter sing for the tear sing with me just for today maybe tomorrow the good lord will take you away sing with me sing for the year sing for the laughter sing for the tear sing with me just for today maybe tomorrow the good lord will take you away ",1
52,"i love music","the ojays",1976," i love music any kind of music i love music just as long as its groovinmakes me laugh makes me smile all the while whenever im with you girl while we dance make romance im enchanted by the things that you doi love music sweet sweet music long as its swinging all the joy that its bringinim so happy to be in complete harmony i love you girl as i hold you so close in my arms im so glad that youre mine all minenothing can be better than a sweet love song so sweet so sweet so mellow mellow when you got the girl that you love in your arm oh honey i love you i love you yeah music is the healing force of the world its understood by every man woman boy and girl and thats why thats why i say i love music any kind of music i love music just as long as its groovin groovinmusic makes the atmosphere so fine lights down low just me and you baby you know specially when you got a cold glass of wine mellow mellow wine and songi love music any any kind of music i love music just as long as its groovini love i love i love i love i love music sweet sweet music i love i love i love i love i love music musicmusicmusic i love it i love it come on get it on come on get it on get it on get down ",1
53,"say you love me","fleetwood mac",1976," have mercy baby on a poor girl like me you know im falling falling falling at your feet im tingling right from my head to my toes so help me help me help me make the feeling gocause when the loving starts and the lights go down and theres not another living soul around then you woo me until the sun comes up and you say that you love mehave pity baby just when i thought it was over now you got me running running running for cover im begging you for a little sympathy and if you use me again itll be the end of mecause when the loving starts and the lights go down theres not another living soul around you woo me until the sun comes up and you say that you love mebaby baby hope youre going to stay away cause im getting weaker weaker everyday i guess im not as strong as i used to be and if you use me again itll be the end of mecause when the loving starts and the lights go down theres not another living soul around you woo me until the sun comes up and you say that you love mecause when the loving starts and the lights go down yheres not another living soul around you woo me until the sun comes up and you say that you love me say that you love me say that you love mefallin fallin fallin fallin fallin fallin fallin fallin fallin fallin fallin fallin fallin fallin fallin ",1
54,"times of your life","paul anka",1976," good morning yesterday you wake up and time has slipped away and suddenly its hard to find the memories you left behind remember do you rememberthe laughter and the tears the shadows of misty yesteryears the good times and the bad youve seen and all the others in between remember do you remember the times of your life do you rememberreach out for the joy and the sorrow put them away in your mind the memries are time that you borrow to spend when you get to tomorrowhere comes the setting sun comes the setting sun the seasons are passing one by one so gather moments while you may collect the dreams you dream today remember will you remember the times of your lifegather moments while you may collect the dreams you dream today remember will you remember the times of your lifeof your life of your life do you remember baby do you remember the times of your lifefadedo you remember baby do you remember the times of your life ",1
55,"devil woman","cliff richard",1976," ive had nothing but bad luck since the day i saw the cat at my door so i came here to you sweet lady answering your mystical call crystal ball on the table showing the future the past same cat with them evil eyes and i knew it was a spell shed castshes just a devil woman with evil on her mind beware the devil woman shes gonna get you shes just a devil woman with evil on her mind beware the devil woman shes gonna get you from behindgive me the ring on your finger let me see the lines of your hand i can see me a tall dark stranger giving you what you hadnt planned i drank the potion she offered me i found myself on the floor then i looked in those big green eyes and i wondered what i came there forshes just a devil woman with evil on her mind beware the devil woman shes gonna get you shes just a devil woman with evil on her mind beware the devil woman shes gonna get you from behindstay awake look out if youre out on a moonlit night be careful of the neighborhood strays of a lady with long black hair tryin to win you with her feminine ways crystal ball on the table showing the future the past same cat with them evil eyes youd better get out of there fast shes just a devil woman with evil on her mind beware the devil woman shes gonna get youshes just a devil woman with evil on her mind beware the devil woman shes gonna get you shes just a devil woman with evil on her mind beware the devil woman shes gonna get youshes just a devil woman with evil on her mind beware the devil woman shes gonna get you shes just a devil woman with evil on her mind beware the devil woman ",1
56,"fooled around and fell in love","elvin bishop",1976," i must have been through about a million girls id love em and id leave em alone i didnt care how much they cried no sir their tears left me cold as a stonebut then i fooled around and fell in love i fooled around and fell in love i fooled around and fell in love i fooled around and fell in loveit used to be when id see a girl that i liked id get out my book and write down her name but when the grass got a little greener on the other side id just tear out that pagebut then i fooled around and fell in love i fooled around and fell in love since i met you baby i fooled around and fell in love i fooled around and fell in lovefree on my own thats the way i used to be but since i met you baby loves got a hold on mefooled around and fell in love whoo its got ahold on me now yeah fooled around and fell in love i cant let go of you baby fooled around and fell in love i cant stop loving you now fooled around and fell in love hey cause i fooled around i fooled around i fooled around i fooled around i fooled around i fooled around fooled around and fell in love ",1
57,"convoy","c w mccall",1976,"on the cb ah breaker onenine this heres the rubber duck you gotta copy on me pig pen cmon ah yeah 104 pig pen fer shure fer shure by golly its clean clear to flag town cmon yeah thats big 104 there pig pen yeah we definitely got the front door good buddy mercy sakes alive looks like we got us a convoy was the dark of the moon on the sixth of june in a kenworth pullin logs cabover pete with a reefer on and a jimmy haulin hogs we is headin for bear on ioneoh bout a mile outta shaky town i says pig pen this heres the rubber duck and im about to put the hammer down chorus cause we got a little convoy rockin through the night yeah we got a little ole convoy aint she a beautiful sight come on and join our convoy aint nothin gonna get in our way we gonna roll this truckin convoy cross the usa convoy on the cb ah breaker pig pen this heres the duck and you wanna back off them hogs yeah 104 bout five mile or so ten roger them hogs is gettin intense up here by the time we got into tulsa town we had eightyfive trucks in all but theys a roadblock up on the cloverleaf and them bears was walltowall yeah them smokies is thick as bugs on a bumper they even had a bear in the air i says callin all trucks this heres the duck we about to go ahuntin bear chorus cause we got a great big convoy rockin through the night yeah we got a great big convoy aint she a beautiful sight come on and join our convoy aint nothin gonna get in our way we gonna roll this truckin convoy cross the usa convoy on the cb ah you wanna give me a 109 on that pig pen negatory pig pen youre still too close yeah them hogs is startin to close up my sinuses mercy sakes you better back off another ten well we rolled up interstate 44 like a rocket sled on rails we tore up all of our swindle sheets and left em settin on the scales by the time we hit that chitown them bears was agettin smart theyd brought up some reinforcements from the illinoise national guard theres armored cars and tanks and jeeps and rigs of evry size yeah them chicken coops was fulla bears and choppers filled the skies well we shot the line we went for broke with a thousand screamin trucks an eleven longhaired friends a jesus in a chartreuse micrabus on the cb ah rubber duck to sodbuster come over yeah 104 sodbuster lissen you wanna put that micrabus in behind that suicide jockey yeah hes haulin dynamite and he needs all the help he can git well we laid a strip for the jersey shore and prepared to cross the line i could see the bridge was lined with bears but i didnt have a doggoned dime i says pig pen this heres the rubber duck we just aint agonna pay no toll so we crashed the gate doing ninetyeight i says let them truckers roll 104 chorus cause we got a mighty convoy rockin through the night yeah we got a mighty convoy aint she a beautiful sight come on and join our convoy aint nothin gonna get in our way we gonna roll this truckin convoy cross the usa convoy convoy ah 104 pig pen whats your twenty convoy omaha well they oughta know what to do with them hogs out there fer shure well mercy convoy sakes good buddy we gonna back on outta here so keep the bugs off your glass and the bears off yourtail convoy tail well catch you on the flipflop this heres the rubber duck on the side we gone byebye",3
58,"welcome back","john sebastian",1976," welcome back your dreams were your ticket out welcome back to that same old place that you laughed about well the names have all changed since you hung around but those dreams have remained and theyve turned around and whodve thought theyd lead ya whodve thought theyd lead ya back here where we need ya back here where we need ya yeah we teased him a lot cause we got him on the spot welcome back welcome back welcome back welcome back welcome back welcome backinstrumentalwhere the names have all changed since you hung around but those dreams have remained and theyve turned around and whodve thought theyd lead ya whodve thought theyd lead ya back here where we need ya back here where we need ya yeah we teased him a lot cause we got him on the spot welcome back welcome back welcome back welcome back welcome back welcome back yeah we teased him a lot welcome back welcome back cause we got him on the spot welcome back welcome back yeah we teased him a lot cause we got him on the spot welcome back welcome back welcome back welcome back welcome back welcome back welcome back ",1
59,"sing a song","earth wind  fire",1976,"when you feel down and out sing a song itll make your day you need lil time to shout on out sing a song itll make a way sometimes its hard to care sing a song itll make your day a smile is so hard to bear sing a song itll make a way sing a song sing a song sing a song sing a song well i bring your heart to believing sing a song itll make your day life aint about no retrieving and oh yeah itll make a way give yourself what you need sing a song itll make your day smile smile smile and believe sing a song itll make a way sing a song sing a song sing a song sing a song incomprehensible sing a song sing a song sing a song sing a song if you sing a song a day you will make a better way",3
60,"heaven must be missing an angel","tavares",1976," heaven must be missin an angel missin one angel child cause youre here with me right now your love is heavenly baby heavenly to me babyyour kiss filled with tenderness i want all i can get of your sexiness showers your love comes in showers and every hour of the hour you let me feel your loving powertheres a rainbow over my shoulder ooh ooh when you came my cup runneth over you gave me your heavenly love and if one night you hear crying from aboveits cause heaven must be missin an angel missin one angel child cause youre here with me right now your love is heavenly baby heavenly to me babyooh heaven heaven ooh heaven heaven ooh heaven heaven heaven heavenoohim captured by your spell ooh ooh youre different girl i can tell oohoohooh when youre layin on my pillow baby above your pretty head theres a halo thats why i knowheaven must be missin an angel heaven missin on angel child cause youre here with me right now mmmha your love is heavenly baby heavenly to me baby oohmy sweet little angelheaven my pretty little angel heaven i love you love you love you love you love you baby say right now heavenheaven oohheaven heaven heaven must be missing an angel heaven heaven missing one angel child cause youre here with me right nowheaven heaven oh my heaven heaven missin an angel heaven heavenyou must have slipped away along the milky way its cause your kiss your kiss filled with tenderness you came cod on a moonbeam straight to me just like showers showers showers showers showers showers showers showers ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh oohyour heavenly power gets stronger by the hour heaven must be missin an angel im captured by your spell oh girl cant you tell heaven heaven must be missin an angelheaven heaven oohooh heaven heaven oohooh heaven heaven ooh heaven heaven ooh soso good soso good soso good baby mmmits just so good so good so good yeah its just so good so good so good i love the way you move i love the way you groove its just so good so good so good uh its just so good so good so good just like heaven oh baby its just so good so good so good heaven yeahheaven heaven heaven heaven ooh my heaven heaven heaven ooh your love is so good heaven heaven oh baby got to have my love yeahheaven heaven need it bad lord baby yeah heaven heaven i got to have my love yeah heaven heaven ",1
61,"ill be good to you","the brothers johnson",1976,"i want to know just how you feel instead i want to know if what you feel is real cause there is a reason yeah for the things that i say i want to love you girl in a special way weve been together for so very long i would hate to break up break up our happy home the way we stand and the way we lie the way we love and the way we cry of all these things there lies a tie makes me feel that its worth a try ill be good to you good to you good to you good to you ill be good to you good to you good to you ill be good to you good to you good to you ill be good to you good to you cause there is a reason for the things that i say i wanna love you girl in a special way weve been together for so very long i would hate to break up break up our happy home take a step now and let me know how all of your ways girl and all your know hows good to you good to you good to you ill be good to you good to you good to you ill be good to you good to you good to you ill be good to you good to you good to you good to you good to you ill be good to you good to you good to you ill be good to you good to you good to you ill be good to you good to you good to you good to you good to you ill be good to you good to you good to you ill be good to you good to you good to you ill be good to you good to you good to you good to you good to you ill be good to you good to you good to you ill be good to you good to you good to you ill be good to you good to you good to you good to you good to you ill be good to you good to you good to you ill be good to you good to you good to you ill be good to you good to you good to you good to you good to you",5
62,"rock and roll music","the beach boys",1976,"just let me hear some of that rock and roll music any old way you choose it its got a backbeat you cant lose it any old time you use it its gotta be rock and roll music if you wanna dance with me if you wanna dance with me i have no kicks against modern jazz unless they try to play it too darned fast and change the beauty of the melody until it sound just like a symphony thats why i go for that rock and roll music any old way you choose it its got a backbeat you cant lose it any old time you use it its gotta be rock and roll music if you wanna dance with me if you wanna dance with me i took my loved one over cross the tracks so she could hear my man awailin sax i must admit they have a rockin band man they was blowing like a hurricane thats why i go for that rock and roll music any old way you choose it its got a backbeat you cant lose it any old time you use it its gotta be rock and roll music if you wanna dance with me if you wanna dance with me way down south they gave a jubilee i tell you folks they had a jamboree and drinking beer from a wooden cup the folks adancin got all shook up they started playing that rock and roll music any old way you choose it its got a backbeat you cant lose it any old way you use it its gotta be rock and roll music if you wanna dance with me if you wanna dance with me say if you wanna dance with me if you wanna dance with me if you wanna dance with me its gotta be some of that if you wanna dance with me",3
63,"shop around","captain  tennille",1976,"just because youve become a young woman now theres still some things that you dont understand now before you ask some guy for his hand now you keep your freedom for as long as you can now my mama told me you better shop around you better shop around theres some things that i want you to know now just as sure as the winds gonna blow now the menll come and the men are gonna go now before you tell em that you love em so now my mama told me you better shop around you better shop around try to get yourself a bargain girl dont you be sold on the very first one good looking guys come a dime a dozen try to find you one whos gonna give you true lovin before you take a man and say i do now make sure hes in love with you now my mama told me you better shop around you better shop around try to get yourself a bargain girl dont you be sold on the very first one good looking guys come a dime a dozen try to find you one whos gonna give you true lovin before you take a guy and say i do now make sure hes in love with you now make sure that his love is true now i hate to see you feeling sad and blue now my mama told me you better shop around you better shop around you better shop around oh yeah you better shop around you better shop around oh yeah you better you better you better shop shop around oh yeah oh yeah you better shop around oh yeah you better shop shop shop shop shop shop shop shop shop shop you better shop around yeah yeah shop around oh yeah oh yeah oh yeah oh yeah",3
64,"saturday night","bay city rollers",1976," s a t u r d a y night s a t u r d a y night s a t u r d a y night s a t u r d a y nightgonna keep on dancin to the rock and roll on saturday night saturday night dancin to the rhythm in our heart and soul on saturday night saturday night i i i i i just cant wait i i i i got a dateat the good ole rock and roll road show i gotta go saturday night saturday night gonna rock it up roll it up do it all have a ball saturday night saturday nightits just a saturday night its just a saturday night its just a saturday nights a t u r d a y night s a t u r d a y night s a t u r d a y night s a t u r d a y nightgonna dance with my baby till the night is through on saturday night saturday night tell her all the little things im gonna do on saturday night saturday night i i i i love her so i i i im gonna let her knowat the good ole rock and roll road show i gotta go saturday night saturday night gonna rock it up roll it up do it all have a ball saturday night saturday nightits just a saturday night its just a saturday night its just a saturday nights a t u r d a y night s a t u r d a y night s a t u r d a y night s a t u r d a y night s a t u r d a y night s a t u r d a y nightits just a saturday night its just a saturday night its just a saturday night  ",1
65,"island girl","elton john",1976," i see your teeth flash jamaican honey so sweet down where lexington cross 47th street oh shes a big girl shes standing sixfoot three turning tricks for the dudes in the big cityisland girl what you wanting with the white mans world island girl black boy want you in his island worldhe want to take you from the racket boss he want to save you but the cause is lost island girl island girl island girl tell me what you wanting with the white mans worldwell shes black as coal but she burn like a fire and she wrap herself around you like a wellworn tire you feel her nail scratch your back just like a rake oh oh he one more gone he one more john who make the mistakeisland girl what you wanting with the white mans world island girl black boy want you in his island worldhe want to take you from the racket boss he want to save you but the cause is lost island girl island girl island girl tell me what you wanting with the white mans worldisland girl what you wanting with the white mans world island girl black boy want you in his island worldhe want to take you from the racket boss he want to save you but the cause is lost island girl island girl island girl tell me what you wanting with the white mans tell me what you wanting with the white mans tell me what you wanting with the white mans ",1
66,"lets do it again","the staple singers",1976," do it again do it do it lets do it again do it do it again do it againgonna do it again do it do it do it lets do it again do it do it againsometimes the rain groovin when i hear the sound like you and me baby gettin down with the sounds around oh the smell of the mornin flower as we pass away the houri wanna do it again do it again do it do itlets do it in the mornin do itnow i like you lady so fine with your pretty hair if you dont mind my compliments just diggin on the clothes you wear im just a man and i got your fear i can love you now i brought you herei wanna do it again do it do it do it i wanna do it again ooh oh ho hey do it again do it do itlike a hammer on the block love began to rock give the sister love and pride feel good and satisfied im not a girl that could linger but i feel like a butter fingeri wanna do it again do it again do it do itlets do it in the mornin do it do it do it do it do it again do it again do it again do it again do it again do it againoh hey ",1
67,"let em in","wings",1976,"someones knockin at the door somebodys ringin the bell someones knockin at the door somebodys ringin the bell do me a favor open the door and let em in yeah yeah someones knockin at the door somebodys ringin the bell someones knockin at the door somebodys ringin the bell do me a favor open the door and let em in let em in now sister suzie brother john martin luther phil and don brother michael auntie gin open the door and let em in oh yeah sister suzie brother john martin luther phil and don yeah yeah brother michael auntie gin open the door and let em in oh yeah someones knockin at the door somebodys ringin the bell someones knockin at the door somebodys ringin the bell do me a favor open the door and let em in yeah yeah yeah yeah yeah yeah yeah someones knockin at the door somebodys ringin the bell incomprehensible someones knockin at the door",3
68,"baby face","wing and a prayer fife and drum corps",1976,"baby face youve got the cutest little baby face theres not another one can take your place baby facemy poor heart is jumping youve really started something baby race im up in heaven when im in your fond embrace i didnt need a shove cause i just fell in love with your pretty baby face",3
69,"this masquerade","george benson",1976," are we really happy with this lonely game we play looking for the right words to saysearching but not finding understanding anywhere were lost in this masqueradeboth afraid to say were just to far away from being close together from the start we tried to talk it over but the words got in the way were lost inside this lonely game we playthoughts of leaving disappear each time i see your eyes and no matter how hard i tryto understand the reasons why we carry on this way were lost in a masqueradewe tried to talk it over but the words got in the way were lost inside this lonely game we playthoughts of leaving disappear each time i see your eyes and no matter how hard i tryto understand the reasons why we carry on this way were lost in a masquerade were lost in a masqueradeand were lost in a masquerade ",1
70,"evil woman","electric light orchestra",1976," you made a fool of me but them broken dreams have got to endhey woman you got the blues cause you aint got no one else to use theres an open road that leads nowhere so just make some miles between here and theretheres a hole in my head where the rain comes in you took my body and played to win ha ha woman its a crying shame but you aint got nobody else to blameevil woman evil woman evil woman evil womanrolled in from another town hit some gold too hot to settle down cause a fool and his money soon go separate ways you found a fool lyin in a dazeha ha woman what you gonna do you destroyed all the virtues that the lord gave you its so good that youre feeling pain but you better get your face on board the very next trainevil woman evil woman evil woman youre an evil woman evil womanevil woman evil woman evil woman youre an evil woman evil womanevil woman how you done me wrong now youre tryin to wail a different song ha ha funny how you broke me up you made the wine now you drink the cupi came runnin every time you cried thought i saw love smilin in your eyes ha ha very nice to know that you aint got no place left to goevil woman evil woman evil woman youre an evil woman evil womansuch an evil woman evil woman youre an evil woman evil womansuch an evil woman evil woman youre an evil woman evil woman ",1
71,"wham bam","silver",1976,"starry nights sunny days i always thought that love should be that way then comes a time that youre ridden with doubt youve loved all you can and now youre all loved out ooh ooh baby weve been a long long way and whos to say where well be tomorrow well my heart says no but my mind says its so that weve got a love is it a love to stay weve got a wham bam shangalang and a sha la la la la la thing wham bam shangalang and a sha la la la la la thing looking at you i wanted to say i think a little emotion goes a long long way careful now dont get caught in your dreams look out baby this is not what it seems ooh ooh baby youve been so good to me but please dont make it what its not well i thought we agreed on what we need so listen to me and ill tell you what weve got weve got a wham bam shangalang and a sha la la la la la thing wham bam shangalang and a sha la la la la la thing i think youre seeing what im saying cause i hear you singing to the tune im playing now that its said and we both understand lets say our goodbyes before it gets out of hand bye bye baby id really like to stay but well remember the best time in our lives we had a wham bam shangalang and a sha la la la la la thing wham bam shangalang and a sha la la la la la thing wham bam shangalang and a sha la la la la la thing",3
72,"im easy","keith carradine",1976," its not my way to love you just when no ones looking its not my way to take your hand if im not sure its not my way to let you see whats going on inside of me when its a love you wont be needing youre not free please stop pulling at my sleeve if youre just playing if you wont take the things you make me want to give i never cared too much for games and this ones driving me insane youre not half as free to wander as you claim but im easy im easy give the word and ill play your game so thats how it ought to be because im easydont lead me on if theres nowhere for you to take me if loving you would have to be a sometime thing i cant put bars on my insides my love is something i cant hide it still hurts when i recall the times ive cried im easy im easy take my hand and pull me down i wont put up any fight because im easydont do me favors let me watch you from a distance cause when youre near i find it hard to keep my head and when your eyes throw light at mine its enough to change my mind make me leave my cautious words and ways behind thats why im easy ya im easy say you want me ill come running without taking time to think because im easy ya im easy take my hand and pull me down i wont put up any fight because im easy ya im easy give the word ill play your game so thats how it ought to be because im easy ",1
73,"wake up everybody","harold melvin  the blue notes",1976,"wake up everybody no more sleepin in bed no more backward thinkin time for thinkin ahead the world has changed so very much from what it used to be theres so much hatred war and poverty wake up all the teachers time to teach a new way maybe then theyll listen to whatcha have to say cause theyre the ones whos coming up and the world is in their hands when you teach the children teach em the very best you can the world wont get no better if we just let it be the world wont get no better we gotta change it yeah just you and me wake up all the doctors make the old people well theyre the ones who suffer and who catch all the hell but they dont have so very long before the judgment day so wontcha make them happy before they pass away wake up all the builders time to build a new land i know we could do it if we all lend a hand the only thing we have to do is put it in our minds surely things will work out they do it every time the world wont get no better if we just let it be the world wont get no better we gotta change it yeah just you and me change it yeah just you and me change it yeah cant do it alone need some help yall cant do it alone yeah wake up everybody wake up everybody need a little help yall need a little help need some yall to change the world from what it used to be",3
74,"summer","war",1976," ridin round town with all the windows down eight track playin all your favrite sounds the rhythm of the bongos fill the park the street musicians tryin to get a startcause its summer summer time is here yes its summer my time of year yes its summer my time of yearstretched out on a blanket in the sand kids of all ages diggin disneyland rappin on the cb radio in your van well give a big ten four to the truckin mancause its summer summer time is here yes its summer my time of year yes its summer my time of yearyoung boys playin stick ball in the street fire hydrants help to beat the heat old man feeding pigeons in the square nighttime finds young lovers walking therecause its summer summer time is here yes its summerin atlantic city or out in malibu or any where between im telling you when you feel those balmy breezes on your face summer time is the best time any placecause its summer summer time is here yes its summer my time of year cause its summer summer time is here yes it is yes its summer my time of year cause its summer summer time is here yes its summer yes it is my time of year ",1
75,"let her in","john travolta",1976,"john travolta miscellaneous let her in let her in john travolta gary benson im different today heyhey somethin she said has stuck in my head and i cant get away gonna let her in gonna let her in umhmm gonna let her in my life you know what i find i find a look at her face and there isnt a trace of doubt in my mind gonna let her in gonna let her in umhmm gonna let her in my life let her in my life gonna open up after so long gonna open up after so long with my feet stuck on the ground and my head against the wall ive been called and i cant answer why whyhy somethin inside and it cant be denied and im ready to try gonna let her in gonna let her in umhmm gonna let her in my life gonna let her in gonna let her in umhmm gonna let her in my life let her in my life gonna let her in woahwoah gonna let her in my life let her in my life gonna let her in woahwoah gonna let her in my life let her in my life from david hayman",3
76,"fox on the run","sweet",1976,"i dont wanna know your name cause you dont look the same the way you did before okay you think you got a pretty face but the rest of you is out of place you looked all right before fox on the run you scream and everybody comes a running take a run and hide yourself away foxy on the run ffoxy fox on the run and hide away you you talk about just every band but the names you drop are second hand ive heard it all before i dont wanna know your name cause you dont look the same the way you did before fox on the run you scream and everybody comes a running take a run and hide yourself away foxy on the run ffoxy fox on the run and hide away ffoxy fox on the run you scream and everybody comes a running take a run and hide yourself away foxy on the run ffoxy fox on the run and hide away fox on the run fox on the run fox on the run fox on the run",3
77,"rhiannon","fleetwood mac",1976," rhiannon rings like a bell through the night and wouldnt you love to love her takes to the sky like a bird in flight and who will be her loverall your life youve never seen a woman taken by the wind would you stay if she promised you heaven will you ever winshe is like a cat in the dark and then she is the darkness she rules her life like a fine skylark and when the sky is starlessall your life youve never seen a woman taken by the wind would you stay if she promised you heaven will you ever win will you ever winrhiannon rhiannon rhiannon rhiannonshe rings like a bell through the night and wouldnt you love to love her she rules her life like a bird in flight and who will be her loverall your life youve never seen a woman taken by the wind would you stay if she promised you heaven will you ever win will you ever winrhiannon rhiannon rhiannontaken by taken by the skytaken by taken by the skytaken by taken by the skydreams unwind loves a state of minddreams unwind loves a state of minddreams unwind loves a state of mind ",1
78,"got to get you into my life","the beatles",1976,"i was alone i took a ride i didnt know what i would find there another road where maybe i could see another kind of mind there ooh then i suddenly see you ooh did i tell you i need you every single day of my life you didnt run you didnt lie you knew i wanted just to hold you and had you gone you knew in time wed meet again for i had told you ooh you were meant to be near me ooh and i want you hear me say well be together every day got to get you into my life what can i do what can i be when im with you i wanna stay there if im true ill never leave and if i do i know the way there ooh then i suddenly see you ooh did i tell you i need you every single day of my life got to get you into my life got to get you into my life i was alone i took a ride i didnt know what i would find there another road where maybe i could see another kind of mind there and suddenly i see you did i tell you i need you every single day",3
79,"fanny be tender with my love","bee gees",1976," first i rise then i fall seems like you dont want the love of this man at all and its sure been a lonely time right up to the time i met you so if you take a love like minebe tender with my love you know how easy it is to hurt me fanny be tender with my love cause its all that ive got and my love wont desert meso you say to yourself boy youre out of your brain do you think im gonna stand here all night in the rain and its the start of a love affair the moment when i first met you and if you want ill take you therebe tender with my love you know how easy it is to break it fanny be tender with my love cause its all that ive got and my love wont forsake mewith my love our love will seal it together oh with our love you made a promise youll always love me foreverbe tender with my love you know how easy it is to break it fanny be tender with my love cause its all that ive got and my love wont forsake mebe tender with my love you know how easy it is to break it fanny be tender with my love cause its all that ive got and my love wont forsake mebe tender with my love you know how easy it is to hurt me fanny be tender with my love cause its all that ive got and my love wont desert mebe tender with my love you know how easy it is to break it fanny be tender with my love cause its all that ive got and my love wont desert mebe tender with my love you know how easy it is to hurt me fanny be tender with my love ",1
80,"getaway","earth wind  fire",1976,"getaway lets leave today lets getaway so you say you tried but you just cant find the pleasure people around you givin you pressure try to resist all the hurt thats all around you if you taste it it will haunt you so come take me by the hand well leave this troubled land yeah i know we can i know we can i know we can i know we can getaway lets leave today lets getaway what you what you what you what you know watch for the signs that lead in the right direction not to heed them is a bad reflection theyll show you the way into what you have been seeking to ignore them youre only cheating so come take me by the hand well leave this troubled land and getaway getaway lay awake every night till the sun comes up in the morning nothing exciting it all seems boring make up your mind which way to go about it to your road you just dont doubt it so come take me by the hand well leave this troubled land i know we can i know we can i know we can i know we can getaway what you what you what you what you lets leave today what you what you what you what you know lets getaway what you what you what you what you lets leave today lets getaway lets getaway lets leave today lets getaway getaway leave today getaway yeah yeah yeah yeah yeah yeah yeah getaway leave today getaway yeah yeah yeah yeah yeah yeah yeah",3
81,"shes gone","hall  oates",1976,"everybodys high on consolation everybodys trying to tell me what is right for me yeah my daddy tried to bore me with a sermon but its plain to see that they cant comfort me sorry charlie for the imposition i think ive got it got it ive got the strength to carry on yeah i need a drink and a quick decision now its up to me ooh what will be shes gone oh i oh i id better learn how to face it shes gone oh i oh i i pay the devil to replace her shes gone what went wrong get up in the morning look in the mirror im worn as the tooth brush hanging in the stand my face aint looking any younger now i can see loves taken her toll on me shes gone oh i oh i id better learn how to face it shes gone oh i oh i i pay the devil to replace her shes gone what went wrong think ill spend eternity in the city let the carbon and monoxide choke my thoughts away and pretty bodies help dissolve the memories and they can never be what she was to me shes gone oh i oh i id better learn how to face it and shes gone oh i oh i i pay the devil to replace her shes gone what went wrong shes gone oh i id better learn how to face it shes gone oh i i pay the devil to replace her shes gone oh i id better learn how to face it shes gone i cant believe it shes gone oh i i pay the devil to replace her shes gone shes gone shes gone ",5
82,"still the one","orleans",1976," weve been together since way back when sometimes i never want to see you again but i want you to know after all these years youre still the one i want whisperin in my earyoure still the one i want to talk to in bed still the one that turns my head were still having fun and youre still the onei looked at your face every day but i never saw it til i went away when winter came i just wanted to go wanted to go deep in the desert i longed for the snowyoure still the one that makes me laugh still the one thats my better half were still having fun and youre still the oneyoure still the one that makes me strong still the one i want to take along were still having fun and youre still the one yes you arechanging our love is going gold even though we grow old it grows newyoure still the one that i love to touch still the one and i cant get enough were still having fun and youre still the oneyoure still the one who can scratch my itch still the one and i wouldnt switch were still having fun and youre still the oneyou are still the one that makes me shout still the one that i dream about were still having fun and youre still the onestill the one yeah still the one were still having fun and youre still the one ",1
83,"youre my best friend","queen",1976," ooh you make me live whatever this world can give to me its you youre all i see ooh you make me live now honey ooh you make me liveooh youre the best friend that i ever had ive been with you such a long time youre my sunshine and i want you to know that my feelings are true i really love you oh youre my best friendooh you make me liveooh ive been wandering round but i still come back to you in rain or shine youve stood by me girl im happy at home youre my best friendooh you make me live whenever this world is cruel to me i got you to help me forgive ooh you make me live now honey ooh you make me liveyoure the first one when things turn out bad you know ill never be lonely youre my only one and i love the things i really love the things that you do ooh youre my best friendooh you make me liveim happy at home youre my best friend oh youre my best friend ooh you make me live youre my best friend ",1
84,"with your love","jefferson starship",1976," dont know whats happened to me since i met you feel like im fallen in love since i met youive got to know what youre doin doin to me with your love with your love what youre doin doin to me with your love with your love what youre doin doin to me with your love with your love what youre doin babe it feels so good whatever it isknew from the start it had to be you you got my heart i dont know what im gonna do with your loveheaven sent the sign then sent you im goin out of my mind since i let youive got to know what youre doin doin to me with your love with your love what youre doin doin to me with your love with your love what youre doin doin to me with your love with your love what youre doin babe it feels so good whatever it iswhatever it is and whatever its called i know that its you i cant help getting involved with your lovebaby sweet baby take it awaywith your love with your love with your lovewhatever you did to me well you sure did it good my hearts filled with lovin and i knew that it would with your lovedont know whats happened to me since i met you i feel like im fallen in love since i met youive got to know what youre doin doin to me with your love with your love what youre doin doin to me with your love with your love what youre doin doin to me with your love with your love what youre doin babe it feels so good whatever it isknew from the start it had to be you you got my heart i dont know what im gonna do with your love baby sweet baby ",1
85,"slow ride","foghat",1976," wooslowride take it easy slowride take it easy slowride take it easyslowride take it easy im in the mood the rhythm is right move to the music we can roll all nightooh slowride slowride take it easy ooh slowride take it easyslow down go down got to get your lovin one more time hold me roll me slow ridin woman youre so finewooim in the mood the rhythm is right move to the music we can roll all nightoohslowride take it easy slowride take it easyslow down go down got to get your lovin one more timeslowride easy slowride sleazy slowride easy slowride sleazyslow down go down got to get your lovin one more time hold me roll me slow ridin woman youre so fineslowride take it easy slowride take it easyslow down go down slow down go down come on babytake a slowride on me come on baby take a slowridefeels so good feels good come on baby you know the rhythm is right we gotta rock all nightfeels good feel alright you know the rhythm is right we gotta rock all night you know the rhythm is rightwe gotta rock all night whoa rock all nightwoo woo your flamin heart your flamin heartyour flamin heart your flamin heart woo woo wooslowride ",1
86,"whod she coo","ohio players",1976," are you ready do what you wanna do do what you wanna dowe dont care what you do just as long as you whod she cooeverybody everybody do it everybody do it do the whod she coo whod she coo whod she coo whod she cooeverybody everybody do it everybody do it do the whod she coo whod she cooeverybody everybody do it everybody do it do the whod she coo whod she coowhod she coo whod she coo whod she cooeverybody everybody do it everybody do it do the whod she coo whod she coowhod she coo whod she coo whod she cooeverybody everybody do it everybody do it do the whod she coo whod she coowhod she coo whod she cooeverybody everybody do it everybody do it do the whod she coo whod she cooeverybody everybody do it everybody do it do the whod she coo whod she coo whod she cooeverybody everybody do it everybody do it do the whod she coo whod she coowhod she coo whod she cooeverybody everybody do it everybody do it do the whod she coo whod she coo ",1
87,"the boys are back in town","thin lizzy",1976," guess who just got back today them wildeyed boys that had been away havent changed that much to say but man i still think them cats are crazythey were askin if you were around how you was where you could be found told em you were livin downtown drivin all the old men crazythe boys are back in town the boys are back in townthe boys are back in town the boys are back in town againyou know that chick that used to dance a lot every night shed be on the floor shakin what she got when i say she was cool she was red hot i mean she was steaminand that time over at johnnys place well this chick got up and she slapped johnnys face man we just fell about the place if that chick dont want to know forget herthe boys are back in town the boys are back in townthe boys are back in town the boys are back in townthe boys are back in town the boys are back in town the boys are back in town the boys are back in town againspread the word around guess whos back in townjust spread the word aroundfriday night theyll be dressed to kill down at dinos bar n grill the drink will flow and the blood will spill and if the boys want to fight you better let emthat jukebox in the corner blastin out my favorite song the nights are getting warmer it wont be long wont be long till the summer comes now that the boys are here againthe boys are back in town the boys are back in townthe boys are back in town the boys are back in townthe boys are back in town the boys are back in town spread the word around the boys are back in town the boys are back in town againthe boys are back in town again been hangin down at dinos the boys are back in town again ",1
88,"walk away from love","david ruffin",1976," im gonna walk away from love gonna walk away gonna walk away im gonna walk away from love gonna walk away gonna walk away gonna walk away gonna walk awayits not that i dont love you you know how much i do and its not that ive found someone to take the place of youits just the fear that builds within me every time you touch my hand and a dread that shakes my body that even i dont understandso im leaving im leaving yes i am its time for playing it smart im leaving yes i am im gonna walk away from love walk away from love before love breaks my heartim gonna walk away from love gonna walk away gonna walk away gonna walk away gonna walk awayooh youre clinging to me tighter than you ever have before i dont understand it but i know its gonna take everything ive got to keep walking out the doorbut those arms youve got around me will let me go some day and id rather leave you holding on than pushing me awayso im leaving yes i am im leaving yes i am its time to play it smart im leaving yes i am im gonna walk away from love walk away from love before love breaks my heartim gonna walk away from love gonna walk away gonna walk away ooh babyim gonna walk away from love its not that i dont love you you know how much i do gonna walk away gonna walk away oh baby gonna walk away gonna walk awayim leaving baby its time for playing it smart im gonna walk away from love oh dont break my heart gonna walk away gonna walk awayill walk away baby im gonna walk away from love ",1
89,"baby i love your way live","peter frampton",1976,"shadows grow so long before my eyes and theyre moving across the page suddenly the day turns into night far away from the city but dont hesitate cuz your love wont wait ooh baby i love your way everyday i wanna tell you i love your way every way i wanna be with you night and day ooh yeah moon appears to shine and light the sky with the help of some big glitters wonder how they have the power to shine shine shine i can see them under the pine but dont hesitate cuz your love wont wait ooh baby i love your way everyday i wanna tell you i love your way every way i wanna be with you night and day but dont hesitate cuz your love wont wait i can see the sunset in your eyes brown and gray and blue besides clouds are stalking islands in the sun wish i could buy one out of season but dont hesitate cuz your love wont wait ooh baby i love your way everyday i wanna tell you i love your way i wanna be with you night and day ooh baby i love your way i wanna tell you i love your way i wanna be with you night and day yeah",3
90,"young hearts run free","candi staton",1976," whats the sense in sharing this one and only life ending up just another lost and lonely wife you count up the years and they will be filled with tears love only breaks up to start over again youll get the babies but you wont have your man while he is busy loving every woman that he can aahh haa say im gonna leave a thousand times a day its easier said that done when i just cant break away just cant break awaychorusyoung hearts run free never be hung up hung up like my man and me umm my man and me young hearts to yourself be true dont be no fool when love really dont love you  dont love you its high time just one crack at life who wants to live it in trouble and strife my mind must be free to learn all i can about me im gonna love me for the rest of my days encourage the babies every time they sing self preservation is whats really going on today aahh hooo say im gonna turn lose a thousand times a day but how can i turn loosewhen i just cant break away just cant break awaychorusmusicchorus fades out at the end ",1
91,"breaking up is hard to do","neil sedaka",1976," breaking up his hard to dodont take your love away from me dont you leave my heart in misery if you go then ill be blue cause breaking up his hard to doremember when you held me tight and you kissed me all through the night think of all that weve been through breaking up is hard to dothey say that breaking up is hard to do now i know i know that its true dont say that this is the end instead of breaking up i wish that we were making up againi beg of you dont say goodbye cant we give our love another try come on baby lets start a new cause breaking up is hard to dothey say that breaking up is hard to do now i know i know that its true dont say that this is the end instead of breaking up i wish that we were making up againi beg of you dont say goodbye cant we give our love another try come on baby lets start a new cause breaking up is hard to do ",1
92,"money honey","bay city rollers",1976,"money cant make you turn your head now money cant get you into bed now money honey cant give more than you get now money honey you aint got no respect but i like to watch you lust to see what you can get and money honey gets you breakfast in bed and money honey oh you drive me out my head living like a princess with a frown giving i cant afford to cry on money honey hey girl come on dont bring me down money honey you aint got no respect but i like to watch you lust to see what you can get and money honey gets you breakfast in bed and money honey oh you drive me out my head money must it buy all i can get now money without it how far will i get now money honey hold it youd be losing my respect now",3
93,"give up the funk tear the roof off the sucker","parliament",1976," tear the roof off were gonna tear the roof off the mother sucker tear the roof off the sucker tear the roof off were gonna tear the roof off the mother sucker tear the roof off the sucker tear the roof off were gonna tear the roof off the mother sucker tear the roof off the sucker tear the roof off were gonna tear the roof off the mother sucker tear the roof off the suckeryouve got a real type of thing going down gettin down theres a whole lot of rhythm going round youve got a real type of thing going down gettin down theres a whole lot of rhythm going roundow we want the funk give up the funk ow we need the funk we gotta have that funkow we want the funk give up the funk ow we need the funk we gotta have that funkla la la la la doo doo doo doo doo doo doo owla la la la la doo doo doo doo doo doo doo owyouve got a real type of thing going down gettin down theres a whole lot of rhythm going round youve got a real type of thing going down gettin down theres a whole lot of rhythm going roundow we want the funk give up the funk ow we need the funk we gotta have that funk ow we want the funk give up the funk ow we need the funk we gotta have that funkla la la la la doo doo doo doo doo doo doo owla la la la la doo doo doo doo doo doo doo owwere gonna turn this mother outyouve got a real type of thing going down gettin down theres a whole lot of rhythm going round youve got a real type of thing going down gettin down theres a whole lot of rhythm going round youve got a real type of thing going down gettin down theres a whole lot of rhythm going round youve got a real type of thing going down gettin down theres a whole lot of rhythm going roundow we want the funk give up the funk ow we need the funk we gotta have that funk ow we want the funk give up the funk ow we need the funk we gotta have that funk ow we want the funk give up the funk ow we need the funk let us in well tear this mother out we gotta have that funk ow we want the funk give up the funk ow we need the funk let us in well tear this mother out we gotta have that funk ow we want the funk give up the funk ow we need the funk we gotta have that funk ow we want the funk give up the funk ow we need the funk we gotta have that funk ow we want the funk give up the funk ow we need the funk we gotta have that funkwe want the funk were gonna turn this mother out give up the funk we need the funk were gonna turn this mother out we gotta have that funk we want the funk were gonna turn this mother out give up the funk we need the funk were gonna turn this mother out we gotta have that funkow we want the funk give up the funk ow we need the funk let us in well tear this mother out we gotta have that funk ow we want the funk give up the funk ow we need the funk let us in well tear this mother out we gotta have that funkwe want the funk give up the funk we need the funk we gotta have that funk we want the funk give up the funk we need the funk we gotta have that funkwe want the funk give up the funk we need the funk we gotta have that funkla la la la la doo doo doo doo doo doo doo owla la la la la doo doo doo doo doo doo doo owyouve got a real type of thing going down gettin down theres a whole lot of rhythm going round youve got a real type of thing going down gettin down theres a whole lot of rhythm going roundow we want the funk give up the funk ow we need the funk let us in well tear this mother out we gotta have that funk ow we want the funk ",1
94,"junk food junkie","larry groce",1976,"you know i love that organic cooking i always ask for more and they call me mr natural on down to the health food store i only eat good sea salt white sugar dont touch my lips and my friends is always begging me to take them on macrobiotic trips yes they are oh but at night i stake out my strong box that i keep under lock and key and i take it off to my closet where nobody else can see i open that door so slowly take a peek up north and south then i pull out a hostess twinkie and i pop it in my mouth yeah in the daytime im mr natural just as healthy as i can be but at night im a junk food junkie good lord have pity on me well at lunchtime you can always find me at the whole earth vitamin bar just sucking on my plain white yogurt from my hand thrown pottery jar and sippin a little hand pressed cider with a carrot stick for dessert and wiping my face in a natural way on the sleeve of my peasant shirt oh yeah ah but when that clock strikes midnight and im all by myself i work that combination on my secret hideaway shelf and i pull out some fritos corn chips dr pepper and an ole moon pie then i sit back in glorious expectation of a genuine junk food high oh yeah in the daytime im mr natural just as healthy as i can be oh but at night im a junk food junkie good lord have pity on me my friends down at the commune they think im pretty neat oh i dont know nothing about arts and crafts but i give em all something to eat im a friend to old euell gibbons and i only eat home grown spice i got a john keats autographed grecian urn filled up with my brown rice yes i do oh folks but lately i hae been spotted with a big mac on my breath stumbling into a colonel sanders with a face as white as death im aftraid someday theyll find me just stretched out on my bed with a handful of pringles potato chips and a ding dong by my head in the daytime im mr natural just as healthy as i can be but at night im a junk food junkie good lord have pity on me",3
95,"tryin to get the feeling again","barry manilow",1976," doctor my woman is comin back home late today could ya maybe give me something cause the feelin is gone and i must get it back right awaybefore she sees that ive been up down tryin to get the feelin again all around tryin to get the feelin again the one that made me shivermade my knees start to quiver every time she walked in and ive looked high low everywhere i possibly canbut theres no tryin to get the feelin again it seemed to disappear as fast as it came where did it run to i thought id done all that i couldjust to keep the love light burnin but whatever ive done i guess i just havent done it too good cause all thats left is yearninive been up down tryin to get the feelin again all around tryin to get the feelin again the one that made me shivermade my knees start to quiver every time she walked in and ive looked high and low and everywhere i possibly canbut theres no tryin to get the feelin again it seemed to disappear as fast as it came ive been looking ive been looking ive been lookingive been up and down and tryin to get the feelin ive been up ive been down ive been tryin to get ive been tryin ive been tryinive been tryin to get the feeling ive been tryin to get the feeling again i want to get that feeling im going to get that feeling i got to get that feeling i got to get that feeling and again and again and again and again tryin to get that feeling i been tryin to get the feeling again ",1
96,"rock and roll all nite live","kiss",1976,"you show us everything youve got you keep on dancin and the room gets hot you drive us wild well drive you crazy and you say you wanna go for a spin the partys just begun well let you in you drive us wild well drive you crazy you keep on shoutin you keep on shoutin i wanna rock and roll all nite and party everyday i wanna rock and roll all nite and party everyday i wanna rock and roll all nite and party everyday i wanna rock and roll all nite and party everyday you keep on saying youll be mine for a while youre lookin fancy and i like your style and you drive us wild well drive you crazy and you show us everything youve got baby baby thats quite a lot and you drive us wild well drive you crazy you keep on shoutin you keep on shoutin i wanna rock and roll all nite and party everyday i wanna rock and roll all nite and party everyday i wanna rock and roll all nite and party everyday i wanna rock and roll all nite and party everyday you keep on shoutin you keep on shoutin i wanna rock and roll all nite and party everyday i wanna rock and roll all nite and party everyday i wanna rock and roll all nite and party everyday i wanna rock and roll all nite and party everyday",3
97,"disco duck","rick dees  his cast of idiots",1976,NA,NA
98,"take the money and run","steve miller band",1976," hoohoo this is a story about billy joe and bobbie sue two young lovers with nothin better to do than sit around the house get high and watch the tube and here is what happened when they decided to cut loose they headed down to ooh old el paso thats where they ran into a great big hassle billy joe shot a man while robbing his castle bobbie sue took the money and runhoohoohoo go on take the money and run go on take the money and run hoohoohoo go on take the money and run go on take the money and runhoohoohoo billy mack is a detective down in texas you know he knows just exactly what the facts is he aint gonna let those two escape justice he makes his livin off of the peoples taxes bobbie sue whoa whoa she slipped away billy joe caught up to her the very next daythey got the money hey you know they got away they headed down south and theyre still running today singin go on take the money and run ",1
99,"squeeze box","the who",1976,"mamas got a squeeze box she wears on her chest but when daddy comes home he never gets no rest cause shes playing all night and the musics all right mamas got a squeeze box daddy never sleeps at night well the kids dont eat and the dog cant sleep theres no escape from the music in the whole damn street cause shes playing all night and the musics all right mamas got a squeeze box daddy never sleeps at night she goes in and out and in and out and in and out and in and out shes playing all night and the musics all tight mamas got a squeeze box daddy never sleeps at night she goes squeeze me come on and squeeze me come on and tease me like you do im so in love with you mamas got a squeeze box daddy never sleeps at night she goes in and out and in and out and in and out and in and out cause shes playing all night and the musics all right mamas got a squeeze box daddy never sleeps at night",3
100,"country boy you got your feet in la","glen campbell",1976," livin in the city aint never been my idea of gettin it on but the job demands that you make new plans before your big chance is gone you get a house in the hills youre payin everyones bills and they tell you that youre gonna go far but in the back of my mind i hear it time after time is that who you really arecountry boy you got your feet in la but your minds on tennessee lookin back i can remember the time when i sang my songs for free country boy you got your feet in la take a look at everything you own but now and then my heart keeps goin hometalkin on the telephone settin up another day of people to meet youve gotta do whats right youve gotta spend the night stayin in touch with the street when youre surrounded by friends they say the fun never ends but i guess ill never figure it out cause in the back of my mind i hear it time after time is this what its all aboutcountry boy you got your feet in la but your minds on tennessee lookin back i can remember the time when i sang my songs for free country boy you got your feet in la take a look at everything you own but now and then my heart keeps goin home ",1
1,"tonights the night gonna be alright","rod stewart",1977," stay away from my window stay away from my back door too disconnect the telephone line relax baby and draw that blindkick off your shoes and sit right down loosen off that pretty french gown let me pour you a good long drink ooh baby dont you hesitate causetonights the night its gonna be alright cause i love you girl aint nobody gonna stop us nowcome on angel my hearts on fire dont deny your mans desire youd be a fool to stop this tide spread your wings and let me come inside causetonights the night its gonna be alright cause i love you girl aint nobody gonna stop us nowdont say a word my virgin child just let your inhibitions run wild the secret is about to unfold upstairs before the nights too oldtonights the night its gonna be alright cause i love you girl aint nobody gonna stop us nowooh ",1
2,"i just want to be your everything","andy gibb",1977," for so long you and me been finding each other for so long and the feeling that i feel for you is more then strong girl take it from me if you give a little more then youre asking for your love will turn the key darling mine i would wait forever for those lips of wine build my world around you darling this love will shine girl watch it and see if you give a little more then youre asking for your love will turn the keyi i just want to be your everything open up the heaven in your heart and let me be the things you are to me and not some puppet on a string oh if i stay here without you darling i will die i want you laying in the love i have to bring id do anything to be your everythingdarling for so long you and me been finding each other for so long and the feeling that i feel for you is more then strong girl take it from me if you give a little more then youre asking for tour love will turn the keyi i just want to be your everything open up the heaven in your heart and let me be the things you are to me and not some puppet on a string oh if i stay here without you darling i will die i want you laying in the love i have to bring id do anything to be your everything ",1
3,"best of my love","the emotions",1977," doesnt take much to make me happy and make me smile never never will i feel discouraged cause our loves no mystery demonstrating love and affection that you give so openly yeah i like the way ya make me feel about you baby want the whole wide world to see chorus whoa whoa you got the best of my love whoa whoa you got the best of my love whoa whoa you got the best of my love whoa whoa youve got the best of my love goin in and out of changes the kind that come around each day my life has a better meaning love has kissed me in a beautiful way and oh yea my love my love oh yea my love my love oh you got the best of my love whoa whoa youve got the best of my love whoa whoa youve got the best of my love whoa whoa youve got the best of my love demonstrating sweet love and affection that you give so openly yeah the way i feel about ya baby cant explain it want the whole wide world to see ohhh but in my heart youre all i need you for me and me for you ohhh its growin every day ooooh ohhh oh oh oh oh oh youve got the best of my love ohhh oh oh oh oh oh youve got the best of my love ohhh givin you the best of my love my love ohh my love ohhh givin you the best of my love my love ohh oh yeah ohhh oh oh oh oh oh youve got the best of my love fade out ",1
4,"evergreen love theme from a star is born","barbra streisand",1977," love soft as an easy chair love fresh as the morning air one love that is shared by two i have found with youhey like a rose under the april snow oh yeah oh yeah i was always certain love would grow oh love ageless and evergreen ever ever green and seldom seen seldom seen by twoyou and i will make each night a first everyday a new beginning oh everyday a beginning darling do you know you make my spirits rise spirits rise and their dance is unrehearsed ooh they warm and excite us oh cause we have the brightest lovetwo lives that shine as one morning glory and midnight sun time time weve learned to sail above oh oh time time wont change the meaning of one love ageless and ever ever ever evergreen evergreen ",1
5,"angel in your arms","hot",1977,"hot miscellaneous angel in your arms do you think im such a fool to believe everything you say is true that just goes to show that you really dont know and while youre out painting the town do you think im home just sitting around waiting on you now whos really the fool when i first found out i hurt all over i felt so left out till i got to know her so i tried the way that she got over and i became just like her so dont be surprised to find that the angel in your arms this morning is gonna be the devil in someone elses arms tonight yes the angel in your arms this morning is gonna be the devil in someone elses arms tonight whyd you slip around secretly if you were tired of loving me whyd you keep holding on when love was already gone the times you said you werent feeling well did you think i couldnt tell youd been with someone else you were only kidding yourself when i first found out i hurt all over i felt so left out till i got to know her so i tried the way that she got over and i became just like her so dont be surprised to find that the angel in your arms this morning is gonna be the devil in someone elses arms tonight yes the angel in your arms this morning is gonna be the devil in someone elses arms tonight",3
6,"i like dreamin","kenny nolan",1977,"i like dreamin cause dreamin can make you mine i like dreamin closing my eyes and feeling fine when the lights go down im holding you so tight got you in my arms and its paradise til the morning light i see us on the shore beneath the bright sunshine weve walked along st thomas beach a million times hand in hand two barefoot lovers kissin in the sand side by side the tide rolls in im touching you youre touching me if only it could be i like dreamin cause dreamin can make you mine i like dreamin closing my eyes and feeling fine when the lights go down im holding you so tight got you in my arms and its paradise til the morning light through each dream how our love has grown i see us with our children and our happy home little smiles so warm and tender looking up at us blessed by love the world we share until i wake and reach for you and youre just not there i like dreamin cause dreaming can make you mine i like holding you close and touching your skin even if its in my mind sweet dream baby i love you ooh my sweet dream baby dont keep me waitin all my life i need you sweet dream baby i love you ooh sweet dream baby you in my dreams every night",3
7,"dont leave me this way","thelma houston",1977," dont leave me this way i cant survive i cant stay alive without you love oh baby dont leave me this way no i cant exist ill surely miss your tender kiss dont leave me this waybaby my heart is full of love and desire for you now come on down and do what youve gotta do you started this fire down in my soul now cant you see its burnin outta control come and satisfy the need in me cause only your good lovin can set me freedont dont ya leave me this way no dont ya understand im at your command oh baby please please dont leave me this way no baby dont leave me this way i cant survive i cant stay alive without your love baby dont leave me this waybaby my heart is full of love and desire for you so come on down and do what youve gotta do you started this fire down in my soul now cant you see its burnin outta control so come and satisfy the need in me only your good lovin can set me free need your lovin baby need needsatisfy the need in me satisfy the need in mehay hay baby come satisfy the need in me oh oh baby come satisfy the need in me oh baby dont leave me this way dont leave me this way ",1
8,"your love has lifted me higher and higher","rita coolidge",1977,NA,NA
9,"undercover angel","alan oday",1977,"cryin on my pillow lonely in my bed then i heard a voice beside me and she softly said wonder is your night light magic is your dream and as i held her she said see what i mean i said what she said oooooo wee i said alright she said love me love me love me undercover angel midnight fantasy ive never had a dream that made sweet love to me undercover angel answer to my prayer you made me know that theres a love for me out there somewhere yeah somewhere heavenly surrender sweet afterglow given up my heart to you now angel dont go she said go find the right one love her and then when you look into her eyes youll see me again i said what she said oooooo wee i said alright she said love me love me love me undercover angel midnight fantasy ive never had a dream that made sweet love to me undercover angel answer to my prayer you made me know that theres a love for me out there somewhere woh somewhere now you know my story and girl if its right im gonna take you in my arms and love you tonight underneath the covers the answer lies im lookin for my angel in your sweet lovin eyes she said what i said oooooo wee she said alright i said lay next to me she said what i said oooooo wee she said alright she said love me love me love me undercover angel midnight fantasy ive never had a dream that made sweet love to me undercover angel answer to my prayer you made me know that theres a love for me love me love me love me undercover angel midnight fantasy ive never had a dream that made sweet love to me undercover angel answer to my prayer you made me know that theres a love for me out there out there out there out out there woohh out there yeah out there out there",5
10,"torn between two lovers","mary macgregor",1977,"there are times when a woman has to say whats on her mind even though she knows how much its gonna hurt before i say another word let me tell you i love you let me hold you close and say these words as gently as i can theres been another man that ive needed and ive loved but that doesnt mean i love you less and he knows he cant possess me and he knows he never will theres just this empty place inside of me that only he can fill torn between two lovers feelin like a fool lovin both of you is breakin all the rules torn between two lovers feelin like a fool lovin you both is breakin all the rules you mustnt think youve failed me just because theres someone else you were the first real love i ever had and all the things i ever said i swear they still are true for no one else can have the part of me i gave to you torn between two lovers feelin like a fool lovin both of you is breakin all the rules torn between two lovers feelin like a fool lovin you both is breakin all the rules i couldnt really blame you if you turned and walked away but with everything i feel inside im asking you to stay torn between two lovers feelin like a fool lovin both of you is breakin all the rules torn between two lovers feelin like a fool lovin you both is breakin all the rules torn between two lovers unverified",3
11,"im your boogie man","kc and the sunshine band",1977,NA,NA
12,"dancing queen","abba",1977," ooh you can dance you can jive having the time of your life ooh see that girl watch that scene dig in the dancing queenfriday night and the lights are low looking out for a place to go where they play the right music getting in the swing you come to look for a king anybody could be that guy night is young and the musics high with a bit of rock music everything is fine youre in the mood for a dance and when you get the chanceyou are the dancing queen young and sweet only seventeen dancing queen feel the beat from the tambourine oh yeah you can dance you can jive having the time of your life ooh see that girl watch that scene dig in the dancing queenyoure a teaser you turn em on leave em burning and then youre gone looking out for another anyone will do youre in the mood for a dance and when you get the chance ",1
13,"you make me feel like dancing","leo sayer",1977," ahh ahh ha ahh ahh hayouve got a cute way of talking you got the better of me just snap your fingers and im walking like a dog hanging on your lead im in a spin you know shaking on string you knowyou make me feel like dancing im gonna dance the night away you make me feel like dancing im gonna dance the night away you make feel like dancing i feel like dancing whoo dancing whoo dance the night away yeah i feel like dancing dancing ahhhquarter to four in the morning i aint feeling tired no no no no no just hold me tight and leave on the light cause i dont want to go home you put a spell on me im right where you want me to beyou make me feel like dancing i want to dance the night away you make me feel like dancing im gonna dance the night away you make feel like dancing i feel like dancing dancing dance the night away i feel like dancing dancingahhh ahhh ahhhyou take me higher im gonna catch on fire causeyou make me feel like dancing i wanna dance the night away you make me feel like dancing im wanna dance the night away i feel like dancing whoo dancing whoo dance the night away yeah i feel like dancing whoo dancing whoo dance the night away i feel like dancing whoo dancing whoo dance the night away yeah i feel like dancing dancing ahhhyou really slipped me a potion i cant get off of the floor all this perpetual motion you gotta give me some more you gotta give me some more and if youll let me stay well dance our lives awayyou make me feel like dancing i wanna dance my life away you make me feel like dancing i wanna dance my life away you make me feel like dancing i wanna dance my life away i feel you make me feel like dancing ",1
14,"margaritaville","jimmy buffett",1977," nibblin on sponge cake watchin the sun bake all of those tourists covered in oil strummin my sixstring on my front porch swing smell those shrimp hey theyre beginnin to boilchorus wastin away again in margaritaville searching for my lost shaker of salt some people claim that theres a woman to blame but i know its nobodys faulti dont know the reason i stayed here all season nothin to show but this brand new tattoo but its a real beauty a mexican cutie how it got here i havent a cluechorus wastin away again in margaritaville searchin for my lost shaker of salt some people claim that theres a woman to blame now i think hell it could be my faulti blew out my flipflop stepped on a poptop cut my heel had to cruise on back home but theres booze in the blender and soon it will render that frozen concoction that helps me hang onwastin away again in margaritaville searching for my lost shaker of salt some people claim that theres a woman to blame but i know its my own damn fault yes and some people claim that theres a woman to blame and i know its my own damn fault ",1
15,"telephone line","electric light orchestra",1977," hello how are you have you been alright through all those lonely lonely lonely lonely lonely nights thats what id say id tell you everything if youd pick up that telephone yeah yeah yeahhey how you feelin are you still the same dont you realize the things we did we did were all for real not a dream and i just cant believe theyve all faded out of view yeah yeah yeahdoowop dooby doo doowop doowah doolang blue days black nights doowah doolangi look into the sky the love you need aint gonna see you through and i wonder why the little things you planned aint coming trueoh oh telephone line give me some time im living in twilight oh oh telephone line give me some time im living in twilightokay so no ones answering well cant you just let it ring a little longer longer longer longer oh ill just sit tight through shadows of the night but let it ring for evermore yeah yeah yeah oh ohdoowop dooby doo doowop doowah doolang blue days black nights doowah doolangi look into the sky the love you need aint gonna see you through and i wonder why the little things you planned aint coming trueoh oh telephone line give me some time im living in twilight oh oh telephone line give me some time im living in twilightoh oh telephone line give me some time im living in twilight oh oh telephone line give me some time im living in twilight ",1
16,"whatcha gonna do","pablo cruise",1977,"whatcha gonna do when she says goodbye whatcha gonna do when she is gone whatcha gonna do when she says goodbye whatcha gonna do when she is gone so youre having trouble with your romance well you better check it out before it goes cause you may not be seein things just the way you should and you dont recognize what everybody knows whatcha gonna do when she says goodbye whatcha gonna do when she is gone whatcha gonna do when she says goodbye whatcha gonna do when she is gone and all at once youre ready to hang it up cause things didnt turn out the way you planned and all your friends theyre calling you a fool cause you dont know a good thing when you got it in your hands instrumental interlude whatcha gonna do when she says goodbye whatcha gonna do when she is gone whatcha gonna do when she says goodbye whatcha gonna do when she is gone and all at once youre ready to hang it up cause things didnt turn out the way you planned and all your friends theyre calling you a fool cause you dont know a good thing when you got it in your hands whatcha gonna do when she says goodbye whatcha gonna do when she is gone whatcha gonna do when she says goodbye whatcha gonna do when she is gone",3
17,"do you wanna make love","peter mccann",1977,"sometimes the love rhymes that fill that afternoon lose all their meaning with the rising moon hold me and tell me that the words you say are true answer the question i must ask of you do you wanna make love or do you just want to fool around i guarantee it will bring you down if you try and fool yourself do you wanna make love or do you just want to fool around you can take it seriously or take it somewhere else take all the freedom that a lover will allow if you feel the feeling that im feeling now where love goes a fool knows that the hurt can go as deep dont make a promise that you cannot keep do you wanna make love or do you just want to fool around i guarantee it will bring you down if you try and fool yourself do you wanna make love or do you just want to fool around you can take it seriously or take it somewhere else if you wanna get close to me you could do it so easily is it love that i see when i look in your eyes or just another empty lie do you wanna make love or do you just want to fool around i guarantee it will bring you down if you try and fool yourself well do you wanna make love or do you just want to fool around you can take it seriously or take it somewhere else",3
18,"sir duke","stevie wonder",1977," music is a world within itself with a language we all understand with an equal opportunity for all to sing dance and clap their hands but just because a record has a groove dont make it in the groove but you can tell right away at letter a when the people start to movethey can feel it all over they can feel it all over people they can feel it all over they can feel it all over peoplemusic knows it is and always will be one of the things that life just wont quit but here are some of musics pioneers that time will not allow us to forget for theres basie miller sachmo and the king of all sir duke and with a voice like ellas ringing out theres no way the band can loseyou can feel it all over you can feel it all over people you can feel it all over you can feel it all over people you can feel it all over you can feel it all over people you can feel it all over you can feel it all over people you can feel it all over you can feel it all over people you can feel it all over you can feel it all over people you can feel it all over you can feel it all over people you can feel it all over ",1
19,"hotel california","eagles",1977,"on a dark desert highway cool wind in my hair warm smell of colitas rising up through the air up ahead in the distance i saw a shimmering light my head grew heavy and my sight grew dim i had to stop for the night there she stood in the doorway i heard the mission bell then i was thinking to myself this could be heaven or this could be hell then she lit up a candle and she showed me the way there were voices down the corridor i thought i heard them say welcome to the hotel california such a lovely place such a lovely place such a lovely face plenty of room at the hotel california any time of year any time of year you can find it here her mind is tiffany twisted she got the mercedes bends she got a lot of pretty pretty boys that she calls friends how they dance in the courtyard sweet summer sweat some dance to remember some dance to forget so i called up the captain please bring me my wine he said we havent had that spirit here since 1969 and still those voices are calling from far away wake you up in the middle of the night just to hear them say welcome to the hotel california such a lovely place such a lovely place such a lovely face theyre living it up at the hotel california what a nice surprise what a nice surprise bring your alibis mirrors on the ceiling the pink champagne on ice and she said we are all just prisoners here of our own device and in the masters chambers they gathered for the feast they stab it with their steely knives but they just cant kill the beast last thing i remember i was running for the door i had to find the passage back to the place i was before relax said the night man we are programmed to receive you can check out any time you like but you can never leave",3
20,"got to give it up","marvin gaye",1977," i used to go out to parties and stand around cause i was too nervous to really get downbut my body yearned to be free i got up on the floor and found someone to choose meno more standin along the side walls now ive got myself together baby and im havin a ball long as you prove it theres always a chance somebody watches might wanna make romancemove your body ooo baby you dance all night to the groove and feel all right everybodys groovin on like a fool but if you see me top down let me in baby just party high and low let me step into your erotic zonemove it up turn it round ooo shake it down owwwwyou can love me when you want to babe this is such a groovy party baby were here face to face everybodys swingin this is such a groovy place all the young ladies are so fine youre movin your body easy with no doubts i know what you thinkin baby you wanna turn me out think im gonna let you do it babekeep on dancin got to give it up keep on dancin got to give it up keep on dancin got to give it up keep on dancin got to give it up keep on dancin got to give it up keep on dancin you got to get it got to give it up keep on dancin got to give it up ",1
21,"gonna fly now","bill conti deetta little and nelson pigford",1977,NA,NA
22,"southern nights","glen campbell",1977," southern nights have you ever felt a southern night free as a breeze not to mention the trees whistling tunes that you know and love sosouthern nights just as good even when closed your eyes i apologize to anyone who can truly say that he has found a better waysouthern skies have you ever noticed southern skies its precious beauty lies just beyond the eye it goes running through your soul like the stories told of old old man he and his dog that walked the old land evry flower touched his cold hand as he slowly walked by weeping willows would cry for joy joyfeel so good feel so good its frigthning wish i could stop this world from fighting la da da da da da la da da da da da da da damysteries like this and many others in the trees blow in the night in the southern skiessouthern nights they feel so good its frightning wish i could stop this world from fighting la da da da da da la da da da da da da da da da da da da da da da da ",1
23,"rich girl","hall  oates",1977,"hall  oates miscellaneous rich girl youre a rich girl and youve gone too far  cause you know it dont matter anyway  you can rely on the old mans money  you can rely on the old mans money  i ts a bitch girl but its gone too far  cause you know it dont matter anyway  say money but it wont get you too far  get you too far  and dont you know dont you know  that its wrong to take what is given you  so far gone on your own  you can get along if you try to be strong  but youll never be strong  cause  youre a rich girl and youve gone too far cause you know it dont matter anyway  you can rely on the old mans money  you can rely on the old mans money  its a bitch girl and its gone too far  cause you know it dont matter anyway  say money but it wont get you too far  get you too far  high and dry out of the rain its so easy to hurt others when you cant feel pain  and dont you know that a love cant grow cause theres too much to give cause youd rather live  for the thrill of it all oh  youre a rich girl and youve gone too far cause you know it dont matter anyway  you can rely on the old mans money  you can rely on the old mans money  its a bitch girl and its gone too far  cause you know it dont matter anyway  say money but it wont get you too far  say money but it wont get you too far  say money but it wont get you too far  get you too far  and you say  you can rely on the old mans money  you can rely on the old mans money  youre a rich girl a rich girl  oh youre a rich rich girl yeah  say money but it wont get you too far  oh get ya too far",3
24,"when i need you","leo sayer",1977," when i need you i just close my eyes and im with you and all that i so wanna give you its only a heartbeat awaywhen i need love i hold out my hands and i touch love i never knew there was so much love keeping me warm night and daymiles and miles of empty space in between us a telephone cant take the place of your smile but you know i wont be travellin forever its cold out but hold out and do like i dowhen i need you i just close my eyes and im with you and all that i so wanna give you babe its only a heartbeat awayits not easy when the road is your driver honey thats a heavy load that we bear but you know i wont be travellin a lifetime its cold out but hold out and do like i dooh i need youwhen i need love i hold out my hands and i touch love i never knew there was so much love keeping me warm night and daywhen i need you i just close my eyes and youre right here by my side keepin me warm night and dayi just hold out my hands i just hold out my hands and im with you darlin yes im with you darlinall i wanna give you its only a heartbeat away oh i need you darlin oh i want you darlin ",1
25,"hot line","the sylvers",1977," number pleasehot line hot line calling on the hot line for your love for your love hot line hot line calling on the hot line on the hot lineim calling on the hot line for your love baby cause im burnin up like a house on fire my desire is climbin higher babygirl the way you move your lips i can tell you got fire in your kiss the way you flash your eyes looks like lightnin lightin up the skystop all the calls in the world till i catch you girl catch you at home i asked the cia if it was okay to use their private phone oh baby babyhot line hot line calling on the hot line for your love for your love hot line hot line calling on the hot line on the hot lineoperator excuse me please but this is more than an emergency take those phones offa your ears cause this is only for my baby to hearstop all the calls in the world till i catch you girl catch you at home i asked the cia they said it was okay to use their private phone oh baby babyhot line hot line calling on the hot line for your love for your love hot line hot line calling on the hot line on the hot linebaby where are you here am i should i get in touch with the fbi i know my call will be accepted theres no chance of bein disconnectedon the hot line hot line calling on the hot line for your love for your love hot line hot line calling on the hot line on the hot linedont keep it busy dont make me dizzy your love makes me want to shout youre my lover undercover you know what im talkin abouthot line hot line calling on the hot line for your love for your love ",1
26,"car wash","rose royce",1977," ooh ooh you might not ever get rich but let me tell ya its better than diggin a ditch there aint no tellin who you might meet a movie star or maybe even an indian chiefworkin at the car wash workin at the car wash yeah come on and sing it with me car wash sing it with the feelin yall car wash yeahoohcome summer the work gets kinda hot this aint no place to be if you planned on bein a star let me tell you its always cool and the boss dont mind sometimes if you act a foolat the car wash whoa whoa whoa whoa talkin about the car wash yeah come on yaall and sing it for me car wash wooh oooh oooh car wash yeahwork and work well those cars never seem to stop coming work and work keep those rags and machines humming work and work my fingers to the bone work i cant wait till its time to go homehey get your car washed today fill up and you dont have to pay come on and give us a play do the wash right awaythe car wash talkin bout the car wash car wash yeah come on yall lets sing it with me car wash sing it with feelin yall car wash yeahwhoa whoa whoa whoa car wash those cars never seem to stop comin whatd i say keep those rags and machines hummin car wash let me tell you its always cool and the boss dont mind sometimes if you act a foolat the car wash workin at the car wash yeah yeah yeah yeah yeah car wash talkin about the car washcar wash car wash yeah car wash car wash yeah car wash car wash yeah car wash car wash yeah ",1
27,"you dont have to be a star to be in my show","marilyn mccoo  billy davis jr",1977,NA,NA
28,"fly like an eagle","steve miller band",1977," time keeps on slippin slippin slippin into the future time keeps on slippin slippin slippin into the futurei want to fly like an eagle to the sea fly like an eagle let my spirit carry me i want to fly like an eagle till im free oh lord through the revolutionfeed the babies who dont have enough to eat shoe the children with no shoes on their feet house the people livin in the street oh oh theres a solutioni want to fly like an eagle to the sea fly like an eagle let my spirit carry me i want to fly like an eagle till im free fly through the revolutiontime keeps on slippin slippin slippin into the future time keeps on slippin slippin slippin into the future time keeps on slippin slippin slippin into the future time keeps on slippin slippin slippin into the futurei want to fly like an eagle to the sea fly like an eagle let my spirit carry me i want to fly like an eagle till im free fly through the revolutiontime keeps on slippin slippin slippin into the future time keeps on slippin slippin slippin into the future ",1
29,"dont give up on us","david soul",1977," dont give up on us baby dont make the wrong seem right the future isnt just one night its written in the moonlight painted on the stars we cant change oursdont give up on us baby were still worth one more try i know we put a last one by just for a rainy evening when maybe stars are few dont give up on us i know we can still come throughi really lost my head last night youve got a right to start believin theres still a little love left even sodont give up on us baby lord knows weve come this far cant we stay the way we are the angel and the dreamer who sometimes plays a fool dont give up on us i know we can still come throughits written in the moonlight painted on the stars we cant change oursdont give up on us baby were still worth one more try i know we put a last one by just for a rainy evening when maybe stars are few dont give up on us i know we can still come throughdont give up on us baby dont give up on us baby ",1
30,"on and on","stephen bishop",1977," down in jamaica they got lots of pretty women steal your money then they break your heart lonesome sue shes in love with ol sam take him from the fire into the frying panon and on she just keeps on trying and she smiles when she feels like crying on and on on and on on and onpoor ol jimmy sits alone in the moonlight he saw his woman kiss another man so he takes a ladder steals the stars from the sky puts on sinatra and starts to cryon and on he just keeps on trying and he smiles when he feels like crying on and on on and on on and onwhen the first time is the last time it can make you feel so bad but if you know it show it hold on tight dont let her say goodnighti got the sun on my shoulders and my toes in the sand my womans left me for some other man but i dont care ill just dream and stay tan toss up my heart to see where it landson and on i just keep on trying and i smile when i feel like dying on and on on and on on and on on and on on and on on and on on and on on and on on and on ",1
31,"feels like the first time","foreigner",1977," i would climb any mountain sail across the stormy sea if thats what it takes me baby to show how much you mean to me and i guess that its just the woman in you that brings out the man in me i know i cant help myself youre all in the world to meit feels like the first time feels like the very first time it feels like the first time it feels like the very first timei have waited a lifetime spent my time so foolishly but now that i found you together well make history and i know that it must be the woman in you that brings out the man in me i know i cant help myself youre all my eyes can seeand it feels like the first time like it never did before feels like the first time like weve opened up the door feels like the first time like it never will again never againit feels like the first time feels like the very first time it feels like the first time it feels like the very first timewont you open up the doorit feels like the first time feels like the very first time it feels like the first time it feels like the very first time ",1
32,"couldnt get it right","climax blues band",1977," time was drifting this rock had got to roll so i hit the road and made my getaway restless feeling really got a hold i started searching for a better wayand i kept on looking for a sign in the middle of the night but i couldnt see the light no i couldnt see the light i kept on looking for a way to take me through the night couldnt get it right couldnt get it rightphilly fever made me feel alright but i must admit it got the best of me gettin down so deep i couldve drowned now i cant get back the way i used to beand i kept on looking for a sign in the middle of the night but i couldnt see the light no i couldnt see the light i kept on looking for a way to take me through the night couldnt get it right couldnt get it rightnew york city took me with the tide and i nearly died from hospitality left me stranded took away my pride just another no account fatalityand i kept on looking for a sign in the middle of the night but i couldnt see the light no i couldnt see the light i kept on looking for a way to take me through the night couldnt get it right couldnt get it righti kept on looking for a sign in the middle of the night but i couldnt see the light no i couldnt see the light i kept on looking for a way to take me through the night couldnt get it right couldnt get it righti kept on looking for a sign in the middle of the night but i couldnt see the light no i couldnt see the light i kept on looking for a way to take me through the night couldnt get it right couldnt get it righti kept on looking for a sign in the middle of the night but i couldnt see the light no i couldnt see the light i kept on looking for a way to take me through the night couldnt get it right couldnt get it rightcouldnt get it right ",1
33,"easy","commodores",1977," know it sounds funny but i just cant stand the pain girl im leaving you tomorrow seems to me girl you know ive done all i can you see i begged stole and i borrowed yeahooh thats why im easy im easy like sunday morning thats why im easy im easy like sunday morningwhy in the world would anybody put chains on me ive paid my dues to make it everybody wants me to be what they want me to be im not happy when i try to fake it noooh thats why im easy im easy like sunday morning thats why im easy im easy like sunday morningi wanna be high so high i wanna be free to know the things i do are right i wanna be free just me whoa oh babethats why im easy im easy like sunday morning yeah thats why im easy im easy like sunday morning whoa cause im easy easy like sunday morning yeah cause im easy easy like sunday morning ",1
34,"right time of the night","jennifer warnes",1977," sun goes down on a silky day quarter moon walkin through the milky way oh you and me baby we could think of somethin to doits the right time of the night the stars are winkin above its the right time of the night for makin loveno use talkin when the shadows fall nightbirds callin and he says it all oh you and me baby we could think of somethin to doits the right time of the night the stars are winkin above its the right time of the night for makin loveive got you youve got me tell you thats the way my momma always said it should be ill be cruel youll be kind well be bad if you dont mindits the right time of the night the stars are winkin above its the right time of the night for makin loveits the right time of the night the stars are winkin above its the right time of the night makin loveits the right time of the night the stars are winkin above its the right time of the night for makin love ",1
35,"ive got love on my mind","natalie cole",1977," ive got love on my mind ive got love on my mind ive got love on my mindand theres nothing particular wrong its a feeling i feel inside when i woke up early this morning it was staring me straight in my eyeive got love on my mind ive got love on my mind ive got love on my mindwhen you touch me i cant resist and youve touched me a thousand times when i think of your tender kiss then and there i start to unwindin your arms i like to be caressing you gently and passionately from sunrise to sunset and all through the day ive been waiting for your return and you know this is where ill be i can say to the world i learned only you can satisfy me satisfy meyou have made me so happy happylove love love on my my my mind love love love on my mind love love love on my mind love love on my mind love love love love love love lovelove on my mind love on my mind love on my mind love on my mind love on my mind love on my mind ",1
36,"blinded by the light","manfred manns earth band",1977," blinded by the light revved up like a deuce another runner in the night blinded by the light revved up like a deuce another runner in the night blinded by the light revved up like a deuce another runner in the night madman drummers bummers indians in the summer with a teenage diplomat in the dumps with the mumps as the adolescent pumps his way into his hat with a boulder on my shoulder feelin kinda older i tripped the merrygoround with this very unpleasin sneezin and wheezin the calliope crashed to the ground the calliope crashed to the ground but she was blinded by the light revved up like a deuce runner in the night blinded by the light revved up like a deuce another runner in the night blinded by the light revved up like a deuce another runner in the night blinded by the light revved up like a deuce another runner in the night some silicone sister with a manager mister told me i go what it takes she said ill turn you on sonny to something strong play the song with the funky break and gocart mozart was checkin out the weather chart to see if it was safe outside and little earlypearly came by in his curlywurly and asked me if i needed a ride asked me if i needed a ride but she was blinded by the light revved up like a deuce another runner in the night blinded by the light she got down but she never got tired shes gonna make it through the night shes gonna make it through the night but mama thats where the fun is but mama thats where the fun is mama always told me not to look into the eyes of the sun but mama thats where the fun is some brimstone baritone anticyclone rolling stone preacher from the east says dethrone the dictaphone hit it in its funny bone thats where they expect it least and some newmown chaperone was standin in the corner watching the young girls dance and some freshsown moonstone was messin with his frozen zone reminding him of romance the calliope crashed to the ground but she was blinded by the light revved up like a deuce another runner in the night blinded by the light revved up like a deuce another runner in the night blinded by the light revved up like a deuce another runner in the night blinded by the light revved up like a deuce another runner in the night blinded by the light revved up like a deuce another runner in the night blinded by the light revved up like a deuce another runner in the night blinded by the light revved up like a deuce another runner in the night blinded by the light revved up like a deuce another runner in the night blinded by the light revved up like a deuce another runner in the night blinded by the light madman drummers bummers indians in the summer with a teenage diplomat in the dumps with the mumps as the adolescent pumps his way into his hat with a boulder on my shoulder feelin kinda older i tripped the merrygoround with this very unpleasin sneezin and wheezin the calliope crashed to the ground now scott with a slingshot finially found a tender spot and throws his lover in the sand and some bloodshot forgetmenot said daddys within earshot save the buckshot turn up the band some silicone sister with a manager mister told me i go what it takes she said ill turn you on sonny to something strong ",1
37,"looks like we made it","barry manilow",1977," there you are lookin just the same as you did last time i touched you and here i am close to gettin tangled up inside the thought of you do you love him as much as i love her and will that love be strong when old feelings start to stirlooks like we made it left each other on the way to another love looks like we made it or i thought so till today until you were there everywhere and all i could taste was love the way we made itloves so strange playin hide and seek with hearts and always hurtin were the fools standin close enough to touch those burnin memories and if i hold you for the sake of all those times love made us lose our minds could i ever let you gowhoa no we made it left each other on the way to another love looks like we made it or i thought so till today until you were there everywhere and all i could taste was love the way we made itoh we made itlooks like we made it left each other on the way to another love looks like we made it or i thought so till today until you were there everywhere and all i could taste was love the way we made itlooks like we made itoh babe we made it ",1
38,"so in to you","atlanta rhythm section",1977,"when you walked into the room there was voodoo in the vibes i was captured by your style but i could not catch your eyes now i stand here helplessly hoping youll get into me i am so into you i cant think of nothing else i am so into you i cant think of nothing else thinking how its going to be whenever you get into me its gonna be good dont you know from your head to your toe gonna love you all over over and over i am so into you me into you you into me me into you i am so into you i cant get to nothing else i am so into you i cant get to nothing else thinking how its going to be whenever you get into me come on baby drivin me crazy im so into you love all the things you do",3
39,"dreams","fleetwood mac",1977," now here you go again you say you want your freedom well who am i to keep you down its only right that you should play the way you feel it but listen carefully to the sound of your loneliness like a heartbeat drives you mad in the stillness of remembering what you had and what you lost and what you had and what you lostthunder only happens when its raining players only love you when theyre playing say women they will come and they will go when the rain washes you clean youll know youll knownow here i go again i see the crystal visions i keep my visions to myself its only me who wants to wrap around your dreams and have you any dreams youd like to sell dreams of loneliness like a heartbeat drives you mad in the stillness of remembering what you had and what you lost and what you had and what you lostthunder only happens when its raining players only love you when theyre playing women they will come and they will go when the rain washes you clean youll know ",1
40,"enjoy yourself","the jacksons",1977,"enjoy yourself enjoy yourself enjoy yourself for me enjoy yourself enjoy yourself enjoy yourself for me you better enjoy yourself you better enjoy yourself you sittin over there starin into space while people are dancin dancin all over the place you shouldnt worry about the things you cant control come on girl while the night is young why dont you make yourself race go enjoy yourself enjoy yourself enjoy yourself for me enjoy yourself enjoy yourself enjoy yourself for me lets have some fun lets have a good time you and me sittin there witcha mouth poked out just as sweet as you could be why dont you live live the life you got come on girl hit it while the feelin is gettin hot and hot enjoy yourself enjoy yourself enjoy yourself for me enjoy yourself enjoy yourself enjoy yourself for me baby girl ive been watchin you i can wipe away that frown oh you and i can get together we can tear the house down we can tear the house down we can tear the whole house down enjoy yourself enjoy yourself enjoy yourself for me enjoy yourself enjoy yourself enjoy yourself for me you better enjoy yourself you got to enjoy yourself say it again enjoy yourself enjoy yourself get down get down get on down enjoy yourself enjoy yourself get down get down get on down enjoy yourself enjoy yourself get down get down just get on down enjoy yourself enjoy yourself get down get down just get on down come on come on come on come on come on come on come on you can do it you can do it you can do it you can do it hey hey get on down enjoy yourself enjoy yourself get down get down get down now enjoy yourself enjoy yourself get down get down just get on down enjoy yourself enjoy yourself get down get down get down get down enjoy yourself enjoy yourself get down get down just just just get on down enjoy yourself enjoy yourself get down get down enjoy yourself enjoy yourself get down get down get down get down enjoy yourself enjoy yourself",3
41,"dazz","brick",1977," everybody go on and dance if you want to music makes your body move well all right funky dancing get up get down shake your booty music makes your body move well all righteverybody go on and dance if you want to music makes your body move well all rightjazz dazz disco jazz jazz dazz disco jazz jazz dazz disco jazz jazz dazz disco jazzjazz dazz disco jazz jazz dazz disco jazz jazz dazz disco jazz jazz dazz disco jazzfunky dancing get up get down shake your booty music makes your body move well all rightjazz dazz disco jazz jazz dazz disco jazz jazz dazz disco jazz jazz dazz disco jazzjazz dazz disco jazz jazz dazz disco jazz jazz dazz disco jazz jazz dazz disco jazzjazz dazz disco jazz jazz dazz disco jazz jazz dazz disco jazz jazz dazz disco jazzjazz dazz disco jazz jazz dazz disco jazz jazz dazz disco jazz ",1
42,"im in you","peter frampton",1977," i dont care where i go when im with you when i cry you dont laugh cause you know meim in you youre in me im in you youre in me cause you gave me the love love that i never had yes you gave me the love love that i never hadyou and i dont pretend we make love i cant feel anymore than im singing yeahim in you youre in me im in you youre with me cause you gave me the love love that i never had you gave me the love love that i never hadcome so far when you think of last fall you cant die but remain you and iim in you youre in me im in you youre with me cause you gave me the love love that i never had yes you gave me the love love that i never hadyou gave me the love love that i never had i dont care where i go when im with you ",1
43,"lucille","kenny rogers",1977," in a bar in toledo across from the depot on a barstool she took off her ring i thought id get closer so i walked on over i sat down and asked her name when the drinks finally hit her she said im no quitter but i finally quit livin on dreams im hungry for laughter and here ever after im after whatever the other life brings in the mirror i saw him and i closely watched him i thought how he looked out of place he came to the woman who sat there beside me he had a strange look on his face the big hands were calloused he looked like a mountain for a minute i thought i was dead but he started shaking his big heart was breaking he turned to the woman and saidyou picked a fine time to leave me lucille with four hungry children and a crop in the field ive had some bad times lived through some sad times but this time your hurting wont heal you picked a fine time to leave me lucilleafter he left us i ordered more whiskey i thought how shed made him look small from the lights of the barroom to a rented hotel room we walked without talking at all she was a beauty but when she came to me she must have thought id lost my mind i couldnt hold her cause the words that he told her kept coming back time after timeyou picked a fine time to leave me lucille with four hungry children and a crop in the field ive had some bad times lived through some sad times but this time your hurting wont heal you picked a fine time to leave me lucille ",1
44,"the things we do for love","10cc",1977," too many broken hearts have fallen in the river too many lonely souls have drifted out to sea you lay your bets and then you pay the price the things we do for love the things we do for love communication is the problem to the answer youve got her number and your hand is on the phone the weathers turned and all the lines are down the things we do for love the things we do for love like walking in the rain and the snow when theres nowhere to go and youre feelin like a part of you is dying and youre looking for the answer in her eyes you think youre gonna break up then she says she wants to make up ooh you made me love you ooh youve got a way ooh you had me crawling up the wall like walking in the rain and the snow when theres nowhere to go and youre feelin like a part of you is dying and youre looking for the answer in her eyes you think youre gonna break up then she says she wants to make up ooh you made me love you ooh youve got a way ooh you had me crawling up the wall a compromise would surely help the situation agree to disagree but disagree to part when after all its just a compromise of the things we do for love the things we do for love the things we do for love the things we do for love the things we do for love the things we do for love the things we do for love the things we do for love the things we do for love the things we do for love the things we do for love the things we do for love the things we do for love the things we do for love the things we do for love the things we do for love the things we do for love the things we do for love the things we do for love the things we do for love ",1
45,"da doo ron ron","shaun cassidy",1977,"shaun cassidy miscellaneous da doo ron ron da doo ron ron shaun cassidy i met her on a monday and my heart stood still da doo ron ron ron da doo ron ron ron someboy told me that her name was jill da doo ron ron ron da doo ron ron ron yes my heart stood still yes her name was jill and when i walked her home da doo ron ron ron da doo ron ron ron i knew what she was thinkin when she caught my eye da doo ron ron ron da doo ron ron ron i looked so quiet but my oh my da doo ron ron ron da doo ron ron ron yes she caught my eye yes but my oh my and when i walked her home da doo ron ron ron da doo ron ron ron well i picked her up at seven and she looked so fine da doo ron ron ron da doo ron ron ron someday soon im gonna make her mine da doo ron ron ron da doo ron ron ron yes he looked so fine yes ill make her mine and when i walked her home da doo ron ron ron da doo ron ron ron yeah yeah yeah da doo ron ron ron da doo ron ron ron repeat  fade ",3
46,"handy man","james taylor",1977,"hey girls gather round listen to what im putting down hey baby im your handy man im not the kind to use a pencil or rule im handy with love and im no fool i fix broken hearts i know that i truly can if your broken heart should need repair then i am the man to see i whisper sweet things you tell all your friends theyll come runnin to me here is the main thing i want to say im busy 24 hours a day i fix broken hearts i know that i truly can come come come come come come come yeah yeah yeah come come come come come come oh now theyll come runnin to me here is the main thing i want to say im busy 24 hours a day i fix broken hearts baby im your handy man come come come come come come yeah yeah yeah come come come come come come yeah yeah yeah thats me come come come come come come im your handy man yeah yeah yeah thats me come come come come come come im your handy man yeah yeah yeah",3
47,"just a song before i go","crosby stills  nash",1977,"just a song before i go to whom it may concern traveling twice the speed of sound its easy to get burned when the shows were over we had to get back home and when we opened up the door i had to be alone she helped me with my suitcase she stands before my eyes driving me to the airport and to the friendly skies going through security i held her for so long she finally looked at me in love and she was gone just a song before i go a lesson to be learned traveling twice the speed of sound its easy to get burned",3
48,"you and me","alice cooper",1977," when i get home from work wanna wrap myself around you i wanna take you and squeeze you till the passion starts to risei wanna take you to heaven that would make my day complete but you and me aint no movie stars what we are is what we are we share a bed some lovin and tv yeahand thats enough for a workin man what i am is what i am and i tell you babe well thats enough for mesometimes when youre asleep and im just starin at the ceiling i wanna reach out and touch you but you just go on dreaminif i could take you to heaven that would make my day complete cause you and me aint no movie stars what we are is what we are i tell you sweetheart thats just enough for meyou and me aint no super stars what we are is what we are we share a bed popcorn and tv yeahbut thats enough for a workin man what i am is what i am and i tell you babe youre just enough for mewhen i get home from work i wanna wrap myself around you i like to hold you squeeze you till the passion starts to risei wanna take you to heaven that would make my day complete ",1
49,"swayin to the music slow dancing","johnny rivers",1977,NA,NA
50,"lonely boy","andrew gold",1977," he was born on a summer day 1951 and with a slap of a hand he had landed as an only son his mother and father said what a lovely boy well teach him what we learned ah yes just what we learned well dress him up warmly and well send him to school itll teach him how to fight to be nobodys fooloh what a lonely boy oh what a lonely boy oh what a lonely boyin the summer of 53 his mother brought him a sister and she told him we must attend to her needs shes so much younger than you well he ran down the hall and he cried oh how could his parents have lied when they said he was an only son he thought he was the only oneoh what a lonely boy oh what a lonely boy oh what a lonely boygoodbye mama goodbye to you goodbye papa im pushing on throughhe left home on a winter day 1969 and he hoped to find all the love he had lost in that earlier time well his sister grew up and she married a man he gave her a son ah yes a lovely son they dressed him up warmly they sent him to school it taught him how to fight to be nobodys fooloh what a lonely boy oh what a lonely boy oh what a lonely boy  ",1
51,"i wish","stevie wonder",1977," looking back on when i was a little nappy headed boy then my only worry was for christmas what would be my toy even though we sometimes would not get a thing we were happy with the joy the day would bring sneaking out the back door to hang out with those hoodlum friends of mine greeted at the back door but thought i told you not to go outside tryin your best to bring the water to your eyes thinkin it might stop her from woopin your behind i wish those days could come back once more why did those days ever have to go i wish those days could come back once more why did those days ever have to go cause i love them so brother says hes tellin bout you playin doctor with that girl just dont tell ill give you anything you want in this whole wide world mama gives you money for sunday school you trade yours for candy after church is through smokin cigarettes and writing something nasty on the wall you nasty boy teacher sends you to the principals office down the wall you grow up and learn that kinda thing aint right but while you were doinitit sure felt outta sight i wish those days could come back once more why did those days ever have to go i wish those days could come back once more why did those days ever have to go ",1
52,"dont stop","fleetwood mac",1977," if you wake up and dont want to smile if it take just a little while open your eyes and look at the day youll see things in a different waydont stop thinking about tomorrow dont stop itll soon be here itll be better than before yesterdays gone yesterdays gonewhy not think about times to come and not about the things that youve done if your life was bad to you just think what tomorrow will dodont stop thinking about tomorrow dont stop itll soon be here itll be better than before yesterdays gone yesterdays goneall i want is to see you smile if it takes just a little while i know you dont believe that its true i never meant any harm to youdont stop thinking about tomorrow dont stop itll soon be here itll be better than before yesterdays gone yesterdays gonedont stop thinking about tomorrow dont stop itll soon be here itll be better than before yesterdays gone yesterdays goneooh dont you look back ooh dont you look back ooh dont you look back ooh dont you look back ",1
53,"barracuda","heart",1977," so this aint the end i saw you again today i had to turn my heart away smiled like the sun kisses for everyone and tales it never failsyou lying so low in the weeds i bet you gonna ambush me youd have me down down down on my knees now wouldnt you barracuda ohback over time we were all trying for free you met the porpoise and me no right no wrong youre selling a song a name whisper gameif the real thing dont do the trick you better make up something quick you gonna burn burn burn burn burn to the wick oooo barracuda oh yeahsell me sell you the porpoise said dive down deep to save my head you i think you got the blues tooall that night and all the next swam without looking back made for the western pools silly silly foolsif the real thing dont do the trick no you better make up something quick you gonna burn burn burn burn burn it to the wick oooo barrabarracuda ",1
54,"strawberry letter 23","the brothers johnson",1977,"hello my love i heard a kiss from you red magic satin playing near too all through the morning rain i gave the sun doesnt shine rainbows and waterfalls run through my mind in the garden i see west purples shower bells and tea orange birds and river cousins dressed in green pretty music i hear so happy and loud blue flowers echo from a cherry cloud feel sunshine sparkle pink and blue playgrounds will laugh if you try to ask well is it cool is it cool if you arrive and dont see me im gonna be with my baby yeah i am free flying in her arms over the sea stained window yellow candy screen see speakers of kite with velvet roses diggin freedom flight a present from you strawberry letter 22 the music plays i sit in for a few a present from you strawberry letter 22 the music plays i sit in for a few",3
55,"night moves","bob seger  the silver bullet band",1977,NA,NA
56,"youre my world","helen reddy",1977," youre my world youre every breath i take youre my world youre every move i make other eyes see the stars up in the sky but for me they shine within your eyesas the trees reach for the sun above so my arms reach out to you for love with your hand resting in mine i feel a power so divineyoure my world you are my night and day youre my world youre every prayer i pray if our love ceases to be then its the end of my world for mewith your hand resting in mine i feel a power so divine ",1
57,"heard it in a love song","the marshall tucker band",1977," i aint never been with a woman long enough for my boots to get old weve been together so long now they both need resoledif i ever settle down youd be my kind and its a good time for me to head on down the lineheard it in a love song heard it in a love song heard it in a love song cant be wrongim the kinda man who likes to get away likes to start dreamin about tomorrow today never said that i loved you even though its sowheres that duffle bag of mine its time to goheard it in a love song heard it in a love song heard it in a love song cant be wrongim gonna be leavin at the break of dawn wish you could come but i dont need no woman taggin along always something greeneron the other side of that hill i was born a wrangler and a rounder and i guess i always willheard it in a love song heard it in a love song heard it in a love song cant be wrong ",1
58,"carry on wayward son","kansas",1977," carry on my wayward son for therell be peace when you are done lay your weary head to rest dont you cry no moreonce i rose above the noise and confusion just to get a glimpse beyond the illusion i was soaring ever higher but i flew too high though my eyes could see i still was a blind man though my mind could think i still was a mad man i hear the voices when im dreamin i can hear them saycarry on my wayward son for therell be peace when you are done lay your weary head to rest dont you cry no moremasquerading as a man with a reason my charade is the event of the season and if i claim to be a wise man it surely means that i dont know on a stormy sea of moving emotion tossed about im like a ship on the ocean i set a course for winds of fortune but i hear the voices saycarry on my wayward son for therell be peace when you are done lay your weary head to rest dont you cry no morecarry on you will always remember carry on nothing equals the splendor now your lifes no longer empty surely heaven waits for youcarry on my wayward son for therell be peace when you are done lay your weary head to rest dont you cry no more ",1
59,"new kid in town","eagles",1977,"theres talk on the street it sounds so familiar great expectations everybodys watching you people you meet they all seem to know you even your old friends treat you like youre something new johnny come lately the new kid in town everybody loves you so dont let them down you look in her eyes the music begins to play hopeless romantics here we go again but after a while youre looking the other way its those restless hearts that never mend johnny come lately the new kid in town will she still love you when youre not around theres so many things you should have told her but night after night youre willing to hold her just hold her tears on your shoulder theres talk on the street its there to remind you that it doesnt really matter which side youre on youre walking away and theyre talking behind you they will never forget you till somebody new comes along where youve been lately theres a new kid in town everybody loves him dont they now hes holding her and youre still around oh my my theres a new kid in town just another new kid in town oh oh everybodys talking bout the new kid in town oh oh everybodys walking like the new kid in town theres a new kid in town i dont want to hear it theres a new kid in town i dont want to hear it theres a new kid in town theres a new kid in town theres a new kid in town everybodys talking theres a new kid in town people started walking theres a new kid in town theres a new kid in town theres a new kid in town",3
60,"my heart belongs to me","barbra streisand",1977," i got the feelin the feelins gone my heart has gone to sleep one of these mornins ill be gone my heart belongs to me can we believe in fairy tales can love survive when all else fails cant hide the feelin the feelins gone my heart belongs to mebut now my love hey didnt i love you but we knew what had to be somehow my love ill always love you but my heart belongs to meput out the light and close your eyes come lie beside me dont ask why cant hide the feeling the feelins gone my heart belongs to mebut know my love hey didnt i love you didnt i love you didnt i love you didnt i love you baby dont cry my love ill always love you but my heart belongs to me my heart belongs to me i got the feelin the feelins gone my heart belongs to me ",1
61,"after the lovin","engelbert humperdinck",1977," so i sing you to sleep after the lovin with a song i just wrote yesterday and i hope you can hear what the words and the music have to sayits so hard to explain everything that im feelin face to face i just seem to go dry cause i love you so much that the sound of your voice can get me highthanks for takin me thanks for takin me on a one way trip to the sun on a one way trip to the sun and thanks for turnin me turnin me into a someone someoneso i sing you to sleep after the lovin i brush back the hair from your eyes and the love on your face is so real that it makes me want to cryand i know that my song isnt sayin anything new oh but after the lovin im still in love with youso i sing you to sleep after the lovin i brush back the hair from your eyes and the love on your face is so real that it makes me want to cryand i know that my song isnt sayin anything new oh but after the lovin im still in love with youyes after the lovin im still in love with youhmmm after the lovin im still in love with you ",1
62,"jet airliner","steve miller band",1977," leavin home out on the road ive been down before ridin along in this big ol jet plane ive been thinkin about my home but my love light seems so far away and i feel like its all been done somebodys tryin to make me stay you know ive got to be movin onoh oh big ol jet airliner dont carry me too far away oh oh big ol jet airliner cause its here that ive got to staygoodbye to all my friends at home goodbye to people ive trusted ive got to go out and make my way i might get rich you know i might bet busted but my heart keeps calling me backwards as i get on the 707 ridin high i got tears in my eyes you know you got to go through hell before you get to heavenbig ol jet airliner dont carry me too far away oh oh big ol jet airliner cause its here that ive got to staytouchin down in new england town feel the heat comin down ive got to keep on keepin on you know the big wheel keeps on spinnin around and im goin with some hesitation you know that i can surely see that i dont want to get caught up in any of that funky shit goin down in the citybig ol jet airliner dont carry me too far away oh oh big ol jet airliner cause its here that ive got to stayoh oh big ol jet airliner dont carry me too far away oh oh big ol jet airliner cause its here that ive got to stay yeah yeah yeah yeahbig ol jet airliner dont carry me too far away oh oh big ol jet airliner cause its here that ive got to stayoh oh big ol jet airliner carry me to my home oh oh big ol jet airliner cause its there that i belong ",1
63,"stand tall","burton cummings",1977," never been this blue never knew the meaning of a heartache but then again i never lost at love beforesomewhere down the road maybe all those years will find some meaning i just cant think about them now or live em out anymorenever lasted so long no through so much or through so many i just cant believe i could throw it all awaysometimes late at night when theres nothing here except my piano id almost give my hands to make you see my waystand tall dont you fall for gods sake dont go and do something foolish all youre feeling right now is silly human prideoh stand tall dont you fall dont do something you might regret later youre feelin it like everyone its silly human pridenever lasted so long no through so much or through so many i just cant believe i could throw it all awaysometimes late at night when theres nothing here except my old piano id almost give my hands to make you see my waystand tall dont you fall for gods sake dont go do something foolish all youre feeling right now is silly human pride youve got me down on my knees for ya mamastand tall dont you fall dont do something youll regret later a feelin it like everyone its silly human pride you got me fallin for you again mamastand tall dont you fall you got me fallin again for you lady youre feelin it like everyone its silly human pride ",1
64,"way down","elvis presley",1977," babe youre getting closer the lights are goin dim the sound of your breathin made the mood im in all of my resistance lying on the floor taking me to places ive never been beforeooh and i can feel it feel it feel it feel itway down where the music plays way down like a tidal wave way down where the fires blaze way down downooh my head is spinnin you got me in your spell a hundred magic fingers a swirling carousel the medicine within me no doctor could prescribe your love is doing something that i just cant describeooh and i can feel it feel it feel it feel itway down where the music plays way down like a tidal wave way down where the fires blaze way down downhold me again tight as you can i need you so baby lets goway down where it feels so good way down where i hoped it would way down where i never could way down down ",1
65,"weekend in new england","barry manilow",1977," last night i waved goodbye now it seems years im back in the city where nothing is clear but thoughts of me holding you bringing us nearand tell me when will our eyes meet when can i touch you when will this strong yearning end and when will i hold you againtime in new england took me away to long rocky beaches and you by the bay we started a story whose end must now waitand tell me when will our eyes meet when can i touch you when will this strong yearning end and when will i hold you againi feel the change comin i feel the wind blow i feel brave and daring i feel my blood flow with you i could bring out all the love that i have with you theres a heaven so earth aint so badand tell me when will our eyes meet when can i touch you when will this strong yearning end and when will i hold you again again ",1
66,"it was almost like a song","ronnie milsap",1977," once in every life someone comes along and you came to me it was almost like a songyou were in my arms right where you belong and we were so in love it was almost like a songjanuary through december we had such a perfect year then the flame became a dying ember all at once you werent herenow my broken heart cries for you each night and its almost like a song but its much too sad to writenow my broken heart cries for you each night and its almost like a song but its much too sad to writeits too sad to write ",1
67,"smoke from a distant fire","sanfordtownsend band",1977," you left me here on your way to paradise you pulled the rug right out from under my life i know where you goin to i knew when you came home last night cause your eyes had a mist from the smoke of a distant firelord i was stunned shoulda seen it come a long time ago when i realized the reality gave me a roll if things are the same then explain why your kiss is so cold and that mist in your eyes feels like rain on the fire in my soulthis lying and cryin its upsettin and gettin ya no where it dont stack up so slack up and pack up i just dont care dont let the screen door hit you on your way out dont you drown when your dream boat runs onto the groundbreakid just like to know do you love him or just making time by filling his glass with your fast flowing bittersweet lime hell taste the aftertaste when you come home late some night with your eyes all a mist from the smoke of a distant firegirl your eyes have a mist from the smoke of a distant fire girl your eyes have a mist from the smoke of a distant fire girl your eyes have a mist from the smoke of a distant fire girl your eyes have a mist from the smoke of a distant fire girl your eyes have a mist from the smoke of a distant fire mist in your eyes from a distant fire girl your eyes have a mist from the smoke of a dis a distant fire ",1
68,"cold as ice","foreigner",1977," youre as cold as ice youre willing to sacrifice our love you never take advice someday youll pay the price i knowive seen it before it happens all the time closing the door you leave the world behindyoure digging for gold yet throwing away a fortune in feelings but someday youll payyoure as cold as ice youre willing to sacrifice our love you want paradise but someday youll pay the price i knowive seen it before it happens all the time closing the door you leave the world behindyoure digging for gold yet throwing away a fortune in feelings but someday youll paycold as ice you know that you are cold as ice as cold as ice to me cold as iceooh ooh ooh youre as cold as ice youre as cold as ice youre as cold as ice cold as ice i know yes i know youre as cold as ice cold as ice i know oh yes i know youre as cold as ice cold as ice i know oh yes i know ",1
69,"ariel","dean friedman",1977," way on the other side of the hudson deep in the bosom of suburbia i met a young girl she sang mighty fine tears on my pillow and ave maria standing by the water fall in paramus parkshe was working for the friends of bai she was collecting quarters in a paper cup she was looking for change and so was i she was a jewish girl i fell in love with hershe wrote her number on the back of my hand i called her up i was all out of breath i said come hear me play in my rock and roll band i took a shower and i put on my best blue jeansi picked her up in my new v w van she wore a peasant blouse with nothing underneath i said hi she said yeah i guess i am ariel arielwe had a little time we were real hungry we went to dairy queen for something to eat she had some onion rings she had a pickle she forgot to tell me how she didnt eat meati had a gig in the american legion hall it was a dance for the volunteer ambulance corps she was sitting in a corner against the wall she would smile and i melted all over the floori took her home with me we watched some tv annette funicello and some guy going steady i started fooling around with the vertical hold we got the munchies so i made some spaghettiwe sat and we talked into the night while channel 2 was signing off the air i found the softness of a mouth we made love the bombs bursting in air ariel ariel ariel arielway on the other side of the hudson deep in the bosom of suburbia i met a young girl she sang mighty fine tears on my pillow and ave maria ",1
70,"lost without your love","bread",1977," lost and all alone i always thought that i could make it on my own since you left i hardly make it through the day my tears get in the way and i need you back to stayi wander through the night and search the world to find the words to make it right all i want is just the way it used to be with you here close to me ive got to make you seeyes im lost without your love life without you isnt worth the trouble of all i want is just the way it used to be i need you here with me oh darlin cant you seeif we had love before we can have it back once morewish i knew what went wrong between us your the only 1 ive ever loved and want to be withwish you would talk to me ",1
71,"star wars themecantina band","meco",1977,NA,NA
72,"float on","the floaters",1977,"aquarius libra leo cancer ralph charles paul larry float float on float on float on float float float on float on float on float float on float on float on float float float on float on float on float float on float on float on float float float on float on float on aquarius libra leo cancer ralph charles paul larry aquarius and my name is ralph now i like a woman who loves her freedom and i like a woman who can hold her own and if you fit that description baby come with me take my hand come with me baby to love land let me show you how sweet it could be sharing love with me i want you to float float on come on come on come on baby yeah yeah float on float on ooh ooh baby float float float on float on float with me float on libra and my name is charles now i like a woman thats quiet a woman who carries herself like miss universe a woman who would take me in her arms and she would say charles yeah and if you fit that description this is for you especially mmm take my hand come with me baby to love land let me show you how sweet it could be sharing loving with me i want you to float float on girl yes float on float on with charles float float float on ooh yeah float on float on leo and my name is paul you see i like all women of the world you see to me all women are wild flowers and if you understand what im sayin i want you to mmm take my hand come with me baby to love land let me show you how sweet it could be sharing love with me i want you to float float on so float with me baby float on float on yeah float float float on float with paul yall float on float on cancer and my name is larry huh and i like a woman that loves everything and everybody because i love everybody and everything and you know what ladies if you feel that this is you then this is what i want you to do ooh yeah take my hand let me take you to love land let me show you how sweet it could be sharing your love with larry listen float float on you better float with me now float on float on float on float float float on yeah yeah you better float on float on ah",3
73,"jeans on","lord david dundas",1977,NA,NA
74,"lido shuffle","boz scaggs",1977," lido missed the boat that day he left the shack but that was all he missed and he aint comin backat a tombstone bar in a jukejoint car he made a stop just long enough to grab a handle off the topnext stop chitown lido put the money down let her roll he said one more job oughta get it one last shot fore we quit it one for the roadlido whoa oh oh oh hes for the money hes for the show lidos a waitin for the golido whoa oh oh oh oh oh he said one more job oughta get it one last shot fore we quit it one more for the roadlido be runnin havin great big fun til he got the note sayin toe the line or blow and that was all she wrotehe be makin like a beeline headin for the borderline goin for broke sayin one more hit oughta do it this joint aint nothin to it one more for the roadlido whoa oh oh oh hes for the money hes for the show lidos a waitin for the golido whoa oh oh oh oh oh one more job oughta get it one last shot and we quit it one more for the roadlido whoa oh oh oh hes for the money hes for the show lidos a waitin for the go lido whoa oh oh oh oh oh ",1
75,"keep it comin love","kc and the sunshine band",1977,"kc miscellaneous keep it comin love keep it comin love kc  the sunshine band hw caseyr finch keep it comin love keep it comin love dont stop it now dont stop it no dont stop it now dont stop it keep it comin love keep it comin love dont stop it now dont stop it no dont stop it now dont stop it dont let your well run dry dont stop it now dont give me no reasons why dont stop it now keep it comin love keep it comin love dont stop it now dont stop it no dont stop it now dont stop it keep it comin love keep it comin love dont stop it now dont stop it no dont stop it now dont stop it dont build me up just to let me drop dont stop it now dont turn me on just to turn me off dont stop it now repeat chorus dont tell me there aint no more dont stop it now dont turn me down and just close your door dont stop it now ooh keep it comin love oh yeah repeat chorus keep it comin love keep it comin love keep it comin love keep it comin love from carol witwicky",3
76,"you made me believe in magic","bay city rollers",1977," i believed that love has gone have no strength to carry on thought my world was upside downthen you walked on into my life i went to work to set things right whats the secret that you that you usedyou made me believe in magic you know that i can be true to your love you made me believe in magic your loves put real magic into my lifenow im filled with a new sense to be you gave my life harmony loving you is all i all i need ",1
77,"livin thing","electric light orchestra",1977," sailin away on the crest of a wave its like magic oh rollin and ridin and slippin and slidin its magicand you and your sweet desire you took me ohh higher and higher babyits a livin thing its a terrible thing to lose its a given thing what a terrible thing to loseim takin a divemaking believe this is what youve conceived from your worst day im takin a dive oh moving in line when you look back in time to the first day im takin im takinand you and your sweet desire you took me dont you do it dont you do it ohh higher and higher babyits a livin thing its a terrible thing to lose its a given thing what a terrible thing to loseand im takin a dive ah the slide heytakin a dive cause you cant halt the slide floating downstream im takin a dive ah so let her go dont start spoiling the show its a bad dream im takin im takinand you and your sweet desire you took medont you do it dont you do it ohh higher and higher babyits a livin thing its a terrible thing to lose its a given thing what a terrible thing to loseits a livin thing its a terrible thing to lose its a given thing what a terrible thing to lose ",1
78,"give a little bit","supertramp",1977," give a little bit give a little bit of your love to me give a little bit ill give a little bit of my love to you theres so much that we need to share so send a smile and show that you careill give a little bit ill give a little bit of my life for you so give a little bit give a little bit of your time to me see the man with the lonely eyes take his hand youll be so surprisedgive a little bit give a little bit of your love to me ill give a little bit of my life for you nows the time that we need to share so find yourself were on our way back homegoing home dont you need to feel at home oh yeah we gotta sing ",1
79,"thats rock n roll","shaun cassidy",1977,"when i was sixteen and sick of school i didnt know what i wanted to do i bought a guitar i sang my heart out thats rock n roll i played at parties played at bars i spent my money buyin new guitars i screamed my heart out but how i loved it thats rock n roll come on everybody get down and get with it come on everybody get down and get with it come on everybody get down and get with it thats rock n roll and if you feel it clap your hands youll see some sweat from the boys in the band just get the rhythm and let it fill ya thats rock n roll come on everybody get down and get with it come on everybody get down and get with it come on everybody get down and get with it thats rock n roll",5
80,"love so right","bee gees",1977," she came on like the night and she held on tight and the world was right when she made love to me we were free she moved in like a friend started loving me and i thought id found my heaven in her arms but the morning when i woke up i was here and she was gone now im hangin on maybe you can tell mehow a love so right can turn out to be so wrong oh my darling how a love so right can turn out to be so wrong oh my darlingwhere did she go when i need her close to me and the perfect story ended at the start i thought you came forever and you came to break my heart now im hangin on on the chance that youll come back to me oh my lovehow a love so right can turn out to be so wrong oh my darling how a love so right can turn out to be so wrong oh my darlingi could take it in my stride start living for the moment maybe half the things we sought were never there simply open up our eyes and break it down to size it isnt really fairhow a love so right can turn out to be so wrong oh my darling how a love so right can turn out to be so wrong oh my darling how a love so right can turn out to be so wrong oh my darling  ",1
81,"the rubberband man","the spinners",1977," hand me down my walkin cane hand me down my hat hurry now and dont be late cause we aint got time to chat you and me were goin out to catch the latest sound guaranteed to blow your mind so high you wont come downhey yall prepare yourself for the rubberband man youve never heard a sound like the rubberband man youre bound to lose control when the rubberband starts to jamoh boy this dude is outta sight everything he does seems to come out rightonce i went to hear them play at a club outside of town i was so surprised i was hypnotized by the sound this cat put down when i saw this short fat guy stretch a band between his toes hey i laughed so hard cause the man got down when he finally reached his goalhey yall prepare yourself for the rubberband man youve never heard a sound like the rubberband man youre bound to lose control when the rubberband starts to jamgot that rubber band up on his toes and then he wriggled it up all around his noseguaranteed to blow your mind playin all that music yet keepin time where in the world did he learn that oh lord lord help him get awayhey yall prepare yourself for the rubberband man youve never heard a sound like the rubberband man youre bound to lose control when the rubberband starts to jamrubberband man rubberband man how much of this stuff do he think we can stand so much rhythm grace and debonair for one man and then he had the nerve to wiggle his left toe went to his knee got the feelin in his head yall oh come on babyhey yall prepare yourself for the rubberband man youve never heard a sound like the rubberband man youre bound to lose control when the rubberband starts to jamrubberband man starts to jam moving up and down cross the land got the people all in his wake everything probably seems outta placejust move it just move move move it just rubberband rubberband man just move it just move move move it just rubberband rubberband man get down oh get down low ",1
82,"i never cry","alice cooper",1977," if theres a tear on my face it makes me shiver to the bones it shakes me babe its just a heartache that got caught in my eye and you know i never cry i never crysometimes i drink more than i need until the tvs dead and gone i may be lonely but im never alone and the night may pass me by but ill never crytake away take away my eyes sometimes id rather be blind break a heart break a heart of stone open it up but dont you leave it alonecause thats all ive got to give you believe me babe it aint been used my hearts a virgin it aint never been tried and you know i never cry and you know i never cry and you know you know you know you know that i never cry i never crybreak a heart break a heart of stone open it up but dont you leave it alonecause thats all ive got to give to you believe me babe it aint been used my hearts a virgin it aint never been tried and you know i never cry i never cry ",1
83,"nobody does it better","carly simon",1977," nobody does it better makes me feel sad for the rest nobody does it half as good as you baby youre the besti wasnt lookin but somehow you found me i tried to hide from your love light but like heaven above me the spy who loved me is keeping all my secrets safe tonightand nobody does it better though sometimes i wish someone could nobody does it quite the way you do whyd you have to be so goodthe way that you hold me whenever you hold me theres some kind of magic inside you that keeps me from runnin but just keep it comin howd you learn to do the things you doand nobody does it better makes me feel sad for the rest nobody does it half as good as you baby baby darling youre the bestbaby youre the best baby youre the best baby youre the best  ",1
84,"high school dance","the sylvers",1977," remember back in high school when you couldnt wait for the very first dance you lay your homework was the ruleand just thinkin bout the music puts you in a trance you never have to worry if you save your lunch moneyso youll have the chance to get your ticket in a hurry for the high school dancedance to the beat of the band were gonna dance at the high school dance boogie to the beat of the band ooh boogie to the high school dancedance to the beat of the band were gonna dance at the high school dance boogie to the beat of the band ooh boogie to the high school danceit only costs a dollar to dance to the music with the one you love best uh huh it makes you wanna holler oohthe music sounds good you just dont want to rest and then they turn the lights down so you can slow danceor sneak a little romance all the baddest sit around talkin bout the high school dancedance to the beat of the band were gonna dance at the high school dance boogie to the beat of the band ooh boogie to the high school dancedance to the beat of the band were gonna dance at the high school dance boogie to the beat of the band ooh boogie to the high school dancedance at the high school danceit only costs a dollar to dance to the music with the one you love best yeah it makes you wanna holler oohthe music sounds good you just dont want to rest yeah and then they turn the lights down so you can slow danceor sneak a little romance yeah yeah all the baddest sit around talkin bout the high school dancedance to the beat of the band were gonna dance at the high school dance boogie to the beat of the band ooh boogie to the high school dancedance to the beat of the band were gonna dance at the high school dance boogie to the beat of the band ooh boogie to the high school dancedance at the high school dance ooh dance at the high school dance ",1
85,"loves grown deep","kenny nolan",1977," i love you so much somewhere back in time you became a friend of mine and day by day weve grown a little closer youre my spirit to be strong a friend when things go wrong so ive written down these words to let you knowloves grown deep deep into the heart of me youve become a part of me let us plant the seed and watch it grow loves grown deep deep into the heart of me youve become a part of meas we travel down the road sidebyside well share the load handinhand well see each other through though weve only just begun lets count our blessings onebyone i thank god for life i thank god for youloves grown deep deep into the heart of me youve become a part of me let us plant the seed and watch it grow loves grown deep deep into the heart of me youve become a part of meand as the seasons slip away forever lovers we will stay together doordie with all our heartsloves grown deep deep into the heart of me youve become a part of me let us plant the seed and watch it grow loves grown deep deep into the heart of me youve become a part of me ",1
86,"aint gonna bump no more with no big fat woman","joe tex",1977,"three nights ago i was at a disco man i wanted to bump i was rarin to go and this big fat woman bumped me on the floor she was rarin to go that chick was rarin to go then she did a dip almost broke my hip she was gettin down that chick was gettin down she wanted to bump some more but i told her no you done knocked me down once you done knocked me down once said if you want to dance find you a big fat man yall both can get on down yall both can get on down huh chorus i aint gonna bump no more with no big fat woman i aint gonna bump no more with no big fat woman i aint gonna bump no more with no big fat woman i aint gonna bump no more with no big fat woman lord i aint gonna bump no more with no big fat woman i aint gonna bump no more with no big fat woman i aint gonna bump no more with no big fat woman i aint gonna bump no more with no big fat woman somebody take her shes too big for me shell knock me down she came over to me snatched me out of my seat she wanted to get on down still wanted to get on down i told her to go on and leave me alone i aint gettin down you done hurt my hip once i know what youll do i aint gonna bump with you i dont feel like gettin down dont feel like gettin down she just shook her head at every word i said she wanted to get on down that woman wanted to get on down she did that dip again and i hit the floor again she was gettin down lord that woman was gettin down chorus somebody take her i dont want her she done hurt my hip she done knocked",5
87,"i wanna get next to you","rose royce",1977," sittin here in this chair waitin on you oh baby to see things my way but not a word do you say you wont even look my way yeahgirl im spending my dimes wasting my time talking till im black and blue oh cant you see i wanna get next to youdreams of you and i go sailing by whenever your eyes meet mine youre so fine and girl you make me feel so insecureyoure so beautiful and pure why must you be unkind and tell me about your kind blowing my mindgirl my my money is low and i know that i cant take you to the fancy places you might wanna go still i wanna get next to you i wanna get next to youbaby yeahoh yeah girl you can bend me shake me make me whatever it takes to please you im willing to do cause youre my dream come true and i wanna get next to you babyi wanna get next to you i wanna get next to you i wanna get next to you  ",1
88,"somebody to love","queen",1977," can anybody find me somebody to loveooh each morning i get up i die a little can barely stand on my feet take a look at yourself take a look in the mirror and cry and cry lord what youre doing to me yeah yeah i have spent all my years in believing you but i just cant get no relief lord somebody somebody ooh somebody somebody can anybody find me somebody to lovei work hard he works hard every day of my life i work till i ache in my bones at the end at the end of the day i take home my hard earned pay all on my own i get down down on my knees knees and i start to pray till the tears run down from my eyes lord somebody somebody ooh somebody please can anybody find me somebody to lovehe works hard everyday everyday i try and i try and i try but everybody wants to put me down they say im going crazy they say i got a lot of water in my brain ah got no common sense i got nobody left to believe in yeah yeah yeah yeahoh lord ooh somebody ooh somebody can anybody find me somebody to love can anybody find me someone to lovegot no feel i got no rhythm i just keep losing my beat you just keep losing and losing im ok im alright hes alright hes alright i aint gonna face no defeat yeah yeah i just gotta get out of this prison cell one day someday im gonna be free lordfind me somebody to love find me somebody to love find me somebody to love find me somebody to love find me somebody to love find me somebody to love find me somebody to love find me somebody to love love love find me somebody to love find me somebody to love somebody somebody somebody somebody somebody find me somebody find me somebody to love can anybody find me somebody to love find me somebody to love ooh find me somebody to love find me somebody somebody find me somebody to love somebody somebody to love find me find me find me find me find me ooh somebody to love find me somebody to love ooh find me somebody to love find me find me find me somebody to love find me somebody to love anybody anywhere anybody find me somebody to love love love somebody find me find me love ",1
89,"muskrat love","captain  tennille",1977,"muskrat muskrat candle light doin the town and doin it right in the evenin its pretty pleasin muskrat suzie muskrat sam do the jitterbug at a muskrat land and they shimmy sam is so skinny and they whirl and they twirl and they tango singin and jinglin a jangle float like the heavens above looks like muskrat love nibblin on bacon chewin on cheese sam says to suzie honey would you please be my mrs suzie says yes with her kisses now hes ticklin her fancy rubbin her toes muzzle to muzzle now anything goes as they wriggle sue starts to giggle and they whirled and they twirled and they tango singin and jinglin a jangle floatin like the heavens above looks like muskrat love",3
90,"walk this way","aerosmith",1977," backstroke lover always hidin neath the cover till i talked to my daddy he say he said you aint seen noting till youre down on a muffin then youre sure to be achangin your waysi met a cheerleader was a real young bleeder all the times i can reminisce ah the best thing lovin with her sister and her cousin started with a little kiss like thisseesaw swingin with the boys in the school with your feet flyin up in the air singin hey diddlediddle with the kitty in the middle you be swingin like you just didnt careso i took a big chance at the high school dance with a missy who was ready to play was it me she was foolin cause she knew what she was doin taught me how to walk this way she told me towalk this way walk this way walk this way walk this way walk this way walk this way walk this way walk this way ah just give me a kissschool girl sadie with the classy kinda sassy little skirt climbing way up her knees there was three young ladies in the school gym locker when i noticed they was lookin at mei was a high school loser never made it with a lady till the boys told me something i missed then my next door neighbour with a daughter had a favour took me just a little kiss like thisseesaw swingin with the boys in the school with your feet flyin up in the air singin hey diddlediddle with the kitty in the middle you be swingin like you just didnt careso i took a big chance at the high school dance with a missy who was ready to play was it me she was foolin cause she knew what she was doin told me how to walk this way she told me towalk this way walk this way walk this way walk this way walk this way walk this way walk this way walk this way just give me a kiss ",1
91,"cherchez la femme","dr buzzards original savannah band",1977," tommy mottola lives on the road he lost his lady two months ago maybe hell find her maybe he wont oh oh never nohe sleeps in the back of his grey cadillac oh my honey blowing his mind on cheap grass and wine oh aint it crazy baby hey guess you could say hey heythis man has learned his lesson oh hey now hes alone hes got no woman and no home for misery oh oh cherchez la femmemiggie miggie bonijas very upset shes sick and tired of living in debt tired of roaches tired of rats i know she is ooh so her noble man saysbaby i understand oh my honey now hes working two jobs at eighth avenue bars oh aint crazy baby now she complains that her man is never present noshe goes next door i know that shes just playing the whore hey for misery my friend cheechez la femmethey tell you a lie with a colgate smile hey baby love you one second and hate the next one oh aint it crazy yeah all i can say  ay hey oh one thing i am certain oh oh theyre all the same all the sluts and the saints for misery my friend cherchez la femme ",1
92,"year of the cat","al stewart",1977," on a morning from a bogart movie in a country where they turn back time you go strolling through the crowd like peter lorre contemplating a crime she comes out of the sun in a silk dress running like a watercolor in the rain dont bother asking for explanations shell just tell you that she came in the year of the catshe doesnt give you time for questions as she locks up your arm in hers and you follow till your sense of which direction completely disappears by the blue tiled walls near the market stalls theres a hidden door she leads you to these days she says i feel my life just like a river running through the year of the catwhile she looks at you so cooly and her eyes shine like the moon in the sea she comes in incense and patchouli so you take her to find whats waiting inside the year of the catwell morning comes and youre still with her and the bus and the tourists are gone and youve thrown away your choice youve lost your ticket so you have to stay on but the drumbeat strains of the night remain in the rhythm of the newborn day you know sometime youre bound to leave her but for now youre going to stay in the year of the cat ",1
93,"boogie nights","heatwave",1977," boogie nights oh boogie nights ohboogie nights boogie nightsboogie nights aint no doubt we are here to party boogie nights come on now got to get it starteddance with the boogie get high cause boogie nights are always the best in town got to keep on dancing keep on dancing got to keep on dancing keep on dancingboogie nights get that groove let it take you higher boogie nights make it move set this place on firedance with the boogie get high cause boogie nights are always the best in town got to keep on dancing keep on dancing got to keep on dancing keep on dancingparty night can you show that you know how to do it boogie nights do it do it party night settle down with the sound of the music boogie night music musicboogie nights feels so right when you got the feeling boogie nights hold it tight get to keep on dealingdance with the boogie get high cause boogie nights are always the best in town got to keep on dancing keep on dancing got to keep on dancing keep on dancing boogie nights boogie nights boogie nights boogie nightsdance with the boogie get high cause boogie nights are always the best in town got to keep on dancing keep on dancing got to keep on dancing keep on dancing boogie nights oh boogie nights oh boogie nights oh boogie nights oh boogie nights oh boogie nights oh boogie nights oh ",1
94,"go your own way","fleetwood mac",1977," loving you isnt the right thing to do how can i ever change things that i feelif i could maybe id give you my world how can i when you wont take it from meyou can go your own way go your own way you can call it another lonely day you can go your own way go your own waytell me why everything turned around packing up shacking up is all you want to doif i could baby id give you my world open up everythings waiting for youyou can go your own way go your own way you can call it another lonely day you can go your own way go your own wayyou can go your own way go your own way you can call it another lonely day another lonely day you can go your own way go your own way you can call it another lonely dayyou can go your own way you can call it another lonely day you can go your own way ",1
95,"sorry seems to be the hardest word","elton john",1977," what have i got to do to make you love me what have i got to do to make you care what do i do when lightning strikes me and i wake to find that youre not therewhat have i got to do to make you want me what have i got to do to be heard what do i say when its all over and sorry seems to be the hardest wordits sad so sad so sad its a sad sad situation and its getting more and more absurd its sad so sad so sad why cant we talk it over oh it seems to me that sorry seems to be the hardest wordits sad so sad so sad its a sad sad situation and its getting more and more absurd its sad so sad so sad why cant we talk it over oh it seems to me that sorry seems to be the hardest word ",1
96,"dont worry baby","bj thomas",1977,"well its been building up inside of me for oh i dont know how long i dont know why but i keep thinkin somethings bound to go wrong but she looks in my eyes and makes me realize when she says dont worry baby evrything will work out all right dont worry baby oo i guess i shoulda kept my mouth shut when i start to brag about my car but i cant back down now because i pushed the other guys too far she makes me come alive and makes me wanna drive when she says dont worry baby evrything will work out all right dont worry baby oo she said now baby when you race today just take along my love for you and if you knew how much i loved you baby nothing could go wrong with you oh what she does to me when she makes love to me and she says dont worry baby evrything will work out all right",5
97,"knowing me knowing you","abba",1977," no more carefree laughter silence ever after walking through an empty house tears in my eyes here is where the story ends this is goodbyeknowing me knowing you there is nothing we can do knowing me knowing you we just have to face it this time were throughbreaking up is never easy i know but i have to go knowing me knowing you its the best i can domemories good days bad days theyll be with me always in these old familiar rooms children would play now theres only emptiness nothing to sayknowing me knowing you there is nothing we can do knowing me knowing you we just have to face it this time were throughbreaking up is never easy i know but i have to go knowing me knowing you its the best i can doknowing me knowing you there is nothing we can do knowing me knowing you we just have to face it this time were throughbreaking up is never easy i know but i have to go knowing me knowing you its the best i can do ",1
98,"how much love","leo sayer",1977," how much love do you need before you give your love to me how much time before it grows how much love i wanna knowwhat can i do what can i say the last thing i want is to drive you away how much love does it take how much love for heavens sakehow much love how much love do i rush right in or do i hesitate how much love how much love how much loveam i trying too hard give me some kind of clue there must be a way to get through to you shall i come on strong or do i hesitate do i rush right in or do i waithow much love how much lovei got so much love dont know where to begin im pleading with you babe you gotta let me in how much love how much love i got so much love dont know where to beginhow much love do you need before you give yourself to me shall i come on strong or do i hesitate do i rush right in or do i waithow much love how much love ",1
99,"star wars main title","london symphony orchestra",1977,"instrumental",3
100,"devils gun","cj  company",1977,NA,NA
1,"shadow dancing","andy gibb",1978," you got me looking at that heaven in your eyes i was chasing your direction i was telling you no lies and i was loving you when the words are said baby i lose my head and in a world of people theres only you and i there aint nothing come between us in the end how can i hold you when you aint even mine only you can see me through i leave it up to youdo it light taking me through the night shadow dancing baby you do it right give me more drag me across the floor shadow dancing all this and nothing moreall that i need is just one moment in your arms i was chasing your affection i was doing you no harm and i was loving you make it shine make it rain baby i know my way i need that sweet sensation of living in your love i cant breath when youre away it pulls me down you are the question and the answer am i only you can see me through i leave it up to youdo it light taking me through the night shadow dancing baby you do it right give me more drag me across the floor shadow dancing all this and nothing moreand in this world of people theres only you and i there aint nothing come between us in the end ah can i hold you when you aint even mine only you can see me through i leave it up to youdo it light taking me through the night shadow dancing baby you do it right give me more drag me across the floor shadow dancing all this and nothing moredo it light taking me through the night shadow dancing baby you do it right give me more drag me across the floor shadow dancing all this and nothing moredo it light taking me through the night shadow dancing baby you do it right give me more drag me across the floor shadow dancing all this and nothing moredo it light taking me through the night shadow dancing baby you do it right give me more drag me across the floor shadow dancing all this and nothing moredo it light taking me through the night shadow dancing baby you do it right give me more drag me across the floor shadow dancing all this and nothing more ",1
2,"night fever","bee gees",1978," listen to the ground there is movement all around there is something goin down and i can feel iton the waves of the air there is dancin out there if its somethin we can share we can steal itand that sweet city woman she moves through the light controlling my mind and my soul when you reach out for me yeah and the feelin is rightthen i get night fever night fever we know how to do it gimme that night fever night fever we know how to show ithere i am prayin for this moment to last livin on the music so fine borne on the wind makin it minenight fever night fever we know how to do it gimme that night fever night fever we know how to show itin the heat of our love dont need no help for us to make it gimme just enough to take us to the mornin i got fire in my mind i get higher in my walkin and im glowin in the dark i give you warninand that sweet city woman she moves through the night controlling my mind and my soul when you reach out for me yeah and the feelin is rightthen i get night fever night fever we know how to do it gimme that night fever night fever we know how to show ithere i am prayin for this moment to last livin on the music so fine borne on the wind makin it minenight fever night fever we know how to do it gimme that night fever night fever we know how to show itgimme that night fever night fever we know how to do it gimme that night fever night fever we know how to show it gimme that night fever night fever we know how to do it ",1
3,"you light up my life","debby boone",1978," so many nights id sit by my window waiting for someone to sing me his songso many dreams ive kept deep inside me alone in the dark but now youve come alongchorusand you light up my life you give me hope to carry onyou light up my days and fill my nights with songrolling at sea adrift on the waters could it be finally im turning for homefinally a chance to say hey i love you never again to be all alonechorus x2it cant be wrong when it feels so right cause you you light up my life ",1
4,"stayin alive","bee gees",1978," well you can tell by the way i use my walk im a womans man no time to talk music loud and women warm ive been kicked around since i was born and now its all right its ok and you may look the other way we can try to understand the new york times effect on manwhether youre a brother or whether youre a mother youre stayin alive stayin alive feel the city breakin and everybody shakin and were stayin alive stayin alive ah ha ha ha stayin alive stayin alive ah ha ha ha stayin alivewell now i get low and i get high and if i cant get either i really try got the wings of heaven on my shoes im a dancin man and i just cant lose you know its all right its ok ill live to see another day we can try to understand the new york times effect on manwhether youre a brother or whether youre a mother youre stayin alive stayin alive feel the city breakin and everybody shakin and were stayin alive stayin alive ah ha ha ha stayin alive stayin alive ah ha ha ha stayin alivelife goin nowhere somebody help me somebody help me yeah life goin nowhere somebody help me yeahwell you can tell by the way i use my walk im a womans man no time to talk music loud and women warm ive been kicked around since i was born and now its all right its ok and you may look the other way we can try to understand the new york times effect on manwhether youre a brother or whether youre a mother youre stayin alive stayin alive feel the city breakin and everybody shakin and were stayin alive stayin alive ah ha ha ha stayin alive stayin alive ah ha ha ha stayin alivelife goin nowhere somebody help me somebody help me yeah life goin nowhere somebody help me yeah im stayin alive ",1
5,"kiss you all over","exile",1978," when i get home babe gonna light your fire all day ive been thinkin about you babe youre my one desiregonna wrap my arms around you hold you close to me oh babe i want to taste your lips i want to fill your fantasy yeahi dont what id do without you babe dont know where id be youre not just another lover no youre everything to meevrytime im with you baby i cant believe its true when youre layin in my arms n you do the things you doyou can see it in my eyes i can feel it in your touch you dont have to say a thing just let me show how much i love you need you oh babei want to kiss you all over and over again i want to kiss you all over till the night closes in till the night closes inno one else can ever make me feel the way you do oh so keep on loving me baby and ill keep loving you well its easy to see when somethings right or somethings wrong so stay with me baby and hold me all night longshow me show me everything you do cause baby no one does it quite like you i love you need you oh babei wanna kiss you all over and over again i wanna kiss you all over till the night closes in till the night closes instay with me lay with me holding me loving me baby here with me near with me feeling you close to me babyshow me show me everything you do cause baby no one does it quite like you love you need you oh yeai wanna kiss you all over and over again i wanna kiss you all over till the night closes in till the night closes intill the night closes in wanna kiss you all over till the night closes in till the night closes inwhen i get home baby gonna light your fire ",1
6,"how deep is your love","bee gees",1978," i know your eyes in the morning sun i feel you touch me in the pouring rain and the moment that you wander far from me i want to feel you in my arms again and you come to me on a summer breeze keep me warm in your love then you softly leave and its me you need to showhow deep is your love how deep is your love how deep is your love i really mean to learn cause were living in a world of fools breaking us down when they all should let us be we belong to you and mei believe in you you know the door to my very soul youre the light in my deepest darkest hour youre my savior when i fall and you may not think i care for you when you know down inside that i really do and its me you need to showhow deep is your love how deep is your love how deep is your love i really mean to learn cause were living in a world of fools breaking us down when they all should let us be we belong to you and meand you come to me on a summer breeze keep me warm in your love then you softly leave and its me you need to showhow deep is your love how deep is your love how deep is your love i really mean to learn cause were living in a world of fools breaking us down when they all should let us be we belong to you and mehow deep is your love how deep is your love i really mean to learn cause were living in a world of fools breaking us down when they all should let us be we belong to you and mehow deep is your love how deep is your love i really mean to learn cause were living in a world of fools breaking us down when they all should let us be we belong to you and me ",1
7,"baby come back","player",1978," spending all my nights all my money going out on the town doing anything just to get you off of my mind but when the morning comes im right back where i started again trying to forget you is just a waste of timebaby come back any kind of fool could see there was something in everything about you baby come back you can blame it all on me i was wrong and i just cant live without youall day long wearing a mask of false bravado trying to keep up the smile that hides a tear but as the sun goes down i get that empty feeling again how i wish to god that you were herebaby come back any kind of fool could see there was something in everything about you baby come back you can blame it all on me i was wrong and i just cant live without younow that i put it all together give me the chance to make you see have you used up all the love in your heart nothing left for me aint there nothing left for mebaby come back any kind of fool could see there was something in everything about you baby come back listen you can blame it all on me i was wrong and i just cant live without youi was wrong and i just cant live ",1
8,"love is thicker than water","andy gibb",1978," love is higher than a mountain love is thicker than water you are this dreamers only dream heavens angel devils daughtersave my mind should i go with her on silent nights shell drive me crazy in the end and i should leave this paradise but i cant leave her while i need her more than she needs you thats what im living forlove is higher than a mountain love is thicker than water you are this dreamers only dream heavens angel devils daughtersave my thought should i find out she dont care at all shell leave me crying in the end wandering through the afterglow but i cant leave her while i need her more than she needs you thats what im praying forlove is higher than a mountain love is thicker than water you are this dreamers only dream heavens angel devils daughterlove is higher than a mountain love is thicker than water you are this dreamers only dream heavens angel devils daughter ",1
9,"boogie oogie oogie","a taste of honey",1978," if youre thinkin youre too cool to boogie boy oh boy have i got news for you everybody here tonight must boogie let me tell ya you are no exception to the ruleget on up on the floor cause were gonna boogie oogie oogie till you just cant boogie no more ah boogie boogie no more you cant boogie no more ah boogie boogie no more listen to the musictheres no time to waste lets get the show on the road listen to the music and let your body flow the sooner we break down the longer we got to groove listen to the music and let your body movenow get on up on the floor cause were gonna boogie oogie oogie till you just cant boogie no more ah boogie boogie no more you cant boogie no more ah boogie boogie no more listen to the music ",1
10,"three times a lady","commodores",1978," thanks for the times that youve given me the memories are all in my mind and now that weve come to the end of our rainbow theres something i must say out loudyoure once twice three times a lady and i love you yes youre once twice three times a lady and i love you i love youwhen we are together the moments i cherish with every beat of my heart to touch you to hold you to feel you to need you theres nothing to keep us apartyoure once twice three times a lady and i love you i love you ",1
11,"grease","frankie valli",1978," i solve my problems and i see the light we gotta plug and think we gotta feed it right there aint no danger we can go to far we start believing now that we can be who we aregrease is the word they think our love is just a growing pain why dont they understand its just a crying shame their lips are lying only real is real we start to find right now we got to be what we feelgrease is the word grease is the word is the word that you heard its got groove its got meaning grease is the time is the place is the motion grease is the way we are feelingwe take the pressure and we throw away conventionality belongs to yesterday there is a chance that we can make it so far we start believing now that we can be wo we aregrease is the word grease is the word is the word that you heard its got groove its got meaning grease is the time is the place is the motion grease is the way we are feeling this is the life of illusion wrapped up in trouble laced with confusion what we doing herewe take the pressure and we throw away conventionality belongs to yesterday there is a chance that we can make it so far we start believing now that we can be who we aregrease is the word grease is the word is the word that you heard its got groove its got meaning grease is the time is the place is the motion grease is the way we are feelinggrease is the word is the word that you heard its got groove its got meaning grease is the time is the place is the motion grease is the way we are feelinggrease is the word is the word is the word is the word is the word is the word is the word is the word is the word ",1
12,"i go crazy","paul davis",1978,"hello girl its been awhile guess youll be glad to know that ive learned how to laugh and smile getting over you was slow they say old lovers can be good friends but i never thought id really see you id really see you again i go crazy when i look in your eyes i still go crazy no my heart just cant hide that old feelin inside way deep down inside oh baby you know when i look in your eyes i go crazy you say he satisfies your mind tells you all of his dreams i know how much that means to you i realize that i was blind just when i thought i was over you i see your face and it just aint true no it just aint true i go crazy when i look in your eyes i still go crazy that old flame comes alive it starts burning inside way deep down inside oh baby you know when i look in your eyes i go crazy oh oh oh oh oh i go crazy you know when i look in your eyes i go crazy no my heart just cant hide that old feelin inside way deep down inside i go crazy",3
13,"youre the one that i want","john travolta  olivia newtonjohn",1978,NA,NA
14,"emotion","samantha sang",1978,"  ",1
15,"lay down sally","eric clapton",1978," there is nothing that is wrong in wanting you to stay here with me i know youve got somewhere to go but wont you make yourself at home and stay with me and dont you ever leavelay down sally and rest you in my arms dont you think you want someone to talk to lay down sally no need to leave so soon ive been trying all night long just to talk to youthe sun aint nearly on the rise and we still got the moon and stars above underneath the velvet skies love is all that matters wont you stay with me and dont you ever leavelay down sally and rest you in my arms dont you think you want someone to talk to lay down sally no need to leave so soon ive been trying all night long just to talk to youi long to see the morning light coloring your face so dreamily so dont you go and say goodbye you can lay your worries down and stay with me and dont you ever leavelay down sally and rest you in my arms dont you think you want someone to talk to lay down sally no need to leave so soon ive been trying all night long just to talk to youlay down sally and rest you in my arms dont you think you want someone to talk to lay down sally no need to leave so soon ive been trying all night long just to talk to you ",1
16,"miss you","the rolling stones",1978,"ive been holding out so long ive been sleeping all alone lord i miss you ive been hanging on the phone ive been sleeping all alone i want to kiss you well ive been haunted in my sleep youve been starring in my dreams lord i miss you ive been waiting in the hall been waiting on your call when the phone rings its just some friends of mine that say hey whats the matter man were gonna come around at twelve with some puerto rican girls thats just dyin to meet you were gonna bring a case of wine hey lets go mess and fool around you know like we used to oh everybody waits so long oh baby why you wait so long wont you come home come home ive been walking central park singing after dark people think im crazy stumbling on my feet shuffling through the street ask me people whats the matter with you boy sometimes i want to say to myself sometimes i say i wont miss you child i guess im lying to myself its just you and no one else lord i wont keep you child youve been blotting out my mind fooling on my time no i wont miss you baby yeah lord i miss you child lord i miss you child lord i miss you child",3
17,"just the way you are","billy joel",1978," dont go changing to try and please me you never let me down before dont imagine youre too familiar and i dont see you anymorei wouldnt leave you in times of trouble we never could have come this far i took the good times ill take the bad times ill take you just the way you aredont go trying some new fashion dont change the color of your hair you always have my unspoken passion although i might not seem to carei dont want clever conversation i never want to work that hard i just want someone that i can talk to i want you just the way you arei need to know that you will always be the same old someone that i knew what will it take till you believe in me the way that i believe in youi said i love you and thats forever and this i promise from the heart i could not love you any better i love you just the way you are ",1
18,"with a little luck","wings",1978," with a little luck we can help it out we can make this whole damn thing work out with a little love we can lay it down cant you feel the town explodingthere is no end to what we can do together together there is no end there is no end  there is no end the willow turns his back on inclement weather and if he can do it we can do it just me and youand a little luck we can clear it up we can bring it in for a landing with a little luck we can turn it on there can be no misunderstandingthere is no end to what we can do together together there is no end there is no end there is no end the willow turns his back on inclement weather we can do it just me and youwith a little push we could set it off we can send it rocketing skywards with a little love we could shake it up dont you feel the comet explodingwith a little luck with a little luck with a little luck a little luck a little luck with a little luck with a little luck with a little luck we can help it out with a little luck a little luck a little luck we can make this whole damn thing work out with a little luck with a little luck with a little love we can lay it down with a little luck a little luck a little luckcant you feel the town exploding with a little luck with a little luck with a little luck baby with a little luck a little luck a little luck we could set it off send it rocketing skywards with a little luck with a little luck with a little luck we could shake it up oh yeah yeah with a little luck a little luck a little luckwith a little luck we can help it out we can make this whole damn thing work out with a little luck with a little luck with a little love we can lay it down with a little luck a little luck a little luck cant you feel the town explodingwith a little luck with a little luck with a little push we could set it off with a little luck a little luck a little luck we can send it rocketing skywards with a little luck with a little luck with a little love we could shake it up with a little luck a little luck a little luck dont you feel the comet exploding woh oh woo ",1
19,"if i cant have you","yvonne elliman",1978," dont know why im surviving every lonely day when theres got to be no chance for me my life would end and it doesnt matter how i cry my tears of love are a waste of time if i turn away am i strong enough to see it through go crazy is what i will do  if i cant have you i dont want nobody baby if i cant have you ah ah i cant have you i dont want nobody baby if i cant have you ah ahcant let go and it doesnt matter how i try i gave it all so easily to you my love to dreams that never will come true am i strong enough to see it through go crazy is what i will do repeat  till fade ",1
20,"dance dance dance yowsah yowsah yowsah","chic",1978," dance dance dance dance keep on dancin dance dance dance dancewere just dancin to the beat feel the heat im movin my feet headed towards the floor gonna get down a get down some morerumba and tango latin hustle too yowsah yowsah yowsah i wanna boogie with youbop bop bop bop bow bop bop bop bop bow bop bop bop bop bow bop bop bop bop bowooh what a treat feels so sweet ahh that body heat when im dancin with my baby drives me crazy makes me hazyrumba and tango latin hustle too yowsah yowsah yowsah i wanna boogie with youbop bop bop bop bow bop bop bop bop bow bop bop bop bop bow bop bop bop bop bowdance dance dance dance dance dance dance dance dance dance dance dance dance dance dance dancedance dance dance dance keep on keep on dance dance dance dance keep on dancingdance dance dance dance keep on keep on dance dance dance dancedance dance dance dance keep on keep on dance dance dance dance keep on dancingdance dance dance dance keep on keep on dance dance dance dancedance dance dance dance keep on keep on dance dance dance dance keep on dancingdance dance dance dance keep on keep on dance dance dance danceooh what a treat feels so sweet ahh that body heat when im dancin with my baby drives me crazy makes me hazyrumba and tango latin hustle too yowsah yowsah yowsah i wanna boogie with youbop bop bop bop bow bop bop bop bop bow bop bop bop bop bow bop bop bop bop bowdance dance dance dance keep on keep on dance dance dance dance keep on dancingdance dance dance dance keep on keep on dance dance dance dancedance dance dance dance dance dance dance dance dance dance dance dance dance dance dance dance ",1
21,"feels so good","chuck mangione",1978,"  ",1
22,"hot child in the city","nick gilder",1978," danger in the shape of somethin wild stranger dressed in black shes a hungry child no one knows who she is or what her name is i dont know where she came from or what her game ishot child in the city hot child in the city runnin wild and lookin pretty hot child in the cityso young to be loose and on her own young boys they all want to take her home when she goes downtown the boys all stop and stare when she goes downtown she walks like she just dont carehot child in the city hot child in the city runnin wild and lookin pretty hot child in the citycome on down to my place baby well talk about love come on down to my place woman well make lovehot child in the city hot child in the city runnin wild and lookin pretty hot child in the cityhot child in the city hot child in the city runnin wild and lookin pretty hot child in the city hot child in the city ",1
23,"love is like oxygen","sweet",1978,"love is like oxygen you get too much you get too high not enough and youre gonna die love gets you high love is like oxygen you get too much you get too high not enough and youre gonna die love gets you high time on my side i got it all ive heard that pride always comes before a fall theres a rumor goin around the town that you dont want me around i cant shake off my city blues everywhere i turn i lose love is like oxygen you get too much you get too high not enough and youre gonna die love gets you high love is like oxygen you get too much you get too high not enough and youre gonna die love gets you high time is no healer if youre not there holy fever sets words in the air some things are better left unsaid im gonna spend my days in bed i walk the streets at night to be hidden by the city light city light love is like oxygen you get too much you get too high not enough and youre gonna die love gets you high love is like oxygen you get too much you get too high not enough and youre gonna die love gets you high",3
24,"its a heartache","bonnie tyler",1978," its a heartache nothing but a heartache hits you when its too late hits you when youre down its a fools game nothing but a fools game standing in the cold rain feeling like a clownits a heartache nothing but a heartache love him till your arms break then hell let you down it aint right with love to share when you find he doesnt care for you it aint wise to need someone as much as i depended on youoh its heartache nothing but a heartache hits you when its too late hits you when youre down its a fools game nothing but a fools game standing in the cold rain feeling like a clownit aint right with love to share when you find he doesnt care for you it aint wise to need someone as much as i depended on you ",1
25,"we will rock youwe are the champions","queen",1978,NA,NA
26,"baker street","gerry rafferty",1978," winding your way down on baker street light in your head and dead on your feet well another crazy day youll drink the night away and forget about everythingthis city desert makes you feel so cold its got so many people but its got no soul and its taken you so long to find out you were wrong when you thought it held everythingyou used to think that it was so easy you used to say that it was so easy but youre tryin youre tryin now another year and then youd be happy just one more year and then youd be happy but youre cryin youre cryin nowway down the street theres a light in his place he opens the door hes got that look on his face and he asks you where youve been you tell him who youve seen and you talk about anythinghes got this dream about buyin some land hes gonna give up the booze and the one night stands and then hell settle down its a quiet little town and forget about everythingbut you know hell always keep movin you know hes never gonna stop movin cause hes rollin hes the rollin stone and when you wake up its a new mornin the sun is shinin its a new mornin but youre going youre going home ",1
27,"cant smile without you","barry manilow",1978," you know i cant smile without you i cant smile without you i cant laugh and i cant sing im finding it hard to do anything you see i feel sad when youre sad i feel glad when youre glad if you only knew what im going through i just cant smile without youyou came along just like a song and brighten my day who would have believed that you where part of a dream now it all seems light years awayand now you know i cant smile without you i cant smile without you i cant laugh and i cant sing im finding it hard to do anything you see i feel sad when your sad i feel glad when youre glad if you only knew what im going through i just cant smilenow some people say happiness takes so very long to find well im finding it hard leaving your love behind me ",1
28,"too much too little too late","johnny mathis  deniece williams",1978,"guess its over call it a day sorry that it had to end this way no reason to pretend we knew it had to end some day this way yes its over the kids are gone whats the use of tryin to hang on somewhere we lost the key so little left for you and me and its clear to see too much too little too late to lie again with you too much too little too late to try again with you were in the middle of ending something that we knew its over oh it was over too much too little too late to ever try again too much too little too late lets end it being friends too much too little too late we knew it had to end ah its over its over yes its over the chips are down whoa nearly all our bridges tumbled down whatever chance we try lets face it widenedeye its over its over its over too much too little too late to ever try again too much too little too late lets end it being friends too much too little too late we knew it had to end and its over and its over and its over too much too little too late to ever try again too much too little too late lets end it being friends",3
29,"dance with me","peter brown",1978,"you gotta keep on makin me high you gotta keep on makin me high you gotta keep on makin me high you gotta keep on makin me high if youre feeling sad and blue come on ̢n dance with me i can make your dreams come true come on n dance with me ladies get up off your seats come on n dance with me gentlemen get on your feet come on n dance with me say the word and ill summon the band with my hand let your mind and your body be free dance with me you gotta keep on makin me high you gotta keep on makin me high if you feel that you like what you see dance with me you gotta keep dancin ̢cause its makin me high you gotta keep keep dancin you gotta keep dancin ̢cause its makin me high you gotta keep keep dancin you gotta keep on makin me high you gotta keep on makin me high you gotta keep on makin me high you gotta keep on makin me high if youre feeling sad and blue come on n dance with me i can make your dreams come true come on n dance with me say the word and ill summon the band with my hand let your mind and your body be free dance with me you gotta keep on makin me high you gotta keep on you gotta keep on makin me high you gotta keep on let your mind and your body be free dance with me",3
30,"two out of three aint bad","meat loaf",1978," baby we can talk all night but that aint gettin us nowhere i told you everything i possibly can theres nothing left inside of here and maybe you can cry all night but thatll never change the way i feel the snow is really piling up outside i wish you wouldnt make me leave here i poured it on and i poured it out i tried to show you just how much i care im tired of words and im too hoarse to shout but youve been cold to me so long im crying icicles instead of tearsand all i can do is keep on telling you i want you i need you butthere aint no way im ever gonna love you now dont be sad cause two out of three aint bad now dont be sad cause two out of three aint badyoull never find your gold on a sandy beach youll never drill for oil on a city street i know youre looking for a ruby in a mountain of rocks but there aint no coup de ville hiding at the bottom of a cracker jack boxi cant lie i cant tell you that im something im not no matter how i try ill never be able to give you something something that i just havent got theres only one girl ill ever love and that was so many years ago and though i know ill never get her out of my heart she never loved me back oh i knowi remember how she left me on a stormy night she kissed me and got out of our bed and though i pleaded and i begged her not to walk out that door she packed her bags and turned right awayand she kept on telling me she kept on telling me she kept on telling me i want you i need youbut there aint no way im ever gonna love you now dont be sad cause two out of three aint bad i want you i need you but there aint no way im ever gonna love you now dont be sad cause two out of three aint bad baby we can talk all night but that aint getting us nowhere ",1
31,"jack and jill","raydio",1978,"raydio miscellaneous jack and jill jack wanting someone to feel sat upon a hill and waited all day for jill jill always away from home never bothering to phone always leaving poor jack alone chorus why do you think jack snuck down the hill he needed love love he couldnt get from jill  jack like little red riding hood always tryin to do good waited as long as he could  jill is it right or wrong for jack to carry on if you leave him home to long sing chorus",3
32,"take a chance on me","abba",1978," if you change your mind im the first in line honey im still free take a chance on me if you need me let me know gonna be around if youve got no place to go if youre feeling down if youre all alone when the pretty birds have flown honey im still free take a chance on me gonna do my very best and it aint no lie if you put me to the test if you let me trytake a chance on me thats all i ask of you honey take a chance on mewe can go dancing we can go walking as long as were together listen to some music maybe just talking get to know you better cause you know ive got so much that i wanna do when i dream im alone with you its magic you want me to leave it there afraid of a love affair but i think you know that i cant let goif you change your mind im the first in line honey im still free take a chance on me if you need me let me know gonna be around if youve got no place to go if youre feeling down if youre all alone when the pretty birds have flown honey im still free take a chance on me gonna do my very best and it aint no lie if you put me to the test if you let me trytake a chance on me come on give me a break will you take a chance on meoh you can take your time baby im in no hurry know im gonna get you you dont wanna hurt me baby dont worry i aint gonna let you let me tell you now my love is strong enough to last when things are rough its magic you say that i waste my time but i cant get you off my mind no i cant let go cause i love you soif you change your mind im the first in line honey im still free take a chance on me if you need me let me know gonna be around if youve got no place to go if youre feeling down if youre all alone when the pretty birds have flown honey im still free take a chance on me gonna do my very best baby cant you see gotta put me to the test take a chance on me take a chance take a chance take a chance on meba ba ba ba baa ba ba ba ba baa honey im still free take a chance on me gonna do my very best baby cant you see gotta put me to the test take a chance on me take a chance take a chance take a chance on meba ba ba ba baa ba ba ba ba baa baba honey im still free take a chance on me gonna do my very best baby cant you see gotta put me to the test take a chance on me ",1
33,"sometimes when we touch","dan hill",1978," you ask me if i love you and i choke on my reply id rather hurt you honestly than mislead you with a liefor who am i to judge you in what you say or do im only just beginning to see the real youchorus and sometimes when we touch the honestys too much and i have to close my eyes and hide i want to hold you till i die till we both break down and cry i want to hold you till the fear in me subsidesromance and all its strategy leaves me battling with my pride but through the insecurity some tenderness survives im just another writer still trapped within my truth a hesitant prizefighter still trapped within my youthchorusat times id like to break you and drive you to your knees at times id like to break through and hold you endlessly at times i understand you and i know how hard you try ive watched while love commands you and ive watched love pass you by at times i think were drifters still searching for a friend a brother or a sister but then the passion flares againchorus ",1
34,"last dance","donna summer",1978," last dance last chance for love yes its my last chance for romance tonighti need you by me beside me to guide me to hold me to scold me cause when im bad im so so badso lets dance the last dance lets dance the last dance lets dance this last dance tonightlast dance last dance for love yes its my last chance for romance tonightoh oh i need you by me beside me to guide me to hold me to scold me cause when im bad im so so badso lets dance the last dance lets dance the last dance lets dance the last dance tonightoh oh i need you by me beside me to guide me to hold me to scold me cause when im bad im so so badso cmon baby dance that dance cmon baby dance that dance cmon baby last dance tonightyeah yeah ",1
35,"hopelessly devoted to you","olivia newtonjohn",1978," guess mine is not the first heart guess mine is not the first heart broken my eyes are not the first to cry im not the first to know theres just no getting over youyou know im just a fool whos willing to sit around and wait for you but baby cant you see theres nothing else for me to do im hopelessly devoted to youbut now theres no way to hide since you pushed my love aside im outta my head hopelessly devoted to you hopelessly devoted to you hopelessly devoted to youmy head is saying fool forget him my heart is saying dont let go hold on to the end thats what i intend to do im hopelessly devoted to you ",1
36,"hot blooded","foreigner",1978," well im hot blooded check it and see i got a fever of a hundred and three come on baby do you do more than dance im hot blooded im hot bloodedyou dont have to read my mind to know what i have in mind honey you oughta know now you move so fine let me lay it on the line i wanna know what youre doin after the shownow its up to you we can make a secret rendezvous just me and you ill show you lovin like you never knewthats why im hot blooded check it and see i feel a fever burning inside me come on baby do you do more than dance im hot blooded im hot blooded im hotnow its up to you can we make a secret rendezvous oh before we do you have to get away from you know whowell im hot blooded check it and see i got a fever of a hundred and three come on baby do you do more than dance im hot blooded im hot bloodedhot blooded im a little bit high hot blooded youre a little bit shy hot blooded youre making me sing hot blooded for your sweet sweet thing ",1
37,"youre in my heart the final acclaim","rod stewart",1978," i didnt know what day it was when you walked into the room i said hello unnoticed you said goodbye too soonbreezing through the clientele spinning yarns that were so lyrical i really must confess right here the attraction was purely physicali took all those habits of yours that in the beginning were hard to accept your fashion sense beardsly prints i put down to experiencethe big bosomed lady with the dutch accent who tried to change my point of view her ad lib lines were well rehearsed but my heart cried out for youchorus youre in my heart youre in my soul youll be my breath should i grow old you are my lover youre my best friend youre in my soulmy love for you is immeasurable my respect for you immense youre ageless timeless lace and fineness youre beauty and eleganceyoure a rhapsody a comedy youre a symphony and a play youre every love song ever written but honey what do you see in mechorusyoure an essay in glamour please pardon the grammar but youre every schoolboys dream youre celtic united but baby ive decided youre the best team ive ever seenand there have been many affairs many times ive thought to leave but i bite my lip and turn around cause youre the warmest thing ive ever foundchorus ",1
38,"the closer i get to you","roberta flack  donny hathaway",1978,"the closer i get to you the more youll make me see like giving me all youve got your love has captured me over and over again ill try to tell myself that we could never be more than friends and all the while inside i knew it was real the way you make me feel lying here next to you time just seems to fly needing you more and more lets give love a try sweeter than sweeter love grows and heavens there for those who fool the tricks of time with the hearts in love you find true love in a special way the closer i get to you the more youll make me see by giving me all youve got your love has captured me over and over again ill try to tell myself that we could never be more than friends and all the while inside i knew it was real the way you make me feel the closer i get to you the more youll make me see by giving you all ive got your love has captured me",3
39,"dust in the wind","kansas",1978," i close my eyes only for a moment and the moments gone all my dreams pass before my eyes a curiosity dust in the wind all they are is dust in the windsame old song just a drop of water in an endless sea all we do crumbles to the ground though we refuse to see dust in the wind all we are is dust in the wind oh ho honow dont hang on nothing lasts forever but the earth and sky it slips away and all your money wont another minute buy dust in the wind all we are is dust in the wind all we are is dust in the wind dust in the wind everything is dust in the wind everything is dust in the wind the wind ",1
40,"magnet and steel","walter egan",1978," ooh ooh ah now i told you so you ought to know ooh it takes some time for a feelin to grow ooh youre so close now i cant let you go ooh and i cant let gowith you im not shy to show the way i feel with you i might try my secrets to reveal for you are a magnet and i am steeli cant hope that ill hold you for long ooh youre a woman whos lost to your song ooh but the love that i feel is so strong ooh and it cant be wrongwith you im not shy to show the way i feel with you i might try my secrets to reveal for you are a magnet and i am steel ooh ooh ooh ",1
41,"short people","randy newman",1978," short people got no reason short people got no reason short people got no reason to livethey got little hands little eyes they walk around tellin great big lies they got little noses and tiny little teeth they wear platform shoes on their nasty little feetwell i dont want no short people dont want no short people dont want no short people round hereshort people are just the same as you and i a fool such as i all men are brothers until the day they die its a wonderful worldshort people got nobody short people got nobody short people got nobody to lovethey got little baby legs that stand so low you got to pick em up just to say hello they got little cars that got beep beep beep they got little voices goin peep peep peep they got grubby little fingers and dirty little minds theyre gonna get you every time well i dont want no short people dont want no short people dont want no short people round here ",1
42,"use ta be my girl","the ojays",1978," good lovin the girls got plenty good lovin ask me how i know and ill tell you so she use ta be my girl i respect her when she was mine i used to neglect her she wanted more than i could give but as long as i live shell be my girl she use ta be my girl she use ta be my girlshe had a charming personality the girl was so right for me shes my girl and if i had the chance i know i would take her back as a matter of fact right away like today not only good lookin the girl was so smart you cant beat her cookin ask me how i know and ill tell you so she use ta be my girldeep down inside i still love her i would place no one above her shes warm and sensitive for as long as i live shell be my girl if i had the chance id take her back as a matter of fact right away by todaygood lovin the girls got plenty good lovin ask me how i know and ill tell you so she use ta be my girl my girl she use ta be use ta be my girl she use ta be my girl she use ta be my girl ",1
43,"our love","natalie cole",1978," youre my morning star shining brightly beside me and if we keep this love we will last through all eternity just the way we are i love it love it its just the way it should be cause our love will stand tall as the trees our love will spread wide as the seas our love will shine bright in the night like the stars above and well always be together our lovemy love is surely one thing you can surely depend on in times of darkness and fear i go to you i know youll make me strong youre gonna make me happy youre gonna make me smilecause our love will stand tall as the trees our love will be for the whole world to see our love will change peoples wrongs to right and we will never die cause well always have each otherour love will stand tall as the trees our love will spread as wide as the seas our love will shine bright in the night like the stars and well always be together yeah yeah babyour love we got a mighty mighty good love our love we got a mighty mighty good lovebring it down just a little cause love is soft love is sweet love is nice and love is gentle love is joy love is pain love is laughing in the rainive got love on my mind love is always right on time love is you and love is me love is gonna set you freebaby baby our love ",1
44,"love will find a way","pablo cruise",1978," someone someones done you wrong you thought that your love was strong now youre feelin like such a fool youre thinkin maybe if you said goodbye youll understand the reason why the love you had felt so cruel umhmoh but its all right once you get past the pain youll learn to find your love again so keep your heart open cause love will find a waysometimes we all feel a need to change our love we have to rearrange and move on to something new yes you do your dreams feel like theyre fallin apart you need to find a brand new start but youre almost afraid to be true to yourselfoh but its all right once you get past the pain youll learn to find your love again so keep your heart open cause love will find a way love will find a way love will find a wayso now dont dont be afraid of yourself just move on to something else and let your love shine through againyes cause its all right once you get past the pain youll learn to find your love again so keep your heart open cause love will find a wayoh but its all right once you get past the pain youll learn to find your love again so keep your heart open cause love will find a way ",1
45,"an everlasting love","andy gibb",1978," ive been here all your life watching your crying game you were the heaven in my lonely world and he was your sun and your rain i was losing you before i ever held you tight before you ever held me in your arms and i wont make you blue and maybe an everlasting love will doive got an everlasting love so tall so wide so high above the rumble of thunder down below its your love i need its the only show and its you on an everlasting dream can take us anywhere are the tears of yesterday we killed the pain we blew away the memories of the tears we cried and an everlasting love will never dietake me out of the cold give me what ive waited for if its the pleasure of taking my heart that you need then it only makes me love you more i was yours before the stars were born and you were mine i could have saved you all the pain you knew and i wont make you cry and maybe an everlasting love can tryive got an everlasting love so tall so wide so high above the rumble of thunder down below its your love i need its the only show and its you on an everlasting dream can take us anywhere are the tears of yesterday we killed the pain we blew away the memories of the tears we cried and an everlasting love will never die repeat ",1
46,"love is in the air","john paul young",1978," love is in the air everywhere i look around love is in the air every sight and every sound and i dont know if im being foolish dont know if im being wise but its something that i must believe in and its there when i look in your eyeslove is in the air in the whisper of the tree love is in the air in the thunder of the sea and i dont know if im just dreaming dont know if i feel safe but its something that i must believe in and its there when you call out my namelove is in the air love is in the air oh oh oh oh uhlove is in the air in the rising of the sun love is in the air when the day is nearly done and i dont know if you are illusion dont know if i see truth but you are something that i must believe in and you are there when i reach out for youlove is in the air everywhere i look around love is in the air every sight and every sound and i dont know if im being foolish dont know if im being wise but its something that i must believe in and its there when i look in your eyeslove is in the air love is in the air oh oh oh oh uhoh love is in the air love is in the air oh oh oh oh uh ",1
47,"goodbye girl","david gates",1978," all your life youve waited for love to come and stay and now that i have found you you must not slip awayi know its hard believing the words youve heard before but darlin you must trust them just once morecause baby goodbye doesnt mean forever let me tell you goodbye doesnt mean well never be together againif you wake up and im not there i wont be long away cause the things you do my goodbye girl will bring me back to youi know youve been taken afraid to hurt again you fight the love you feel for me instead of givin inbut i can wait forever for helpin you to see that i was meant for you and you for meso remember goodbye doesnt mean forever let me tell you goodbye doesnt mean well never be together againthough we may be so far apart you still would have my heart so forget your past my goodbye girl cause now youre home at last ",1
48,"slip slidin away","paul simon",1978," slip slidin away slip slidin away you know the nearer your destination the more youre slip slidin awayi know a man he came from my home town he wore his passion for his woman like a thorny crown he said delores i live in fear my love for yous so overpowering im afraid that i will disappearslip slidin away slip slidin away you know the nearer your destination the more youre slip slidin awayi know a woman became a wife these are the very words she uses to describe her life she said a good day aint got no rain she said a bad days when i lie in bed and think of things that might have beenslip slidin away slip slidin away you know the nearer your destination the more youre slip slidin awayand i know a father who had a son he longed to tell him all the reasons for the things hed done he came a long way just to explain he kissed his boy as he lay sleeping then he turned around and headed home againhes slip slidin slip slidin away you know the nearer your destination the more youre slip slidin awaygod only knows god makes his plan the informations unavailable to the mortal man we work our jobs collect our pay believe were gliding down the highway when in fact were slip slidin awayslip slidin away slip slidin away you know the nearer your destination the more youre slip slidin awayslip slidin away slip slidin away you know the nearer your destination the more youre slip slidin away mmm ",1
49,"the groove line","heatwave",1978," pack your grip takin you on a trip aint no seats all we gots dancin feetleave you worries behind cause rain shine wont mind were ridin on the groove line tonightget this train know youll be glad you came hit the track party hard there and backleave you worries behind cause rain shine dont mind were ridin on the groove line tonightcheck out the wheels are turnin you know we wont stop we got this boiler burnin were keepin it hotso grab your friends get the train comin through climb on board where you leaves up to youleave you worries behind cause rain shine dont mind were ridin on the groove line tonightleave you worries behind cause rain shine dont mind were ridin on the groove line tonightcheck out the wheels are turnin you know we wont stop we got this boiler burnin were keepin it hotso grab your friends get the train comin through climb on board where you leaves up to youleave you worries behind cause rain shine dont mind were ridin on the groove line tonightcause rain shine dont mind were ridin on the groove line tonightrain shine dont mind were ridin on the groove line tonightgrab your friends get the train comin through climb on board where you leaves up to youleave you worries behind cause rain shine dont mind were ridin on the groove line tonightcause rain shine dont mind were ridin on the groove line tonightcause rain shine dont mind were ridin on the groove line tonightcause rain shine dont mind were ridin on the groove line tonightcause rain shine dont mind were ridin on the groove line tonightcause rain shine dont mind were ridin on the groove line tonight ",1
50,"thunder island","jay ferguson",1978," shalalalalala my lady in the sun with your hair undone can you hear me now calling your name from across the bay a summers day laughing and ahidin chasing love out on thunder islandshe was the color of the indian summer and we shared the hours without number until one day when the sky turned dark and the winds grew wild caught by the rain and blinded by the lightnin we rode the storm out there on thunder islandi held her close until the storm passed and we fell down laughing in the wet grass both our bodies drying in the sunshine sweet sunshine so shalalalalala my lady in the sun with your dress undone now evry mile away and evry day cuts a little deeper ill remember the nights in the cool sand making love out on thunder island ",1
51,"imaginary lover","atlanta rhythm section",1978," imaginary lovers never turn you down when all the others turn you away theyre aroundits my private pleasure midnight fantasy someone to share my wildest dreams with meimaginary lover youre mine anytime imaginary lover ooh yeahwhen ordinary lovers dont feel what you feel and reallife situations lose their thrillimaginations unreal imaginary lover imaginary lover youre mine anytimeimaginary lovers never disagree they always care theyre always there when you needsatisfaction guaranteed imaginary lover imaginary lover youre mine all the timemy imaginary lover youre mine anytime oh yeah yeah incomprehensiblei have imagined incomprehensible i have imagined incomprehensible ",1
52,"still the same","bob seger  the silver bullet band",1978,NA,NA
53,"my angel baby","toby beau",1978,"weve got trouble somethings just not right just this mornin you cried about last night you said that somethins bound to break this time whats breakin is my heart i can read between the lines its tearin me apart youve got leavin on your mind but youre my angel baby yes youre my angel baby oh youre my angel baby for the rest of the night do you remember how it used to be lovin was easier when you were lovin me i guess you found someone and now i find whats breakin is my heart youve got leavin on your mind but youre my angel baby yes youre my angel baby oh youre my angel baby for the rest of the night whats breakin is my heart i can read between the lines its tearin me apart youve got leavin on your mind but youre my angel baby for the rest of the night angel baby the rest of the night angel baby angel baby the rest of the night angel baby the rest of the night angel baby the rest of the night",3
54,"disco inferno","the trammps",1978," burn baby burn burn baby burn burn baby burn burn baby burnto my surprise one hundred stories high people getting loose yall getting down on the roof folks are screaming out of control it was so entertaining when the boogie started to explode i heard somebody sayburn baby burn disco inferno burn baby burn burn that mother down burn baby burn disco inferno burn baby burn burn that mother downsatisfaction came in a chain reaction burnin i couldnt get enough so i had to selfdestruct the heat was on rising to the top everybody going strong and that is when my spark got hot i heard somebody sayburn baby burn disco inferno burn baby burn burn that mother down yall burn baby burn disco inferno burn baby burn burn that mother downup above my head i hear music in the air that makes me know theres a party somewheresatisfaction came in a chain reaction burnin i couldnt get enough so i had to selfdestruct the heat was on rising to the top everybody going strong and that is when my spark got hot i heard somebody sayburn baby burn disco inferno burn baby burn burn that mother down burn baby burn disco inferno burn baby burn burn that mother downburn baby burn burn baby burn burn that mother down burn baby burn disco inferno burn baby burn burn that mother downjust cant stop when my spark gets hot just cant stop when my spark gets hotjust cant stop when my spark gets hot just cant stop when my spark gets hot just cant stop when my spark gets hot when my spark gets hotjust cant stop when my spark gets hot just cant stop when my spark gets hot just cant stop when my spark gets hot just cant stop when my spark gets hot just cant stop when my spark gets hot just cant stop when my spark gets hot just cant stop when my spark gets hot just cant stop when my spark gets hot just cant stop when my spark gets hot just cant stop when my spark gets hotburn baby burn disco inferno burn baby burn burn that mother down burn baby burn disco inferno burn baby burn burn that mother down burn baby burn burn baby burn burn that mother down burn baby burn disco inferno ",1
55,"on broadway","george benson",1978," they say the neon lights are bright on broadway they say theres always magic in the air but when youre walkin down that street and you aint had enough to eat the glitter rubs right off and youre nowherethey say the women treat you fine on broadway but lookin at them just gives me the blues cause how ya gonna make some time when all you got is one thin dime and one thin dime wont even shine your shoesthey say that i wont last too long on broadway ill catch a greyhound bus for home they all say but theyre dead wrong i know they are cause i can play this here guitar and i wont quit till im a star on broadway ",1
56,"come sail away","styx",1978," im sailing away set an open course for the virgin sea cause ive got to be free free to face the life thats ahead of meon board im the captain so climb aboard well search for tomorrow on every shore and ill try oh lord ill try to carry oni look to the sea reflections in the waves spark my memory some happy some sad i think of childhood friends and the dreams we hadwe lived happily forever so the story goes but somehow we missed out on the pot of gold but well try best that we can to carry ona gathering of angels appeared above my head they sang to me this song of hope and this is what they saidthey said come sail away come sail away come sail away with me lads come sail away come sail away come sail away with me come sail away come sail away come sail away with me baby come sail away come sail away come sail away with mei thought that they were angels but to my surprise we climbed aboard their starship we headed for the skiessinging come sail away come sail away come sail away with me lads come sail away come sail away come sail away with me come sail away come sail away come sail away with me come sail away come sail away come sail away with mecome sail away come sail away come sail away with me come sail away come sail away come sail away with me come sail away come sail away come sail away with me come sail away come sail away come sail away with me ",1
57,"every time i turn around back in love again","ltd",1978,"every time i move i lose when i look im in and every time i turn around im back in love i get mixed emotions its the way my feelings flow excuse me im only human sometimes i i just dont know every time i move i lose when i look im in and every time i turn around im back in love again dododododo back in love again dododododo back in love when you put your arms around me i feel so satisfied i want to love you forever i just cant i cant decide every time i move i lose when i look im in and every time i turn around im back in love again right back right back in love again alright seems like seems like back in love again now its your lover i know its hard just to be a friend thats something else i discovered i guess i just dont ever want it to end every time i move i lose when i look im in and every time i turn around im back in love again right back right back in love again seems like seems like that im back in love again right back right back in love again alright seems like seems like im back in love again i just dont believe it back in love again right back im back i cant believe it right back im back every time i turn around back in love again right back im back i get so many mixed emotions im back in love again right back im back every time i turn around oh my love jones coming down back in love again right back im back alright alright alright im back im back help me help me help me back in love im back im back oh yeah back in love again right back im back i get so many mixed emotions yes i do",5
58,"this time im in it for love","player",1978,"i heard the weatherman predict a sunny day he did not mean to lie i look outside its raining anyway i guess i can live with a rainy day cause in the scheme of things youre bound lose a few even your bestmade plans before you know it they are falling through but that couldnt happen to me oooh and you this time im in it for love this time im in it to win its crazy to do it again but how could i possibly lose how could i lose this time im in it for you my ma she used to say beware the tender trap if you get caught in one be sure you notice where your heart is at dont take chances with things things like that this time im in it for love this time im in it to win its crazy to do it again but how could i possibly lose how could i lose this time im in it for you this time im in it for love baby this time im in it to win its crazy to do it again but how could i possibly lose how could i lose this time im in it for you this time im in it for love this time im in it to win its crazy to do it again crazy baby but how could i possibly lose aint now way i could i lose this time im in it for you this time im in it for love",5
59,"you belong to me","carly simon",1978," whyd you tell me this were you looking for my reaction what do you need to know dont you know ill always be your girlyou dont have to prove to me youre beautiful to strangers ive got lovin eyes of my ownyou belong to me tell her tell her you were foolin you belong to me you dont even know her you belong to me tell her that i love you you belong to meyou belong to me can it be honey that youre not sure you belong to me thought wed closed the book locked the dooryou dont have to prove to me that youre beautiful to strangers well ive got lovin eyes of my own my ownand i can tell i can tell darlin tell her tell her that i love you you belong to me you belong to me you belong you belong you belong to me you belong to me tell her you were foolin you belong to me tell her she dont even know youtell her tell her you were foolin you belong to me you belong to me i know you from a long time ago baby you belong to me dont leave me to go to her now you belong to me you belong to me you belong to mebaby i really love you you belong to me tell her tell her tell her she belong to me you belong to me you belong to me you belong to me you belong to me cause you belong to me you belong to me you belong to me you belong you belong you belong to me you belong to meoh oh baby you belong to me you belong you belong you belong to me you belong to me oh oh no oh no baby you belong to me i love you so you belong to me you belong to me ",1
60,"here you come again","dolly parton",1978," here you come again just when ive begun to get myself together you waltz right in the door just like youve done before and wrap my heart round your little fingerhere you come again just when im about to make it work without you you look into my eyes and lie those pretty lies and pretty soon im wondrin how i came to doubt youall you gotta do is smile that smile and there go all my defenses just leave it up to you and in a little while youre messin up my mind and fillin up my senses here you come again lookin better than a body has a right to and shakin me up so that all i really know is here you come again and here i goall you gotta do is smile that smile and there got all my defenses just leave it up to you and in a little while youre messin up my mind and fillin up my senses here you come again lookin better than a body has a right to and shakin me up so that all i really know is here you come again and here i go here i go and here i go and here i go here you come again and here i go here i go ",1
61,"blue bayou","linda ronstadt",1978," i feel so bad i got a worried mind im so lonesome all the time since i left my baby behind on blue bayousaving nickles saving dimes working til the sun dont shine looking forward to happier times on blue bayouim going back someday come what may to blue bayou where the folks are fun and the world is mine on blue bayou where those fishing boats with their sails afloat if i could only see that familiar sunrise through sleepy eyes how happy id begonna see my baby again gonna be with some of my friends maybe ill feel better again on blue bayousaving nickles saving dimes working til the sun dont shine looking forward to happier times on blue bayouim going back someday come what may to blue bayou where the folks are fun and the world is mine on blue bayou where those fishing boats with their sails afloat if i could only see that familiar sunrise through sleepy eyes how happy id beoh that boy of mine by my side the silver moon and the evening tide oh some sweet day gonna take away this hurting inside well ill never be blue my dreams come true on blue bayou ",1
62,"peg","steely dan",1978," ive seen your picture your name in lights above it this is your big debut its like a dream come true so wont you smile for the camera i know theyre gonna love it pegi like your picture i keep it with your letter done up in blueprint blue it sure looks good on you and when you smile for the camera i know ill love you betterpeg it will come back to you peg it will come back to you then the shutter falls you see it all in 3d its your favorite foreign moviei like your picture i keep it with your letter done up in blueprint blue it sure looks good on you and when you smile for the camera i know ill love you betterpeg it will come back to you peg it will come back to you then the shutter falls you see it all in 3d its your favorite foreign moviepeg it will come back to you peg it will come back to you then the shutter falls you see it all in 3d its your favorite foreign moviepeg it will come back to you peg it will come back to you then the shutter falls you see it all in 3d its your favorite foreign moviepeg it will come back to you peg it will come back to you then the shutter falls you see it all in 3d its your favorite foreign movie ",1
63,"you needed me","anne murray",1978," i cried a tear you wiped it dry i was confused you cleared my mindi sold my soul you bought it back for me and held me up and gave me dignity somehow you needed meyou gave me strength to stand alone again to face the world out on my own againyou put me high upon a pedestal so high that i could almost see eternity you needed me you needed meand i cant believe its you i cant believe its true i needed you and you were thereand ill never leave why should i leave id be a fool cause ive finally found someone who really caresyou held my hand when it was cold when i was lost you took me homeyou gave me hope when i was at the end and turned my lies back into truth again you even called me friendyou gave me strength to stand alone again to face the world out on my own againyou put me high upon a pedestal so high that i could almost see eternity you needed me you needed me you needed me you needed me ",1
64,"shame","evelyn champagne king",1978," jh fitch and r crossshame burning you keep my whole body yearning you got me so confused its a shame sometimes i think im going insane but still i want to staywrapped in your arms is where i want to be i want to be want to be wrapped in your arms thats my high my highshame ooh my mother says youre playing a game and what you do to me is a shame ooh gonna love you just the same song text taken from stlyricscom mama just dont understandwrapped in your arms is where i want to be i want to be want to be wrapped in your arms thats my high my highi cant get enough ooh baby enough of that magic touch love is in my heart tearing the rules apart so why should i be ashamedonly love can be to blame if we lose our love its a shame ooh i wouldnt want to live with the pain gonna stay foreverwrapped in your arms is where i want to be i want to be want to be wrapped in your arms thats my high my high only love can be to blame if we lose our love its a shame ooh i wouldnt want to live with the pain gonna stay forever oh its a shame shame ",1
65,"reminiscing","little river band",1978," friday night it was late i was walking you home we got down to the gate i was dreaming of the night would it turn out right how to tell you girl i want to build my world around you wanna tell you that its true i wanna make you understand im talking about a lifetime planwell thats the way it began we were handinhand glen millers band was better than before we yelled and screamed for more and those porters tunes made us dance across the room it ended all too soon on the way back home i promised youd never be alonehurry dont be late i cant hardly wait i said to myself when were old well go dancing in the dark walking through the park and reminiscingfriday night it was late i was walking you home we got down to the gate i was dreaming of the night would it turn out right now as the years roll on each time we hear our favourite song the memories come along older times were missing spending the hours reminiscing ",1
66,"count on me","jefferson starship",1978," precious love ill give it to you blue as the sky and deep in the eyes of a love so true beautiful face you make me feel lite on the stairs and lost in the air of a love so realand you can count on me count on my love count on me count on my love to see you throughemerald eyes and china perfume caught in the wheel and lost in the feel of a love so soon ruby lips you make my song into the night and saved by the lite of a love so strongand you can count on me count on my love baby count on me count on my love to see you throughooh you can count on me girl count on my loveprecious love ill give it to you blue as the sky and deep in the eyes of a love so true beautiful face you make me feel lite on the stairs and lost in the air of a love so realand you can count on me count on my love baby count on me count on my love babycount on me count on my love baby count on me count on my love ",1
67,"baby hold on","eddie money",1978," baby hold on to me whatever will be will be the future is ours to see so baby hold on to mebaby whats these things youve been sayin about me behind my back is it true you might want a better lifeis it true you think that these things are lies now think about it baby im gonna take you to the topso baby hold on to me whatever will be will be the future is ours to see when you hold on to meheyey baby you know the futures lookin brighter every mornin when i get up dont be thinkin bout whats not enough now baby just be thinkin bout what we got think of all my love now im gonna give you all i gotso baby hold on to me whatever will be will be the future is ours to see when you hold on to meohoh rich man poor man now really dont mean all that much mamas always told you girl that money cant buy you loveso baby hold on to me whatever will be will be the future is ours to see when you hold on to meyeah yeah baby hold on to me whatever will be will be the future is ours to see when you hold on to mei say uh hold on uhhuh hold on to me tighter im never gonna leave ya now cant you please believe me now never gonna let you go so hold on to me tighterbaby hold on to me whatever will be will be the future is ours to see when you hold on to mebaby baby hold on to me baby whatever will be will be baby the future is ours to see baby when you hold on to mehold on ",1
68,"hey deanie","shaun cassidy",1978,"i was a fool for your love from the moment i saw you like a vision in the darkness of a thousand lonesome lonely nights my heart threw away the key im as blind as a man could be oh darlin cant you help me see the light hey deanie wont you come out tonight the stars are dancin like diamonds in the moonlight and we could never find a better time to be in love hey deanie wont you come out tonight the summers waitin the moon is shinin so bright hey deanie youre the one im dreamin of i stand accused im in league with the forces of darkness an incurable believer in the magic of the midnight sky and the love that i found today oh i cant let it slip away oh darlin cant you read between the lines hey deanie wont you come out tonight the stars are dancin like diamonds in the moonlight and we could never find a better time to be in love hey deanie wont you come out tonight the summers waitin the moon is shinin so bright hey deanie youre the one im dreamin of deanie love is all there is dont wanna lose it i dont wanna let the feelin end no no no ya ya ya hey deanie wont you come out tonight the stars are dancin like diamonds in the moonlight and we could never find a better time to be in love hey deanie wont you come out tonight the summers waitin the moon is shinin so bright hey deanie youre the one im dreamin of hey deanie wont you come out tonight the stars are dancin like diamonds in the moonlight and we could never find a better time to be in love hey deanie wont you come out tonight the summers waitin the moon is shinin so bright hey deanie youre the one im dreamin of",3
69,"summer nights","john travolta  olivia newtonjohn",1978,NA,NA
70,"whats your name","lynyrd skynyrd",1978," well its eight oclock in boise idaho ill find my limo driver mister take us to the show i done made some plans for later on tonight ill find a little queen and i know i can treat her rightwhats your name little girl whats your name shootin you straight little girl wont you do the sameback at the hotel lord we got such a mess it seems that one of the crew had a go with one of the guests oh yes well the police said we cant drink in the bar what a shame wont you come upstairs girl and have a drink of champagnewhats your name little girl whats your name shootin you straight little girl for there aint no shamewhats your name little girl whats your name shootin you straight little girl wont you do the same awh yeahwhats your name little girl whats your name shootin you straight little girl wont you do the samenine oclock the next day and im ready to go i got six hundred miles to ride to do one more show oh no can i get you a taxi home it sure was grand when i come back here next year i want to see you againwhat was your name little girl whats your name shootin you straight little girl well there aint no shame what was your name little girl whats your name shootin you straight little girl wont you do the same woo ",1
71,"dont it make my brown eyes blue","crystal gayle",1978," dont know when ive been so blue dont know whats come over you youve found someone new and dont it make my brown eyes blueill be fine when youre gone ill just cry all night long say it isnt true and dont it make my brown eyes bluetell me no secrets tell me some lies give me no reasons give me alibis tell me you love me and dont let me cry say anything but dont say goodbyei didnt mean to treat you bad didnt know just what i had but honey now i do and dont it make my brown eyes dont it make my brown eyes dont it make my brown eyes blue ",1
72,"because the night","patti smith group",1978,"  ",1
73,"every kinda people","robert palmer",1978," said the fight to make ends meet keeps a man upon his feet holding down his job trying to show he cant be boughtit takes every kinda people to make what lifes about yeah every kinda people to make the world go roundsomeones looking for a lead in his duty to a king or to a creed protecting what he feels is right fights against wrong with his lifetheres no profit in deceit honest men know that revenge does not taste sweet whether yellow black or white each and every mans the same insideit takes every kinda people to make what lifes about yeah it takes every kinda people to make the world go rounddo do do do do do oh never knew no no no no noyou know that loves the only goal that could bring a peace to any soul hey and every mans the same he wants the sunshine in his nameit takes every kinda people to make what lifes about yeah it takes every kinda people to make the world go roundevery kinda people to make what lifes about it takes every kinda people to make the world go round ",1
74,"copacabana","barry manilow",1978," her name was lola she was a showgirl with yellow feathers in her hair and a dress cut down to there she would merengue and do the chacha and while she tried to be a star tony always tended bar across the crowded floor they worked from eight til four they were young and they had each other who could ask for moreat the copa co copacabana copacabana the hottest spot north of havana here at the copa co copacabana music and passion were always the fashion at the copa they fell in lovecopa copacabana his name was rico he wore a diamond he was escorted to his chair he saw lola dancing there and when she finishedhe called her over but rico went a bit to far tony sailed across the bar and then the punches flew and chairs were smashed in two there was blood and a single gun shot but just who shot whoat the copa co copacabana copacabana the hottest spot north of havana here at the copa co copacabana music and passion were always the fashion at the copa she lost her love copa copacabana copa copacabana copacabanacopa copacabana copa copacabanalike in havana copa banana music and passion were always in fashionher name is lola she was a showgirl but that was thirty years ago when they used to have a show now its a disco but not for lola still in dress she used to wear faded feathers in her hair she sits there so refined and drinks herself halfblind she lost her youth and she lost her tony now shes lost her mindat the copa co copacabana copacabana the hottest spot north of havana here at the copa co copacabana music and passion were always in fashion at the copa dont fall in lovecopa copacabana dont fall in love copacabana copacabanacopa copacabana copacabana copacabana copacabana copacabana copacabana copacabana copacabana ",1
75,"always and forever","heatwave",1978," always and forever each moment with you is just like a dream to me that somehow came true and i know tomorrow will still be the same cause weve got a life of love that wont ever change andeveryday love me your own special way melt all my heart away with a smile take time to tell me you really care and well share tomorrow together ill always love you forever forevertherell always be sunshine when i look at you its something i cant explain just the things that you do and if you get lonely phone me and take a second to give to me that magic you make andeveryday love me your own special way melt all my heart away with a smile take time to tell me you really care and well share tomorrow together ill always love you ever everloving you is the thing that ive planned for a very long time me with you you with me we as one love together for a very long time loving you you babyalways forever love you always forever love you always forever love youi said forever love you love you ever and the day and one day loving you you you you you forever tomorrows tomorrowever and a day ever and a day ever everyday yeah you loving you forever ever you you forever ",1
76,"you and i","rick james",1978," you and i we fit together like a glove on hand thats right dont you know that i would gladly take you anywhere you wanted to goyou and me we are as close as three part harmony wouldnt you agree and if by chance our romance ended it would surely be the end of mesome people might say im infatuated i dont care cause they really dont know theyll never see or hear the things i do with you so far as im concerned they all can go to hellnow sing it sugar now sing it baby you and i well be together till the six is nine thats right when you need me ill never hesitate ill always come its so much fun yeahyou and i although were poor our love has greater wealth than hughes himself and if by chance there is an after life when we die hope its with you and isome people might say im infatuated i dont care cause they really dont know theyll never see or hear the things i do with you so far as im concerned they all can go to hellbaby sing it to me come on sing do it sing it sugar do it baby take it babyyou and i you and me well be together eternally you and i you and me well be together eternally you and i you and me well be together eternally oh baby you and i you and medance girl everybody on the funk everybody dance on the funk everybody dance on the funk can you sing it on timeeverybody dance on the funk everybody dance on the funk everybody shake your booty down everybody shake your booty downeverybody dance on the funk everybody dance on the funkdance and shout funk yourself right out dance and shout funk yourself right out dance and shout funk yourself right outwe laid this groove so you can move on the funk everybody dance on the funk we laid this groove so you can move on the funk everybody dance on the funk we laid this groove so you can move on the funk everybody dance on the funkeverybody dance on the funk everybody dance on the funk everybody shake your booty down everybody shake your booty downeverybody shake your booty down everybody shake your booty down everybody dance on the funkdance dance dance dance dance dance dance dance dance dance ",1
77,"serpentine fire","earth wind  fire",1978,"when i see your face like the morning sun you spark me to shine tell all the world my need is fulfilled and thats a new design as long as youre near there is no fear of a victory but when im away influences stray my mind to disagree i wanna see your face in the morning sun ignite my energy the cause and effect of you has brought new meaning in my life to me gonna tell a story morning glory all about the serpentine fire gonna tell a story morning glory all about the serpentine fire oh yeah oh yeah oh yeah oh yeah oh yeah oh yeah i need to see your face like the morning sun ignite my energy the cause and effect of you has brought new meaning in my life to me the moments i find when im inclined to do my best negative wins when i give in and then i lose the test gonna tell a story morning glory all about the serpentine fire surely as life begun you will as one battle with the serpentine fire oh yeah oh yeah oh yeah oh yeah oh yeah oh yeah surely as life begun you will as one battle with the serpentine fire surely as life begun you will as one battle with the serpentine fire gonna tell a story morning glory all about the serpentine fire gonna tell a story morning glory all about the serpentine fire",3
78,"sentimental lady","bob welch",1978," you are here and warm but i could look away and youd be gone cause we live in a time when meaning falls in splinters from our lives and thats why ive traveled far cause i come so together where you areand all of the things that i said that i wanted come rushing by in my head when im with you 14 joys and a will to be merry and all of the things that they say are verysentimental gentle wind blowing through my life again sentimental lady gentle onenow you are here today but easily you might just go away cause we live in a time when paintings have no color words dont rhyme and thats why ive traveled far cause i come so together where you areand all of the things that i said that i wanted come rushing by in my head when im with you 14 joys and a will to be merry all of the things that we say are verysentimental gentle wind blowing through my life again sentimental lady gentle oneyou are here and warm but i could look away and youd be gone cause we live in a time when meaning falls in splinters from our lives and thats why ive traveled far cause i come so together where you areyes and all of the things that i said that i wanted come rushing by in my head when im with you 14 joys and a will to be merry all of the things that they say are verysentimental gentle wind blowing through my life again sentimental lady gentle onesentimental gentle wind blowing through my life again sentimental lady gentle one ",1
79,"falling","leblanc  carr",1978,"i think about winter when i was with her and the snow was fallin down warmed by the fire i love bein by her when theres no one else around and im fallin woah im fallin im fallin in love with you i think about summer my head was swimmin you wrote my name in the sand we walked together hopin forever please dont let go of my hand cause im fallin woah im fallin im fallin in love with you the fall and the springtime were like in between time youre here and then youre gone away woah i just wanted to say wont you please please stay cause im fallin woah im fallin im fallin in love with you in love with you in love with you",3
80,"dont let me be misunderstood","santa esmeralda",1978," baby do you understand me now sometimes i feel a little mad but dont you know that no one alive can always be an angel when things go wrong or seem to be badim just a soul whose intentions are good oh lord please dont let me be misunderstoodif i seem edgy i want you to know that i never meant to take it out on you life has its problems and i got my share and thats one thing i never meant to do cause i love youbaby dont you know im just human and ive got thoughts like any other man and sometimes i find myself alone regretting some foolish thing some foolish thing ive donebut im just a soul whose intentions are good oh lord please dont let me be misunderstood oh lord dont let me be misunderstood please dont let me be misunderstoodbaby do you understand me now sometimes i feel a little mad but dont you know that no one alive can always be an angel when things go wrong or seem to be badcause im just a soul whose intentions are good oh lord please dont let me be misunderstoodbaby sometimes im so carefree with a joy thats hard to hide and sometimes it seems that all i have to do is worry and then youre bound to see my other sidecause im just a soul whose intentions are good oh lord please dont let me be misunderstoodif i seem edgy i want you to know that i never meant to take it out on you life has its problems and i got my share and thats one thing i never meant to do cause i love youoh baby dont you know im human i have thoughts like any other man and sometimes i find myself alone regretting some foolish thing some foolish thing ive donecause im just a soul whose intentions are good oh lord please dont let me be misunderstood ",1
81,"bluer than blue","michael johnson",1978,"michael johnson miscellaneous bluer than blue bluer than blue michael johnson after you go i can catch uo on my readin after you go ill have a lot more time to sleepin and when youre gone looks like things are gonna be a lot easier life will be a breeze you know i really should be glad but im bluer than blue sadder than sad i youre the only light this empty room has ever had life without you is gonna be bluer than blue after you go ill have a lot more room in my closet after you go ill stay out all night long if i feel like it and when youre gone i can run through the house screamin and no one will ever hear me i really should be glad repeat i i dont have to miss no tv shows i can start my whole life over change the numbers on my telephone but the nights will sure be colder repeat i bluer than blue bluer than blue",3
82,"running on empty","jackson browne",1978," looking out at the road rushing under my wheels looking back at the years gone by like so many summer fields in sixty five i was seventeen and running up one on one i dont know where im running now im just running onrunning on running on empty running on running blind running on running into the sun but im running behind    meaning  byamandah   editor    running on empty was written while jackson browne was driving to the studio each day to make his record the pretender in rolling stone magazine browne    see all   gotta do what you can just to keep your love alive trying not to confuse it with what you do to survive in sixtynine i was twentyone and i called the road my own i dont know when that road turned into the road im onrunning on running on empty running on running blind running on running into the sun but im running behindeveryone i know everywhere i go people need some reason to believe i dont know about anyone but me if it takes all night thatll be all right if i can get you to smile before i leavelooking out at the road rushing under my wheels i dont know how to tell you all just how crazy this life feels look around for the friends that i used to turn to to pull me through looking into their eyes i see them running toorunning on running on empty running on running blind running on running into the sun but im running behindhoney you really tempt me you know the way you look so kind id love to stick around but im running behind you know i dont even know what im hoping to find running into the sun but im running behind ",1
83,"whenever i call you friend","kenny loggins  stevie nicks",1978,"kenny loggins  stevie nicks miscellaneous whenever i call you friend whenever i call you friend i begin to think i understand anything we are  you and i have always been ever and ever i see myself within your eyes and thats all i need to show me why everything i do always takes me home to you ever and ever now i know my life has given me  more than memories  day by day we can see in every moment theres a reason to carry on sweet love showin us a heavenly light ive never seen such a beautiful sight sweet love flowin almost every night i know forever well be doin itright whenever i call you friend  i believe ive come to understand everywhere we are you and i were meant to be forever and ever i think about the times to come knowin i will be the lucky one ever our love will last i always want to call you friend sweet lovesweet love  youre the glowing light in my life the source of pride in my life everything i do takes me back to you",3
84,"fool if you think its over","chris rea",1978,"  ",1
85,"get off","foxy",1978," ooh ooh ooh ooh ooh ooh ooh ooh ooooooohyeah get offmusic may ease and end all discretion so we can get off we keep under the sheets with two lovelys so we can get offsaid i hope that we get the promise ladies and make me get off take it from girls with our imagination so we can get offcall me up at your place i can love you crazy in the heat you will understand danger and excitement thats what makes a lady find out what she wants in a manto get off get off to get off to get off to get off to get off to get off to get get offooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooooooohlookin through that dress that drive me crazy and makes me get off sensuality excites my mind it makes get off if i were you id get a good perspective on how to get off love me wild and love me crazy so we can get offcall me up at your place i can love you crazy in the heat you will understand danger and excitement thats what makes a lady find out what she wants in a manto get off to get off to get off to get off to get off to get off to get off to get get offooh ooh ooh ooh ooh ooh ooh ooh ooooooohooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooooooohlookin through that dress that drive me crazy and makes me get off sensuality excites my mind it makes get off if i were you id get a good perspective for sure on how to get off love me wild and love me crazy so we can get offcall me up at your place i can love you crazy in the heat you will understand danger and excitement thats what makes a lady find out what she wants in a manto get off to get off to get off to get off to get off to get off to get off to get get offooh ooh ooh ooh ooh ooh ooh ooh ooooooohget offso get off to get off to get off to get get off get off to get off to get off get off so get off get off to get off to get get off get off to get off get off get offto get off to get off to get off to get get off get off get off get off to get off get off to get off get off get get off get off get off so get off just get off get off get off get off ",1
86,"sweet talkin woman","electric light orchestra",1978," where did you goi was searchin on a oneway street i was hopin for a chance to meet i was waitin for the operator on the lineshes gone so long what can i do where could she be no no no dont know what im gonna do i gotta get back to youyou gotta slow down sweet talkin woman you got me runnin you got me searchin hold on sweet talkin lover its so sad if thats the way its overi was walkin many days go by i was thinkin bout the lonely nights communication breakdown all aroundshes gone so long what can i do where could she be no no no dont know what im gonna do i gotta get back to youyou gotta slow down sweet talkin woman you got me runnin you got me searchin hold on sweet talkin lover its so sad if thats the way its overive been livin on a dead end street ive been askin everybody i meet insufficient data coming throughshes gone so long what can i do where could she be no no no dont know what im gonna do i gotta get back to youoh slow down sweet talkin woman you got me runnin you got me searchin hold on sweet talkin lola its so sad if thats the way its overslow down sweet talkin woman you got me runnin you got me searchin hold on sweet talkin lover its so sad if thats the way its overslow down sweet talkin woman you got me runnin you got me searchin hold on sweet talkin lover its so sad if thats the way its over ",1
87,"lifes been good","joe walsh",1978," i have a mansion forget the price aint never been there they tell me its nice i live in hotels tear out the walls i have accountants pay for it allthey say im crazy but i have a good time im just looking for clues at the scene of the crime lifes been good to me so farmy maserati does 185 i lost my license now i dont drive i have a limo ride in the back i lock the doors in case im attackedim making records my fans they cant wait they write me letters tell me im great so i got me an office gold records on the wall just leave a message maybe ill calllucky im sane after all ive been through everybody says im cool hes cool i cant complain but sometimes i still do lifes been good to me so fari go to parties sometimes until four its hard to leave when you cant find the door its tough to handle this fortune and fame everybodys so different i havent changedthey say im lazy but it takes all my time everybody says oh yeah oh yeah i keep on going guess ill never know why lifes been good to me so far ",1
88,"i love the nightlife","alicia bridges",1978,"i love the nightlife i got to boogie on the disco round oh yeah oh i love the nightlife i got to boogie on the disco round oh yeah please dont talk about love tonight please dont talk about sweet love please dont talk about bein true and all the trouble weve been through ah please dont talk about all of the plans we had for fixin this broken romance i want to go where the people dance i want some action i want to live action i got so much to give i want to give it i want to get some too oh i oh i i love the nightlife i got to boogie on the disco round oh yeah oh i love the nightlife i got to boogie on the disco round oh yeah please dont talk about love tonight your sweet talkin wont make it right love and lies just bring me down when youve got women all over town you can love them all and when youre through maybe thatll make huh a man out of you i got to go where the people dance i want some action i want to live action i got so much to give i want to give it i want to get some too oh i i love the nightlife i got to boogie on the disco round oh yeah oh i love the night life i got to boogie on the disco round oh yeah oh i love the nightlife i got to boogie on the disco round yeah oh i love the night life i got to boogie on the disco round yeah oh i love the nightlife i got to boogie on the disco round oh yeah oh i love the night life i got to boogie on the disco round yeah oh i love the nightlife i got to boogie on the disco round oh yeah",3
89,"you cant turn me off in the middle of turning me on","high inergy",1978,"darling when youre next to me intro i melt i feel so weak its getting hard to go to sleep this feeling on my mind it needs you baby to satisfy you cant turn me off not in the middle of turning me on i cant suddenly stop nooooo youve changed me from cold to hot now im ready to give you all the love ive got please dont leave me now cant you read in my eyes this need i have to love so dont tease me now dont tease me please please me now you cant turn me off you cant turn me off not in the middle in the middle in the middle of turning me on i cant suddenly stop noooo each and every time we touch ooh the feeling too much take me to that special place youve gone too far to leave me so spaced baby you wont tease me now you wont do nothing but please me now you cant turn me off not in the middle of turning me on i cant suddenly stop if you love me like i love you then youll do what i want you to baby please youll come and hold me in your lovin arms and make my heart rush straight to the stars  so dont tease me now you wont do nothing but please me now you cant turn me off no you cant turn me off not in the middle smack dab in the middle of turning me on im ready to learn ready to learn ready to learn",5
90,"its so easy","linda ronstadt",1978," its so easy to fall in love its so easy to fall in lovepeople tell me loves for fools here i go breaking all the rulesseems so easy yeah so doggone easy oh it seems so easy yeah where youre concerned my heart can learnits so easy to fall in love its so easy to fall in lovelook into your heart and see what your love book has set aside for meit seems so easy yeah so doggone easy oh it seems so easy yeah where youre concerned my heart can learnoh its so easy to fall in love its so easy to fall in loveit seems so easy oh so doggone easy yeah it seems so easy oh where youre concerned my heart can learnoh its so easy to fall in love its so easy to fall in loveits so easy to fall in love its so easy to fall in loveits so easy to fall in love its so easy to fall in love ",1
91,"native new yorker","odyssey",1978," new york girl ooh ooh oohrunnin pretty new york city girl twentyfive thirtyfive hello baby new york city girlyou grew up riding the subways running with people up in harlem down on broadway youre no tramp but youre no lady talkin that street talk youre the heart and soul of new york cityand love love is just a passing word its the thought you had in a taxi cab that got left on the curb when he dropped you off at east 83rdoh oh oh oh oh oh youre a native new yorker you should know the score by now you should know by now youre a native new yorkernew york girl ooh ooh oohmusic plays everyones dancing closer and closer making friends and finding lovers there you are lost in the shadows searching for someone searchin for someone to set you free from new york cityand whoa where did all those yesterdays go when you still believed love could really be like a broadway show you are the star win the applauseoh oh oh oh oh oh youre a native new yorker no one opens the door for a native new yorkerrunnin pretty new york city girl ooh ooh ooh native native native new yorkerwhere did all those yesterdays go when you still believed love could really be like a broadway show you are the staryoure a native new yorker you should know the score by now youre a native new yorkeryou should know the score you should know the score by now youre a native new yorker oh oh oh native native native new yorker youre a native new yorkerwhoa oh ho ho youre a native new yorker you should know the score native native native new yorker youre a native new yorkerwhat you waiting for no one opens the door youre a native new yorker for a native for a native new yorker ",1
92,"flash light","parliament",1978," now i lay me down to sleep ooh i just cant find a beat flash light ohh i will never dance flash light flash light flash lightha da da dee da hada hada da daoh its no useflash light red light neon light ooh stop lightnow i lay me down to sleep i guess ill go count the sheep oh but i will never danceoh dont make me do it dance sucker ooh ha ha oww get himmost of all he needs the funk shine it help him find the funk ha funk it most of all he needs the funk help him find the funk get him most of all he needs the funk i know we can get him help him find the funk ho most of all he needs the funk ha dont help him find the funk i know you will dance sucker most of all he needs the funk shine the spotlight on him help him find the funk oh funk meha da da dee da hada hada da da dance nose you know you on my funk street oh funk me ha da da dee da hada hada da da get on down nose i like it dance thenflash light flash light oh ho ho spot light  spot light neon light neon light street light street lightoh ho ha haeverybodys got a little light under the sunshinin on the funk shinin on the funkmost of all he need the funk ha da da dee da hada hada da da help him find the funk most of all he need the funk help him find the funk most of all he need the funk help him find the funk most of all he need the funk help him find the funkha da da dee da hada hada da da oh flash light flash light flash light flash light flash light flash light flash light oh flash light flash light oh flash light spot light spot light neon light ooooh neon light flash light ooh flash light ho stop light stop lightnow i lay me down to sleep i guess ill go count the sheep ha da da dee da hada hada da da oh shake your funk ha da da dee da hada hada da da shake your funk ha da da dee da hada hada da da shake your rump ha da da dee da hada hada da da ho i think i found the funkflash light flash light day light day light spot light spot light red light ohhh hooo red lighteverybodys got a little light under the sunha da da dee da hada hada da da ha da da dee da hada hada da da ha da da dee da hada hada da da ha da da dee da hada hada da da ha da da dee da hada hada da da ha da da dee da hada hada da da ha da da dee da hada hada da da ha da da dee da hada hada da daeverybodys got a little light under the sun under the sun under the sun under the sun under the sun under the sun under the sun under the sun under the sun ",1
93,"dont look back","boston",1978," dont look back a new day is breakin its been too long since i felt this way i dont mind where i get taken the road is callin today is the dayi can see it took so long just to realize im much too strong not to compromise now i see what i am is holding me down ill turn it around oh yes i willi  finally see the dawn arrivin i  see beyond the road im drivinits a bright horizon and im awakin now oh i see myself in a brand new way the sun is shinin the clouds are breakin cause i cant lose now theres no game to playi can tell theres no more time left to criticize ive seen what i could not recognize everything in my life was leading me on but i can be strong oh yes i cani  finally see the dawn arrivin i  see beyond the road im drivin oo far away and left behind left behindoh the sun is shining and im on that roaddont look back a new day is breakin oh its been so long since i felt this way i dont mind if i get taken the road is callin today is the dayi can see it took so long just to realize im much too strong not to compromise now i see what i am is holding me down ill turn it around oh yes i willi  finally see the dawn arrivin i  see beyond the road im drivin oh far away and left behinddont look back dont look back dont look back dont look back ",1
94,"turn to stone","electric light orchestra",1978," the city streets are empty now the lights dont shine no more and so the songs are way down low turning turning turning a sound that flows into my mind the echoes of the daylight of everything that is alive in my blue worldi turn to stone when you are gone i turn to stone turn to stone when you comin home i cant go onthe dying embers of the night a fire that slowly fades till dawn still glow upon the wall so bright turning turning turning the tired streets that hide away from here to everywhere they go roll past my door into the day in my blue worldi turn to stone when you are gone i turn to stone turn to stone when you comin home i cant go on turn to stone when you are gone i turn to stoneyes im turnin to stone cause you aint comin home why you aint comin home if im turnin to stone youve been gone for so long and i cant carry on yes im turnin im turnin im turnin to stonethe dancing shadows on the wall the two step in the hall are all i see since youve been gone turning turning turning through all i sit here and i wait i turn to stone i turn to stone you will return again someday to my blue worldi turn to stone when you are gone i turn to stone turn to stone when you comin home i cant go on turn to stone when you are gone i turn to stonei turn to stone when you are gone i turn to stone turn to stone when you comin home i cant go on turn to stone when you are gone i turn to stone ",1
95,"i cant stand the rain","eruption",1978,"i cant stand the rain against my window bringing back sweet memories i cant stand the rain against my window because hes not here with me hey window pane do you remember how sweet it used to be when we were together everything was so grand yes it was now that weve parted theres one sound that i just cant stand i cant stand the rain against my window bringing back sweet memories i cant stand the rain alone with the pillow where his head used to lay yeah i know youve got some sweet memories but like a window you aint got nothing to say i cant stand the rain against my window bringing back sweet memories hey i cant stand the rain ooh against my window oh no no because hes not here with me i cant i cant i cant cant stand the rain i cant i cant i cant cant stand the rain i cant i cant i cant cant stand the rain i cant i cant i cant cant stand the rain i cant i cant i cant cant stand the rain get off my window i cant i cant i cant cant stand the rain get off my window now i cant stand the rain i cant stand the rain",5
96,"ebony eyes","bob welch",1978," well have you seen that girl in the corner id like to take her out of her chains cause if i have my way with you baby i would be changing your life todayyour eyes got me dreaming your eyes got me blind your eyes got me hoping that ill be holding you close tonightyour eyes got me dreaming your eyes got me blind your eyes got me hoping that ill be holding you close tonightshe was the same as a hundred ladies but when my eyes looked at her i learned that she was keeping a secret fire and if i got real close id burnso it looked like i had to move slowly like a cat at night in the trees cause i was waiting for her to show me the way that she liked her love to feelyour eyes got me dreaming your eyes got me blind your eyes got me hoping that ill be holding you close tonightyour eyes got me dreaming your eyes got me blind your eyes got me hoping that ill be holding you close tonightebony eyes ebony eyes ebony eyes ebony eyesyour eyes got me dreaming your eyes got me blind your eyes got me hoping that ill be holding you close tonightyour eyes got me dreaming your eyes got me blind your eyes got me hoping that ill be holding you close tonight ",1
97,"the name of the game","abba",1978," ive seen you twice in a short time only a week since we started it seems to me for every time im getting more openheartedi was an impossible case noone ever could reach me but i think i can see in your face theres a lot you can teach me so i wanna knowwhats the name of the game does it mean anything to you whats the name of the game can you feel it the way i do tell me please cause i have to know im a bashful child beginning to growand you make me talk and you make me feel and you make me show what im trying to conceal if i trust in you would you let me down would you laugh at me if i said i care for you could you feel the same way too i wanna knowthe name of the gamei have no friends noone to see and i am never invited now i am here talking to you no wonder i get excitedyour smile and the sound of your voice and the way you see through me got a feeling you give me no choice but it means a lot to me so i wanna knowwhats the name of the game your smile and the sound of your voice does it mean anything to you got a feeling you give me no choice but it means a lot whats the name of the game your smile and the sound of your voice can you feel it the way i do tell me please cause i have to know im a bashful child beginning to growand you make me talk and you make me feel and you make me show what im trying to conceal if i trust in you would you let me down would you laugh at me if i said i care for you could you feel the same way too i wanna know oh yes i wanna knowthe name of the game i was an impossible case does it mean anything to you but i think i can see in your face that it means a lot whats the name of the game your smile and the sound of your voice can you feel it the way i do got a feeling you give me no choice but it means a lot whats the name of the game i was an impossible case does it mean anything to you but i think i can see in your face that it means a lot ",1
98,"were all alone","rita coolidge",1978," outside the rain begins and it may never end so cry no more on the shore a dream will take us out to sea forever more forever moreclose your eyes and dream and you can be with me neath the waves through the caves of ours long forgotten now were all alone were all aloneclose the window calm the light and it will be all right no need to bother now let it out let it all begin learn how to pretendonce a storys told it cant help but grow old roses do lovers too so cast your seasons to the wind and hold me dear oh hold me dearclose the window calm the light and it will be all right no need to bother now let it out let it all begin alls forgotten now were all aloneoh were all aloneclose the window calm the light and it will be all right no need to bother now let it out let it all begin owe it to the wind my love ",1
99,"hollywood nights","bob seger  the silver bullet band",1978,"bob seger  the silver bullet band miscellaneous hollywood nights she stood there bright as the sun on that california coast he was a midwestern boy on his own she looked at him with those soft eyes so innocent and blue he knew right then he was too far from home he was too far from home she took his hand and she led him along that golden beach  they watched the waves tumble over the sand they drove for miles and miles up those twisting turning roads higher and higher and higher they climbed and those hollywood nights in those hollywood hills she was looking so right  in her diamonds and frills oh those big city nights in those high rolling hills above all the lights  she had all of her skills hed headed west cause he felt that a change would do him good see some old friends good for the soul she had been born with a face that would let her get her way  he saw that face and he lost all control he had lost all control night after night  day after day  it went on and on then came that morning he woke up alone he spent all night staring down at the lights on la wondering if he could ever go home and those hollywood nights in those hollywood hills she was looking so right  it was giving him chills in those big city nights in those high rolling hills above all the lights  with a passion that kills in those hollywood nights in those hollywood hills she was looking so right  in her diamonds and frills oh those big city nights in those high rolling hills above all the lights  she had all of her skills",3
100,"deacon blues","steely dan",1978," this is the day of the expanding man that shape is my shade there where i used to stand it seems like only yesterday i gazed through the glass at ramblers wild gamblers thats all in the pastyou call me a fool you say its a crazy scheme this ones for real i already bought the dream so useless to ask me why throw a kiss and say goodbye ill make it this time im ready to cross that fine linelearn to work the saxophone i play just what i feel drink scotch whiskey all night long and die behind the wheel they got a name for the winners in the world i want a name when i lose they call alabama the crimson tide call me deacon bluesmy back to the wall a victim of laughing chance this is for me the essence of true romance sharing the things we know and love with those of my kind libations sensations that stagger the mindi crawl like a viper through these suburban streets make love to these women languid and bittersweet i rise when the sun goes down cover every game in town a world of my own ill make it my home sweet homelearn to work the saxophone i play just what i feel drink scotch whiskey all night long and die behind the wheel they got a name for the winners in the world i want a name when i lose they call alabama the crimson tide call me deacon bluesthis is the night of the expanding man i take one last drag as i approach the stand i cried when i wrote this song sue me if i play too long this brother is free ill be what i want to bei learned to work the saxophone i play just what i feel drink scotch whiskey all night long and die behind the wheel they got a name for the winners in the world i want a name when i lose they call alabama the crimson tide call me deacon blues ",1
1,"my sharona","the knack",1979," ooh my little pretty one my pretty one when you gonna give me some time sharona ooh you make my motor run my motor run got it coming off o the line sharonanever gonna stop give it up such a dirty mind i always get it up for the touch of the younger kind my my my ayeaye whoa mmmmy sharonacome a little closer huh awill ya huh close enough to look in my eyes sharona keeping it a mystery it gets to me running down the length of my thigh sharonanever gonna stop give it up such a dirty mind i always get it up for the touch of the younger kind my my my ayeaye whoa mmmmy sharona mmmmy sharonawhen you gonna give to me a gift to me is it just a matter of time sharona is it dddestiny ddestiny or is it just a game in my mind sharonanever gonna stop give it up such a dirty mind i always get it up for the touch of the younger kind my my my ayeaye whoa mmmmmmmmy my my ayeaye whoa mmmmy sharona mmmmy sharona mmmmy sharona mmmmy sharonaoooooooohhh my sharona oooooooohhh my sharona oooooooohhh my sharona ",1
2,"bad girls","donna summer",1979," bad girls talking about the sad girls sad girls talking about bad girls yeahsee them out on the street at night walkin picking up on all kinds of strangers if the price is right you cant score if youre pockets tight but you want a good timeyou ask yourself who they are like everybody else they come from near and farbad girls talking about the sad girls sad girls talking about bad girls yeahfriday night and the strip is hot suns gone down and theyre out to trot spirits high and legs look hot do you want to get downnow dont you ask yourself who they are like everybody else they want to be a starbad girls sad girls youre such a dirty bad girl beep beep uh uh youre bad girl youre sad girl youre such a dirty bad girl beep beep uh uhnow you and me were both the same but you call yourself by different names now your mama wont like it when she finds out that her girl is out at nighthey mister have you got a dime mister do you want to spent some time oh yeah i got what you want you got what i need ill be your baby come and spend it on mehey mister i spend some time with youwith you with you bad girls bad girls talking aboud bad girls sad girlshey hey mister ",1
3,"le freak","chic",1979," ah freak out le freak cest chichave you heard about the new dance craze listen to us im sure youll be amazed big fun to be had by everyone its up to you it surely can be done young and old are doing it im told just one try and you too will be sold its called le freak theyre doing it night and day allow us well show you the wayah freak out le freak cest chicall that pressure got you down has your head spinning all around feel the rhythm check the ride come on along and have a real good time like the days of stopping at the savoy now we freak oh what a joy just come on down to fifty four find a spot out on the floorah freak out le freak cest chicnow freak i said freak now freakall that pressure got you down has your head spinning all around feel the rhythm check the ride come on along and have a real good time like the days of stopping at the savoy now we freak oh what a joy just come on down to fifty four find a spot out on the floorah freak out le freak cest chic ",1
4,"da ya think im sexy","rod stewart",1979," suger suger ooh ooh she sits alone waiting for suggestions hes so nervous avoiding all the questions his lips are dry her heart is gently pounding dont you just know exactly what theyre thinkingif you want my body and you think im sexy come on sugar let me know if you really need me just reach out and touch me come on honey tell me so tell me so babehes acting shy looking for an answer come on honey lets spend the night together now hold on a minute before we go much further give me a dime so i can phone my mother they catch a cab to his highrise apartment at last he can tell her exactly what his heart meantif you want my body and you think im sexy come on honey tell me so if you really need me just reach out and touch me come on sugar let me knowhis hearts beating like a drum cause at last hes got this girl home relax baby now were all alonethey wake at dawn cause all the birds are singing two total strangers but that aint what theyre thinking outside its cold misty and its raining they got each other neither ones complaining he says im sorry but im out of milk and coffee never mind sugar we can watch the early movieif you want my body and you think im sexy come on sugar let me know if you really need me just reach out and touch me come on honey tell me so oohsugar if you really need me just reach out and touch me come on sugar let me know if you really need me need me need me really need me just let me know just reach out and touch me ooh if you really want me just reach out and touch me come on sugar let me know if you really need me just reach out and touch me come on sugar let me know if you if you if you really need me just come on and tell me so ooh ",1
5,"reunited","peaches  herb",1979,"i was a fool to ever leave your side me minus you is such a lonely ride that breakup we had has made me lonesome and sad i realize i love you cuz i want you back heyhey i spent the evening with the radio regret the moment that i let you go our quarrel was such a way of learning so much i know now that i love you cuz i need your touch heyhey reunited and it feels so good reunited cuz we understood theres one perfect fit and sugar this one is it we both are so excited cuz were reunited heyhey i sat here starin at the same old wall came back to life just when i got your call i wished i could climb right through the telephone line and give you what you want so you would still be mine heyhey i cant go cheatin honey i cant play i found it very hard to stay away as we reminisce on precious moments like this im glad were back together cuz i missed your kiss heyhey reunited and it feels so good reunited cuz we understood theres one perfect fit and sugar this one is it we both are so excited cuz were reunited heyhey baby oh lovin lover this is solid love and youre exactly what im dreamin of all through the day and all through the night ill give you all the love i have with all my might heyhey reunited and it feels so good reunited cuz we understood theres one perfect fit and sugar this one is it we both are so excited cuz were reunited heyhey listen baby i wont ever make you cry i wont let one day go by without holding you without kissing you without loving you reunited youre my everything only you know how i feel all the love there is in me i wanna let you know i wont let you go i wanna let you know i wont let you go reunited feels so good reunited and it feels so good reunited cuz we understood theres one perfect fit and sugar this one is it we both are so excited cuz were",3
6,"i will survive","gloria gaynor",1979," at first i was afraid i was petrified thinking i couldnt live without you by my side and ive been spending nights thinking how you did me wrong and i grew strong and i learned how to get along and now youre back from outer space and i find you here with that sad look upon your face i should have changed that stupid lock oh made you leave your key if ive known for a second youd be back to bother me go on now go walk out the door turn around now youre not welcome anymore youre the one who tried to hurt me with goodbye do you think id crumble did you think id lay down and dieno not i i will survive long as i know how to love i know ill stay alive ive got all my life to live and all my love to give and ill survive i i i will surviveit took all my strength not to fall apart trying without my mind to mend my broken heart i spent so many nights feeling sorry for myself how i cried but now i hold my head up high and you see me somebody new im not that lonely little person whos still in love with you now you come dropping in expecting me to be free now im saving all my lovin for someone whos loving me go on now walk out the door turn around now youre not welcome anymore youre the one who tried to hurt me with goodbye think id might crumble did you think id lay down and dieno not i i will survive long as i know how to love i know ill stay alive ive got my life to live and all my love to give and ill survive i i i will survivego and go walk out the door turn around now youre not welcome anymore youre the one who tried to hurt me with goodbye do you think id crumble did you think id lay down and dieno not i i will survive long as i know how to love i know ill stay alive ive got all my life to live and all my love to give and ill survive i i i will surviveit took all my strength not to fall apart trying without my mind to mend my broken heart i spent so many nights feeling sorry for myself how i cried now i hold my head up high and you see me somebody new not that lonely little person whos still in love with you now you come dropping in expecting me to be free but im saving all my lovin for someone whos loving mego on and go walk out the door turn around now youre not welcome anymore youre the one who tried to hurt me with goodbye think id might crumble did you think id lay down and dieno not i i will survive long as i know how to love i know ill stay alive ive got my life to live and all my love to give and ill survive i i i will survivego on and go walk out the door turn around now youre not welcome anymore youre the one who tried to hurt me with goodbye ",1
7,"hot stuff","donna summer",1979," sittin here eatin my heart out waitin waitin for some lover to call dialed about a thousand numbers lately almost rang the phone off the walllookin for some hot stuff baby this evenin i need some hot stuff baby tonight i want some hot stuff baby this evenin gotta have some hot stuff gotta have some love tonighthot stuff i need hot stuff i want some hot stuff i need hot stufflookin for a lover who needs another dont want another night on my own wanna share my love with a warm blooded lover wanna bring a wild man back homegotta have some hot love baby this evenin i need some hot stuff baby tonight i want some hot stuff baby this evenin gotta have some lovin got to have a love tonighthot stuff i need hot stuff hot love lookin for hot lovehot hot hot hot stuff hot hot hot hot hot hot hot stuff hot hot hothows bout some hot stuff baby this evenin i need some hot stuff baby tonight gimme little hot stuff baby this evenin hot stuff baby gonna need your love tonighthot stuff i need hot love lookin for hot love wanna have hot lovesittin here eating my heart no reason wont spend another night on my own i dialed about a hundred numbers baby im bound to find somebody homegonna have some hot stuff baby this evenin i need some hot stuff baby tonight looking for my hot stuff baby this evenin need some loving baby gonna need your love tonighthot stuff baby this evening i need some hot stuff baby tonight yeah yeah i want some hot stuff baby this evenin i want some hot stuff baby tonight yeah yeah yeah yeah hot love baby i need your hot stuff baby tonight i want your hot stuff baby this evenin hot stuff baby gonna need your love tonight ",1
8,"ymca","village people",1979," young man theres no need to feel down i said young man pick yourself off the ground i said young man cause youre in a new town theres no need to be unhappyyoung man theres a place you can go i said young man when youre short on your dough you can stay there and im sure you will find many ways to have a good timeits fun to stay at the ymca its fun to stay at the ymca they have everything for young men to enjoy you can hang out with all the boysits fun to stay at the ymca its fun to stay at the ymca you can get yourself clean you can have a good meal you can do whatever you feelyoung man are you listening to me i said young man what do you wanna be i said young man you can make real your dreams but youve got to know this one thingno man does it all by himself i said young man put your pride on the shelf and just go there to the ymca im sure they can help you todayits fun to stay at the ymca its fun to stay at the ymca they have everything for young men to enjoy you can hang out with all the boysits fun to stay at the ymca its fun to stay at the ymca you can get yourself clean you can have a good meal you can do whatever you feelyoung man i was once in your shoes i said i was down and out with the blues i felt no man cared if i were alive i felt the whole world was so jivethats when someone came up to me and said young man take a walk up the street theres a place there called the ymca they can start you back on your wayits fun to stay at the ymca its fun to stay at the ymca young man young man theres no need to feel down young man young man pick yourself off the groundymca and just go to the ymca ",1
9,"ring my bell","anita ward",1979," im glad youre home now did you really miss me i guess you did by the look in your eye look in your eye look in your eye well lay back and relax while i put away the dishes put away the dishes then you and me can rock a bellyou can ring my bell ring my bell you can ring my bell ring my bell you can ring my bell ring my bell you can ring my bell ring my bellthe night is young and full of possibilities well come on and let yourself be free yeah my love for you love for you love for you so long ive been savin tonight was made for me and youyou can ring my bell ring my bell ring my bell dingdongding you can ring my bell ring my bell ring my bell ringaringaring you can ring my bell ring my bell ring my bell dingdongding you can ring my bell ring my bell ring my bell ringaringaringyou can ring my bell you can ring my bell ding dong ding ahah ring it you can ring my bell anytime anywhere ring it ring it ring it ring it owyou can ring my bell you can ring my bell ding dong ding ahah ring it you can ring my bell anytime anywhere ring it ring it ring it ring it owyou can ring my bell ring my bell ring my bell dingdongding you can ring my beeell ring my bell ring my bell ringaringaring you can ring my beeell ring my bell ring my bell dingdongding ",1
10,"sad eyes","robert john",1979," looks like its over you knew i couldnt stay shes comin home today we had a good thing ill miss your sweet love why must you look at me that way its oversad eyes turn the other way i dont wanna see you cry sad eyes you knew thered come a day when we would have to say goodbyetry to remember the magic that we shared in time your broken heart will mend i never used you you knew i really cared i hate to see it have to end but its oversad eyes turn the other way i dont wanna see you cry sad eyes you knew thered come a day when we would have to say goodbyeinstrumental interludesad eyes you knew thered come a day when we would have to say goodbye sad eyes turn the other way turn the other way i dont wanna see you cry cry cry cry sad eyes you knew thered come a day heeeey when we would have to say goodbye sad eyes ",1
11,"too much heaven","bee gees",1979," nobody gets too much heaven no more its much harder to come by im waiting in line nobody gets too much love anymore its as high as a mountain and harder to climboh you and me girl got a lot of love in store and it flows through you and it flows through me and i love you so much more then my life i can see beyond forever everything we are will never die lovings such a beautiful thing oh you make my world a summer day are you just a dream to fade awaynobody gets too much heaven no more its much harder to come by im waiting in line nobody gets too much love anymore its as high as a mountain and harder to climbyou and me girl got a highway to the sky we can turn away from the night and day and the tears you had to cry youre my life i can see a new tomorrow everything we are will never die lovings such a beautiful thing when you are to me the light above made for all to see our precious lovenobody gets too much heaven no more its much harder to come by im waiting in line nobody gets too much love anymore its as high as a mountain and harder to climblove is such a beautiful thing you make my world a summer day are you just a dream to fade awaynobody gets too much heaven no more its much harder to come by im waiting in line nobody gets too much love anymore its as wide as a river and harder to climbnobody gets too much heaven no more its much harder to come by im waiting in linenobody gets too much love anymore its as high as a mountain and harder to climb nobody gets too much heaven no more its much harder to come by im waiting in linenobody gets too much love anymore its as high as a mountain and harder to climb ",1
12,"macarthur park","donna summer",1979,"spring was never waiting for us till it ran one step ahead as we followed in the dance mac arthurs park is melting in the dark all the sweet green icing flowing down someone left the cake out in the rain i dont think that i can take it cause it took so long to bake it and ill never have that recipe again oh no i recall the yellow cotton dress foaming like a wave on the ground beneath your knees birds like tender babies in your hands and the old men playing chinese checkers by the trees mac arthur park is melting in the dark all the sweet green icing flowing down someone left the cake out in the rain i dont think that i can take it cause it took so long to bake it and ill never have that recipe again oh no mac arthur park is melting in the dark all the sweet green icing flowing down someone left my cake out in the rain i dont think that i can take it cause it took so long to bake it and ill never have that recipe again oh no",3
13,"when youre in love with a beautiful woman","dr hook",1979," when youre in love with a beautiful woman its hard when youre in love with a beautiful woman you know its hard everybody wants her everybody loves her everybody wants to take your baby homewhen youre in love with a beautiful woman you watch your friends when youre in love with a beautiful woman it never ends you know that its crazy and you wanna trust her then somebody hangs up when you answer the phonewhen youre in love with a beautiful woman you go it alone maybe its just an ego problem problem is that ive been fooled before by fairweather friends and faint hearted lovers and every time it happens it just convinces me morewhen youre in love with a beautiful woman you watch her eyes when youre in love with a beautiful woman you look for lies cause everybody tempts her everybody tells her shes the most beautiful woman they know ",1
14,"makin it","david naughton",1979,"makin it ooh makin it im solid gold ive got the goods they stand when i walk through the neighborhoods im makin it ive got the chance im takin it no more no more fakin it this time in life im makin it ooh makin it hello uptown goodbye poverty the top of the ladder is waiting for me im makin it ive got the chance im takin it no more no more fakin it this time in life im makin it ooh makin it makin it listen everyone here this coming years gonna be my year im as bad as they come number two to no one ive got looks ive got brains and im breakin these chains make some room now dig what you see success is mine cause ive got the key im makin it im makin it ive got the chance im takin it no more no more fakin it this time in life im makin it ooh makin it",3
15,"fire","the pointer sisters",1979,"pointer sisters miscellaneous fire im ridin in your car you turn on the radio  youre pullin me close i just say no  i say i dont like it but you know im a liar  cause when we kiss ooh fire  late at night youre takin me home  you say you wanna stay i say i wanna be alone  i say i dont love you but you know im a liar  cause when we kiss ooh fire  bridge  you had a hold on me right from the start  a grip so tight i couldnt tear it apart  my nerves all jumpin actin like a fool  well your kisses they burn but my heart stays cool  well romeo and juliet samson and delilah  baby you can bet a love they couldnt deny  my words say split but my words they lie  cause when we kiss ooh fire  lead break  ooh fire  kisses like fire  burn me up with fire i like what youre doin now fire touchin me fire touchin me burnin me fire take me home fade",3
16,"tragedy","bee gees",1979," here i lie in a lost and lonely part of town held in time in a world of tears i slowly drown goin home i just cant make it all alone i really should be holding you holding you loving you loving youtragedy when the feelings gone and you cant go on its tragedy when the morning cries and you dont know why its hard to bear with no one to love you youre goin nowhere tragedy when you lose control and you got no soul its tragedy when the morning cries and you dont know why its hard to bear with no one beside you youre goin nowherenight and day theres a burning down inside of me burning love with a yearning that wont let me be down i go and i just cant take it all alone i really should be holding you holding you loving you loving youtragedy when the feelings gone and you cant go on its tragedy when the morning cries and you dont know why its hard to bear with no one to love you youre goin nowhere tragedy when you lose control and you got no soul its tragedy when the morning cries and you dont know why its hard to bear with no one beside you youre goin nowheretragedy when the feelings gone and you cant go on its tragedy when the morning cries and you dont know why its hard to bear with no one to love you youre goin nowhere tragedy when you lose control and you got no soul its tragedy when the morning cries and you dont know why its hard to bear with no one beside you youre goin nowheretragedy when the feelings gone and you cant go on its tragedy when the morning cries and you dont know why its hard to bear with no one to love you youre goin nowhere tragedy when you lose control and you got no soul its tragedy when the morning cries and your heart just dies its hard to bear with no one beside you youre goin nowheretragedy when the feelings gone and you cant go on its tragedy when the morning cries and you dont know why its hard to bear with no one to love you youre goin nowhere tragedy ",1
17,"a little more love","olivia newtonjohn",1979," night is draggin her feet i wait alone in the heat i know know that you have your way till you have to go home no is a word i cant saycause it gets me nowhere to tell you no and it gets me nowhere to make you go will a little more love make you start depending will a little more love bring a happy ending will a little more love make it right will a little more love make it rightwhere where did my innocence go how how was a young girl to know im trapped trapped in the spell of your eyes in the warmth of your arms in the web of your liesbut it gets me nowhere to tell you no and it gets me nowhere to make you go will a little more love make you start depending will a little more love bring a happy ending will a little more love make it right will a little more love make it rightgets me nowhere to tell you no it gets me nowhere to make you go will a little more love make you start depending will a little more love bring a happy ending will a little more love make it right will a little more love make it rightgets me nowhere to tell you no it gets me nowhere to make you go will a little more love make you start depending will a little more love bring a happy ending will a little more love make it right will a little more love make it rightgets me nowhere to tell you no ",1
18,"heart of glass","blondie",1979," once i had a love and it was a gas soon turned out had a heart of glass seemed like the real thing only to find mucho mistrust loves gone behindonce i had a love and it was divine soon found out i was losing my mind it seemed like the real thing but i was so blind mucho mistrust loves gone behindin between what i find is pleasing and im feeling fine love is so confusing theres no peace of mind if i fear im losing you its just no good you teasing like you doonce i had a love and it was a gas soon turned out had a heart of glass seemed like the real thing only to find mucho mistrust loves gone behindlost inside adorable illusion and i cannot hide im the one youre using please dont push me aside we coulda made it cruising yeahyeah riding high on loves true bluish lightonce i had a love and it was a gas soon turned out had a heart of glass seemed like the real thing only to find mucho mistrust loves gone behindin between what i find is pleasing and im feeling fine love is so confusing theres no peace of mind if i fear im losing you its just no good you teasing like you do ",1
19,"what a fool believes","the doobie brothers",1979," he came from somewhere back in her long ago the sentimental fool dont see trying hard to recreate what had yet to be created once in her lifeshe musters a smile for his nostalgic tale never coming near what he wanted to say only to realize it never really waschorus she had a place in his life he never made her think twice as he rises to her apology anybody else would surely know hes watching her gobut what a fool believes he sees no wise man has the power to reason away what seems to be is always better than nothing and nothing at all keeps sending himsomewhere back in her long ago where he can still believe theres a place in her life someday somewhere she will returnchorusbut what a fool believes he sees no wise man has the power to reason away what seems to be is always better than nothing theres nothing at all but what a fool believes he sees ",1
20,"good times","chic",1979," good times these are the good times leave your cares behind these are the good times good times these are the good times our new state of mind these are the good times happy days are here again the time is right for makin friends lets get together how bout a quarter to ten come tomorrow lets all do it again boys will be boys better let them have their toys girls will be girls cute pony tails and curls must put an end to this stress and strife i think i want to live the sporting life good times these are the good timesleave your cares behind these are the good times good times these are the good times our new state of mind these are the good times a rumor has it that its getting late time marches on just cant wait the clock keeps turning why hesitate you silly fool you cant change your fate lets cut the rug little jive and jitterbug we want the best we wont settle for less dont be a drag participate clams on the half shell and roller skates roller skates good times these are the good times leave your cares behind these are the good times good times these are the good times our new state of mind these are the good times good timesa rumor has it that its getting late time marches on just cant wait the clock keeps turning why hesitate you silly fool you cant change your fate lets cut the rug little jive and jitterbug we want the best we wont settle for less dont be a drag participate clams on the half shell and roller skates roller skates good times these are the good times leave your cares behind these are the good times good times these are the good times our new state of mind these are the good times good times these are the good times leave your cares behind these are the good times good times these are the good times our new state of mind these are the good times good times these are the good times leave your cares behind these are the good times ",1
21,"you dont bring me flowers","neil diamond  barbra streisand",1979,NA,NA
22,"knock on wood","amii stewart",1979," i dont want to lose you this good thing that i got cause if i do i will surely surely lose a lotcause your love is better than any love i know its like thunder lightning the way you love me is frightening you better knock knock on wood baby oooh ooh oooh oooh ooh babyim not superstitious about ya but i cant take no chance you got me spinnin baby you know im in a trancecause your love is better than any love i know its like thunder lightning the way you love me is frightenin you better knock knock knock on wood baby oooh ooh ooh ooh baby oooh ooh ooh oohthink i better knock knock knock on wood think i better knock knock knock on wood think i better knock knock knock on wood think i better knock knock knock on wood think i better knockits no secret about it cause with his lovin touch he sees to it that i get enoughwith his touch all over you know it means so much its like thunder and lightnin the way you love me is frightenin you better knock knock knock on wood baby babythink i better knock knock knock on wood think i better knock knock knock on wood think i better knock knock knock on wood think i better knock knock knock on wood ",1
23,"stumblin in","suzi quatro  chris norman",1979,"our love is alive and so we begin foolishly laying our hearts on the table stumblin in our love is a flame burning within now and then fire light will catch us stumblin in wherever you go whatever you do you know these reckless thoughts of mine are following you ive fallen for you whatever you do cause baby youve shown me so many things that i never knew whatever it takes baby ill do it for you our love is alive and so we begin foolishly laying our hearts on the table stumblin in our love is a flame burning within now and then fire light will catch us stumblin in you were so young and i was so free i may have been young but baby thats not what i wanted to be well you were the one oh why was it me cause baby youve shown me so many things that id never knew whatever you need baby you got it from me our love is alive and so we begin foolishly laying our hearts on the table stumblin in our love is a flame burning within now and then fire light will catch us stumblin in",3
24,"lead me on","maxine nightingale",1979," i have often heard you say you love me as a friend but i love you more than anyone you know i cant pretend no longeri would give you anything id throw my world but you dont wanna hear that anymore and you wanna hear me saycome on and lead me on come on and tease me all night long loving you i know its right ill always need you ill never leave youcome on and lead me on tease me all night long id rather be a fool with a broken heart than someone who never had a part of youyou know i told you from the start exactly how i feel time goes on seems nothings changed im in love for realwe have never played the games that real lovers do so maybe we are better off baby id still like this from youcome on and lead me on come on and tease me all night long loving you i know its right ill always need you ill never leave youcome on and lead me on tease me all night long id rather be a fool with a broken heart than someone who never had a part of youcome on and lead me on come on and lead me come on and tease me all night long tease me all night long id rather be a fool with a broken heart than someone who never had a part of youcome on and lead me on come on and lead me tease me all night long tease me all night long loving you i know its right ill always need you ill never leave youcome on and lead me on tease me all night long ",1
25,"shake your body down to the ground","the jacksons",1979,NA,NA
26,"dont cry out loud","melissa manchester",1979," baby cried the day the circus came to town cause she didnt want parades just passin by her so she painted on a smile and took up with some clown while she danced without a net upon the wirei know a lot about er cause you see baby is an awful lot like medont cry out loud just keep it inside and learn how to hide your feelings fly high and proud and if you should fall remember you almost had it allbaby saw that when they pulled that big top down they left behind her dreams among the litter and the different kind of love she thought shed found there was nothin left but sawdust and some glitterbut baby cant be broken cause you see she had the finest teacher that was me i told erdont cry out loud just keep it inside and learn how to hide your feelings fly high and proud and if you should fall remember you almost had it alldont cry out loud just keep it inside and learn how to hide your feelings fly high and proud and if you should fall remember you almost made itdont cry out loud just keep it inside and learn how to hide your feelings fly high and proud and if you should fall remember you almost had it all ",1
27,"the logical song","supertramp",1979," when i was young it seemed that life was so wonderful a miracle oh it was beautiful magical and all the birds in the trees well theyd be singing so happily joyfully playfully watching mebut then they send me away to teach me how to be sensible logical responsible practical and then they showed me a world where i could be so dependable clinical intellectual cynicalthere are times when all the worlds asleep the questions run too deep for such a simple mind wont you please please tell me what weve learned i know it sounds absurd please tell me who i ami said watch what you say or theyll be calling you a radical liberal fanatical criminal wont you sign up your name wed like to feel youre acceptable respectable presentable a vegetable oh chchcheck it out yeahat night when all the worlds asleep the questions run so deep for such a simple mind wont you please please tell me what weve learned i know it sounds absurd but please tell me who i am who i am who i am who i amcoz im feeling so illogical dddigital oh oh oh oh unbelievable bbbloody marvelous ",1
28,"my life","billy joel",1979," got a call from an old friend wed used to be real close said he couldnt go on the american way closed the shop sold the house bought a ticket to the west coast now he gives them a standup routine in lai dont need you to worry for me cause im alright i dont want you to tell me its time to come home i dont care what you say anymore this is my life go ahead with your own life leave me alonei never said you had to offer me a second chance i never said i was a victim of circumstance i still belong dont get me wrong and you can speak your mind but not on my timethey will tell you you cant sleep alone in a strange place then theyll tell you cant sleep with somebody else ah but sooner or later you sleep in your own space either way its ok you wake up with yourselfi dont need you to worry for me cause im alright i dont want you to tell me its time to come home i dont care what you say anymore this is my life go ahead with your own life leave me alonei never said you had to offer me a second chance i never said i was a victim of circumstance i still belong dont get me wrong and you can speak your mind but not on my timei dont care what you say anymore this is my life go ahead with your own life leave me alone ",1
29,"just when i needed you most","randy vanwarmer",1979," you packed in the morning i stared out the window and i struggled for something to say you left in the rain without closing the door i didnt stand in your waybut i miss you more than i missed you before and now where ill find comfort god knows cause you left me just when i needed you most left me just when i needed you mostnow most every morning i stare out the window and i think about where you might be ive written you letters that id like to send if you would just send one to mecause i need you more than i needed before and now where ill find comfort god knows cause you left me just when i needed you most left me just when i needed you mostyou packed in the morning i stared out the window and i struggled for something to say you left in the rain without closing the door i didnt stand in your waynow i love you more than i loved you before and now where ill find comfort god knows cause you left me just when i needed you most oh yeah you left me just when i needed you most you left me just when i needed you most ",1
30,"you cant change that","raydio",1979,"honey ill always love you i promise ill always love you cause i think the whole world of you and you cant change that no no theres nothing you can do or say i thought about this for many a day and my minds made up to feel this way and you cant change that cause youre the only one i love and you cant change that youre the only one i need and you cant change that youre the only one i love and you cant change that youre the only one i need and you cant change that now you can try if you want to wooh you can change your telephone number and you can change your address too but you cant stop me from loving you no you cant change that no no you can change the color of your hair and you can change the clothes you wear but youll never change the way i care no you cant change that cause youre the only one i love and you cant change that youre the one i love youre the only one i need and you cant change that youre the only one i love and you cant change that youre the only one i need and you cant change that youre the one i love girl and you can try if you want to try me baby wooh no you cant change that youre the one i love you can try but you cant change that youre the one you can change your telephone number and you can change your address too but you cant stop me from loving you no you cant change that cause youre the only one i love and you cant change that youre the one i love youre the only one i need and you cant change that i need you baby youre the only one i love and you cant change that you may change a dollar bill youre the only one i need but let me tell you one thing and you cant change that you wont change the way i feel youre the only one i love and you cant change that i say my heart tells me how i feel youre the only one i need and you cant change that it lets me know it lets me know my love is real youre the only one i love no you cant change that you cant change my love girl youre the only one i love i need you i love i love i need you",5
31,"shake your groove thing","peaches  herb",1979,"theres nothing more that i like to do than take the floor and dance with you keep dancing lets keep dancing shake it shake it shake it shake it shake your groove thing shake your groove thing yeah yeah show em how to do it now shake your groove thing shake your groove thing yeah yeah show em how to do it now show em how to do it now lets show the world we can dance bad enough to strut my stuff the music gives us a chance we do more out on the floor grooving loose or heart to heart we put in motion every single part funky sounds wall to wall were bumping booties having us a ball you all shake your groove thing shake your groove thing yeah yeah show em how to do it now shake your groove thing shake your groove thing yeah yeah show em how to do it now weve got the rhythm tonight all the rest know were the best our shadows flash in the light twisting turning we keep burning shake it high or shake it low we take our bodies where they wanna go feel that beat never stop oh hold me tight spinning like a top shake your groove thing shake your groove thing yeah yeah show em how to do it now shake your groove thing shake your groove thing yeah yeah show em how to do it now theres nothing more that i like to do than take the floor and dance with you keep dancing lets keep dancing shake it shake it shake it shake it grooving loose or heart to heart we put in motion every single part funky sounds wall to wall were bumping booties having us a ball you all shake your groove thing shake your groove thing yeah yeah show em how to do it now shake your groove thing shake your groove thing yeah yeah show em how to do it now shake it show em how to do it now yeah shake it shake it shake it shake it shake your groove thing shake your groove thing show em how to do it now lets get on down show em how to do it now show em how to do it now show em how to do it now shake your groove thing shake it shake it shake it shake it pump up your booties now shake it shake it shake it shake it a little freakishness shake it shake it shake it shake it do it too you all",3
32,"ill never love this way again","dionne warwick",1979," you looked inside my fantasies and made each one come true something no one else had ever found a way to do ive kept the memories one by one since you took me in and i know ill never love this way againi know ill never love this way again so i keep holdin on before the good is gone i know ill never love this way again hold on hold on hold ona fool will lose tomorrow reaching back for yesterday i wont turn my head in sorrow if you should go away ill stand here and remember just how good its been and i know ill never love this way againi know ill never love this way again so i keep holdin on before the good is gone i know ill never love this way again hold on hold on hold oni know ill never love this way again so i keep holdin on before the good is gone i know ill never love this way again hold on hold oni know ill never love this way again so i keep holdin on before the good is gone i know ill never love this way again hold on hold on hold on ",1
33,"love you inside out","bee gees",1979," baby i cant figure it out your kisses taste like honey sweet lies dont gimme no rise oh oh what youre trying to dolivin on your cheatin and the pain grows inside me its enough to leave me crying in the rain love you forever but youre driving me insane and im hanging on oh oh ill win ill never give inour love has got the power too many lovers in one lifetime aint good for you you treat me like a vision in the night someone there to stand behind you when your world aint working righti aint no vision i am the man who loves you inside out backwards and forwards with my heart hanging out i love no other waywhat am i gonna do if we lose that fire wrap myself up and take me home again too many heartaches in one lifetime aint good for me i figure its the love that keeps you warmlet this moment be forever we wont ever feel the storm i aint no vision i am the man who loves you inside out backwards and forwards with my heart hanging outi love no other way what am i gonna do if we lose that fire dont try to tell me its all over i cant hear a word i cant hear a line no man could love you more and thats what im cryin for you cant change the way i feel insideyoure the reason for my laughter and my sorrow blow out the candle i will burn again tomorrow no man on earth can stand between my love and i and no matter how you hurt me i will love you till i diei aint no vision i am the man who loves you inside out backwards and forwards with my heart hanging out i love no other way what am i gonna do if we lose that fireloves you inside out backwards and forwards with my heart hanging out i love no other way what am i gonna do if we lose that fireloves you inside out backwards and forwards with my heart hanging out i love no other way what am i gonna do if we lose that fire ",1
34,"i want you to want me","cheap trick",1979," i want you to want mei want you to want me i need you to need me id love you to love me im beggin you to beg mei want you to want me i need you to need me id love you to love meill shine up the old brown shoes put on a brandnew shirt ill get home early from work if you say that you love medidnt i didnt i didnt i see you cryin ohh didnt i didnt i didnt i see you cryin feelin all alone without a friend you know you feel like dyin ohh didnt i didnt i didnt i see you cryini want you to want me i need you to need me id love you to love me im beggin you to beg meill shine up the old brown shoes put on a brandnew shirt ill get home early from work if you say that you love medidnt i didnt i didnt i see you cryin ohh didnt i didnt i didnt i see you cryin feelin all alone without a friend you know you feel like dyin ohh didnt i didnt i didnt i see you cryin ohhfeelin all alone without a friend you know you feel like dyin ohh didnt i didnt i didnt i see you cryin ohhi want you to want me i need you to need me id love you to love me im beggin you to beg mei want you to want me i want you to want me i want you to want me  ",1
35,"the main eventfight","barbra streisand",1979," extra extra im in love i gotta thank my lucky stars above hurry hurry dont be late i cant wait i gotta celebrate its a fact we got a first rate act its evident when we make love the main eventyoure my every thought youre my one attraction you must be heaven sent you give me so much satisfactionyoure the one you make life worth fighting for youre the one cause theres nobody quite like you honey youre the oneextra extra im in love ive gotta thank my lucky stars above hurry hurry dont be late i cant wait i gotta celebrate its a fact we got a first rate act its evident when we make love the main eventfight fight fight fight come on and fight fight fight fight fight fight for what you want fight for what you need fight to keep the one you love if love is what you feellove dont try to kick me when im down love love youre gonna give up without a sound keep it comin keep it comin look out kid cause loves acomin keep it goin keep it goin im a knockout so put up your dukes and fightextra extra im in love hurry hurry dont be late cause i cant wait i gotta celebrate its a fact we got a first rate act its evident when we make loveextra extra im in love ive gotta thank my lucky stars above hurry hurry dont be late i cant wait i gotta celebrate its a fact we got a first rate act its evident when we make love when we make love we make lovewhen we make love extra extra im in love when we make love i gotta thank my lucky stars above when we make love hurry hurry dont be late i cant wait i gotta celebrate when we make lovewhen we make love youre the one youre the one when we make love youre the one youre the one when we make love youre the one youre the one ",1
36,"mama cant buy you love","elton john",1979," baby so they give you anything darling all the joy money can bring baby do they bring you happiness darling youre no different from the restcant you see that its love you really need take my hand and ill show what a love could be before its too latemama dont want you daddy dont want you give it up baby baby mama cant buy you lovemama dont want you daddy dont need you give it up baby baby mama cant buy you lovebaby fancy friends showing you a smile darling rich relations for a while baby i can only give you love darling this old heart should be enoughall i need is a chance to make you mine let me in i can change the way you feel inside before its too latemama dont want you daddy dont want you give it up baby baby mama cant buy you lovemama dont want you daddy dont want you give it up baby baby mama cant buy you lovemama dont want you daddy dont want you give it up baby baby mama cant buy you love  ",1
37,"i was made for dancin","leif garrett",1979," you got me rollin like a wheel on the road turnin round and round nowhere to go ive got to find out if youre feeling it too its hard to tell so heres what i do and every time i want more ill take you out on the floori was made for dancin all all all all night long i was made for dancin all all all all night longthe days and nights are moving by me and you youre such a crazy love you tear me in two i spend my time moving to dreams and a phase its a crazy love you can see it in my face and every time i want more ill take you out on the floori was made for dancin all all all all night long yeah i was made for dancin all all all all night longi was made for dancin all all all all night long i was made for dancin all all all all night longah hah dancin i was made for dancin ah hah i was made for dancin dancin dancini was made for dancin all all all all night long yeah i was made for dancin all all all all night long oh i was made for dancin all all all all night long yeah ",1
38,"after the love has gone","earth wind  fire",1979,"for awhile to love was all we could do we were young and we knew and our eyes were alive deep inside we knew our love was true for awhile we paid no mind to the past we knew love would last every night somethin right would invite us to begin the dance somethin happened along the way what used to be happy was sad somethin happened along the way and yesterday was all we had and oh after the love has gone how could you lead me on and not let me stay around oh oh oh after the love has gone what used to be right is wrong can love thats lost be found for awhile to love each other with all we would ever need love was strong for so long never knew that what was wrong oh baby wasnt right we tried to find what we had till sadness was all we shared we were scared this affair would lead our love into somethin happened along the way yesterday was all we had somethin happened along the way what used to be happy is sad somethin happened along the way oh yesterday was all we had and oh after the love has gone how could you lead me on and not let me stay around oh oh oh after the love has gone what used to be right is wrong can love thats lost be found oh oh oh oh oh oh after the love has gone what used to be right is wrong can love thats lost be found oh woh woh after the love has gone what used to be right is wrong can love thats lost be found oh woh woh after the love has gone what used to be right is wrong can love thats lost be found oh woh woh oh woh woh after the love has gone what used to be right is wrong can love thats lost be found woh woh woh after the love has gone what used to be right is wrong can love thats lost be found woh woh woh",3
39,"heaven knows","donna summer and brooklyn dreams",1979," baby please please dont take your love from me i am yours forever more til eternitysilently listen to the words i say well im not talking just for play listen to me pleaseheaven knows its not the way it should be and heaven knows its not the way it could be dont you know theres no need to leaveheaven knows i never wanna leave you heaven knows only wanna please you dont you know love is what i needdown inside dont get caught with foolish pride put all the other things aside its only you and mebelieve in us we were always meant to be me for you and you for me till eternityheaven knows its not the way it should be and heaven knows its not the way it could be and dont you know theres no need to leaveheaven knows i never wanna leave you heaven knows i only wanna please you dont you know love is what i needheaven knows its not the way it should be and heaven knows its not the way it could be dont you know theres no need to leaveheaven knows its not the way it should be and heaven knows its not the way it could be and dont you know theres no need to leave ",1
40,"the gambler","kenny rogers",1979," on a warm summers eve on a train bound for nowhere i met up with the gambler we were both too tired to sleep so we took turns astarin out the window at the darkness the boredom overtook us and he began to speakhe said son ive made a life out of readin peoples faces knowin what the cards were by the way they held their eyes so if you dont mind me sayin i can see youre out of aces for a taste of your whiskey ill give you some adviceso i handed him my bottle and he drank down my last swallow then he bummed a cigarette and asked me for a light and the night got deathly quiet and his faced lost all expression he said if youre gonna play the game boy you gotta learn to play it rightyouve got to know when to hold em know when to fold em know when to walk away and know when to run you never count your money when youre sittin at the table therell be time enough for countin when the dealins doneevery gambler knows that the secret to survivin is knowin what to throw away and knowin what to keep cause every hands a winner and every hands a loser and the best that you can hope for is to die in your sleepand when he finished speakin he turned back toward the window crushed out his cigarette and faded off to sleep and somewhere in the darkness the gambler he broke even but in his final words i found an ace that i could keepyouve got to know when to hold em know when to fold em know when to walk away and know when to run you never count your money when youre sittin at the table therell be time enough for countin when the dealins doneyouve got to know when to hold em when to hold em know when to fold em when to fold em know when to walk away and know when to run you never count your money when youre sittin at the table therell be time enough for countin when the dealins doneyouve got to know when to hold em know when to fold em know when to walk away and know when to run you never count your money when youre sittin at the table therell be time enough for countin when the dealins done ",1
41,"lotta love","nicolette larson",1979,"  ",1
42,"lady","little river band",1979," look around you look up here take time to make time make time to be there look around be a part feel for the winter but dont have a cold heartand i love you best youre not like the rest youre there when i need you youre there when i need im gonna need youa long time ago i had a lady to love she made me think of things i never thought of now shes gone and im on my own a love song has come into my mind a love song it was there all the timeso lady let me take a look at you now youre there on the dance floor making me want you somehow oh lady i think its only fair i should say to you dont be thinkin that i dont want you cause maybe i dolook around come to me i have no answers but know where i wanna be i look around play a part i was born in the winter and cooled by a warm heartand i love you best youre not like the rest youre there when i need you youre there when i need im gonna need youso lady let me take a look at you now youre there on the dance floor making me want you somehow oh lady i think its only fair i should say to you dont be thinkin that i dont want you cause maybe i do dont be thinkin that i dont want you lady i do ",1
43,"heaven must have sent you","bonnie pointer",1979," ive cried through many endless nights just holding my pillow tight then you came into my lonely days with your tender love and sweet ways now i dont know where you come from baby dont know where you been now baby heaven must have sent you into my arms now in the morning when i awake theres a smile upon my face you touch my heart with gladness wiped away all of my sadness oh so long ive needed love right near me a soft voice to cheer me heaven must have sent you baby into my life ooh its heaven in your arms its the sweetness of your charms makes me love you more each day in your arms i wanna stay wanna thank you for the joy youve brought me thank you for the things you taught me thank you for holding me close when i needed you the most now i dont know much about you baby but i know i cant live without you heaven must have sent you honey to love only me its heaven in your arms its the sweetness of your charms makes me love you more each day in your arms i wanna stay ",1
44,"hold the line","toto",1979," its not in the way that you hold me its not in the way you say you care its not in the way youve been treating my friends its not in the way that you stayed till the end its not in the way you look or the things that you say that youll dohold the line love isnt always on time oh oh oh hold the line love isnt always on time oh oh ohits not in the words that you told me girl its not in the way you say youre mine ooh its not in the way that you came back to me its not in the way that your love set me free its not in the way you look or the things that you say that youll dohold the line love isnt always on time oh oh oh hold the line love isnt always on time oh oh ohits not in the words that you told me its not in the way you say youre mine ooh its not in the way that you came back to me its not in the way that your love set me free its not in the way you look or the things that you say that youll dohold the line love isnt always on time oh oh oh hold the line love isnt always on time love isnt always on time hold the line love isnt always on time love isnt always love isnt always on time hold the line love isnt always on time love isnt always on time love isnt always on time love isnt always on time oh oh oh ",1
45,"hes the greatest dancer","sister sledge",1979," oh what wow hes the greatest dancer oh what wow that ive ever seenoh what wow hes the greatest dancer oh what wowone night in a disco on the outskirts of frisco i was cruisin with my favorite gang the place was so borin filled with outoftowners tourin i knew that it wasnt my thingi really wasnt carin but i felt my eyes starin at a guy who stuck out in the crowd he had the kind of body that would shame adonis and a face that would make any man proudoh what wow hes the greatest dancer oh what wow that ive ever seenoh what wow hes the greatest dancer oh what wowthe champion of dance his moves would put you in a trance and he never leaves the disco alone arrogance but not conceit as a man he is complete my crme de la crme please take me homehe wears the finest clothes the best designers heaven knows ooo from his head down to his toes halston gucci fiorucci he looks like a still that man is dressed to killoh what wow hes the greatest dancer oh what wow that ive ever seen ive ever seenoh what wow hes the greatest dancer oh what wowoh what wow hes the greatest dancer oh what wow that ive ever seen i love your movesoh what wow hes the greatest dancer oh what wow that ive ever seenoh what wow hes the greatest dancer oh what wow that ive ever seen ive ever seenoh what wow hes the greatest dancer oh what wowoh what wow hes the greatest dancer oh what wow that ive ever seen i love your movesoh what wow hes the greatest dancer oh what wow that ive ever seen ",1
46,"sharing the night together","dr hook  the medicine show",1979,NA,NA
47,"she believes in me","kenny rogers",1979," while she lays sleeping i stay out late at night and play my songs and sometimes all the nights can be so long and its good when i finally make it home all alone while she lays dreaming i try to get undressed without the light and quietly she says how was your night and i come to her and say it was all right and i hold her tightand she believes in me ill never know just what she sees in me i told her someday if she was my girl i could change the world with my little songs i was wrong but she has faith in me and so i go on trying faithfully and who knows maybe on some special night if my song is right i will find a way find a waywhile she lays waiting i stumble to the kitchen for a bite then i see my old guitar in the night just waiting for me like a secret friend and theres no end while she lays crying i fumble with a melody or two and im torn between the things that i should do and she says to wake her up when i am through god her love is trueand she believes in me ill never know just what she sees in me i told her someday if she was my girl i could change the world with my little songs i was wrong but she has faith in me and so i go on trying faithfully and who knows maybe on some special night if my song is right i will find a way ",1
48,"in the navy","village people",1979," where can you find pleasure search the world for treasure learn science technology where can you begin to make your dreams all come true on the land or on the sea where can you learn to fly play in sports and skin dive study oceanography sign off for the big band or sit in the grandstand when your team and others meetin the navy yes you can sail the seven seas in the navy yes you can put your mind at ease in the navy come on people fall an make a stand in the navy in the navy cant you see we need a handin the navy come on protect the motherland in the navy come on and join your fellow man in the navy come on people and make a stand in the navy in the navy in the navy ohthey want you they want you they want you as a new recruitif you like adventure dont you wait to enter the recruiting office fast dont you hesitate there is no need to wait theyre signing up new seamen fast maybe you are too young to join up today but dont you worry bout a thing for im sure there will be always a good navy protecting the land and seain the navy yes you can sail the seven seas in the navy yes you can put your mind at ease in the navy come on people fall an make a stand in the navy in the navy cant you see we need a handin the navy come on protect the motherland in the navy come on and join your fellow man in the navy come on people and make a stand in the navy in the navy in the navy in the navythey want you they want you they want you as a new recruit who me they want you they want you they want you as a new recruit but but but im afraid of water hey hey look man i get seasick even watchin it on tvthey want you they want you in the navy oh my goodness they want you what am i gonna do in a submarine they want you they want you they want you in the navyin the navy yes you can sail the seven seas in the navy yes you can put your mind at ease in the navy come on people fall in make a stand in the navy in the navy cant you see we need a handin the navy come on protect the motherland in the navy come on and join your fellow man in the navy come on people and make a stand ",1
49,"music box dancer","frank mills",1979,"instrumental",3
50,"the devil went down to georgia","the charlie daniels band",1979,"the devil went down to georgia he was lookin for a soul to steal he was in a bind cause he was way behind and he was willin to make a deal when he came across this young man sawin on a fiddle and playin it hot and the devil jumped up on a hickory stump and said boy let me tell you what i guess you didnt know it but im a fiddle player too and if you care to take a dare ill make a bet with you now you play a pretty good fiddle boy but give the devil his due ill bet a fiddle of gold against your soul cause i think im better than you the boy said my names johnny and it might be a sin but ill take your bet and youre gonna regret cause im the best theres ever been johnny rosin up your bow and play your fiddle hard cause hells broke loose in georgia and the devil deals the cards and if you win you get this shiny fiddle made of gold but if you lose the devil gets your soul the devil opened up his case and he said ill start this show and fire flew from his fingertips as he rosined up his bow then he pulled the bow across the strings and it made ansicevil hiss and a band of demons joined in and it sounded something like this when the devil finished johnny said well youre pretty good old son but just sit down in that chair right there and let me show you how its done he played fire on the mountain run boys run the devils in the house of the rising sun chicken in a bread pan picken at dough granny does your dog bite no child no the devil bowed his head because he knew that hed been beat and he laid that golden fiddle on the ground at johnnys feet johnny said devil just come on back if you ever wanna try again i done told you once you son of a bitch im the best theres ever been and he played fire on the mountain run boys run the devils in the house of the rising sun chicken in a bread pan picken at dough granny does your dog bite no child no",3
51,"gold","john stewart",1979,"when the lights go down in the california town people are in for the evenin i jump into my car and i throw in my guitar my heart beatin time with my breathin drivin over kanan singin to my soul theres people out there turnin music into gold well my buddy jim bass hes aworkin pumpin gas and he makes two fifty for an hour hes got rhythm in his hands as hes tappin on the cans sings rock and roll in the shower drivin over kanan singin to my soul theres people out there turnin music into gold ah the california girls are the greatest in the world each ones a song in the makin singin rock to me i can hear the melody the story is there for the takin drivin over kanan singin to my soul theres people out there turnin music into gold drivin over kanan singin to my soul theres people out there turnin music into gold when the lights go down in the california town people are in for the evenin i jump into my car and i throw in my guitar my heart beatin time with my breathin drivin over kanan singin to my soul theres people out there turnin music into gold flyin over kanan singin to my soul people out there turnin music into gold people out there turnin music into gold people out there turnin music into gold oh yeah people out there turnin music into gold into gold people out there turnin music into gold into gold people out there turnin music into gold into gold people out there turnin music into gold into gold people out there turnin music into gold into gold people out there turnin music into gold into gold people out there turnin music into gold into gold",3
52,"goodnight tonight","wings",1979,"dont get too tired for love dont let it end ooh dont say goodnight to love it may never be the same again dont say it dont say it say anything but dont say goodnight tonight dont say it dont say it say anything but dont say goodnight tonight dont say it dont say it say anything but dont say goodnight tonight dont get too tired for love dont let it end dont say goodnight to love its a feeling that may never end dont say it dont say it say anything but dont say goodnight tonight dont say it dont say it say anything but dont say goodnight tonight dont say it dont say it say anything but dont say goodnight tonight ",3
53,"we are family","sister sledge",1979," we are family i got all my sisters with me we are family get up evrybody and sing we are family i got all my sisters with me we are family get up evrybody and singevryone can see were together as we walk on by hey and we fly just like birds of a feather i wont tell no lie all all of the people around us they say can they be that close just let me state for the record were giving love in a family dosewe are family i got all my sisters with me we are family get up evrybody and sing we are family i got all my sisters with me we are family get up evrybody and singliving life is fun and weve just begun to get our share of the worlds delights high high hopes we have for the future and our goals in sight we no we dont get depressed cause heres what we call our golden rule have faith in you and the things you do you wont go wrong this is our family jewel ",1
54,"rock n roll fantasy","bad company",1979," here comes the jesters one two three its all part of my fantasy i love the music and i love to see the crowd dancin in the aisles and singin out loudhere comes the dancers one bye one your mamas callin but youre havin fun you find youre dancin on a number nine cloud put your hands together now and sing it out loudits all part of my rock n roll fantasy its all part of my rock n roll dream its all part of my rock n roll fantasy its all part of my rock n roll dreamput up the spotlights one and all and let the feelin get down to your soul the musics so loud you can hear the sound reachin for the sky and churn in up the ground ",1
55,"every 1s a winner","hot chocolate",1979,NA,NA
56,"take me home","cher",1979," take me home take me home want to feel you close to me take me home take me home with you is where i wanna bewrapped in your arms tonight just makin love music and candlelight stars up abovetake me home take me home take me home take me home oh cant you see i want you near cant you see i want you near take me home take me home take me home take me home ooh baby lets get out of hereid follow you anywhere your place or mine just a one night only would be so fineim in heaven heaven seems like heaven heaven so much in heaven heaven take me home take me homeone night with you lyin here next to me its the right thing to do it would be ecstasyim in heaven heaven seems like heaven heaven so much in heaven heaventake me home take me home take me home take me home ooh i wanna feel you close to me i wanna feel you close take me home take me home take me home take me home with you is where i wanna bewrapped in your arms tonight just makin love music and candlelight stars up aboveim in heaven heaven seems like heaven heaven take me take me home i need youcome on and take me ooh baby baby take me home take me take me home i need you youll be lyin next to me baby itd be ecstasy take me take me home home with you oh cant you see i want you near baby baby lets get out of here take me ",1
57,"boogie wonderland","earth wind  fire  the emotions",1979,"dance boogie wonderland hey hey dance boogie wonderland midnight creeps so slowly into hearts of men who need more than they get daylight deals a bad hand to a woman who has laid too many bets the mirror stares you in the face and says baby uh uh it dont work you say your prayers though you dont care you dance and shake the hurt dance boogie wonderland hey hey dance boogie wonderland sound fly through the night i chase my vinyl dreams to boogie wonderland i find romance when i start to dance in boogie wonderland i find romance when i start to dance in boogie wonderland all the love in the world cant be gone all the need to be loved cant be wrong all the records are playing and my heart keeps saying boogie wonderland wonderland dance boogie wonderland hey hey dance boogie wonderland hey hey i find romance when i start to dance in boogie wonderland i find romance when i start to dance in boogie wonderland dance boogie wonderland hey hey dance boogie wonderland hey hey wonderland wonderland all the love in the world cant be gone all the need to be loved cant be wrong all the records are playing and my heart keeps saying boogie wonderland wonderland dance boogie wonderland hey hey dance boogie wonderland hey hey i find romance when i start to dance in boogie wonderland i find romance when i start to dance in boogie wonderland dance boogie wonderland hey hey dance boogie wonderland hey hey",3
58,"our love dont throw it all away","andy gibb",1979," maybe i dont wanna know the reason why but lately you dont talk to me darling i cant see me in your eyesi hold you near but youre so far away and its losing you i cant believe to watch you leave and let this feeling dieyou alone are the living thing that keeps me alive and tomorrow if im here without your love you know i cant survive only my love can raise you high above it alldont throw it all away our love our love dont throw it all away our love dont throw it all away our love our love dont throw it all away our lovewe can take the darkness and make it full of light but let your love flow back to me how can you leave and let this feeling diethis happy room will be a lonely place when you are gone and i wont even have your shoulders for the crying on no other womans love could be as true im begging youdont throw it all away our love our love dont throw it all away our love dont throw it all away our love our love dont throw it all away our lovewe changed the world we made it ours to hold but dreams are made for those who really try this losing you is real but i still feel you here insidedont throw it all away our love our love dont throw it all away our love dont throw it all away our love our love dont throw it all away our lovedont throw it all away our love our love dont throw it all away our love dont throw it all away our love our love dont throw it all away our lovedont throw it all away our love our love dont throw it all away our love dont throw it all away our love our love dont throw it all away our lovedont throw it all away our love our love dont throw it all away our love dont throw it all away our love our love dont throw it all away our lovedont throw it all away our love our love dont throw it all away our love ",1
59,"what you wont do for love","bobby caldwell",1979," what you wont doi guess you wonder where ive been i searched to find a love within i came back to let you know got a thing for you and i cant let gomy friends wonder what is wrong with me well im in a daze from your love you see i came back to let you know got a thing for you and i cant let gosome people go around the world for love and they may never find what they dream of what you wont do you do for loveyou tried everything but you dont give up in my world only you make me do for love what i would not domy friends wonder what is wrong with me well im in a daze from your love you see i came back to let you know got a thing for you and i cant let goi know i only want the best its true i cant believe the things i do for you what you wont do you do for loveyouve tried everything but you wont give up in my world only you make me do for love what i would not domake me do for love what i would not do make me do for love what i would not do make me do for love what i would not do ",1
60,"new york groove","ace frehley",1979," many years since i was here on the street i was passin my time away to the left and to the right buildings towering to the sky its outta sight in the dead of nighthere i am and in this city with a fistful of dollars and baby youd better believeim back back in the new york groove im back back in the new york groove im back back in the new york groove back in the new york groove in the new york groovein the back of my cadillac a wicked lady sittin by my side sayin where are we stop at third and fortythree exit to the night its gonna be ecstacy this place was meant for mefeels so good tonight who cares about tomorrow so baby youd better believeim back back in the new york groove im back back in the new york groove im back back in the new york groove back in the new york groove in the new york grooveim back back in the new york groove im back back in the new york groove im back back in the new york groove im back back in the new york groove im back back in the new york groove im back back in the new york groove im back back in the new york groove im back back in the new york groove im back back in the new york groove im back back in the new york groove ",1
61,"sultans of swing","dire straits",1979," you get a shiver in the dark its raining in the park but meantime south of the river you stop and you hold everything a band is blowing dixie double four time you feel alright when you hear that music ringyou step inside but you dont see too many faces coming in out of the rain to hear the jazz go down too much competition too many other places but not too many horns can make that sound way on down south way on down south london townyou check out guitar george he knows all the chords mind hes strictly rhythm he doesnt want to make it cry or sing and an old guitar is all he can afford when he gets up under the lights to play his thingand harry doesnt mind if he doesnt make the scene hes got a daytime job hes doing alright he can play honky tonk just like anything saving it up for friday night with the sultans with the sultans of swingand a crowd of young boys theyre fooling around in the corner drunk and dressed in their best brown baggies and their platform soles they dont give a damn about any trumpet playing band it aint what they call rock and roll and the sultans played creoleand then the man he steps right up to the microphone and says at last just as the time bell rings thank you goodnight now its time to go home and he makes it fast with one more thing we are the sultans of swing ",1
62,"i want your love","chic",1979," i want your love i want your lovedo you feel like you ever want to try my love and see how well it fits baby cant you see when you look at me i cant kick this feelin when it hits all alone in my bed at night i grab m pillow and squeeze it tight i think of you and i dream of you all the time what am i gonna doi want your love i want your lovesometime dont you feel like you never really had a love thats real well here i am and whos to say a better love you wont find today just one chance and i will show you love like no other two steps above on your ladder ill be a peg i want your lovin please dont make me beg ",1
63,"chuck es in love","rickie lee jones",1979," how come he dont come and plp with me down at the meter no more and how come he turn off the tv and hang that sign on the doorwell we call and we call how come we say hey what could make a boy behave this waywell he has learned all of the lines now and every time he dont stutter when he talks well its true its true he sure has acquired a cool and inspired sorta jazz when he walks wheres his jacket and his old blue jeans this aint healthy it is some kinda cleanthe fact is chuck es in love chuck es in love chuck es in love chuck es in lovei dont believe what youre saying to me this is something that i have to seeis he here i look in the pool hall well is he here i look in the drugstore is he here no he dont come here no morewell ill tell you what i saw him he was sitting behind us down in the pantages and whatever it is that hes got up his sleeve well i hope it isnt contagiouswhats her name is that her there christ i think hes even combed his hair now is that her  whats her name oh its never gonna be the samethats not her i know whats wrong because chuck es in love with the little girl whos singing this song dont you know that chuck es in love chuck es in love chuck es in love oh my chuck es chuck es in love chuck es in love with me ",1
64,"i love the nightlife","alicia bridges",1979,"i love the nightlife i got to boogie on the disco round oh yeah oh i love the nightlife i got to boogie on the disco round oh yeah please dont talk about love tonight please dont talk about sweet love please dont talk about bein true and all the trouble weve been through ah please dont talk about all of the plans we had for fixin this broken romance i want to go where the people dance i want some action i want to live action i got so much to give i want to give it i want to get some too oh i oh i i love the nightlife i got to boogie on the disco round oh yeah oh i love the nightlife i got to boogie on the disco round oh yeah please dont talk about love tonight your sweet talkin wont make it right love and lies just bring me down when youve got women all over town you can love them all and when youre through maybe thatll make huh a man out of you i got to go where the people dance i want some action i want to live action i got so much to give i want to give it i want to get some too oh i i love the nightlife i got to boogie on the disco round oh yeah oh i love the night life i got to boogie on the disco round oh yeah oh i love the nightlife i got to boogie on the disco round yeah oh i love the night life i got to boogie on the disco round yeah oh i love the nightlife i got to boogie on the disco round oh yeah oh i love the night life i got to boogie on the disco round yeah oh i love the nightlife i got to boogie on the disco round oh yeah",3
65,"aint no stoppin us now","mcfadden  whitehead",1979,"aint no stoppin us now were on the move aint no stoppin us now weve got the groove theres been so many things thats held us down but now it looks like things are finally comin around i know weve got a long long way to go and where well end up i dont know but we wont let nothin hold us back were putting ourselves together were polishing up our act if youve ever been held down before i know you refuse to be held down anymore dont you let nothing nothing stand in your way i want yall to listen listen to every word i say every word i say aint no stoppin us now were on the move aint no stoppin us now weve got the groove aint no stoppin us now were on the move i know i know aint no stoppin us now weve got the groove weve got it i know you know someone that has a negative vibe and if youre trying to make it they only push you aside they really dont have nowhere to go ask them where theyre going they dont know but we wont let nothin hold us back were gonna put ourselves together gonna polish up our act if youve ever been held down before i know you refuse to be held down anymore dont you let nothing nothing stand in your way i want yall to listen listen to every word i say every word i say aint no stoppin us now no no no were on the move movin groovin aint no stoppin us now weve got the groove movin groovin aint no stoppin us now were on the move i know weve got the groove aint no stoppin us now weve got the groove",5
66,"lonesome loser","little river band",1979," have you heard about the lonesome loser beaten by the queen of hearts every time have you heard about the lonesome loser hes a loser but he still keeps on tryinoohoohooh ooohsit down take a look at yourself dont you want to be somebody someday somebodys gonna see inside you have to face up you cant run and hidehave you heard about the lonesome loser beaten by the queen of hearts every time have you heard about the lonesome loser hes a loser but he still keeps on tryinunlucky in love least thats what they say he lost his head and he gambled his heart away he still keeps searching though theres nothing left staked his heart and lost now he has to pay the costhave you heard about the lonesome loser beaten by the queen of hearts every time have you heard about the lonesome loser hes a loser but he still keeps on tryinits okay he smiles and says though this loneliness is driving him crazy he dont show what goes on in his head but if you watch very close youll see it allsit down take a look at yourself dont you want to be somebody someday somebodys gonna see inside you have to face up you cant run and hidehave you heard about the lonesome loser beaten by the queen of hearts every time have you heard about the lonesome loser hes a loser but he still keeps on tryinhave you heard about the lonesome loser have you heard about the lonesome loser have you heard about the lonesome loser now tell me have you heard about the lonesome loser ",1
67,"renegade","styx",1979," oh mama im in fear for my life from the long arm of the law lawman has put an end to my running and im so far from my home oh mama i can hear your crying youre so scared and all alone hangman is coming down from the gallows and i dont have very longthe jig is up the news is out theyve finally found me the renegade who had it made retrieved for a bounty never more to go astray this will be the end today of the wanted manoh mama ive been years on the lam and had a high price on my head lawman said get him dead or alive now its for sure hell see me dead dear mama i can hear you crying youre so scared and all alone hangman is coming down from the gallows and i dont have very longthe jig is up the news is out they finally found me the renegade who had it made retrieved for a bounty never more to go astray the judgell have revenge today on the wanted manoh mama im in fear for my life from the long arm of the law hangman is coming down from the gallows and i dont have very longthe jig is up the news is out they finally found me the renegade who had it made retrieved for a bounty never more to go astray thisll be the end today of the wanted man the wanted mani dont want to go oh no no no no nooh mama dont let him take me oh no oh no no no no no no ",1
68,"love is the answer","england dan  john ford coley",1979,"name your price a ticket to paradise i cant stay here any more and ive looked high and low ive been from shore to shore to shore if theres a short cut id have found it but there is no easy way around it light of the world shine on me love is the answer shine on us all set us free love is the answer who knows why someday we all must die were all homeless boys and girls and we are never heard its such a lonely lonely lonely world people turn their heads and walk on by tell me is it worth just another try light of the world shine on me love is the answer shine on us all set us free love is the answer tell me are we alive or just a dying planet what are the chances ask the man in your heart for the answer and when you feel afraid love one another when youve lost your way love one another and when youre all alone love one another and when youre far from home love one another and when youre down and out love one another and when your hopes run out love one another and when you need a friend love one another and when youre near the end love weve got to love weve got to love one another light of the world shine on me love is the answer shine on us all set us free love is the answer light of the world shine on me love is the answer shine on us all set us free love is the answer",3
69,"got to be real","cheryl lynn",1979," what you findah what you feel now what you knowa to be realwhat you find ah i think i love you baby what you feel now i feel i need you baby what you knowa to be realooh your loves for real now you know that your love is my love my love is your love our love is here to staywhat you findah what you feel now what you knowa to be realooh your loves for real now you know that your love is my love my love is your love our love is here to staywhat you find ah i think i love you baby what you feel now i feel i need you baby what you knowa to be realwhat you find ah i think i love you baby what you feel now i feel i need you what you knowa to be real ",1
70,"born to be alive","patrick hernandez",1979," we were born to be alive we were born to be aliveborn born to be alive born to be alive you see were born born born born to be alivetimes was on my side when i runninin the street it was the by by by a suitcase and an old guitar and something new to occupy my mind mind mindyou see were born born born to be alive born too be alive you see were born born born to be alive born too be alivepeople ask me why i never find a place to stop and settle down down down but i never wanted all the things that people need to justify their lives lives livesyou see were born born born to be alive born too be alive you see were born born bornits good to be alive to be alive to be alive its good to be alive to be alive to be alive its good to be alivetimes was on my side when i runninin the street it was the by by by a suitcase and an old guitar and something new to occupy my mind mind mindyou see were born born born to be alive born too be alive you see were born born born you see were born born born to be alive born too be alive you see were born born born you see were born born born to be alive born too be alive you see were born born born born to be alive you see were born born born to be alive born too be alive you see were born born born born to be alive ",1
71,"shine a little love","electric light orchestra",1979," although the things youve done i wouldnt criticize i guess you had your way you see i gotta make you understand i know it sounds a foolish thing to say but it dont matter baby cause todays another dayyou shine a little love on my life you shine a little love on my life you shine a little love on my life and let me seeremember tonight were gonna run til dawn remember tonight were gonna say well never stop we got a good thing goin on i know youve heard it all before but i really need you darlin every day i need you moreyou shine a little love on my life you shine a little love on my life you shine a little love on my life and let me seecan you understand yes i understand can you feel its right i know it is will you be the same ill do it all againits been a year now and its getting so much better you came home without a word though everybody said youll soon forget her they couldnt see and they just didnt understand and lookin in the mirror there were fools at either handyou shine a little love on my life you shine a little love on my life you shine a little love on my life and let me seecan you understand yes i understand can you feel its right i know it is will you be the same ill do it all againhow many days had i been waiting there to tell you i really cant believe were walkin out into the world tonight well do it all again until the break of light and the feelin in your heart will soon be shinin in your eyesyou shine a little love on my life you shine a little love on my life you shine a little love on my life and let me seeyou shine a little love on my life shine all day you shine a little love on my life oh oh oh you shine a little love on my life and let me seeyou shine a little love on my life shine you shine a little love on my life hey hey ho you shine a little love on my life and let me see ",1
72,"i just fall in love again","anne murray",1979," dreamin i must be dreamin or am i really lying here with you baby you take me in your arms and though im wide awake i know my dream is comin trueand oh i just fall in love again just one touch and then it happens every time there i go by just fall in love again and when i do i cant help myself i fall in love with youmagic it must be magic the way i hold you when the night just seems to fly easy for you to take me to a star heaven is that moment when i look into your eyesand oh i just fall in love again just one touch and then it happens every time there i go by just fall in love again and when i do i cant help myself i fall in love with you ",1
73,"shake it","ian matthews",1979," here she comes ridin rollin it down the line slipin and slidin takin her sweet old timeand laughin all the way to the parking lot knowin in the back of her mind shes gonna show the boy what shes really got and stop him in the nick of timechorusshake it baby shake it all you can tonight go on and and break em baby break em all you can tonight cause it wont last forever but do it for worse or for better and give the boy somethin to dream on laterhere she comes slidin shakin it down the hall shes got a picture in her locker an autographed basketballshes got a purse that was made in mexico mexico a mind that was made for love shes got a new way of dancin slow she knows what youre thinkin ofchorusit wont last forever but do it for worse or for better and give the boy somethin to dream on later andrepeat chorus and fade ",1
74,"i was made for lovin you","kiss",1979," do do do do do do do do do do do do do do do do do do do do do do do do do do do do do do do do tonight i want to give it all to you in the darkness theres so much i want to do and tonight i want to lay it at your feet cause girl i was made for you and girl you were made for mei was made for lovin you baby you were made for lovin me and i cant get enough of you baby can you get enough of metonight i want to see it in your eyes feel the magic theres something that drives me wild and tonight were gonna make it all come true cause girl you were made for me and girl i was made for youi was made for lovin you baby you were made for lovin me and i cant get enough of you baby can you get enough of mei was made for lovin you baby you were made for lovin me and i can give it all to you baby can you give it all to meoh cant get enough oh oh i cant get enough oh oh i cant get enough yeah hado do do do do do do do do do do do do do do do do do do do do do do do do do do do do do do doi was made for lovin you baby you were made for lovin me and i cant get enough of you baby can you get enough of meoh i was made you were made i cant get enough no i cant get enoughi was made for lovin you baby you were made for lovin me and i cant get enough of you baby can you get enough of mei was made for lovin you baby you were made for lovin me and i can give it all to you baby ",1
75,"i just wanna stop","gino vannelli",1979," for your love when i think about those nights in montreal i get the sweetest thoughts of you and me memories of love above the city lights ooh i tried so hard to take it but oh lord my heart wont make iti just wanna stop and tell you what i feel about you babe i just wanna stop i never wanna live without you babe i just gotta stop for your lovewhen i think about the way the world must turn i get the saddest thoughts for you and me memories of life and times go on and on ooh ive tried hard to forget it but oh lord my mind wont let iti just wanna stop and tell you what i feel about you babe i just wanna stop the world aint right without you babe i just gotta stop for your loveooo ive tried so hard to take it but oh lord my heart wont make iti just wanna stop and tell you what i feel about you babe i just wanna stop the world aint right without you babe i just wanna stop for your love ",1
76,"disco nights rockfreak","gq",1979," let the spirit flow all through your body just lend us an ear involve yourself youre free to follow and well take you there you said you want to reach the sky so get up the feelings right and the musics tight on the disco nights just say you will just do what you feel im for real the musics full of joy and laughter and its such a thrill to free your mind from all the pressure head on up the hillrepeat chorus ",1
77,"ooo baby baby","linda ronstadt",1979,"ooo la la la la i did you wrong my heart went out to play and in came i lost you what a price to pay im cryin ooo baby baby ooo baby baby these days i know i made you feel bad but im only human youve made mistakes too im cryin ooo baby baby ooo baby baby ooo baby baby ooo baby baby im just about at the end of my rope but i cant stop tryin i cant give up hope cause ill be here and someday ill hold you near whisper i still love you until that day is here im cryin ooo baby baby ooo baby baby ooo baby baby ooo baby baby ooo",3
78,"september","earth wind  fire",1979,"do you remember 21st night of september love was changing the mind of pretenders while chasing the clouds away our hearts were ringing in the key that our souls were singing as we danced in the night remember how the stars stole the night away yeah yeah yeah hey hey hey ba de ya say do you remember ba de ya dancing in september ba de ya never was a cloudy day ba duda ba duda ba duda badu ba duda badu ba duda badu ba duda badu ba duda yeah my thoughts are with you holding hands with your heart to see you only blue talk and love remember how we knew love was here to stay now december found the love we shared in september only blue talk and love remember the true love we share today hey hey hey ba de ya say do you remember ba de ya dancing in september ba de ya never was a cloudy day there was a ba de ya say do you remember ba de ya dancing in september ba de ya golden dreams were shiny days now our bell was ringing aha our souls was singing do you remember every cloudy day yau there was a ba de ya say do you remember ba de ya dancing in september ba de ya never was a cloudy day there was a ba de ya say do you remember ba de ya dancing in september ba de ya golden dreams were shiny days ba de ya de ya de ya ba de ya de ya de ya ba de ya de ya de ya de ya ba de ya de ya de ya ba de ya de ya de ya ba de ya de ya de ya de ya",3
79,"time passages","al stewart",1979," it was late in december the sky turned to snow all round the day was goin down slow night like a river beginning to flow i felt the beat of my mind go drifting into time passages years go falling in the fading light time passages buy me a ticket on the last train home tonightwell im not the kind to live in the past the years run too short and the days too fast the things you lean on are the things that dont last well its just now and then my line gets cast into these time passages theres something back here that you left behind oh time passages buy me a ticket on the last train home tonighthear the echoes and feel yourself starting to turn dont know why you should feel that theres something to learn its just a game that you playwell the picture is changingnow youre part of a crowd theyre laughing at something and the musics loud a girl comes towards you you once used to know you reach out your hand but youre all alone in these time passages i know youre in there youre just out of sight oh time passages buy me a ticket on the last train home tonight ",1
80,"rise","herb alpert",1979,"  ",1
81,"dont bring me down","electric light orchestra",1979," you got me runnin goin out of my mind you got me thinkin that im wastin my timedont bring me down no no no no no ill tell you once more before i get off the floor dont bring me downyou wanna stay out with your fancy friends im tellin you its go to be the enddont bring me down no no no no no ill tell you once more before i get off the floor dont bring me downdont bring me down grroosss dont bring me down grroosss dont bring me down grroosss dont bring me downwhat happened to the girl i used to know you let your mind out somewhere down the roaddont bring me down no no no no no ill tell you once more before i get off the floor dont bring me downyoure always talkin bout your crazy nights one of these days youre gonna get it rightdont bring me down no no no no no ill tell you once more before i get off the floor dont bring me downdont bring me down grroosss dont bring me down grroosss dont bring me down grroosss dont bring me downyoure lookin good just like a snake in the grass one of these days youre gonna break your glassdont bring me down no no no no no no no no no ill tell you once more before i get off the floor dont bring me downyou got me shakin got me runnin away you got me crawlin up to you everydaydont bring me down no no no no no ill tell you once more before i get off the floor dont bring me down down down down down downill tell you once more before i get off the floor dont bring me down ",1
82,"promises","eric clapton",1979," i dont care if you never come home i dont mind if you just keep on rowin away on a distant sea cause i dont love you and you dont love meyou cause a commotion when you come to town you give em a smile and they melt and your lovers and friends is all good and fine but i dont like yours and you dont like minela la la la la la la la la la la la la lai dont care what you do at night oh i dont care how you get you delites well leave it alone and just let it be i dont love you and you dont love mei got a problem can you relate i got a woman callin love hate we made a vow wed always be friends how could we know that promises endla la la la la la la la la la la la la lai tried to love for years upon years you refuse to take me for real its time you saw what i want you to see id still love you if youd just love mei got a problem can you relate i got a woman callin love hate we made a vow wed always be friends how could we know that promises endla la la la la la la la la la la la la la la la la la la la la la la la la la la la wohoo la la la la la la la ",1
83,"get used to it","roger voudouris",1979,"i did not know what you were about something called love made me want to find out did not think you could ever care but im outta control cause youre takin me there i couldnt believe our love would last its comin on strong girl comin on so much faster get used to it cause ill be around yeah ya better get used to all my love get used to it don t let me down you pulled me in so dont turn me around you didnt hesitate and told me just how you feel well there aint no mistake this time its for real i didnt believe our love would last its comin on strong girl comin on so much faster get used to it cause ill be around yeah ya better get used to all my love please ill be around you because im crazy about you ill be around you baby you know i cant live without you ill be around ya baby cause im hungry for your love so you better get used to it cause ill be around yeah ya better get used to all my love please ya better get used to all my love baby ya better get used to our love",3
84,"how much i feel","ambrosia",1979," i dont know how this whole business started of you thinkin that i had been untrue but if you think that wed be better parted its gonna hurt me but ill break away from youwell just give me the sign and i will be gone yeahthats how much i feel feel for you baby how much i need i need your touch how much i live i live for your loving thats how much thats how much thats how much thats how muchi sleep alone and late at night im dreamin of the togetherness that seems to be leavin me oh no id give it all and then id give some more if you would only love me like you had beforetake hold of my hand all will be forgiventhats how much i feel feel for you baby how much i need i need your touch how much i live i live for your loving well thats how much thats how much thats how much thats how muchso you try try to stay in the middle and then you cry well you cry just a little then you both realize just how foolish youve been and you try to make amends but youre better off as friends cause thats how much thats how much thats how much thats how muchhows your life been goin on ive got a wife now years weve been goin strong oh no theres just something that ive got to say sometimes when we make love i still can see your face just try to recall when we were as onethats how much i feel feel for you baby how much i need i need your touch how much i live i live for your loving thats how much ",1
85,"suspicions","eddie rabbitt",1979," im so glad that i met you baby and im so proud when we walk down the street and i know its crazy to worry like i do but i get this feelin that im losing youchorusi get these suspicions even though i know that you love me baby and i really shouldnt feel this way suspicions i cant help it youre just so good lookin im afraid somebodys gonna steal you away from mewhen i go out to a party with you you always turn every head in the room and i just know whats on every mans mind i try to fight it but it gets me sometimeschorusinstrumental breakooh suspicionswhen im with you i feel so satisfied the way you touch me when you lay by my side and that look you get in your eyes when we love makes me hate myself for what im thinkin ofchorussuspicions even though i know that you love me baby and i really shouldnt feel this way suspicions i cant help it youre just so good lookin im afraid somebodys gonna steal you away from me suspicions even though i know that you love me baby and i really shouldnt feel this way ",1
86,"you take my breath away","rex smith",1979,"you i dont know what to say you take my breath away youre every song i sing youre the music that i play and you take my breath away you you smile and its okay you take my breath away like water from a stream on a sizzling summer day oh you take my breath away there are words for the magic of a sunrise only none of them will due for you you take my breath away and i dont know what to say cause you take my breath away you you take my breath away and i dont know what to say cause you take my breath away you take my breath away you take my breath away you take my breath away oh you take my breath away",3
87,"how you gonna see me now","alice cooper",1979," dear darlin surprised to hear from me bet youre sittin drinkin coffee yawnin sleepily just to let you know im gonna be home soon im kinda awkward and afraid time has changed your point of viewhow you gonna see me nowplease dont see me ugly babe cause i know i let you down in oh so many ways how you gonna see me now since weve been on our own are you gonna love the man when the man gets homelisten darlin now im heading for the west i straightened out my head but my old heart is still a mess yes im worried honey yes thats natural though its like im waiting for a welcome sign like a hobo in the snowhow you gonna see me now please dont see me ugly babe cause i know i let you down in oh so many ways how you gonna see me now since weve been on our own are you gonna love the man when the man gets homeand just like the first time were just strangers again i might have grown out of style in the place ive been and just like the first time ill be shakin inside when i walk in the door therell be no place to hidehow you gonna see me now please dont see me ugly babe cause i know i let you down in oh so many ways ",1
88,"double vision","foreigner",1979," feeling down n dirty feeling kinda mean ive been from one to another extreme this time i had a good time aint got time to wait i want to stick around till i cant see straightfill my eyes with that double vision no disguise for that double vision ooh when it gets through to me its always new to me my double vision gets the best of menever do more than i really need my mind is racing but my bodys in the lead tonights the night im gonna push it to the limit i live all of my years in a single minutefill my eyes with that double vision no disguise for that double vision ooh when it gets through to me its always new to me my double vision always seems to get the best of me the best of me yeah ",1
89,"everytime i think of you","the babys",1979,"everytime i think of you it always turns out good everytime ive held you i thought you understood people say a love like ours will surely pass but i know a love like ours will last and last but maybe i was wrong not knowing how our love should go how our love how our love should go but i wasnt wrong in knowing how our love would grow how our love how our love would grow and everytime i think of you everytime everytime i think of you every single time it always turns out good seasons come and seasons go but our love will never die let me hold you darlin so you wont cry cause people say that our love affair will never last but we know a love like ours will never pass but maybe i was wrong not knowing how our love should go how our love how our love should go but i wasnt wrong in knowing how our love would grow how our love how our love would grow and everytime i think of you everytime everytime i think of you every single time it always turns out good people say a love like ours will surely pass but i know a love like ours will last and last but maybe i was wrong not knowing how our love should go how our love how our love should go but i wasnt wrong in knowing how our love would grow how our love how our love would grow everytime i think of you everytime i think of you everytime i think of you it always turns out good everytime i think of you everytime i think of you everytime i think of you ",3
90,"i got my mind made up you can get it girl","instant funk",1979,"i got my mind made up come on you can get it get it girl any time say what tonight is fine i got my mind made up come on you can get it get it girl any time say what tonight is fine you gotta push it to me baby push it to me baby you gotta slide it to me honey slide it to me girl if you want my money if you want my money you gotta make it good as honey i got my mind made up come on you can get it get it girl any time say what tonight is fine youve got me groovin just keep on movin keep movin keep movin feelings really soothing keeps me movin yeah yeah yeah i got my mind made up come on you can get it get it girl any time say what tonight is fine i got my mind made up come on you can get it get it",3
91,"dont stop til you get enough","michael jackson",1979," 1st verse lovely is the feelin now fever temperatures risin now power ah power is the force the vow that makes it happen it asks no questions why ooh so get closer closer now to my body now just love me til you dont know how ooh chorus keep on with the force dont stop dont stop til you get enough keep on with the force dont stop dont stop til you get enough keep on with the force dont stop dont stop til you get enough keep on with the force dont stop dont stop til you get enough2nd verse touch me and i feel on fire aint nothin like a love desire ooh im melting im melting like hot candle wax sensation ah sensation lovely where were at ooh so let love take us through the hours i wont be complanin cause this is love power ooh chorus keep on with the force dont stop dont stop til you get enough keep on with the force dont stop dont stop til you get enough keep on with the force dont stop dont stop til you get enough keep on with the force dont stop dont stop til you get enough ooh3rd verse heartbreak enemy despise eternal ah eternal love shines in my eyes ooh so let love take us through the hours i wont be complanin no no cause your love is alright alrightchorus keep on with the force dont stop dont stop til you get enough keep on with the force dont stop dont stop til you get enough keep on with the force dont stop dont stop til you get enough keep on with the force dont stop dont stop til you get enough keep on with the force dont stop dont stop til you get enough keep on with the force dont stop dont stop til you get enough keep on with the force dont stop dont stop til you get enough keep on with the force dont stop dont stop til you get enough refrain lovely is the feeling now i wont be complanin ooh ooh the force is love power chorus keep on with the force dont stop dont stop til you get enough keep on with the force dont stop dont stop til you get enough keep on with the force dont stop dont stop til you get enough keep on with the force dont stop dont stop til you get enough keep on with the force dont stop dont stop til you get enough keep on with the force dont stop dont stop til you get enough keep on with the force dont stop dont stop til you get enough keep on with the force dont stop dont stop til you get enough keep on with the force dont stop dont stop til you get enough adlib to fade ",1
92,"bad case of loving you doctor doctor","robert palmer",1979,"  ",1
93,"somewhere in the night","barry manilow",1979," time you found time enough to love and i found love enough to hold you so tonight ill stir the fire you feel inside until the flames of love enfold you layin beside you lost in the feeling so glad you opened my door come with me somewhere in the night we will know everything lovers can know youre my song music too magic to end ill play you over and over again lovin so warm movin so right closin our eyes and feelin alive well just go on burnin bright somewhere in the nightyoull sleep when the mornin comes and ill lie and watch you sleepin and youll smile when you dream about the night like its a secret youve been keepin layin beside you lost in the feeling so glad you opened my door youre my song music too magic to end ill play you over and over again lovin so warm movin so right closin our eyes and feelin alive well just go on burnin bright somewhere in the nightwell just go on burnin bright somewhere in the nightwell just go on burnin bright somewhere in the night well just go on burnin bright ",1
94,"weve got tonight","bob seger  the silver bullet band",1979,NA,NA
95,"dance the night away","van halen",1979," have you seen her so fine and pretty fooled me with her style and ease and i feel her from across the room yes its love in the third degreeoh baby baby wontcha turn your head my way oh baby baby ah come on take a chance youre old enough todance the night away whoaoh ah come on ggirl dance the night awaya live wire barely a beginner but just watch that lady go shes on fire cause dancin gets her higher thanuh anything else she knowsoh baby baby wontcha turn your head my way oh baby baby well dont skip romance cause youre old enough todance the night away oh oh oh ah come on ggirl dance the night awayoh oh oh oh oh yeahdance the night away hey hey yeah dance dance dance the night away ah come on baby dance the night away hey hey yeah dance dance dance the night away uh come on baby baby dance the night away oh ooh yeah dance dance dance the night away ah ha ow ",1
96,"dancin shoes","nigel olsson",1979,"too many long conversations and no one is hearin a word just tryin to escape the frustrations till a song in the night can be heard put on your dancin shoes throw out those onenight blues heres one to love and to chance for a spin on that wheel of romance too slow to unriddle your problems too lonely for someone to care long lonely silence keeps haunting till the song in the night finds you there put on your dancin shoes throw out those onenight blues and her",5
97,"the boss","diana ross",1979," fancy me thought i had my degree in life and how love ought to be a runi had a one step plan to prove it guide in my pocket for fools folly and fun love had to show me one thingi was so right so right thought i could turn emotion on and off i was so sure so sure but love taught me who was who was who was the bossid defy anyone who claimed that i didnt control whatever moved in my souli could tempt touch delight just because you fell for me why should i feel uptight love had to show me one thingi was so right so right thought i could turn emotion on and off i was so sure i was so so sure but love taught me taught me who was who was the bosslove taught me taught me taught me taught mei was so right so right thought i could turn emotion on and off i was so sure so sure but love taught me taught me who was who was the bosslove taught me love taught me who was the boss love taught me who was the boss love taught me love taught me love taught me who was the boss ",1
98,"sail on","commodores",1979," sail on down the line bouta halfa mile or so anda dont really wanna knowa where youre goin maybe once or twice you see time after time i trieda to to hold on to what we got buta now youre goin and i dont mind about the things youre gonna say lord i gave all my money and my time i know its a shame but im givin you back your name yeah yeah yes ill be on my way i wont be back to stay i guess ill move along im lookin for a good timesail on down the line aint it funny how the time can go ona friends say they told me so but it doesnt matter it was plain to see that a small town boy like me justa wasnt your cup of tea it was wishful thinkin i gave you my heart and i tried to make you happy and you gave me nothin in return you know it aint so hard to say would you please just go away yeah yeah ive thrown away the blues im tired of bein used i want everyone to know im lookin for a good time good timesail on honey good times never felt so good sail on honey good times never felt so good sail on sugar good times never felt so good ",1
99,"i do love you","gq",1979,"i doooo love you oh but its alright alright oh woah i love you so right now my my baby heyey yeah little darlin i said i love you so right now never never gonna let gonna let gonna let you go no no no pretty little baby i say i want you ttry to understand that i i want to be your lovin man babe my baby i love you sooo and i dont want you to go no no why dont you listen to me yeah im beggin you on bented knees oh my girl i pray that your love it would come to me someday because i love you so bad girl its about to drive me mad girl i say i love you so right now pretty baby pretty baby i love you so right now oh baby i love you sooo and i dont want you to go no no no no no no no why why dont you listen to me im beggin you on bented knees ohoh instrumental oh i i i i its just an oldie but goodie like the good ol days when the ladies treat you so so good remembering the things we use to do the places we use to go and evrything was so so melloooo oh ohoo i love you so right now i love you so right now i love you so right now i love you so right now i love you so",5
100,"strange way","firefall",1979," didnt i hear you cry this mornin didnt i feel you weep teardrops flowin down on me like rivers in my sleepin my dream of laughter you came creeping with your fears telling me your sorrow in the trace ends of your tearsthats a strange way to tell me you love me when your sorrow is all i can see if you just want to cry to somebody dont cry to me no dont cry to me nodidnt i hear your voice this mornin didnt you call my name i heard you whisper softly but the words were never plainand in your dream of darkness i came shinin like a sun waiting for the laughter but the laughter never caughtthats a strange way to tell me you love me when your sorrow is all i can see if you just want to cry to somebody dont cry to me no dont cry to me nodidnt you feel alone this mornin didnt you need a friend and in your darkest hour you came runnin back againthats a strange way to tell me you love me thats a strange way to tell me you love me thats a strange way to tell me you love me ",1
1,"call me","blondie",1980," color me your color baby color me your car color me your color darling i know who you are come up off your color chart i know where youre comin fromcall me call me on the line call me call me any anytime call me call me my love you can call me any day or night call mecover me with kisses baby cover me with love roll me in designer sheets ill never get enough emotions come i dont know why cover up loves alibicall me call me on the line call me call me any anytime call me call me oh love when youre ready we can share the wine call meoh oh oh oh oh he speaks the languages of love oh oh oh oh oh amore chiamami chiamami oh oh oh oh oh appellemoi mon cherie appellemoi anytime anyplace anywhere any way anytime anyplace anywhere any dayaycall me call me my love call me call me any anytime call me call me for a ride call me call me for some overtime call me call me my love call me call me in a sweet design call me call me call me for your lovers lovers alibi call me call me on the line call me call me any anytime call me call me oh call me oh oh ah call me call me my love call me call me any anytime ",1
2,"another brick in the wall part ii","pink floyd",1980," we dont need no education we dont need no thought control no dark sarcasm in the classroom teacher leave them kids alonehey teacher leave the kids aloneall in all its just another brick in the wall all in all youre just another brick in the wallwe dont need no education we dont need no thought control no dark sarcasm in the classroom teachers leave them kids alonehey teacher leave them kids aloneall in all youre just another brick in the wall all in all youre just another brick in the wall ",1
3,"magic","olivia newtonjohn",1980," come take my hand you should know me ive always been in your mind you know that ill be kind ill be guiding youbuilding your dream has to start now theres no other road to take you wont make a mistake ill be guiding youyou have to believe we are magic nothing can stand in our way you have to believe we are magic dont let your aim ever stray and if all your hopes survive destiny will arrive ill bring all your dreams alive for you ill bring all your dreams alive for youfrom where i stand you are home free the planets align so rare theres promise in the air and im guiding youthrough every turn ill be near you ill come anytime you call ill catch you when you fall ill be guiding youyou have to believe we are magic nothing can stand in our way you have to believe we are magic dont let your aim ever stray and if all your hopes survive destiny will arrive ill bring all your dreams alive for you ill bring all your dreams alive for youyou have to believe we are magic nothing can stand in our way you have to believe we are magic dont let your aim ever stray and if all your hopes survive destiny will arrive ill bring all your dreams alive for you ill bring all your dreams alive for you ",1
4,"rock with you","michael jackson",1980," girl close your eyes let that rhythm get into you dont try to fight it there aint nothing that you can do relax your mind lay back and groove with mine you gotta feel that heat and we can ride the boogie share that beat of lovei want to rock with you all night dance you into day sunlight i want to rock with you all night rock the night awayout on the floor there aint nobody there but us girl when you dance theres a magic that must be love just take it slow cause we got so far to go you gotta feel that heat and we can ride the boogie share that beat of lovei want to rock with you all night dance you into day sunlight i want to rock with you all night rock the night awayand when the groove is dead and gone yeah you know that love survives so we can rock forever oni want to rock with you i want to groove with youi want to rock all night with you girl sunlight rock with you rock with you girl yeah all night dance the night awayi want to rock with you yeah all night rock you into day sunlight i want to rock with you all night rock the night awayfeel the heat feel the heat rock you into day sunlight i want to rockrock the night away ",1
5,"do that to me one more time","captain  tennille",1980,"do that to me one more time once is never enough with a man like you do that to me one more time i can never get enough of a man like you oh kiss me like you just did oh baby do that to me once again pass that by me one more time once just isnt enough for my heart to hear whoa tell it to me one more time i can never hear enough while i got ya near oh say those words again that you just did oh baby tell it to me once again do that to me one more time once is never enough with a man like you whoa do that to me one more time i can never get enough of a man like you oh kiss me like you just did oh baby do that to me once again whoa baby do that to me once again whoa baby do that to me one more time do it again one more time do it again one more time do it again one more time do it again one more time do it again one more time do it again one more time",3
6,"crazy little thing called love","queen",1980," this thing called love i just cant handle it this thing called love i must get round to it i aint ready crazy little thing called lovethis thing this thing called love called love it cries like a baby in a cradle all night it swings woo woo it jives woo woo it shakes all over like a jelly fish i kinda like it crazy little thing called lovethere goes my baby she knows how to rock n roll she drives me crazy she gives me hot and cold fever then she leaves me in a cool cool sweati gotta be cool relax get hip and get on my tracks take a back seat hitchhike and take a long ride on my motorbike until im ready crazy little thing called lovei gotta be cool relax get hip and get on my tracks take a back seat ah hum hitchhike ah hum and take a long ride on my motorbike until im ready ready freddie crazy little thing called lovethis thing called love i just cant handle it this thing called love i must get round to it i aint ready ooh ooh ooh oohcrazy little thing called love crazy little thing called love yeah yeah crazy little thing called love yeah yeah crazy little thing called love yeah yeah crazy little thing called love yeah yeah crazy little thing called love yeah yeah crazy little thing called love yeah yeah crazy little thing called love yeah yeah crazy little thing called love yeah yeah crazy little thing called love yeah yeah ",1
7,"coming up","paul mccartney",1980," you want a love to last forever one that will never fade away i want to help you with your problem stick around i say its coming up its coming up coming up like a flower coming up yeahyou want a friend you can rely on one who will never fade away i know youre searching for an answer stick around i sayits coming up its coming up coming up only hour coming up yeahyou want a better kind of future one that everyone can share youre not alone we all could use it stick around were nearly thereits coming up its coming up coming up like a flower coming upyou want a love to last forever one that will never fade away id like to help you with your problem stick around pretty baby i say its coming up its coming up its coming up like a flower its coming up pretty baby i wanna saycoming up only hour coming up yeah yeah yeah coming up pretty baby coming up oh you better believe it coming up like a flower coming upcoming up ",1
8,"funkytown","lipps inc",1980," introgotta make a move to a town thats right for me town to keep me movin keep me groovin with some energywell i talk about it talk about it talk about it talk about it talk about talk about talk about movingotta move on gotta move on gotta move onbridgeawont you take me to funkytown wont you take me to funkytown wont you take me to funkytown wont you take me to funkytownbridgewont you take me to funkytown wont you take me to funkytown wont you take me to funkytown wont you take me to funkytownbridgegotta make a move to a town thats right for me town to keep me movin keep me groovin with some energywell i talk about it talk about it talk about it talk about it talk about talk about talk about movingotta move on gotta move on gotta move onbridgeawont you take me to funkytown wont you take me to funkytown wont you take me to funkytown wont you take me to funkytownbridgewont you take me to funkytown wont you take me to funkytown wont you take me to funkytown wont you take me to funkytownwont you take me down to funkytown wont you take me down to funkytown wont you take me down to funkytown wont you take me down to funkytownwont you take me to funkytown wont you take me to funkytown wont you take me to funkytown wont you take me to funkytowntake me wont you take me take me wont you take me take me wont you take me take me wont you take mei wanna go to funkytown i wanna go to funkytown i wanna go to funkytown i wanna go to funkytown ",1
9,"its still rock and roll to me","billy joel",1980," whats the matter with the clothes im wearing cant you tell that your ties too wide maybe i should buy some old tab collars welcome back to the age of jive where have you been hidin out lately honey you cant dress trashy till you spend a lot of money everybodys talkin bout the new sound funny but its still rock and roll to me whats the matter with the car im driving cant you tell that its out of style should i get a set of white wall tires are you gonna cruise a miracle mile nowadays you cant be too sentimental your best bets a true babyblue continental hot funk cool punk even if its old junk its still rock and roll to meoh it doesnt matter what they say in the papers cause its always been the same old scene theres a new band in town but you cant get the sound from a story in a magazine aimed at your average teenhow about a pair of pink sidewinders and a bright orange pair of pants well you could really be a beau brummel baby if you just give it half a chance dont waste your money on a new set of speakers you get more mileage from a cheap pair of sneakers next phase new wave dance craze anyways its still rock and roll to meoh whats the matter with the crowd im seeing dont you know that their out of touch well should i try to be a straighta student if you are then you think too much dont you know about the new fashion honey all you need are looks and a whole lotta money its the next phase new wave dance craze anyways its still rock and roll to me everybodys talkin bout the new sound funny but its still rock and roll to me ",1
10,"the rose","bette midler",1980," some say love it is a river that drowns the tender reed some say love it is a razor that leaves your soul to bleed some say love it is a hunger an endless aching need i say love it is a flower and you its only seedits the heart afraid of breaking that never learns to dance its the dream afraid of waking that never takes the chance its the one who wont be taken who cannot seem to give and the soul afraid of dying that never learns to livewhen the night has been too lonely and the road has been too long and you think that love is only for the lucky and the strong just remember in the winter far beneath the bitter snow lies the seed that with the suns love in the spring becomes the rose ",1
11,"escape the pi~na colada song","rupert holmes",1980,"i was tired of my lady wed been together too long like a wornout recording of a favorite song so while she lay there sleeping i read the paper in bed and in the personals column there was this letter i read if you like pina coladas and getting caught in the rain if youre not into yoga if you have halfabrain if you like making love at midnight in the dunes of the cape im the lady youve looked for write to me and escape i didnt think about my lady i know that sounds kind of mean but me and my old lady had fallen into the same old dull routine so i wrote to the paper took out a personal ad and though im nobodys poet i thought it wasnt halfbad yes i like pina coladas and getting caught in the rain im not much into health food i am into champagne ive got to meet you by tomorrow noon and cut through all this red tape at a bar called omalleys where well plan our escape so i waited with high hopes then she walked in the place i knew her smile in an instant i knew the curve of her face it was my own lovely lady and she said oh its you and we laughed for a moment and i said i never knew that you liked pina coladas and getting caught in the rain and the feel of the ocean and the taste of champagne if you like making love at midnight in the dunes of the cape youre the love that ive looked for come with me and escape if you like pina coladas and getting caught in the rain and the feel of the ocean and the taste of champagne if you like making love at midnight in the dunes of the cape youre the love that ive looked for come with me and escape",3
12,"cars","gary numan",1980," here in my car i feel safest of all i can lock all my doors its the only way to live in carshere in my car i can only receive i can listen to you it keeps me stable for nights in carshere in my car where the image breaks down will you visit me please if i open my door in carshere in my car i know ive started to think about leaving tonight although nothing seems right in cars ",1
13,"cruisin","smokey robinson",1980," cruisinbaby lets cruise away from here dont be confused the way is clear and if you want it you got it forever this is not a one night stand babylet the music take your mind just release and you will find youre gonna fly away glad youre going my way i love it when were cruisin togetherthe music is played for love cruisin is made for love i love it when were cruisin togetherbaby tonight belongs to us everythings right do what you must and inch by inch we get closer and closer to every little part of each other oh baby yeslet the music take your mind just release and you will find youre gonna fly away glad youre going my way i love it when were cruisin togetherthe music is played for love cruisin is made for love i love it when were cruisin togethercruise with me baby cruise with me baby cruisinso good to cruise with you baby so good to cruise with you baby you and me yeah you and me babybaby lets cruise lets flow lets glide ooh lets open up and go insideand if you want it you got it forever i can just stay there inside you and love you baby ohlet the music take your mind just release and you will find youre gonna fly away glad youre going my way i love it when were cruisin togetherthe music is played for love cruisin is made for love i love it when were cruisin togetheroh baby we gonna fly away plan to go my way i love it when were cruisin togetherthe music is played for love cruisin is made for love i love it when were cruisin togetheryoure gonna fly away and youre going my way i love it when were cruisin togetherthe music is played for love cruisin is made for love i love it when were cruisin togetheryoure gonna fly away and youre going my way i love it when were cruisin togetherthe music is played for love cruisin is made for love i love it when were cruisin together ",1
14,"working my way back to youforgive me girl","the spinners",1980,"ill keep working my way back to you babe with a burning love inside hey im working my way back to you babe and the happiness that died i let it get away been paying every day when you were so in love with me i played around like i was free thought i could have my cake and eat it too but how i cried over losing you see im down and out but i aint about to go living my life without you hey every day i made you cry ill pay and girl til the day i die ill keep working my way back to you babe with a burning love inside yeah im working my way back to you babe and the happiness that died i let it get away been paying every day oh i used to love to make you cry it made me feel like a man inside if i had been a man in reality youd be here baby loving me now my nights are long and lonely and i aint too proud babe i just miss you so girl but youre too proud and you wont give in but when i think about all i could win ill keep working my way back to you babe with a burning love inside yeah im working my way back to you babe and the happiness that died i let it get away been paying every day   you you babe my road is kind of long   you you babe i just gotta get back home im really sorry for acting that way im really sorry little girl im really sorry for telling you lies for so long oh please forgive me girl come on give me a chance wont you forgive me girl hey lets have romance forgive me girl lets try again come on forgive me girl i want you over and over and over and over again ill keep working my way back to you babe with a burning love inside yeah im working my way back to you babe and the happiness that died i let it get away been paying every day ill keep working my way back to you babe yeah burning love inside",3
15,"lost in love","air supply",1980," i realized the best part of love is the thinnest slice and it dont count for much but im not letting go i believe theres still much to believe inso lift your eyes if you feel you can reach for a star and ill show you a plan i figured it out what i needed was someone to show meyou know you cant fool me ive been loving you too long it started so easy you want to carry onlost in love and i dont know much was i thinking aloud and fell out of touch but im back on my feet and eager to be what you wantedso lift your eyes if you feel you can reach for a star and ill show you a plan i figured it out what i needed was someone to show meyou know you cant fool me ive been loving you too long it started so easy you want to carry onlost in love and i dont know much was i thinking aloud and fell out of touch but im back on my feet and eager to be what you wantedyou know you cant fool me ive been loving you too long it started so easy you want to carry onlost in love and i dont know much was i thinking aloud and fell out of touch but im back on my feet eager to be what you wantednow im lost lost in love lost in love lost in love now im lost im lost in love lost in love lost in lovelost in love lost in love lost in love lost in love lost in love lost in love ",1
16,"little jeannie","elton john",1980," oh little jeannie you got so much love little jeannie and you take it where it strikes and give it to the likes of me oh little jeannie she got so much love little jeannie so i see you when i can you make me all a man can beand i want you to be my acrobat i want you to be my lover oh there were others who would treat you cruel and oh jeannie you were always someones foollittle jeannie you got so much time little jeannie though youve grown beyond your years you still retain the fears of youth oh little jeannie you got so much time little jeannie but youre burning it up so fast searching for some lasting truthand i want you to be my acrobat i want you to be my lover oh there were others who would treat you cruel but oh jeannie i will always be your fooland i want you to be my acrobat i want you to be my lover oh there were others and ive known quite a few but oh oh jeannie im still in love with youyou stepped into my life from a bad dream making the life that i had seem suddenly shiny and new oh jeannie im so in love with youyou stepped into my life from a bad dream making the life that i had seem suddenly shiny and new oh jeannie im so in love with youyou stepped into my life from a bad dream making the life that i had seem suddenly shiny and new oh jeannie im so in love with you  ",1
17,"ride like the wind","christopher cross",1980," it is the night my bodys weak im on the run no time for sleep ive got to ride ride like the wind to be free againand ive got such a long way to go such a long way to go to make it to the border of mexico so ill ride like the wind ride like the windi was born the son of a lawless man always spoke my mind with a gun in my hand lived nine lives gunned down ten gonna ride like the windand ive got such a long way to go such a long way to go to make it to the border of mexico so ill ride like the wind ride like the wind gonna ride the windaccused and tried and told to hang i was nowhere in sight when the church bells rang never was the kind to do as i was told gonna ride like the wind before i get oldit is the night my bodys weak im on the run no time for sleep ive got to ride ride like the wind to be free againand ive got such a long way to go such a long way to go to make it to the border of mexico so ill ride like the wind ride like the windand ive a long way to go such a long way to go to make it to the border of mexico so ill ride like the wind ride like the wind gonna ride the windride ride like the wind ride ",1
18,"upside down","diana ross",1980," i said upside down youre turning me youre giving love instinctively around and round youre turning meupside down boy you turn me inside out and round and round upside down boy you turn me inside out and round and roundinstinctively you give to me the love that i need i cherish the moments with you respectfully i see to thee im aware that youre cheating when no one makes me feel like you doupside down boy you turn me inside out and round and round upside down boy you turn me inside out and round and roundi know you got charm and appeal you always play the field im crazy you are mine as long as the sun continues to shine theres a place in my heart for you thats the bottomlineupside down boy you turn me inside out and round and round upside down boy you turn me inside out and round and roundinstinctively you give to me the love that i need i cherish the moments with you respectfully i see to thee im aware that youre cheating but no one makes me feel like you doupside down boy you turn me inside out and round and round upside down boy you turn me inside out and round and roundupside down boy you turn me inside out and round and round upside down boy you turn me inside out and round and roundupside down youre turning me youre giving love instinctively around and round youre turning me i see to thee respectfullyupside down youre turning me youre giving love instinctively around and round youre turning me i see to thee respectfullyi said a upside down youre turning me youre giving love instinctively around and round youre turning me ",1
19,"please dont go","kc and the sunshine band",1980,NA,NA
20,"babe","styx",1980," babe im leaving i must be on my way the time is drawing near my train is going i see it in your eyes the love the need your tears but ill be lonely without you and ill need your love to see me through so please believe me my heart is in your hands and ill be missing youcause you know its you babe whenever i get weary and ive had enough feel like giving up you know its you babe giving me the courage and the strength i need please believe that its true babe i love youyou know its you babe whenever i get weary and ive had enough feel like giving up you know its you babe giving me the courage and the strength i need please believe that its true babe i love youbabe im leaving ill say it once again and somehow try to smile i know the feeling were trying to forget if only for a while cause ill be lonely without you and ill need your love to see me through please believe me my heart is in your hands cause ill be missing you babe i love you babe i love you ooh babe ",1
21,"with you im born again","billy preston and syreeta",1980," come bring me your softness comfort me through all this madness woman dont you know with you im born againcome give me your sweetness now theres you there is no weakness lying safe within your arms im born againi was half not whole in step with none reaching through this world in need of onecome show me your kindness in your arms i know ill find this woman dont you know with you im born again lying safe with you im born againcome bring me your softness comfort me through all this madness woman dont you know with you im born againcome bring me your sweetness now theres you there is no weakness lying safe within your arms im born again woman dont you know with you im born againi was half not whole in step with none reaching through this world in need of onecome show me your kindness in your arms i know ill find this woman dont you know with you im born again lying safe with you im born again ",1
22,"shining star","the manhattans",1980,"ooh yeah honey you are my shining star dont you go away oh baby wanna be right here where you are till my dying day yeah baby so many have tried tried to find a love like yours and mine girl dont you realize how you hypnotize make me love you each time yeah baby honey i know i leave you lonely give my love to you only to you only to you only honey you are my shining star dont you go away no baby wanna be right here where you are till my dying day yeah baby feel so good when were lying here next to each other lost in love yeah baby baby when we touch i love you so much youre all i have with me now yeah baby honey i know i leave you lonely give my love to you only to you only to you only honey you are my shining star dont you go away girl no baby wanna be right here where you are till my dying day honey you are my shining star you are my shining star dont you go away ooh baby honey you are my shining star dont you go away ooh baby honey right here where you are till my dying day ah yeah honey you are my shining star my shining star honey you you are my star dont you go away yeah baby honey you are my shining star dont you go away ooh baby honey you you you you",3
23,"still","commodores",1980," lady mornings just a moment away and im without you once again you laughed at me you said youve never needed me i wonder if you need me now so many dreams that flew away so many words we didnt say two people lost in a storm where did we go whered we go we lost what we both had found you know we let each other down but then most of all i do love you stillwe played the games that people play we made our mistakes along the way somehow i know deep in my heart you needed me cause i needed you so desperately we were too blind to see but then most of all i do love you still ",1
24,"yes im ready","teri desario  kc",1980,NA,NA
25,"sexy eyes","dr hook",1980," i was sitting all alone watching people getting off with each other they were dancing cross the floor turning movement back and forth they were loversone more lonely night for me i looked up what did i seesexy eyes moving cross the floor couldnt want for more sexy eyes sexy eyes getting down with you i wanna move with you sexy eyesi got up and took your hand and we both began to dance to the music ooh your magic cast a spell it didnt take long til we fell and we knew itno more lonely nights for me this is how its gonna besexy eyes moving cross the floor couldnt want for more sexy eyes sexy eyes getting down with you i wanna move with you sexy eyesno more lonely nights for me this is how its gonna besexy eyes moving cross the floor couldnt want for more sexy eyes sexy eyes getting down with you i wanna move with you sexy eyesooh sexy eyes getting down with you i wanna move with you sexy eyes sexy eyes getting down with you i wanna move with you sexy eyes ",1
26,"steal away","robbie dupree",1980," come on and hold me just like you told me then show me what i want to knowwhy dont we steal away why dont we steal away into the night i know it aint rightdont tease me why dont you please me and show me what you came here forwhy dont we steal away why dont we steal away into the night i know it aint right into the night babe baby tonightooh i caught you glancing my way and i know what youre after no second chances tonightwhy dont we steal away why dont we steal away why dont we steal away why dont we steal away into the night i know it aint right into the night i know it aint rightwhy dont we steal away i know it aint right into the night babe why dont we steal away make it tonight why dont we steal away ",1
27,"biggest part of me","ambrosia",1980," wwwho be the best wwwho be the bestsunrise theres a new sun arisin in your eyes i can see a new horizon realize that will keep me realizin youre the biggest part of mestay the night need your lovin here beside me shine the light need you close enough to guide me all my life ive been hopin you would find me youre the biggest part of memake a wish baby wish and it will come true well and i will make it come true make a list baby make a list of the things for you of the things ill do for youaint no risk now let my love rain down on you so we could wash away the past so that we may start anewrainbow risin over my shoulder love flows gettin better as were older all i know all i want to do is hold her shes the life that breathes in meforever got a feelin that forever together we are gonna stay together forever for me theres nothin better youre biggest part of memake a wish baby wish and it will come true well and i will make it come true make a list baby make a list of the things for you of the things ill do for youaint no risk now let my love rain down on you so we could wash away the past so that we may start anewwish and it will come true make a list of the things for you aint no risk now let my love rain down on you so we could wash away the past so that we may start anewbeside me need your lovin here beside me to guide me keep it close enough to guide me inside of me from the fears that are inside of me youre the biggest part of meforever got a feelin that forever together we are gonna stay together forever from now until forever youre the biggest part of mewwwho be the bestmake a wish baby wish and it will come true well and i will make it come true make a list baby make a list of the things for you of the things ill do for youaint no risk now let my love rain down on you so we could wash away the past so that we may start anewwwwho be the best wwwho be the bestwish baby wish baby wish baby ",1
28,"this is it","kenny loggins",1980," thereve been times in my life ive been wondering why still somehow i believed wed always survivenow im not so sure youre waiting to hear one good reason to try but what more can i say whats left to provideyou think that maybe its over only if you want it to be are you gonna wait for your sign your miracle stand up and fightthis is it make no mistake where you are this is it your backs to the corner this is it dont be a fool anymore this is it the waiting is overno room to run no way to hide no time for wondering why its here the moment is now about to decidelet him believe or leave him behind but keep me near in your heart and know whatever you do im here by your sideyou said that maybe its over not if you dont want it to be for once in your life heres your miracle stand up and fightthis is it make no mistake where you are this is it youre going no further this is it until its over and doneno one can tell you what you know who makes the choice of how it goes its not up to me this time you know there comes a day in every lifethis is it make no mistake where you are this is it youre going no further this is it until its over and done this is it one way or another this is itno one can tell what the future holds this is it your backs to the corner this is it you make the choice of how it goes this is it the waiting is over this is itno one can tell what the future holds this is it youre going no further this is it you make the choice of how it goes ",1
29,"cupidive loved you for a long time","the spinners",1980,NA,NA
30,"lets get serious","jermaine jackson",1980,NA,NA
31,"dont fall in love with a dreamer","kenny rogers  kim carnes",1980,"just look at you sitting there you never looked better than tonight and itd be so easy to tell you id stay like ive done so many times i was so sure this would be the night youd close the door and wanna stay with me and itd be so easy to tell you id wait like ive done so many times dont fall in love with a dreamer because hell always take you in just when you think youve really changed him hell leave you again dont fall in love with a dreamer because hell break you every time so put out the light and just hold on before we say goodbye now its morning and the phone rings and ya say you gotta get your things together you just gotta leave before you change your mind and you know what i was thinking id turn around if youd just ask me one more time dont fall in love with a dreamer because hell always take you in just when you think youve really changed him hell leave you again dont fall in love with a dreamer because hell break you every time so put out the light and just hold on before we say goodbye",5
32,"sailing","christopher cross",1980," well its not far down to paradise at leasts not for me if the wind is right you can sail away and find tranquility oh the canvas can do miracles just you wait and see believe meits not far to never never land reason to pretend and if the wind is right you can find the joy of innocence again oh the canvas can do miracles just you wait and see believe mesailing takes me away to where ive always heard it just a dream and the wind to carry me soon i will be freefantasy it gets the best of me when im sailing all caught up in the reverie every word is a symphony wont you believe mesailing takes me away to where ive always heard it just a dream and the wind to carry me soon i will be freeits not far back to sanity at least its not for me and when the wind is right you can sail away and find serenity oh the canvas can do miracles just you wait and see believe mesailing takes me away to where ive always heard it just a dream and the wind to carry me soon i will be free ",1
33,"longer","dan fogelberg",1980," longer than therve been fishes in the ocean higher than any bird ever flew longer than thereve been stars up in the heavens ive been in love with youstronger than any mountain cathedral truer than any tree ever grew deeper than any forest primeval i am in love with youill bring fire in the winters youll send showers in the springs well fly through the falls and summers with love on our wingsthrough the years as the fire starts to mellow burning lines in the book of our lives though the binding cracks and the pages start to yellow ill be in love with you ill be in love with you ",1
34,"coward of the county","kenny rogers",1980," everyone considered him the coward of the county hed never stood one single time to prove the county wrong his mama named him tommy but folks just called him yellow something always told me they were reading tommy wronghe was only ten years old when his daddy died in prison i looked after tommy cause he was my brothers son i still recall the final words my brother said to tommy son my life is over but yours has just begunpromise me son not to do the things ive done walk away from trouble if you can it wont mean youre weak if you turn the other cheek i hope youre old enough to understand son you dont have to fight to be a mantheres someone for everyone and tommys love was becky in her arms he didnt have to prove he was a man one day while he was working the gatlin boys came calling they took turns at becky nthere was three of themtommy opened up the door and saw his becky crying the torn dress the shattered look was more than he could stand he reached above the fireplace and took down his daddys picture as the tears fell on his daddys face he heard these words againpromise me son not to do the things ive done walk away from trouble if you can now it wont mean youre weak if you turn the other cheek i hope youre old enough to understand son you dont have to fight to be a manthe gatlin boys just laughed at him when he walked into the barroom one of them got up and met him halfway cross the floor when tommy turned around they said hey look old yellers leaving but you couldve heard a pin drop when tommy stopped and locked the doortwenty years of crawling was bottled up inside him he wasnt holding nothin back he let em have it all when tommy left the barroom not a gatlin boy was standing he said this ones for becky as he watched the last one falland i heard him say i promised you dad not to do the things youve done i walk away from trouble when i can now please dont think im weak i didnt turn the other cheek and papa i sure hope you understand sometimes you gotta fight when youre a maneveryone considered him the coward of the county ",1
35,"ladies night","kool  the gang",1980,"mmm oh yeah oh what a night oh yes its ladies night and the feelings right oh yes its ladies night oh what a night oh what a night oh yes its ladies night and the feelings right oh yes its ladies night oh what a night girls yall got the one a night thats special everywhere from new york to hollywood its ladies night and girl the feelings good oh yes its ladies night and the feelings right oh yes its ladies night oh what a night oh what a night oh yes its ladies night and the feelings right oh yes its ladies night oh what a night romantic lady single baby mmm sophisticated mama come on you disco lady yeah stay with me tonight mama yeah if you hear any noise it aint the boys its ladies night uh huh gonna step out ladies night steppin out ladies night gonna step out ladies night steppin out ladies night oh yes its ladies night and the feelings right oh yes its ladies night oh what a night oh what a night oh yes its ladies night and the feelings right oh yes its ladies night oh what a night on disco lights your name will be seen you can fulfill all your dreams party here party there everywhere this is your night baby youve got to be there well this is your night tonight everything is gonna be alright this is your night tonight everything is gonna be alright this is your night tonight everything is gonna be alright this is your night tonight everything is gonna be alright this is your night tonight   come on lets all celebrate everything is gonna be alright this is your night tonight everything is gonna be alright ",3
36,"too hot","kool  the gang",1980,"at seventeen we fell in love high school sweethearts love was so brand new we took the vows of man and wife forever for life i remember how we made our way a little patience the time we prayed cant imagine that this love is through feeling the pain girl when you lose oh its too hot too hot too hot lady too hot gotta run for shelter gotta run for shade its too hot too hot too hot lady too hot gotta cool this anger what a mess we made so long ago you were my love oh my love flyin high we never took the time to stop and feel the need funny how those years go by changing you changing me i remember loves fever in our hearts girl and in our minds cant imagine that this love is through feeling the pain girl when you lose oh its too hot too hot too hot lady too hot gotta run for shelter gotta run for shade its too hot too hot too hot lady too hot gotta cool this anger what a mess we made so long ago you were my love feeling the pain oh its too hot too hot too hot lady too hot gotta run for shelter gotta run for shade its too hot too hot too hot lady too hot gotta cool this anger from this mess that we made its too hot too hot too hot lady too hot gotta run for shelter gotta run for shade its too hot too hot so so hot lady too hot",3
37,"take your time do it right","the sos band",1980,"lets do it lets do it ooh baby take your time lets do it come on baby ooh baby take your time lets do it you know you ought to slow down you been working too hard and thats a fact sit back and relax a while take some time to laugh and smile lay your heavy load down so we can stop and kick back it seems we never take the time to do all the things we want to yeah now baby we can do it take the time do it right we can do it baby do it tonight baby we can do it take the time do it right we can do it baby do it tonight the love i feel for you you feel for me one life is all we have to live our love is all we have to give yeah there are so many things for us to do and see lets take some time to be alone lock the door pull out the phone yeah now baby we can do it take the time do it right we can do it baby do it tonight baby we can do it take the time do it right we can do it baby do it tonight baby we can do it take the time do it right we can do it baby do it tonight baby we can do it take the time do it right we can do it baby do it tonight take your time take the time take the time take the time do it lets do it lets do it do it right cmon baby lets do it if it takes all night cmon baby lets do it lets do it do it right cmon honey lets do it if it takes all night lets do it lets do it lets do it do it right cmon baby lets do it if it takes all night cmon honey lets do it lets do it tonight we can do it we can do it lets do it do it right baby we can do it take the time do it right we can do it baby do it tonight baby we can do it take the time do it right we can do it baby do it tonight",5
38,"no more tears enough is enough","barbra streisand  donna summer",1980,"its raining its pouring my lovelife is boring me to tears after all these years no sunshine no moonlight no stardust no sign of romance we dont stand a chance ive always dreamed i d find the perfect lover but he turned out to be like every other man our love our love raining raining pouring pouring theres nothing left for us here and we wont waist another tear if youve had enough dont put up with his stuff dont you do it if youve had your fill get the check pay the bill you can do it tell him to just get out nothing left to talk about pack his raincoat show him out just look him in the eyes and simple shout enough is enough i cant go on i cant go on no more no enough is enough i want him out i want him out that door now ive always dreamed to find the perfect lover but he turns out to be like every other man our love i had no choice from the start our love ive gotta listen to my heart our love tearing us apart enough is enough is enough i cant go on i cant go on no more no enough is enough is enough i want him out i want him out that door now goodbye mister goodbye goodbye mister goodbye sugar no more tears no more tears no more tears ive had it youve had it hes had it weve had it enough is enough is enough is enough is enough is enough is enough is enough is enough is enough is enough is enough",3
39,"more love","kim carnes",1980," let it be soon dont hesitate make it now dont wait open your heart and let my love come in i want the moment to start when i can fill your heart withmore love and more joy than age or time could ever destroy oh honey now my love will be so sound gonna take about a hundred life times to live it down wear it down and tear it downthis is no fiction this is no act this is real its a fact ill always belong only to you and each day ill be living to make sure im giving youmore love and more joy than age or time could ever destroy oh honey now my love will be so sound itll take a hundred life times to live it down wear it down and tear it downas we grow older no need to fear cause when you need me ill be here ill be beside you every step of the way a heart thats truthful and is keeping it youthful withmore love and more joy than age or time could ever destroy oh honey now my love will be so sound itll take a hundred life times to live it down oh wear it down and tear it downi wanna give you more love and more joy than age or time could ever destroy oh honey now my love will be so sound just to live it down i wanna give you more love and more joy than age or time could ever destroy ",1
40,"pop muzik","m",1980,"m new york london paris munich pop muzik robin scott pop pop pop muzik pop pop pop muzik radio video boogie with a suitcase youre living in a disco forget about the rat race lets do the milkshake youre selling like a hot cake try some buy some fee fy foe fum talk about pop muzik talk about pop muzik shoobi doobi do whap i wanna dedicate it bop bop shoo whap everybody made it shoobi doobi do whap infiltrate it bop bop shoo whap activate it new york london paris munich everybody talk about pop muzik talk about pop muzik talk about pop muzik pop pop pop muzik pop pop pop muzik sing it in the subway shuffle with a shoe shine mix me a molotov im on the hit line if you wanna be a gun slinger dont be a rock singer eenie meenie miny moe whichaway you wanna go talk about pop muzik talk about pop muzik shoobi doobi do whap right in between me bop bop shoo whap me me me me shoobi doobi do whap right in betweenie bop bop shoo whap hit it now you know what to say talk about pop muzik talk about pop muzik pop pop pop muzik pop pop pop muzik all around the world where ever you are dance in the street anything you like do it in your car in the middle of the night la la la la la la la la la la la la la la la la dance in the super mart dig it in the fast lane listen to the countdown theyre playing our song again i cant get jumping jack i wanna hold get back moonlight muzak knick knack paddywack talk about pop muzik talk about pop muzik shoobi doobi do whap its all around you bop bop shoo whap they wanna surround you shoobi doobi do whap its all around you bop bop shoo whap hit it new yorklondonparismunich everybody talk about m pop muzik talk about pop muzik talk about pop muzik pop pop pop muzik pop pop pop muzik nowlisten do you read me loud and clear get it down wrong way round upside down left right left right",3
41,"brass in pocket","the pretenders",1980,"i got brass in pocket i got bottle im gonna use it intention i feel inventive gonna make you make you make you notice and got motion restrained emotion been driving detroit leaning no reason just seems so pleasing gonna make you make you make you notice gonna use my arms gonna use my legs gonna use my style gonna use my sidestep gonna use my fingers gonna use my my my imagination cause i going make you see theres nobody else here no one like me im special special so special special i got have some of your attention give it to me i got rhythm i cant miss a beat i got a new skank so reet got something im winking at you gonna make you make you make you notice gonna use my arms gonna use my legs gonna use my style gonna use my sidestep gonna use my fingers gonna use my my my imagination oh cause i gonna make you see theres nobody else here no one like me im special special so special special i got to have some of your attention give it to me cause i gonna make you see theres nobody else here no one like me im special special so special special i got have some of your attention give it to me ohh in when you are",3
42,"special lady","ray goodman  brown",1980,"you must be a speacial lady and a very exciting girl  you gotta be a special lady cause you got me sittin on top of he world sittin on top of the world",3
43,"send one your love","stevie wonder",1980," oh oh oh oh oh oh oh oh oh oh send her your love with a dozen roses make sure that she knows it with a flower from your heartshow him your love dont hold back your feelings you dont need a reason when its straight from the heartive heard so many say that the days of romance are no more and people falling in love is so oldfashioned but waiting are they the day they once let slip away hiding need to fulfill their hearts desire for loves passionsend her your love with a dozen roses make sure that she knows it with a flower from your heartshow him your love dont hold back your feelings you dont need a reason when its straight from the hearti know that people say two hearts beating as one is unreal and can only happen in makebelieve stories but so blind they all must be that they cannot believe what they see for around us are miracles of loves glory heyshow him your love dont hold back your feelings you dont need a reason when its coming from your heartah ah ah ah ah ah ah ah ah ah whoa whoa whoa whoa whoa hey ",1
44,"the second time around","shalamar",1980,"i know you come a long way baby but you dont need that heart of stone no to prove that you can do it do it baby you can make it on your own but you cant keep running away from love cause the first one let you down no no no and though others try to satisfy you baby with me true love can still be found love can still be found the second time around ooh the second time is so much better baby the second time around and i make it better than the first time you know i really love you and i paid for my mistakes yes i did girl the more i try to hide my feelings baby this old heart gets in the way and love wont let me wait the second time around girl believe me its better than the first time the second time around lets do it one more time say it again the second time around all that ive been through id do it again just as long as im with you the second time around aah the second time ill make it so good to you baby ill make it so good to you not like the first time not like the first time not like the first time not like the first time not like the first time not like the first time talking bout the second time not like the first time not like the first time not like the first time not like the first time not like the first time not like the first time talking bout the second time you cant keep running away from love cause the first one let you down and though others try to satisfy you baby with me true love can still be found the second time around gonna keep you mine the second time baby the second time around ill know what to do just as long as im with you the second time around do it one more time say it again",5
45,"we dont talk anymore","cliff richard",1980," used to think that life was sweet used to think we were so complete i cant believe youd throw it awayused to feel we had it made used to feel we could sail away can you imagine how i feel todaywell it seems a long time ago you were the lonely one now it comes to letting go you are the only one do you know what youve doneits so funny how we dont talk anymore its so funny why we dont talk anymore but i aint losing sleep and i aint counting sheep its so funny how we dont talk anymore oh we dont talk oohwell it really doesnt matter to me i guess your leaving was meant to be its down to you now you wanna be freewell i hope you know which way to go youre on your own again dont come crying to me when youre the lonely one remember what youve doneoh its so funny how we dont talk anymore its so funny why we dont talk anymore but i aint losing sleep and i aint counting sheep no no noits so funny how we dont talk anymore anymore oh we dont talk anymore ooh we dont talk anymorebut i aint no losing sleep no i aint counting sheep no no no no its so funny how we dont talk anymore anymore oh we dont talk oh we dont talk ",1
46,"heartache tonight","eagles",1980,"somebodys gonna hurt someone before the night is through somebodys gonna come undone theres nothin we can do everybody wants to touch somebody if it takes all night everybody wants to take a little chance make it come out right theres gonna be a heartache tonight a heartache tonight i know theres gonna be a heartache tonight a heartache tonight i know lord i know some people like to stay out late some folks cant hold out that long but nobody wants to go home now theres too much goin on this night is gonna last forever last all last all summer long sometime before the sun comes up the radio is gonna play that song theres gonna be a heartache tonight a heartache tonight i know theres gonna be a heartache tonight a heartache tonight i know lord i know theres gonna be a heartache tonight the moons shinin bright so turn out the light and well get it right theres gonna be a heartache tonight a heartache tonight i know heartache baby somebodys gonna hurt someone somebody before the night is through somebodys gonna come undone theres nothin we can do everybody everybody wants to touch somebody if it takes all night everybody wants to take a little chance and make it come out right theres gonna be a heartache tonight a heartache tonight i know theres gonna be a heartache tonight a heartache tonight i know lets go we can beat around the bushes we can get down to the bone we can leave it in the parkin lot but either way theres gonna be a heartache tonight a heartache tonight i know oh i know therell be a heartache tonight a heartache tonight i know woo break my heart",3
47,"stomp","the brothers johnson",1980,"steppin out the weekends open wide fill it up lets blast the jams and ride while were cruisin around in the street listen up for the party in feet slap me five thats the place weve arrived its alive everybody take it to the top were gonna stomp all night in the neighbourhood dont it feel alright gonna stomp all night wanna party til the morning light runnin runnin runnin the set is hot theres people wall to wall old gones young things short ones standing tall so grab the one with the smile on her face and hit the floor and stay right on the case the heat is on and the funk just wont leave us alone everybody take it to the top were gonna stomp all night in the neighbourhood dont it feel alright gonna stomp all night wanna party til the morning light gonna stomp all night in the neighbourhood dont it feel alright gonna stomp all night wanna party til the morning light stomp stomp step down in it put your foot where you feel the fit stomp you dont want to quit put your heels where youre feelin it stomp all night in the neighbourhood dont it feel alright gonna stomp all night wanna party til the morning light stomp all night in the neighbourhood dont it feel alright gonna stomp all night wanna party til the morning light stomp all night in the neighbourhood dont it feel alright gonna stomp all night wanna party til the morning light stomp stomp step down in it put your foot where you feel the fit take it to the top stomp you dont want to quit put your heels where youre feelin it take it to the top stomp step down in it put your foot where you feel the fit stomp you dont want to quit put your heels where youre feelin it stomp step down in it put your foot where you feel the fit stomp you dont want to quit put your heels where youre feelin it",3
48,"tired of toein the line","rocky burnette",1980,"rocky burnette miscellaneous tired of toein the line tired of toein the line rocky burnette baby im tired of toein the line dont know why you wanna jump me baby baby baby its makin me cry baby i im gonna find myself someone new someone who will be true im no more toein the line i know its over but i see the signs dont let me waste your precious time baby im tired of toein the line if you want to get rid of me baby baby baby youre doin fine baby im tired of toein the line im gonna put on my walkin shoes and leave you far behind youre rollin over and over so divine but you cant fix this broken heart of mine rpt chorus 2x 7x baby im tired of toein the line fade  transcribed by michael unruh mruxtc2aolcom",3
49,"better love next time","dr hook",1980," im your friend you can talk to me i read your fate i see misery cause the one you love has left you dry dont start believin that youre gonna die just pick your heart up off the floor and try try againyoull find better love next time baby dont give up and i know youre gonna find better love next time baby someone will be waiting down the line with better love better love better love better love next timesometimes its better to let it all go ive been there and i think i should know so have a good cry wash out your heart if you keep it inside itll tear you apart sometimes you lose but youre gonna win if you just if you just keep hanging inyoull find better love next time baby dont give up and i know youre gonna find better love next time baby someone will be waiting down the line with better love better lovebetter love next time baby dont give up and i know youre gonna find better love next time baby someone will be waiting down the line with better love better lovebetter love next time baby dont give up and i know youre gonna find ",1
50,"him","rupert holmes",1980," over by the window theres a pack of cigarettes not my brand you understand sometimes the girl forgets she forgets to hide them i know who left those smokes behind shell say oh hes just a friend and ill say oh im not blind tohim him him whats she gonna do about him shes gonna have to do without him or do without me me me no one gets to get it for free its me or its himdont know what he looks like dont know who he is dont know why she thought that i would say whats mine is his i dont want to own her but i cant let her have it both ways three is one too many of us she leaves with me or stays withhim him him whats she gonna do about him shes gonna have to live without him or do without me me me no one gets to get it for free its me or its himif she wants him she can have him just exactly how we once were its goodbye to he and i back to me and her withouthim him him whats she gonna do about him shes gonna have to do without him or do without me me me no one gets to get it for free time for me to make the girl seeits me or its him him him whats she gonna do about him shes gonna have to do without him or do without me me me no one gets to get it for free time for me to make the girl see its me or its him ",1
51,"against the wind","bob seger and the silver bullet band",1980," it seems like yesterday but it was long ago janey was lovely she was the queen of my nights there in the darkness with the radio playing low and and the secrets that we shared the mountains that we moved caught like a wildfire out of control til there was nothing left to burn and nothing left to prove and i remember what she said to me how she swore that it never would end i remember how she held me ohsotight wish i didnt know now what i didnt know thenagainst the wind we were runnin against the wind we were young and strong we were runnin against the windthe years rolled slowly past and i found myself alone surrounded by strangers i thought were my friends i found myself further and further from my home and i guess i lost my way there were ohsomany roads i was living to run and running to live never worried about paying or even how much i owed moving eight miles a minute for months at a time breaking all of the rules that would bend i began to find myself searching searching for shelter again and againagainst the wind a little something against the wind i found myself seeking shelter against the windwell those drifters days are past me now ive got so much more to think about deadlines and commitments what to leave in what to leave outagainst the wind im still runnin against the wind im older now but still runnin against the wind well im older now and still runnin against the wind against the wind against the windstill runnin against the wind im still runnin against the wind against the wind im still runnin against the wind im still runnin against the wind against the wind still runnin against the windrunnin against the wind runnin against the wind against the wind see the young man run against the wind watch the young man run against the wind watch the young man runnin against the wind hell be runnin against the wind against the wind let the cowboys ride against the wind aah against the wind let the cowboys ride against the wind theyll be ridin against the wind against the wind against the wind against the wind ridin against the wind ",1
52,"on the radio","donna summer",1980," someone found a letter you wrote me on the radio and they told the world just how you felt it must have fallen out of a hole in your old brown overcoat they never said your name but i knew just who they meantwhoa i was so surprised and shocked and i wondered too if by chance you heard it for yourself i never told a soul just how ive been feeling over you but they said it really loud they said it on the airon the radio whoa oh oh on the radio whoa oh oh oh on the radio whoa oh oh on the radio whoa oh ohnow now dont it kinda strike you sad when you hear our song things are not the same since we broke up last june the only thing that i want to hear is that you love me still and that you think youll be comin home real soonwhoa oh yeah yeah and it made me feel proud when i heard you say you couldnt find the words to say it yourself and now in my heart i know i can say what i really feel cause they said it really loud they said it on the airon the radio whoa oh oh on the radio whoa oh oh on the radio whoa oh oh on the radio whoa oh oh on the radioif you think that love isnt found on the radio well tune right in you made find the love you lost cause now im sitting here with the man i sent away long ago it sounded really loud  they said it really loudon the radio whoa oh oh on the radio whoa oh oh on the radio whoa oh oh on the radio whoa oh oh on the radio ",1
53,"emotional rescue","the rolling stones",1980,"is there nothing i can say nothing i can do to change your mind im so in love with you youre too deep in you cant get out youre just a poor girl in a rich mans house yeah baby im crying over you dont you know promises were never made to keep just like the night dissolved in sleep ill be your savior steadfast and true ill come to your emotional rescue ill come to your emotional rescue yeah the other night crying crying baby yeah yeah im crying yeah im crying baby yeah im like a child baby im a child yes im like a child like a child like a child you think youre one of a special breed you think that youre his pet pekinese ill be your savior steadfast and true ill come to your emotional rescue ill come to your emotional rescue hey i was dreaming last night baby last night i was dreaming how youd be mine but i was crying like a child yeah i was crying crying like a child you will be mine mine mine mine mine all mine you could be mine could be mine could be mine all mine i come to you so silent in the night so stealthy so animal quiet ill be your savior steadfast and true ill come to your emotional rescue ill come to your emotional rescue yeah you should be mine mine oh yes you could be mine tonight and every night i will be your knight in shining armour coming to your emotional rescue you will be mine you will be mine all mine you will be mine you will be mine all mine i will be your knight in shining armour riding across the desert on a fine arab charger",3
54,"rise","herb alpert",1980,"  ",1
55,"all out of love","air supply",1980," im lying alone with my head on the phone thinking of you till it hurts i know you hurt too but what else can we do tormented and torn apart i wish i could carry your smile and my heart for times when my life seems so low it would make me believe what tomorrow could bring when today doesnt really know doesnt really knowim all out of love im so lost without you i know you were right believing for so long im all out of love what am i without you i cant be too late to say that i was so wrongi want you to come back and carry me home away from this long lonely nights im reaching for you are you feeling it too does the feeling seem oh so right and what would you say if i called on you now and said that i cant hold on theres no easy way it gets harder each day please love me or ill be gone ill be goneim all out of love im so lost without you i know you were right believing for so long im all out of love what am i without you i cant be too late to say that i was so wrongoh what are you thinking of what are you thinking of what are you thinking of what are you thinking ofim all out of love im so lost without you i know you were right believing for so long im all out of love what am i without you i cant be too late i know i was so wrongim all out of love im so lost without you i know you were right believing for so long im all out of love what am i without you i cant be too late i know i was so wrongim all out of love im so lost without you i know you were right believing for so long im all out of love what am i without you i cant be too late to say that i was so wrong ",1
56,"cool change","little river band",1980," if theres one thing in my life thats missing its the time that i spend alone sailing on the cool and bright clear water theres lots of those friendly people theyre showing me ways to go but i never want to lose their inspirationtime for a cool change i know that its time for a cool change and i know that my life is so prearranged i know that its time for a cool changewell i was born in the sign of water and its there where i feel my best the albatross and the whales they are my brothers its kind of a special feeling when youre out on the sea alone staring at the full moon like a loverive never been romantic and sometimes i dont care i know it may sound selfish but let me breathe the air ",1
57,"youre only lonely","jd souther",1980," when the world is ready to fall on your little shoulders and when youre feeling lonely and small you need somebody there to hold you you can call out my namewhen youre only lonely now dont you ever be ashamed youre only lonelywhen you need somebody around on the nights that try you i was there when you were a queen and ill be the last one there beside you so you can call out my namewhen youre only lonely now dont you ever be ashamed youre only lonely youre only lonely youre only lonely youre only lonelyooh when the world is ready to fall on your little shoulders and when youre feeling lonely and small you need somebody there to hold you so dont you ever be ashamed when youre only lonely you can call out my namewhen youre only lonely youre only lonely when youre only lonely youre only lonely ooh its no crime darlin we got lots of time woh woh youre only lonely woh woh woh youre only lonely no theres nothing wrong with you darlin i get lonely too youre only lonelyyoure only lonely so if you need me youre only lonely all youve gotta do is call me well youre only lonely youre only lonelyyoure only lonely ooh ooh youre only lonely ",1
58,"desire","andy gibb",1980," we may be big or small or black or white eternally and black and white is you and me in a special light we may be young or old or in between but this much i know together we can learn to grow in a world thats ever turning its back on youchorus if you give it all away make it mine mine ine ine ine you are desire everything you need i give you right or wrong and you are the woman that i base my whole existence onand when i get to you my desire is glowing in your light these are the golden years we get to live we lead the way tomorrow we can start today in a special light love could be good or bad or in between but this much i learn baby you and i can learn in a world thats rearranging its realitychorusand its nice to light a fire when its cold outsidechorusyou are desire everything you need i give you right or wrong and you are the woman that i base my whole existence on and when i get to you my desire is glowing in your light ",1
59,"let my love open the door","pete townshend",1980," when people keep repeating that youll never fall in love when everybody keeps retreating but you cant seem to get enoughlet my love open the door let my love open the door let my love open the door to your heartlet my love open the door let my love open the door let my love open the door let my love open the doorwhen everything feels all over everybody seems unkind ill give you a four leaf clover take all worry out of your mindlet my love open the door let my love open the door let my love open the door to your heartlet my love open the door let my love open the door let my love open the door let my love open the doori have the only key to your heart i can stop you falling apart try today youll find this way come on and give me a chance to saylet my love open the door its all im living for release yourself from misery theres only one thing gonna set you free thats my love thats my lovelet my love open the door let my love open the door let my love open the door let my love open the doorwhen tragedy befalls you dont let it drag you down love can cure your problems youre so lucky im aroundlet my love open the door let my love open the door let my love open the door to your heart ",1
60,"romeos tune","steve forbert",1980," meet me in the middle of the day let me hear you say everythings okay bring me southern kisses from your roommeet me in the middle of the night let me hear you say everythings alright let me smell the moon in your perfumeoh gods and years will rise and fall and theres always something more lost in talk i waste my time and its all been said before while further down behind the masquerade the tears are there i dont ask for all that much i just want someone to care answer right nowmeet me in the middle of the day let me hear you say everythings okay come on out beneath the shining sunmeet me in the middle of the night let me hear you say everythings alright sneak on out beneath the stars and run yeahoh yeah yes oh yesits king and queen and we must go down round behind the chandelier where i wont have to speak my mind and you wont have to hear shreds of news and after thoughts and complicated scenes well weather down behind the light and fade like magazinesmeet me in the middle of the day let me hear you say everythings okay bring me southern kisses from your room hey heymeet me in the middle of the night let me hear you say everythings alright let me smell the moon in your perfume oh nomeet me in the middle of the day let me hear you say everythings okay let me see you smiling back at me heymeet me in the middle of the night let me hear you say everythings alright hold me tight and lovin love is free whoa oh okay ",1
61,"daydream believer","anne murray",1980," i could hide beneath the wings of the bluebird as she sings the six oclock alarm would never ring but it rings and we rise wipe the sleep out of our eyes a shavin razors cold and its stingcheer up sleepy jean what can it mean to a daydream believer and a homecomin queeni once thought of you as a white knight on a steed now you know how happy we can be and our good times started then with a dollar one to spend but how much baby do we really needcheer up sleepy jean what can it mean to a daydream believer and a homecomin queen cheer up sleepy jean what can it mean to a daydream believer and a homecomin queen ",1
62,"i cant tell you why","eagles",1980,NA,NA
63,"dont let go","isaac hayes",1980,"hear that whistle its ten oclock dont let go dont let go come on baby its time to rock dont let go dont let go im so glad i got you here dont let go dont let go keeps me grinning from ear to ear dont let go dont let go chorus ooh wee this feeling is killing me aw shucks well i wouldnt stop for a million bucks i love you so just hold me tight and dont let go thunder lightning wind and rain dont let go dont let go love is humming inside my brain dont let go dont let go im so eager im nearly dying dont let go dont let go you been keeping your lips from mine dont let go dont let go chorus no dont let go hold me tight baby dont let go hounddogs barking upside the hill dont let go dont let go love is dragging him through the mill dont let go dont let go if it wasnt for having you girl dont let go dont let go id be howling and barking too dont let go dont let go chorus no dont let go",5
64,"dont do me like that","tom petty and the heartbreakers",1980," i was talking with a friend of mine said a woman had hurt his pride told him that she loved him so and turned around and let him go then he said you better watch your step or your gonna get hurt yourself someones gonna tell you lies cut you down to sizedont do me like that dont do me like that what if i love you baby dont do me like thatdont do me like that dont do me like that someday i might need you baby dont do me like thatlisten honey can you see baby you would bury me if you were in the public eye givin someone else a try and you know you better watch your step or youre gonna get hurt yourself someones gonna tell you lies cut you down to sizedon t do me like that dont do me like that what if i love you baby dont dont dont dontdont do me like that dont do me like that what if i need you baby dont do me like thatcause somewhere deep down inside someone is saying love doesnt last that long i got this feelin inside night and day and now i cant take it no morelisten honey can you see baby you would bury me if you were in the public eye givin someone else a try and you know you better watch your step or youre gonna get hurt yourself someones gonna tell you lies cut you down to sizedont do me like that dont do me like that what if i love you baby dont dont dont dontdont do me like that dont do me like that i just might need you honey dont do me like thatwait dont do me like that dont do me like that baby baby baby dont dont dontno dont do me like that dont do me like that baby baby babyoh oh oh ",1
65,"shes out of my life","michael jackson",1980," shes out of my life shes out of my life and i dont know whether to laugh or cry i dont know whether to live or die and it cuts like a knife shes out of my lifeits out of my hands its out of my hands to think for two years she was here and i took her for granted i was so cavalier now the way that it stands shes out of my handsso ive learned that loves not possession and ive learned that love wont wait now ive learned that love needs expression but i learned too lateshes out of my life shes out of my life damned indecision and cursed pride kept my love for her locked deep inside and it cuts like a knife shes out of my life ",1
66,"fame","irene cara",1980," baby you look at me and tell me what you see you aint seen the best of me yet give me time ill make you forget the rest ive got more in me and you can set it free i can catch the moon in my hand dont you know who i am remember my namefame im gonna live forever im gonna learn how to fly high i feel it coming together people will see me and cryfame im gonna make it to heaven light up the sky like a flame fame im gonna live forever baby remember my name remember remember remember remember remember remember remember rememberbaby hold me tight cause you can make it right you can shoot me straight to the top give me love and take all ive got to give baby ill be tough too much is not enough no ill grab your heart till it breaks you got what it takesfame im gonna live forever im gonna learn how to fly high i feel it coming together people will see me and cryfame im gonna make it to heaven light up the sky like a flame fame im gonna live forever baby remember my name remember remember remember remember remember remember rememberfame im gonna make it to heaven light up the sky like a flame fame im gonna live forever baby remember my name remember remember remember remember remember remember remember remember remember my namefame im gonna live forever fame im gonna learn how to fly high i feel it coming together fame people will see me and cry remember my namefame im gonna make it to heaven ",1
67,"fire lake","bob seger",1980," words and music by bob segerwhos gonna ride that chrome three wheeler whos gonna make that first mistake who wants to wear those gypsy leathers all the way to fire lake who wants to break the news about uncle joe you remember uncle joe he was the one afraid to cut the cake who wants to tell poor aunt sarah joes run off to fire lake joes run off to fire lakewho wants to brave those bronze beauties lying in the sun with their long soft hair falling flying as they run oh they smile so shy and they flirt so well and they lay you down so fast till you look straight up and say oh lord am i really here at lastwho wants to play those eights and aces who wants a raise who needs a stake who wants to take that long shot gamble and head out to fire lake head out who wants to go to fire lake and head out who wants to go to fire lake head out out to fire lake whos gonna do it ",1
68,"how do i make you","linda ronstadt",1980," youre a doll your eyes see all how do i make you how do i make you how do i make you wanna see meyoure so young but your feelings are deep but how do i make you how do i make you how do i make you feel for meyou put your head on my pillow and youre fast asleep but how do i make you how do i make you how do i make you dream about meooh ooh baby the worlds a wall of ice youre gonna need someone to treat you warm and keep you nicei like the way you dance the way you spin how do i make you how do i make you how do i make you spin for meyou put your head on my pillow and youre fast asleep but how do i make you how do i make you how do i make you dream about medream about me dream about me woo dream about me dream about mewoo dream about me dream about me woo dream about me dream about me ",1
69,"into the night","benny mardones",1980," shes just sixteen years old leave her alone they say separated by fools who dont know what love is yet but i want you to knowif i could fly id pick you up id take you into the night and show you a love like youve never seen ever seenits like having a dream where nobody has a heart its like having it all and watching it fall apartand i would wait till the end of time for you and do it again its true i cant measure my love theres nothing to compare it to but i want you to knowif i could fly id pick you up id take you into the night and show you a love ooh if i could flyid pick you up id take you into the night and show you a love like youve never seen ever seen yeah ooh ",1
70,"let me love you tonight","pure prairie league",1980,"dark clouds are blowing in the wind hes crossing your mind again you got that sad sad feeling from a broken heart feeling so close to the edge let me love you tonight theres a million stars in the sky let me love you tonight ill make everything all right when you find out how good love can be youre so lost when its such a free they say once in your life you find someone whos right someone who loves you like me let me love you tonight theres a million stars in the sky let me love you tonight ill make everything all right when the moon has forgotten what the night is about and the stars cant work and phases out hold me tighter than tight when the daylight comes it will be all right let me love you tonight theres a million stars in the sky let me love you tonight ill make everything all right let me love you tonight theres a million stars in the sky let me love you tonight ill make everything all right",3
71,"misunderstanding","genesis",1980," there must be some misunderstanding there must be some kind of mistake i waited in the rain for hours you were latenow its not like me to say the right thing but you couldnt called to let me know i checked your number twice dont understand it so i went homewell id been waiting for this weekend i thought that may be we could see a show never dreamed id have this feeling oh but seeing you is believing thats why i dont know why you didnt show up that nightthere must be some misunderstanding there must be some kind of mistake i was waiting in the rain for hours you were latesince then ive been runnin around tryin to find you i went to the places that we always go i rang your house but got no answer jumped in my car i went round there still dont believe it he was just leavinthere must be some misunderstanding there must be some kind of mistake there must be some misunderstanding there must be some kind of mistake there must be there must be ohh misunderstanding there must be there must be ohh misunderstanding there must be there must be ohh misunderstanding there must be there must be ohh misunderstanding ",1
72,"an american dream","the dirt band",1980,"the dirt band miscellaneous an american dream an american dream the dirt band rodney crowell lead vocals the dirt band backing vocals linda ronstadt although released in 1979 this song peaked in march of 1980 i beg your pardon momma what did you say my mind was drifted off on martinique bay its not that im not interested you see augusta georgia is just no place to be i think jamaican in the moonlight sandy beaches drinkin rum every night we got no money momma but we can go well split the difference go to coconut grove keep on talkin momma i cant hear your voice it tickles down inside of my ear i feel a tropical vacation this year might be the answer to this hillbilly beer i think jamaican in the moonlight sandy beaches drinkin rum every night we got no money momma but we can go well split the difference go to coconut grove voila an american dream well we can travel girl without any means when its as easy as closin your eyes and dream jamaica is a big neon sign just keep talkin momma i like that sound it goes so easy with that rain fallin down i think a tropical vacation this year might be the answer to this hillbilly beer and voila an american dream yeah we can travel girl without any means when its as easy as closin your eyes and dream jamaica is a big neon sign just think jamaican in the moonlight sandy beaches drinkin rum every night we got no money momma but we can go split the difference go to coconut grove from david hayman",3
73,"one fine day","carole king",1980," one fine day youll look at me and you will know our love was meant to be one fine day youre gonna want me for your girlthe arms i long for will open wide and youll be proud to have me right by your side one fine day youre gonna want me for your girlthough i know youre the kind of boy who only wants to run around ill keep waiting and someday darling youll come to me when you want to settle down ohone fine day well meet once more and then youll want the love you threw away before one fine day youre gonna want me for your girl ",1
74,"dim all the lights","donna summer",1980," dim all the lights sweet darling cause tonight its all the way turn up the old victrola gonna dance the night awaylove just dont come easy no it seldom does when you find the perfect boy let him fill you updim all the lights sweet darling cause tonight its all the way hey baby turn up the old victrola gonna dance the night awaylove just dont come easy no it seldom does when you find the perfect boy let him fill you updim all the light sweet honey cause tonight its you and me no need to worry darlin cause its all you really needlove dont come easy this you know i understand want to be your woman if youll be my man let yourself go freely and ill show you things that youve dreamed of dont think that your dreaming weve found the perfect love and im like a cup come fill me updim all the lights sweet darlin cause tonight its all way woah baby turn up the old victrola gonna dance the night awaydo what you want you can use me all up take me bottom to top dont leave even one dropno no no do it tonight you know the moments so right turn my brown body white come on dim all the lightsdim all the lights sweet darlin cause tonight its all the way hey baby turn up the old victrola gonna steal you heart away hey baby dim all the lights sweet darlin dim it dim it and dance the night away dim all the lights sweet honey gonna steal your heart away keep on dancin dim all the lights the lights sweet darlin nothing nothing can steal my heart away ",1
75,"you may be right","billy joel",1980," friday night i crashed your party saturday i said im sorry sunday came and trashed me out again i was only having fun wasnt hurting any one and we all enjoyed the weekend for a changeive been stranded in the combat zone i walked through bedford stuy alone even rode my motorcycle in the rain and you told me not to drive but i made it home alive so you said that only proves that im insaneyou may be right i may be crazy but it just may be a lunatic youre looking for turn out the light dont try to save me you may be wrong for all i know but you may be rightremember how i found you there alone in your electric chair i told you dirty jokes until you smiled you were lonely for a man i said take me as i am cause you might enjoy some madness for a whilenow think of all the years you tried to find someone to satisfy you i might be as crazy as you say if im crazy then its true that its all because of you and you wouldnt want me any other wayyou may be right i may be crazy but it just may be a lunatic youre looking for its too late to fight its too late to change me you may be wrong for all i know but you may be rightyou may be right i may be crazy but it just may be a lunatic youre looking for turn out the light dont try to save me you may be wrong for all i know you may be right you may be wrong but you may be right you may be wrong but you may be right you may be wrong but you may be right you may be wrong but you may be right you may be wrong but you may be right you may be wrong but you may be right you may be wrong but you may be right you may be wrong but you may be right you may be wrong but you may be right ",1
76,"hurt so bad","linda ronstadt",1980," i know you dont know what im going through standing here looking at youwell let me tell you that it hurts so bad it makes me feel so sad it makes me hurt so bad to see you againlike needles and pins people say youve been making out okay hes in love dont stand in his waywell let me tell you that it hurts so bad it makes me feel so sad its gonna hurt so bad if you walk awaywhy dont you stay and let me make it up to you ill do anything you want me to you loved me before please love me again i cant let you go back to her please dont go please dont go please dont go please dont gohurt so bad come back it hurts so bad dont make it hurt so bad im begging you pleaseoh oh oh oh oh oh come back it hurts so bad come back it hurts so bad im begging you please oh no no ",1
77,"shouldve never let you go","neil  dara sedaka",1980,NA,NA
78,"pilot of the airwaves","charlie dore",1980,"pilot of the airwaves here is my request you dont have to play it but i hope youll do your best ive been listening to your show on the radio and you seem like a friend to me play the record of your choice i dont mind im just happy to hear your voice saying this is for the girl who didnt sign her name i guess she needs a dedication just the same late at night im still listening dont waste my time chasing sleep my friends say i look weary but thats just the company i keep ooh you make the night time race ooh i dont need to see your face because youre sounding good youre sounding good yeah youre sounding good to me pilot of the airwaves here is my request you dont have to play it but i hope youll do your best ive been listening to your show on the radio and you seem like a friend to me late at night im still listening dont waste my time chasing sleep my friends say i look weary but thats just the company i keep ooh you make the night time race ooh i dont need to see your face because youre sounding good youre sounding good youre sounding good to me youre sounding so good to me pilot of the airwaves here is my request you dont have to play it but i hope youll do your best ive been listening to your show on the radio and you seem like a friend to me pilot of the airwaves here is my request you dont have to play it but i hope youll do your best ive been listening to your show on the radio and you seem like a friend to me",3
79,"off the wall","michael jackson",1980," when the world is on your shoulder gotta straighten up your act and boogie down if you cant hang with the feelin then there aint no room for you this part of town cause were the party people night and day livin crazy thats the only wayso tonight gotta leave that nine to five upon the shelf and just enjoy yourself groove let the madness in the music get to you life aint so bad at all if you live it off the wall life aint so bad at all live life off the wall live your life off the wall live it off the wallyou can shout out all you want to cause there aint no sin in folks all getting loud if you take the chance and do it there there aint no one whos gonna put you down cause were the party people night and day livin crazy thats the only wayso tonight gotta leave that nine to five upon the shelf and just enjoy yourself groove let the madness in the music get to you life aint so bad at all if you live it off the wall life aint so bad at all live life off the wall live your life off the wall live it off the walldo what you want to do there aint no rules its up to you aint no rules its all up to you its time to come alive and party on right through the night all rightgotta hide your inhibitions gotta let that fool loose deep inside your soul want to see an exhibition better do it now before you get too old cause were the party people night and day livin crazy thats the only wayso tonight gotta leave that nine to five upon the shelf and just enjoy yourself groove let the madness in the music get to you life aint so bad at all if you live it off the wall life aint so bad at all live life off the wall live your life off the wall live it off the wallso tonight gotta leave that nine to five upon the shelf and just enjoy yourself come on and groove yeah and let the madness in the music get to you life aint so bad at all if you live it off the wallso tonight gotta leave that nine to five upon the shelf and just enjoy yourself come on and groove yeah and let the madness in the music get to you life aint so bad at all if you live it off the wall ",1
80,"i pledge my love","peaches  herb",1980,"always together together forever always together forever i will love you til the day i die i know this now and my love wont run dry you came along my life has begun two hearts are now beating as though they were one like the stars that make the night so bright you shine on me with a love thats so right a love that is lasting a love thats so pure each time i feel it it makes me more sure i know with all my heart well never part for this is the day when our love comes alive and i mean what i say as i stand here saying i pledge my love to you i pledge my love is true i pledge my life to you i do my dear i do my dear like a river finds the deep blue sea love took your hand and led you to me this is the us that ill never forget both sparkling with love but happy we met i know with all my heart well never part for this is the day when our love comes alive and i mean every word and i want you to know that i pledge my love to you i pledge my love is true i pledge my life to you i do my dear i do my dear im so proud to have you by my side youll be my strength and ill be your guide you are the one youre a dream that is real heaven has sent you its love that i feel i know with all my heart well never part for this is the day when our love comes alive and i mean what i say if somebody should ask me i pledge my love to you i pledge my love is true i pledge my life to you i do my dear i do my dear i do i pledge my love to you",3
81,"the long run","eagles",1980,"i used to hurry a lot i used to worry a lot i used to stay out till the break of day oh that didnt get it it was high time i quit it i just couldnt carry on that way oh i did some damage i know its true didnt know i was so lonely till i found you you can go the distance well find out in the long run in the long run we can handle some resistance if our love is a strong one is a strong one people talkin about us they got nothin else to do when it all comes down we will still come through in the long run ooh i want to tell you its a long run you know i dont understand why you dont teach yourself better do the crazy things that you do cause all the debutantes in houston baby couldnt hold a candle to you did you do it for love did you do it for money did you do it for spite did you think you had to honey who is gonna make it well find out in the long run in the long run i know we can take it if our love is a strong one is a strong one well were scared but we aint shakin were kind of bent but we aint breakin in the long run ooh i want to tell you its a long run in the long run in the long run gonna find out ooh find out long long long long long long long long ooh run run run baby run run baby long long long long",3
82,"stand by me","mickey gilley",1980," when the night has come and the land is dark and the moon is the only light well see no i wont be afraid no i wont be afraid just as long as you stand stand by meand darlin darlin stand by me oh now now stand by me stand by me stand by meif the sky that we look upon should tumble and fall and the mountains should crumble to the sea i wont cry i wont cry no i wont shed a tear just as long as you stand stand by meand darlin darlin stand by me oh stand by me stand by me stand by me stand by mee yeah guitar whenever youre in trouble wont you stand by me oh now now stand by me oh stand by me stand by me stand by medarlin darlin stand by mee stand by me oh stand by me stand by me stand by me ",1
83,"heartbreaker","pat benatar",1980," your love is like a tidal wave spinning over my head drownin me in your promises better left unsaid youre the right kind of dreamer to release my inner fantasy the invincible winner and you know that you were born to beyoure a heartbreaker dream maker a love taker dont you mess around with me youre a heartbreaker dream maker a love taker dont you mess around no no noyour love has set my soul on fire burnin out of control you taught me the ways of desire now its takin its toll youre the right kind of sinner to release my inner fantasy the invincible winner and you know that you were born to beyoure a heartbreaker dream maker a love taker dont you mess around with me youre a heartbreaker dream maker a love taker dont you mess around no no noyoure the right kind of sinner to release my inner fantasy the invincible winner you know that you were born to beyoure a heartbreaker dream maker love taker dont you mess around with me youre a heartbreaker dream maker love taker dont you mess around with meyoure a heartbreaker dream maker love taker dont you mess around with me youre a heartbreaker dream maker love taker heartbreaker ",1
84,"dej`a vu","dionne warwick",1980,"this is insane all you did was say hello speak my name feeling your love like a love i used to know long ago how can it be youre a different space and time come to me feel like im home in a place i used to know long ago deja vu could you be the dream that i once knew is it you deja vu could you be the dream that might come true shining through i keep remembering me i keep remembering you deja vu this is divine ive been waiting all my life filling time looking for you nights were more than you could know long ago come to me now we dont have to dream of love we know how somewhere before its as if ive loved you so so long ago deja vu could you be the dream that i once knew is it you deja vu could you be the dream that might come true shining through i keep remembering me i keep remembering you deja vu deja vu deja vu deja vu deja vu could you be the dream that i once knew is it you deja vu could you be the dream that might come true shining through i keep remembering me i keep remembering you deja vu deja vu could you be the dream that i once knew is it you deja vu could you be the dream that might come true shining through",3
85,"drivin my life away","eddie rabbitt",1980," well the midnight headlight find you on a rainy night steep grade up ahead slow me down makin no time gotta keep rollin those windshield wipers slappin out a tempo keepin perfect rhythm with the song on the radio gotta keep rollingooh im driving my life away looking for a better way for me ooh im driving my life away looking for a sunny daywell the truck stop cutie comin on to me tried to talk me into a ride said i wouldnt be sorry but she was just a baby hey waitress pour me another cup of coffee pop me down jack me up shoot me out flyin down the highway lookin for the morningooh im driving my life away looking for a better way for me ooh im driving my life away looking for a sunny daywell the midnight headlight find you on a rainy night steep grade up ahead slow me down makin no time gotta keep rollin those windshield wipers slappin out a tempo keepin perfect rhythm with the song on the radio gotta keep rollingooh im driving my life away looking for a better way for me ooh im driving my life away looking for a sunny day ",1
86,"take the long way home","supertramp",1980," so you think youre a romeo playing a part in a picture show take the long way home take the long way homecos youre the joke of the neighborhood why should you care if youre feeling good take the long way home take the long way homebut there are times that you feel youre part of the scenery oh all the greenery is comin down boy and then your wife seems to think youre part of the furniture oh its peculiar she used to be so nicewhen lonely days turn to lonely nights you take a trip to the city lights and take the long way home take the long way homeyou never see what you want to see forever playing to the gallery you take the long way home take the long way homeand when youre up on the stage its so unbelievable oh unforgettable how they adore you but then your wife seems to think youre losing your sanity oh calamity is there no way out oh yeahoh just dont give up dont dont give it up ooo yeahdoes it feel that you lifes become a catastrophe oh it has to be for you to grow boy and when you look through the years and see what you could have been oh what might have been if youd had more timeso when the day comes to settle down whos to blame if youre not around you took the long way home you took the long way home you took the long way home tu ru ru yea you took the long way homeyou took the long way home oh yeah you took the long way home you took the long way home ooo yeah you took the long way homeyeah ooo ooo ooo ooo yeah long way home long way home long way home ",1
87,"sara","fleetwood mac",1980," wait a minute baby stay with me awhile said youd give me light but you never told me about the firedrowning in the sea of love where everyone would love to drown but now its gone it doesnt matter what for when you build your house then call me home  misheard  byastute12     the word is pyre as in indian burn on a pyre whusband not fire    see all   and he was just like a great dark wing within the wings of a storm i think i had met my match he was singing and undoing and undoing the laces undoing the lacessaid sara youre the poet in my heart never change never stop but now its gone it doesnt matter what for but when you build your house then call me homehold on the night is coming and the starling flew for days id stay home at night all the time id go anywhere anywhere anywhere ask me and im there yeah ask me and im there i carein the sea of love where everyone would love to drown but now its gone they say it doesnt matter anymore when you build your house then please call me homesara youre the poet in my heart never change and dont you ever stop now its gone no it doesnt matter anymore when you build your house ill come bysara sara ",1
88,"wait for me","hall  oates",1980,"wait for me please wait for me girl midnight hour almost over time is running out for the magic pair i know you gave the best that you have but one more chance couldnt be all that hard to bear wait for me please wait for me alright i guess thats more than i should ask but wont you wait for me please wait for me although i know the light is fading fast you could go either way is it easier to stay i wonder what youll do when your chance rolls around but you gotta know how much i want to keep you when im away im afraid it will all fall down wait for me please wait for me alright i guess thats more than i should ask but wont you wait for me girl wait for me although i know the light is fading fast love is what it does and ours is doing nothing but all the time we spent it must be good for something please forgive all the disturbance im creating but you got a lot to learn if you think that im not waiting for you wait for me wait for me alright i guess thats more than i should ask but wont you wait for me wait for me although i know the light is fading fast you got lots of love but i think they are not made for you wait for me wait for me its alright i know i guess thats more than i should ask but wont you wait for me wait for me although i know the light is fading fast you got lots of love but i think they are not made for you you know all the light its fading its fading its fading baby i know incomprehensible its fading its fading",3
89,"jojo","boz scaggs",1980," look out behind you jojos got his gun he wouldnt mean to you know he likes his funjojo dig those spinning lights way out games and dizzy heights below him jojo dig those broadway nights flashy lines you know him you know himhe got you covered and youll know it right our front hey fifty dollars hell get you all you wantjojo dig those spinning lights way out games and dizzy heights below him and its all below him jojo dig those broadway nights flashy lines you know himever so rarely that man in a millions born gentle and soft but whod just as soon off you for looking the wrong way as not jojo go johis baby stays high got to keep her sweet he keep her just right keeps her on the streetjojo dig those spinning lights way out games and dizzy heights oh below him jojo dig those broadway nights flashy lines oh you know himdo you know you are so nice do you care id love to take you homejojo dig those spinning lights way out games and dizzy heights below him jojo dig those broadway nights flashy lines you know himsay what do you think of gentlemen wearing mink gentle and soft but whod just as soon off you for looking the wrong way as not jojo go joso you cant hang you jojo guide them though he wouldnt need to hed be love to ahhjojo dig those spinning lights way out games and dizzy heights below him man is worth loving jojo dig those broadway nights flashy lines you know him yeah yeah yeahjojo our love can grow jojo now now now ",1
90,"september morn","neil diamond",1980," stay for just a while stay and let me look at you its been so long i hardly knew you standing in the doorstay with me a while i only wanna talk to you weve traveled halfway round the world to find ourselves againseptember morn we danced until the night became a brand new day two lovers playing scenes from some romantic play september morning still can make me feel that waylook at what youve done why youve become a grownup girl i still can hear you crying in a corner of your room and look how far weve come so far from where we used to be but not so far that weve forgotten how it was beforeseptember morn do you remember how we danced that night away two lovers playing scenes from some romantic play september morning still can make me feel that wayseptember morn we danced until the night became a brand new day two lovers playing scenes from some romantic play september morning still can make me feel that wayseptember morn we danced until the night became a brand new day two lovers playing scenes from some romantic play september morning still can make me feel that way september morning still can make me feel that way ",1
91,"give me the night","george benson",1980," whenever dark has fallen you know the spirit of the party starts to come alive until the day is dawning you can throw out all the blues and hit the city lightscause theres music in the air and lots of lovin everywhere so give me the night give me the nightyou need the evening action a place to dine a glass of wine a little late romance its a chain reaction well see the people of the world coming out to dancecause theres music in the air and lots of lovin everywhere so give me the night give me the nightso come on out tonight and well lead the others on a ride through paradise and if you feel all right then we can be lovers cause i see that starlight look in your eyes well dont you know we can flyjust give me the night give me the nightcause theres music in the air and lots of lovin everywhere so give me the night give me the nightso come on out tonight and well lead the others on a ride through paradise and if you feel all right then we can be lovers cause i see that starlight look in your eyes dont you know we can flyand if we stay together well feel the rhythm of the evening taking us up high never mind the weather well be dancing in the street until the morning lightcause theres music in the air and lots of lovin everywhere so give me the night give me the night give me the night give me the night  ",1
92,"broken hearted me","anne murray",1980," every now and then i cry every night you keep stayin on my mind all my friends say ill survive it just takes timebut i dont think time is gonna heal this broken heart no i dont see how it can if its broken all apart a million miracles could never stop the pain or put all the pieces together again no i dont think time is gonna heal this broken heart no i dont see how it can while we are still apart and when you hear this song i hope that you will see that time wont heal a brokenhearted meevery day is just the same playin games different lovers different names they keep sayin ill survive it just takes timebut i dont think time is gonna heal this broken heart no i dont see how it can if its broken all apart a million miracles could never stop the pain or put all the pieces together again no i dont think time is gonna heal this broken heart no i dont see how it can while we are still apart and when you hear this song i hope that you will see that time wont heal a brokenhearted me ",1
93,"you decorated my life","kenny rogers",1980," all my life was a paper once plain pure and white till you moved with your pen changin moods now and then till the balance was right then you added some music every note was in place and anybody could see all the changes in me by the look on my faceand you decorated my life created a world where dreams are a part and you decorated my life by paintin your love all over my heart you decorated my lifelike a rhyme with no reason in an unfinished song there was no harmony life meant nothin to me until you came along and you brought out the colors what a gentle surprise now im able to see all the things life can be shinin soft in your eyesand you decorated my life created a world where dreams are a part and you decorated my life by paintin your love all over my heart you decorated my life ",1
94,"tusk","fleetwood mac",1980," why dont you ask him if hes going to stay why dont you ask him if hes going away why dont you tell me whats going on why dont you tell me whos on the phonewhy dont you ask him whats going on why dont you ask him whos the latest on his throne dont say that you love me just tell me that you want metusk just say that you want me just tell me that youtusk tusk tusk ",1
95,"i wanna be your lover","prince",1980," i aint got no money i aint like those other guys you hang around its kinda funny but they always seem to let you down and i get discouraged cause i never see you anymore and i need your love babe thats all im living for yeahi didnt want to pressure you baby but all i ever wanted to doi want to be your lover i want to be the only one that makes you come running i want to be your lover i want to turn you on turn you out all night long make you shout oh lover yeah i want to be the only one you come fori want to be your brother i want to be your mother and your sister too there aint no other that can do the things that ill do to youand i get discouraged cause you treat me just like a child and they say im so shy yeah but with you i just go wild ooo ooo oooi didnt want to pressure you baby no but all i ever wanted to doi want to be your lover i want to be the only one that makes you come running i want to be your lover i want to turn you on turn you out all night long make you shout oh lover yeah i want to be the only one you come for yeah ",1
96,"in america","charlie daniels band",1980," well the eagles been flying slow and the flags been flying low and a lot of peoples saying that americas fixing to fall but speaking just for me and some people from tennessee we got a thing or two to tell you allthis lady may have stumbled but she aint never fell and if the russians dont believe that they can all go straight to hell were gonna put her feet back on the path of the righteousness and then god bless america againand you never did think that it ever would happen again in america did you you never did think that wed ever get together again well we damn sure fooled you were walking real proud and were talking real loud again in america you never did think that it ever would happen againfrom the sound up in long island out to san francisco bay and every thing thats in between them is our home and we may have done a little bit of fighting amongst ourselves but you outside people best leave us alonecause well all stick together and you can take that to the bank thats the cowboys and the hippies and the rebels and the yanks you just go and lay your head on a pittsburgh stealer fan and i think youre gonna finally understandand you never did think that it ever would happen again in america did you you never did think that wed ever get together again well we damn sure fooled you were walking real proud and were talking real loud again in america you never did think that it ever would happen againand you never did think that it ever would happen again in america did you you never did think that wed ever get together again well we damn sure fooled you were walking real proud and were talking real loud again in america you never did think that it ever would happen again ",1
97,"breakdown dead ahead","boz scaggs",1980," i call ya you aint in whats this cold reaction whereve you been ooh baby let it on the line this is last call you say thats all you can take it fineim sorry but it dont make sense youre pullin just right out on first offense ooh baby play it smart for you go south with your big mouth let it take your heartdanger theres a breakdown dead ahead maybe youre in way above your head i may burn might upset you but you know id never let you downi told ya no more lyin no more tears fallin stop your cryin ooh baby im your fan before you go back to your side track baby understanddanger theres a breakdown dead ahead and just maybe youre in way above your head i may burn might upset you but you know id never let you downno no no no no no no no no no no no no nodanger theres a breakdown dead ahead then just maybe youre in way above your head i may burn might upset you but you know id never let you down no no nodanger theres a breakdown dead ahead and just maybe youre in way above your head i may burn might upset you but you know id never let you down down down down no no no no ",1
98,"ships","barry manilow",1980," we walked to the sea just my father and me and the dogs played around on the sand winter cold cut the air hanging still everywhere dressed in gray did he say hold my handi said loves easier when its far away we sat and watched a distant lightwere two ships that pass in the night we both smile and we say its alright were still here its just that were out of sight like those ships that pass in the nighttheres a boat on the line where the sea meets the sky theres another that rides far behind and it seems you and i are like strangers a wide ways apart as we drift on through timehe said its harder now were far away we only read you when you writewere two ships that pass in the night and we smile when we say its alright were still here its just that were out of sight like those ships that pass in the nightwere those ships that pass in the night and we smile when we say its alright were still here its just that were out of sight like those ships that pass in the nightwere just two ships that pass in the night and we smile when we say its alright were still here its just that were out of sight ",1
99,"all night long","joe walsh",1980," we get up early and we work all day we put our time in cause we like to stay up all night long all night longwe keep on grinnin til the weekend comes just a pinch between your cheek and gums all night long all night longstart in the morning and get the job done take care of business and we have some fun all night long all night longwe like a long neck and a good old song turn it up and then well sing along sing along oh were stayin up all night long ",1
100,"refugee","tom petty and the heartbreakers",1980," we did somethin we both know it we dont talk too much about it aint no real big secret all the same somehow we get around it listen it dont really matter to me baby you believe what you want to believe you see you dont have to live like a refugee dont have to live like a refugeesomewhere somehow somebody must have kicked you around some tell me why you want to lay there and revel in your abandon honey it dont make no difference to me baby everybodys had to fight to be free you see you dont have to live like a refugee dont have to live like a refugee now baby you dont have to live like a refugee dont have to live like a refugeebaby we aint the first im sure a lot of other lovers been burned right now this seems real to you but its one of those things you gotta feel to be truesomewhere somehow somebody must have kicked you around some who knows maybe you were kidnapped tied up taken away and held for ransom it dont really matter to me everybodys had to fight to be free you see you dont have to live like a refugee dont have to live like a refugee i said you dont have to live like a refugee dont have to live like a refugee you dont have to live like a refugee dont have to live like a refugee ah  ah ",1
1,"bette davis eyes","kim carnes",1981," her hair is harlow gold her lips are sweet surprise her hands are never cold she got bette davis eyes shell turn the music on you you wont have to think twice shes pure as new york snow she got bette davis eyesand shell tease you shell unease you all the better just to please you shes precocious and she knows just what it takes to make a pro blush she got greta garbos standoff sighs shes got bette davis eyesshell let you take her home it whets her appetite shell lay you on the throne she got bette davis eyes shell take a tumble on you roll you like you were dice until you come out blue shes got bette davis eyesshell expose you when she snows you off your feet with the crumbs she throws you shes ferocious and she knows just what it takes to make a pro blush all the boys think shes a spy shes got bette davis eyesshell tease you shell unease you all the better just to please you shes precocious and she knows just what it takes to make a pro blush all the boys think shes a spy shes got bette davis eyesshell tease you shell unease you just to please you shes got bette davis eyes shell expose you when she snows you cause she knows you shes got bette davis eyes ",1
2,"endless love","diana ross  lionel richie",1981,"my love theres only you in my life the only thing thats right my first love youre every breath that i take youre every step i make and i i want to share all my love with you no one else will do and your eyes they tell me how much you care oh yes you will always be my endless love two hearts two hearts that beat as one our lives have just begun forever ill hold you close in my arms i cant resist your charms and love ill be a fool for you im sure you know i dont mind you know i dont mind cause you you mean the world to me oh i know i know i found in you my endless love and love ill be that fool for you im sure you know i dont mind you know i dont mind and yes youll be the only one cause no one cant deny this love i have inside and ill give it all to you my love my endless love",3
3,"lady","kenny rogers",1981," lady im your knight in shining armor and i love you you have made me what i am and i am yours my love theres so many ways i want to say i love you let me hold you in my arms forever moreyou have gone and made me such a fool im so lost in your love and oh we belong together wont you believe in my songlady for so many years i thought id never find you you have come into my life and made me whole forever let me wake to see you each and every morning let me hear you whisper softly in my earin my eyes i see no one else but you theres no other love like our love and yes oh yes ill always want you near me ive waited for you for so long ",1
4,"just like starting over","john lennon",1981," our life together is so precious together we have grown we have grown although our love is still special lets take a chance and fly away somewhere aloneits been too long since we took the time noones to blame i know time flies so quickly but when i see you darling its like we both are falling in love again itll be just like starting over starting overeveryday we used to make it love why cant we be making love nice and easy its time to spread our wings and fly dont let another day go by my love itll be just like starting over starting overwhy dont we take off alone take a trip somewhere far far away well be together all alone again like we used to in the early days well well well darlingits been too long since we took the time noones to blame i know time flies so quickly but when i see you darling its like we both are falling in love again itll be just like starting over starting overour life together is so precious together we have grown we have grown although our love still is special lets take a chance and fly away somewhereover and over and overstarting over over and over and overand over and over and overover and over and overand over and over and over ",1
5,"jessies girl","rick springfield",1981," jessie is a friend yeah i know hes been a good friend of mine but lately somethings changed that aint hard to define jessies got himself a girl and i want to make her mineand shes watching him with those eyes and shes loving him with that body i just know it yeah n hes holding her in his arms late late at nightyou know i wish that i had jessies girl i wish that i had jessies girl where can i find a woman like thati play along with the charade there doesnt seem to be a reason to change you know i feel so dirty when they start talking cute i wanna tell her that i love her but the point is probably mootcause shes watching him with those eyes and shes loving him with that body i just know it and hes holding her in his arms late late at nightyou know i wish that i had jessies girl i wish that i had jessies girl where can i find a woman like thatlike jessies girl i wish that i had jessies girl where can i find a woman where can i find a woman like thatand im looking in the mirror all the time wondering what she dont see in me ive been funny ive been cool with the lines aint that the way love supposed to betell me where can i find a woman like thatyou know i wish that i had jessies girl i wish that i had jessies girl i want jessies girl where can i find a woman like that like jessies girl i wish that i had jessies girl i want i want jessies girl ",1
6,"celebration","kool  the gang",1981,"yahoo celebration yahoo this is your celebration celebrate good times come on lets celebrate celebrate good times come on lets celebrate theres a party goin on right here a celebration to last throughout the years so bring your good times and your laughter too we gonna celebrate your party with you come on now celebration lets all celebrate and have a good time celebration we gonna celebrate and have a good time its time to come together its up to you whats your pleasure everyone around the world come on yahoo its a celebration yahoo celebrate good times come on its a celebration celebrate good times come on lets celebrate theres a party goin on right here a dedication to last throughout the years so bring your good times and your laughter too we gonna celebrate and party with you come on now celebration lets all celebrate and have a good time yeah yeah celebration we gonna celebrate and have a good time its time to come together its up to you whats your pleasure everyone around the world come on yahoo its a celebration yahoo its a celebration celebrate good times come on lets celebrate come on now celebrate good times come on lets celebrate were gonna have a good time tonight lets celebrate its all right were gonna have a good time tonight lets celebrate its all right baby were gonna have a good time tonight   celebration lets celebrate its all right were gonna have a good time tonight   celebration lets celebrate its all right yahoo yahoo celebrate good times come on lets celebrate celebrate good times come on its a celebration celebrate good times come on lets celebrate come on and celebrate tonight celebrate good times come on   cause everythings gonna be alright lets celebrate celebrate good times come on lets celebrate celebrate good times come on",3
7,"kiss on my list","hall  oates",1981,"my friends wonder why i call you all of the time what can i say i dont feel the need to give such secrets away you think maybe i need help no i know im right all right im just better off not listening to friends advice when they insist on blowing my bliss i tell them this when they want to know what the reason is i only smile when alive and i tell them why because your kiss your kiss is on my list because your kiss your kiss is on my list because your kiss is on my list of the best things in life because your kiss your kiss is on my list because your kiss your kiss i cant resist because your kiss is what i miss when i turn off the light i go crazy wondering what there is to really see did the night just take up your time cause it means more to me sometimes i forget what im doing i dont forget what i want i want regret what ive done regret you i couldnt go on but if you insist on blowing my bliss ill tell you this if you want to know what the reason is i only smile when alive then ill tell you why because your kiss your kiss is on my list because your kiss your kiss is on my list because your kiss is on my list of the best things in life because your kiss your kiss is on my list because your kiss your kiss i cant resist because your kiss is what i miss when i turn off the light i really miss ahhh bec ause your kiss your kiss is on my list because your kiss your kiss is on my list because your kiss is on my list of the best things in life oh babe because your kiss your kiss is on my list because your kiss your kiss i cant resist because your kiss is what i miss when i turn off the light because your kiss your kiss is on my list because your kiss your kiss i cant resist because your kiss is on my list of the best things in life",3
8,"i love a rainy night","eddie rabbitt",1981," well i love a rainy night i love a rainy night i love to hear the thunder watch the lightning when it lights up the sky you know it makes me feel goodwell i love a rainy night its such a beautiful sight i love to feel the rain on my face taste the rain on my lips in the moonlight shadowshowers washed all my cares away i wake up to a sunny daycause i love a rainy night yeah i love a rainy night well i love a rainy night well i love a rainy night ooh oohi love a rainy night i love a rainy night i love to hear the thunder watch the lightning when it lights up the sky you know it makes me feel goodwell i love a rainy night its such a beautiful sight i love to feel the rain on my face to taste the rain on my lips in the moonlight shadowsputs a song in this heart of mine puts a smile on my face every timecause i love a rainy night yeah i love a rainy night ooh i love a rainy night yeah i love a rainy night ooh oohshowers washed all my cares away i wake up to a sunny daycause i love a rainy night yeah i love a rainy night well i love a rainy night i love a rainy nightwell i love a rainy night you can see it in my eyes yeah i love a rainy night well it makes me highooh i love a rainy night you know i do yeah yeah i love a rainy nighti love a rainy night you can see it in my eyes i love a rainy night makes me high well i love a rainy night and i love you toowell i love a rainy night yeah i love a rainy night well i love a rainy night i love a rainy night ",1
9,"9 to 5","dolly parton",1981," tumble outta bed and i stumble to the kitchen pour myself a cup of ambition yawn and stretch and try to come to life jump in the shower and the blood starts pumpin out on the street the traffic starts jumpin with folks like me on the job from 9 to 5workin 9 to 5 what a way to make a livin barely gettin by its all takin and no givin they just use your mind and they never give you credit its enough to drive you crazy if you let it 9 to 5 for service and devotion you would think that i would deserve a fat promotion want to move ahead but the boss wont seem to let me i swear sometimes that man is out to get methey let you dream just to watch em shatter youre just a step on the bossmans ladder but you got dreams hell never take away youre in the same boat with a lotta your friends waitin for the day your shipll come in an the tides gonna turn and its all gonna roll your wayworkin 9 to 5 what a way to make a livin barely gettin by its all takin and no givin they just use your mind and you never get the credit its enough to drive you crazy if you let it 9 to 5 yeah they got you where they want you theres a better life and you dream about it dont you its a rich mans game no matter what they call it and you spend your life puttin money in his wallet9 to 5 whoa what a way to make a livin barely gettin by its all takin and no givin they just use your mind and they never give you credit its enough to drive you crazy if you let it9 to 5 yeah they got you where they want you theres a better life and you dream about it dont you its a rich mans game no matter what they call it and you spend your life puttin money in his wallet9 to 5 working 9 to 5 ",1
10,"keep on loving you","reo speedwagon",1981," you should have seen by the look in my eyes baby there was somethin missin you should have known by the tone of my voice maybe but you didnt listen you played dead but you never bled instead you laid still in the grass all coiled up and hissinand though i know all about those men still i dont remember cause it was us baby way before then and were still together and i meant every word i said when i said that i loved you i meant that i loved you foreverand im gonna keep on lovin you cause its the only thing i want to do i dont want to sleep i just want to keep on lovin youand i meant every word i said when i said that i loved you i meant that i loved you foreverand im gonna keep on lovin you cause its the only thing i want to do i dont want to sleep i just want to keep on lovin youbaby im gonna keep on loving you cause its the only thing i wanna do i dont want to sleep i just want to keep on lovin you ",1
11,"theme from the greatest american hero believe it or not","joey scarbury",1981,"look at whats happened to me i cant believe it myself suddenly im up on top of the world should have been somebody else believe it or not im walking on air i never thought i could feel so free flying away on a wing and a prayer who could it be believe it or not its just me looks like the light of a new day hit me from out of the blue breaking me out of the spell i was in making all of my wishes come true believe it or not im walking on air i never thought i could feel so free flying away on a wing and a prayer who could it be believe it or not its just me this is to good to be true look at me fallin for you believe it or not believe it or not believe it or not believe it or not believe it or not im walking on air i never thought i could feel so free flying away on a wing and a prayer who could it be believe it or not its just me believe it or not im walking on air i never thought i could feel so free flying away on a wing and a prayer who could it be believe it or not its just me fade out",3
12,"morning train nine to five","sheena easton",1981,"  ",1
13,"being with you","smokey robinson",1981," i dont care what they think about me and i dont care what they say i dont care what they think if youre leaving im gonna beg you to stayi dont care if they start to avoid me i dont care what they do i dont care about anything else but being with you being with youhoney dont go dont leave this scene be out of the picture and off of the screen dont let them say we told you so they tell me you love me and then let me goive heard the warning voice from friends and my relations they tell me all about your heartbreak reputationi dont care what they think about me and i dont care what they say i dont care what they think if youre leaving im gonna beg you to stayi dont care if they start to avoid me i dont care what they do i dont care about anything else but being with you being with youpeople can change they always do havent they noticed the changes in you or can it be that like love i am blind do i want it so much til its all in my mindone thing i know for sure is really really real i never felt before the way you make me feeli dont care what they think about me and i dont care what they say i dont care what they think if youre leaving im gonna beg you to stayi dont care if they start to avoid me i dont care what they do i dont care about anything else but being with you being with you being with you being with youi dont care about anything else but being with you being with you i want to be with you ",1
14,"queen of hearts","juice newton",1981," midnight and im awaiting on the 1205 hoping itll take me just a little farther down the lineand moonlight youre just a heartache in disguise wont you keep my heart from breaking if its only for a very short timeplaying with the queen of hearts knowing it aint really smart the joker aint the only fool wholl do anything for youlaying out another lie thinking bout a life of crime thats what ill have to do to keep me away from youhoney you know it makes you mad why is everybody telling everybody what you have donebaby i know it makes you sad but when theyre handing out the heartaches you know you got to have you someplaying with the queen of hearts knowing it aint really smart the joker aint the only fool wholl do anything for youlaying out another lie thinking bout a life of crime thats what ill have to do to keep me away from youlovers i know youve had a few but hide your heart beneath the covers and tell em theyre the only oneand others they know just what im going through and its ahard to be a lover when you say youre only in it for funplaying with the queen of hearts knowing it aint really smart the joker aint the only fool wholl do anything for youplaying with the queen of hearts and knowing it aint really smart the joker aint the only fool wholl do anything for youand laying out another lie and thinking bout a life of crime if thats what ill have to do to keep me away from youplaying with the queen of hearts playing with the queen of hearts playing with the queen of hearts playing with the queen of hearts ",1
15,"rapture","blondie",1981," toe to toe dancing very close barely breathing almost comatose wall to wall people hypnotized and theyre stepping lightly hang each night in raptureback to back sacroiliac spineless movement and a wild attackface to face sadly solitude and its finger popping twentyfour hour shopping in rapturefab five freddie told me everybodys high djs spinnin are savin my mind flash is fast flash is cool francois sez fas flashe no do and you dont stop sure shot go out to the parking lot and you get in your car and you drive real far and you drive all night and then you see a light and it comes right down and lands on the ground and out comes a man from mars and you try to run but hes got a gun and he shoots you dead and he eats your head and then youre in the man from mars you go out at night eatin cars you eat cadillacs lincolns too mercurys and subarus and you dont stop you keep on eatin carsthen when theres no more cars you go out at night and eat up bars where the people meet face to face dance cheek to cheek one to one man to man dance toe too toe dont move to slow cause the man from mars is through with cars hes eatin bars yeah wall to wall door to door hall to hall hes gonna eat em all rapture be pure take a tour through the sewer dont strain your brain paint a train youll be singin in the rain i said dont stop to punk rockwell now you see what you wanna be just have your party on tv cause the man from mars wont eat up bars when the tvs on and now hes gone back up to space where he wont have a hassle with the human race and you hiphop and you dont stop just blast off sure shot cause the man from mars stopped eatin cars and eatin bars and now he only eats guitars get up ",1
16,"a woman needs love just like you do","raydio",1981,NA,NA
17,"the tide is high","blondie",1981," the tide is high but im holdin on im gonna be your number one im not the kinda girl who gives up just like that oh noits not the things you do that tease and hurt me bad but its the way you do the things you do to me im not the kinda girl who gives up just like that oh nothe tide is high but im holdin on im gonna be your number one number oneevry girl wants you to be her man but ill wait my dear till its my turn im not the kinda girl who gives up just like that oh nothe tide is high but im holdin on im gonna be your number one number one number oneevry girl wants you to be her man but ill wait my dear till its my turn im not the kinda girl who gives up just like that oh nothe tide is high but im holding on im gonna be your number one number one number onethe tide is high but im holding on im gonna be your number one the tide is high but im holding on im gonna be your number one the tide is high but im holding on im gonna be your number one ",1
18,"just the two of us","grover washington jr  bill withers",1981,"i see the crystal raindrops fall and see the beauty of it all is when the sun comes shining through to make those rainbows in my mind when i think of you some time and i want to spend some time with you just the two of us we can make it if we try just the two of us just the two of us building castles in the sky just the two of us you and i we look for love no time for tears wasted waters all that is and it dont make no flowers grow good things might come to those who wait not to those who wait too late we got to go for all we know just the two of us we can make it if we try just the two of us just the two of us building castles in the sky just the two of us you and i i hear the crystal raindrops fall on the window down the hall and it becomes the morning dew darling when the morning comes and i see the morning sun i want to be the one with you just the two of us we can make it if we try just the two of us just the two of us building big castles way on high just the two of us you and i",3
19,"slow hand","the pointer sisters",1981,"as the midnight moon was drifting through the lazy sway of the trees i saw the look in your eyes lookin into mine seeing what you wanted to see darlin dont say a word cause i already heard what your bodys sayin to mine im tired of fast moves ive got a slow groove on my mind i want a man with a slow hand i want a lover with an easy touch i want somebody who will spend some time not come and go in a heated rush i want somebody who will understand when it comes to love i want a slow hand on shadowed ground with no one around and a blanket of stars in our eyes we are drifting free like two lost leaves on the crazy wind of the night darlin dont say a word cause i already heard what your bodys sayin to mine if i want it all night you say its alright we got the time cause i got a man with a slow hand i got a lover with an easy touch i got somebody who will spend some time not come and go in a heated rush i found somebody who will understand when it comes to love i want a slow hand i want it all night please say its alright its not a fast move but a slow groove on my mind cause i got a man with a slow hand i got a lover with an easy touch i found somebody who will spend some time not come and go in a heated rush i found somebody who will understand i found a lover with a slow hand a lover with a slow hand and i get all excited with his easy touch i found somebody who will spend the night not come and go in a heated rush",3
20,"i love you","climax blues band",1981," when i was younger man i hadnt a care foolin around hitting the town growing my hair you came along and stole my heart when you entered my life ooh babe you got what it takes so i made you my wifesince then i never looked back its almost like living a dream and ooh i love youyou came along from far away and found me here i was playin around feeling down hittin the beer you picked me up from off the floor and gave me a smile you said youre much too young your life aint begun lets walk for awhileand as my head was spinnin round i gazed into your eyes and thought ooh i want youthank you babe for being a friend and shinin your light in my life cause ooh i need youas my head was comin round i gazed into your eyes and thought ooh i want youthanks again for being my friend and straightenin out my life cause ooh i need yousince then i never looked back its almost like livin a dream ooh i got youif ever a man had it all it would have to be me and ooh i love you ",1
21,"woman","john lennon",1981," for the other half of the skywoman i can hardly express my mixed emotions at my thoughtlessness after all im forever in your debt and woman i will try to express my inner feeling and thankfulness for showing me the meaning of successooh well well doo doo doo doo doo ooh well well doo doo doo doo doowoman i know you understand the little child inside the man please remember my life is in your handsand woman hold me close to your heart however distant dont keep us apart after all it is written in the starsooh well well doo doo doo doo doo ooh well well doo doo doo doo doowell woman please let me explain i never meant to cause you sorrow or pain so let me tell you again and again and againi love you yeah yeah now and forever i love you yeah yeah now and forever i love you yeah yeah now and forever i love you yeah yeah ",1
22,"sukiyaki","a taste of honey",1981," its all because of you im feeling sad and blue you went away now my life is just a rainy day i love you so how much youll never know youve gone away and left me lonelyuntouchable memories seem to keep haunting me of love so true that once turned all my gray skies blue but youve disappeared now my eyes are filled with tears im wishin you were here with mesoft with love are my thoughts of you now that youre gone i dont know what to doif only you were here youd wash away my tears the sun would shine and once again youd be mine all mine but in reality you and i will never be cause you took your love away from me hoohif only you were here youd wash away my tears the sun would shine once again youd be mine all mine but in reality you and i will never be cause you took your love away from me hooh baby you took your love away from mesayonara ",1
23,"the winner takes it all","abba",1981," i dont want to talk about the things weve gone through though its hurting me now its history ive played all my cards and thats what youve done too nothing more to say no more ace to playthe winner takes it all the loser standing small beside the victory thats her destinyi was in your arms thinking i belonged there i figured it made sense building me a fence building me a home thinking id be strong there but i was a fool playing by the rulesthe gods may throw a dice their minds as cold as ice and someone way down here loses someone dear the winner takes it all the loser has to fall its simple and its plain why should i complainbut tell me does she kiss like i used to kiss you does it feel the same when she calls your name somewhere deep inside you must know i miss you but what can i say rules must be obeyedthe judges will decide the likes of me abide spectators of the show always staying low the game is on again a lover or a friend a big thing or a small the winner takes it alli dont want to talk if it makes you feel sad and i understand youve come to shake my hand i apologize if it makes you feel bad seeing me so tense no selfconfidence but you see the winner takes it all the winner takes it allso the winner takes it all and the the loser has to fall throw a dice cold as ice way down here someone dear takes it all has to fall it seems plain to me ",1
24,"stars on 45 medley","stars on 45",1981,"instrumental intro to venus  sugar ah honey honey you are my candy girl and you got me wantin you honey ah sugar sugar you are my candy girl and you got me wantin you 1 2 3 4 this happened once before when i came to your door no reply they said it wasnt you but i saw you peak through your window you know if you break my heart ill go but ill be back again cause i told you once before goodbye but i came back again asked the girl what she wanted to be she said baby cant you see i want to be famous the star of the screen but you can do something in between baby you can drive my car yes im gonna be a star baby you can drive my car and baby i love you listen do you want to know a secret do you promise not to tell woah closer let me whisper in your ear say the words you love to hear im in love with you woooo try to see it my way do i have to keep on talkin till i couldnt go on while you see it your way run the risk of knowing that our love might soon be gone we can work it out we can work it out i should have known better with a girl like you that i would love everything that you do and i do heyheyhey hes a real nowhere man sitting in his nowhere land youre gonna lose that girl yes yes youre gonna lose that girl youre gonna lose that yeah yes yes youre gonna lose that girl youre gonna lose that girl yes yes youre gonna lose that girl ooooo ooooo the stars on 45 keeps on turning in your mind like we can work it out  remember twist and shout you still dont tell me why and  no reply ooooo ooooo repeat and fade",3
25,"angel of the morning","juice newton",1981," therell be no strings to bind your hands not if my love cant bind your heart and theres no need to take a stand for it was i who chose to start i see no need to take me home im old enough to face the dawn    meaning  byamandah   editor    juice newtons 1981 adultcontemporary number angel of the morning was used in the 2016 film deadpools opening scene not only for contrast its a violent    see all   just call me angel of the morning angel just touch my cheek before you leave me baby just call me angel of the morning angel then slowly turn away from memaybe the suns light will be dim and it wont matter anyhow if mornings echo says weve sinned it was what i wanted now and if were victims of the night i wont be blinded by the lightjust call me angel of the morning angel just touch my cheek before you leave me baby just call me angel of the morning angel then slowly turn away i wont beg you to stay with me through the tears of the day of the years baby baby baby ",1
26,"love on the rocks","neil diamond",1981," love on the rocks aint no surprise just pour me a drink and ill tell you some lies got nothin to lose so you just sing the blues all the timegave you my heart gave you my soul you left me alone here with nothing to hold yesterdays gone now all i want is a smilefirst they say they want you how they really need you suddenly you find youre out there walking in a storm when they know they have you then they really have you nothing you can do or say youve got to leave just get away we all know the songyou need what you need you can say what you want not much you can do when the feeling is gone may be blue skies above but its cold when you loves on the rocksfirst they say they want you how they really need you suddenly you find youre out there walking in a storm when they know they have you then they really have you nothing you can do or say youve got to leave just get away we all know the songlove on the rocks aint no surprise just pour me a drink and ill tell you my lies yesterdays gone and now all i want is a smile ",1
27,"every woman in the world","air supply",1981," overnight scenes dinner and wine saturday girls i was never in love never had the time in my hustle and hurry world laughing myself to sleep waking up lonely i needed someone to hold me ohits such a crazy old town it can drag you down till you run out of dreams so you party all night to the music and lights but you dont know what happiness means i was dancing in the dark with strangers no love around me when suddenly you found me ohgirl youre every woman in the world to me youre my fantasy youre my reality girl youre every woman in the world to me youre everything i need youre everything to me oh girleverything good everything fine thats what you are so put your hand in mine and together well climb as high as the highest star im living a lifetime in every minute that were together and ill stand right here forever ohgirl youre every woman in the world to me youre my fantasy youre my reality girl youre every woman in the world to me youre everything i need youre everything to me oh girlgirl youre every woman in the world to me youre my fantasy youre my reality girl youre every woman in the world to me youre everything i need youre everything to megirl youre every woman in the world to me youre my fantasy youre my reality girl youre every woman in the world to me youre everything i need youre everything to me ",1
28,"the one that you love","air supply",1981," now the night has gone now the night has gone away doesnt seem that long we hardly had two words to sayhold me in your arms for just another day i promise this one will go slow oh we have the right to know we have the right to knowdont say the mornings come dont say the mornings come so soon must we end this way when so much here is hard to loselove is everywhere i know it is such moments as this are too few oh its all up to you its all up to youhere i am the one that you love askin for another day understand the one that you love loves you in so many waystell me we can stay tell me we can stay oh please they are the words to say the only words i can believehold me in your arms for just another day i promise this one will go slow oh we have the right you know we have the right you knowhere i am the one that you love askin for another day understand the one that you love loves you in so many wayshere i am the one that you love askin for another day understand the one that you love loves you in so many waysthe night has gone a part of yesterday i dont know what to say i dont know what to sayhere i am the one that you love askin for another day understand the one that you love loves you in so many wayshere i am the one that you love askin for another day understand the one that you love loves you in so many wayshere i am the one that you love askin for another day understand the one that you love loves you in so many ways ",1
29,"guilty","barbra streisand  barry gibb",1981,"shadows falling baby we stand alone out on the street anybody you meet got a heartache of their own it oughta be illegal make it a crime to be lonely or sad it oughta be illegal you got a reason for livin you battle on with the love youre livin on you gotta be mine we take it away its gotta be night and day just a matter of time and we got nothing to be guilty of our love will climb any mountain near or far we are and we never let it end we are devotion and we got nothing to be sorry for our love is one in a million eyes can see that we got a highway to the sky i dont wanna hear your goodbye pulses racing darling how grand we are little by little we meet in the middle theres danger in the dark it oughta be illegal make it a crime to be out in the cold it oughta be illegal you got a reason for livin you battle on with the love youre buildin on you gotta be mine we take it away its gotta be night and day just a matter of time and we got nothing to be guilty of our love will climb any mountain near or far we are and we never let it end we are devotion and we got nothing to be sorry for our love is one in a million eyes can see that we got a highway to the sky i dont wanna hear your goodbye dont wanna hear your goodbye i dont wanna hear your and we got nothing to be guilty of our love will climb any mountain near or far we are and we never let it end we are devotion and we got nothing to be sorry for our love is one in a million eyes can see that we got a highway to the sky dont wanna hear your and we got nothing to be guilty of our love will climb any mountain near or far we are and we never let it end",3
30,"the best of times","styx",1981,"  ",1
31,"elvira","the oak ridge boys",1981,"elvira elvira my hearts on fire elvira eyes that look like heaven lips like sherry wine that girl can sure enough make my little light shine i get a funny feelin up and down my spine cause i know that my elviras mine so im singin elvira elvira my hearts on fire elvira giddy up oom poppa omm poppa mow mow giddy up oom poppa omm poppa mow mow heighho silver away tonight im gonna meet her at the hungry house cafe and im gonna give her all the love i can yes i am shes gonna jump and holler cause ive saved up my last two dollars were gonna search and find that preacher man now im a singin elvira elvira my hearts on fire elvira giddy up oom poppa omm poppa mow mow giddy up oom poppa omm poppa mow mow heighho silver away elvira elvira my hearts on fire elvira giddy up oom poppa omm poppa mow mow giddy up oom poppa omm poppa mow mow heighho silver away elvira elvira my hearts on fire elvira giddy up oom poppa omm poppa mow mow giddy up oom poppa omm poppa mow mow heighho silver away elvira elvira my hearts on fire elvira",3
32,"take it on the run","reo speedwagon",1981," heard it from a friend who heard it from a friend who heard it from another you been messin around they say you got a boyfriend youre out late every weekend theyre talkin about you and its bringin me downbut i know the neighborhood and talk is cheap when the story is good and the tales grow taller on down the line but im telling you babe that i dont think its true babe and even if it is keep this in mindyou take it on the run baby if thats the way you want it baby then i dont want you around i dont believe it not for a minute youre under the gun so you take it on the runyoure thinking up your white lies youre puttin on your bedroom eyes you say youre coming home but you wont say when but i can feel it coming if you leave tonight keep running and you need never look back againyou take it on the run baby if thats the way you want it baby then i dont want you around i dont believe it not for a minute youre under the gun so you take it on the runyou take it on the run baby if thats the way you want it baby then i dont want you around i dont believe it not for a minute youre under the gun so you take it on the runtake it on the run baby if thats the way you want it baby then i dont want you around i dont believe it not for a minute youre under the gun so you take it on the runheard it from a friend who heard it from a friend who heard it from another you been messin around ",1
33,"theres no gettin over me","ronnie milsap",1981,"well you can walk out on me tonight if you think that it aint feeling right but darling theres aint no getting over me well you can say that you need to be free but there aint no place that i wont be sweet darling there aint no getting over me ill be the bill you forgot to pay ill be the dream that keeps you awake ill be the song on the radio ill be the reason that you tell the boys no dont you know you can tell everyone that were through you might even believe it too but darling theres aint no getting over me sweet darling there aint no getting over me ill be the face that you see in the crowd ill be the times that you cry out loud ill be the smile when theres no one around ill be the book that you just cant put down so you can walk out on me tonight if you think that it aint feeling right but darling theres aint no getting over me youll see sweet darling theres aint no getting over me no no no no no darling there aint no getting over me ooooh mmmm mmmm no darling there aint no getting over me ooooh darling there aint no getting over me",5
34,"living inside myself","gino vannelli",1981," in my life ive felt so self assured but suddenly its all changed shes a cloud that hangs above my world and i find myself wondring in the rain and now i cant go oncause i am lost living inside myself living inside this shell living outside your love i am lost somewhere inside my own dreams afraid of what life really means living without your lovei need a guiding light to shine on my darkest days i was young and time was on my side but like a fool i let it slip away and now those days are goneand i am lost living inside myself living inside this shell living outside your love i am lost somewhere inside my own dreams afraid of what life really means living without your lovein my life ive felt so selfassured but oh how all the seasons change and now im not that strongcause i am lost living inside myself living inside this hell living outside your love i am lost somewhere inside my own dreams afraid of what life really means living without your lovei am lost living inside myself living inside this shell living outside your love i am lost ",1
35,"woman in love","barbra streisand",1981," life is a moment in space when the dream is gone its a lonelier place i kiss the morning goodbye but down inside you know we never know why the road is narrow and long when eyes meet eyes and the feeling is strong i turn away from the wall i stumble and fall but i give you it alli am a woman in love and i do anything to get you into my world and hold you within its a right i defend over and over again what do i dowith you eternally mine in love there is no measure of time we planned it all at the start that you and i live in each others hearts we may be oceans away you feel my love i hear what you say no truth is ever a lie i stumble and fall but i give you it alli am a woman in love and i do anything to get you into my world and hold you within its a right i defend over and over again what do i doi am a woman in love and im talking to you you know i know how it feels what a woman can do its a right i defend over and over againi am a woman in love and i do anything to get you into my world and hold you within its a right i defend over and over again ",1
36,"the boy from new york city","the manhattan transfer",1981,"the manhattan transfer miscellaneous the boy from new york city boy from new york city manhattan transfer by john taylor  george davis ooo wah ooo wah cool cool kitty tell us about the boy from new york city ooo wah ooo wah cmon kitty tell us about the boy from new york city hes kind of tall hes really fine some day i hope to make him mine all mine and hes neat and oh so sweet and just the way he looked at me he swept me off my feet yeah ooo whee you ought to come and see how he walks  humm and how he talks ooo wah ooo wah cool cool kitty tell us about the boy from new york city hes really down and hes no clown he has the finest penthouse ive ever seen in town and hes cute in his mohair suit and he keeps his pockets full of spending loot ooo whee say you ought to come and see his dueling scar and brand new car yeah yeah every time he says he loves me chills run down my spine every time he wants to kiss me oh he makes me feel so fiiine ooo wah ooo wah cool cool kitty tell us about the boy from new york city well he can dance he can dance take a chance with a little ro and make romance mance baby cause hes a looker thats when i felt in love with just one glance hes sweet talking and cool he was shy and so was i and now i know ill never ever say goodbye ooo whee say you ought to come and see hes the most yeah yeah  from coast to coast yeah yeah  br brooo wah ooo wah cool cool kitty brtell us about the boy from new york city brooo wah ooo wah cmon kitty brtell us about the boy from new york city ",3
37,"urgent","foreigner",1981," day light alright i dont know i dont know if its real been a long night and something aint right you wont show you wont show how you feel no time ever seems right to talk about the reasons why you and i fight its high time to draw the line put an end to this game before its too late head games its you and me baby head games and i cant take it anymore head games i dont want to play the head games a daydream for hours it seems i keep thinking of you yeah thinking of you these daydreams what do they mean they keep haunting me are they warning me daylight turns into night we try and find the answer but its nowhere in sight its always the same and you know whos to blame you know what im saying still we keep on playing head games thats all i get from you head games and i cant take it anymore head games dont want to play the head gamesso near so far away we pass each other by cause we dont know what to say its so clear im sorry to say but if you want to win you gotta learn how to play head games always you and me baby head games till i cant take it anymore head games instead of making love head games oh head games always you and me baby head games till i cant take it anymore no more head games instead of making love we play head games head games in the first degree head games yeah always you and me head games why do you do it baby head games you put me trough it baby ",1
38,"passion","rod stewart",1981," somebody somewhere in the heat of the night looking pretty dangerous running out of patiencetonight in the city you wont find any pity hearts are being twisted another lover cheated cheatedin the bars and the cafes passion in the streets and the alleys passion a lot of pretending passion everybody searching passiononce in love youre never out of danger one hot night spent with a stranger all you wanted was somebody to hold on to yeah passion passion passion passionnew york moscow passion hong kong tokyo passion paris and bangkok passion a lotta people aint got passionhear it on the radio passion read it in the paper passion hear it in the churches passion see it in the school yards passiononce in love youre never out of danger one hot night spent with a stranger all you wanted was somebody to hold on to yeahonce in love youre never out of danger one hot night spent with a stranger all you wanted was somebody to hold on to yeahalone in your bed at night passion its half past midnight passion as you turn out your sidelight passion something aint right passiontheres no passion theres no passion theres no passion i need passion you need passion we need passion cant live without passion wont live without passioneven the president needs passion everybody i know needs some passion some people die and kill for passion nobody admits they need passion some people are scared of passion yeah passion ",1
39,"lady you bring me up","commodores",1981," lady you bring me up when im down and maybe youre gonna change my life aroundyou came to me when i was lonely and no one cared you made me see that i was only just runnin scared i saw your face and somethin told me you were the one you smiled at me and now i see my lifes begunlady pretty lady you bring me up when im down up when im down and maybe youre gonna change my life around gonna change my life around yeah lady you brought me in from out the rain yeah maybe my life will never be the sameonce i was filled with desperation a solitary man you gave me hope and inspiration like only true love can now i believe in what youre sayin im ten feet tall this love dont need no explainin weve got it alllady you bring me up when im down up when im down and maybe maybe youre gonna change my life aroundla la la la la la la la la la la la na na na na na na na na na na na na na na na na na na na na na na na la la la la lawhoa lady you bring me up when im down up when im down and maybe yeah youre gonna change my life around gonna change my life around yeah lady pretty lady you brought me in from out the rain and maybe my life will never be the same itll never be the same yeahlady woo you bring me up when im down up when im down and maybe maybe youre gonna change my life around yeah yeah yeah ooo ladylady you bring me up when im down and maybe youre gonna change my life around woo ladywoo lady you bring me up when im down ",1
40,"crying","don mclean",1981," i was all right for a while i could smile for a while but when i saw you last night you held my hand so tight when you stopped to say hello and though you wished me well you couldnt tell that id been crying over you crying over youthen you said so long and left me standing all alone alone and crying crying crying crying its hard to understand that the touch of your hand can start me cryingi thought that i was over you but its true so true i love you even more than i did before but darling what can i do you dont love me and ill always be crying over you crying over youyes now youre gone and from this moment on ill be crying crying crying crying im crying crying over you ",1
41,"hearts","marty balin",1981," is everything alright i just called to say how lost i feel without you miles away i really cant believe im here and how i still care about youhearts can break and never mend together love can fade away hearts could cry when love wont stay forever hearts can be that wayis everything the same do you ever think of me and how we loved one another will you change your mind will you want me back again or have you found yourself a new loverhearts can break and never mend together love can fade away hearts could cry when love wont stay forever hearts can be that wayis everything okay i just thought id write a song to tell the world how i miss you cause each and every day i think of all the words i never said and all the chances that i had tohearts can break and never mend together love can fade away hearts could cry when love wont stay forever hearts can be that wayhearts can be that way hearts can be is everything alright ",1
42,"its my turn","diana ross",1981," i cant cover up my feelings in the name of love or play it safe for a while that was easy and if living for myself is what im guilty of go on and sentence me ill still be freeits my turn to see what i can see i hope youll understand this times just for me cause its my turn with no apologies ive given up the truth to those ive tried to pleasebut now its my turn if i dont have all the answers at least i know ill take my share of chances aint no use in holdin on when nothin stays the sameso ill let it rain cause the rain aint gonna hurt me and ill let you go though i know that wont be easy its my turn with no more room for lies for years ive seen my life through someone elses eyesand now its my turn to try and find my way and if i should get lost at least ill own todayits my turn yes its my turnand there aint no use in holdin on when nothin stays the same so ill let it rain cause the rain aint gonna hurt me and ill let you go though i know that wont be easyits my turn to see what i can see i hope youll understand this times just for me cause its my turn to turn and say goodbye i sure would like to know that youre still on my sidecause its my turn its my turnits my turn to start from number one trying to undo some damage thats been done but now its my turn to reach and touch the sky no ones gonna say at least i didnt tryits my turn yes its my turn its my turn its my turn its my turn ",1
43,"you make my dreams","hall  oates",1981,"what i want youve got and it might be hard to handle like the flame that burns the candle the candle feeds the flame what ive got is full stock of thoughts and dreams that scatter you pull them all together and how i cant explain well well you you make my dreams come true well well well you you make my dreams come true on a night when bad dreams become a screamer when theyre messin with the dreamer i can laugh it in the face twist and shout my way out and wrap yourself around me cause i aint the way you found me and ill never be the same well well you you make my dreams come true well well well you you make my dreams come true listen to this im down on my daydream oh that sleepwalk should be over by now i know",3
44,"i dont need you","kenny rogers",1981," i dont need you i dont need friendship and i dont need flowers in the spring and i dont need you and you surely dont need mei dont need love and affection and i dont need peace and harmony and i dont need you and you surely dont need mebut we both want it bad enough yes we both want it dont wei dont need you baby and i know you dont need mei dont need your loving arms around me all i need is to be free thats what i keep telling myself and i tell you you dont need mei dont need children in my old age no more cluttered leaves around the treesand i dont need you baby and i know you dont need mebut we both want it bad enough yes we both want it dont weand i dont need you baby and i know you dont need mewe dont need each other baby we dont need each other baby or do we ",1
45,"how bout us","champaign",1981,"  ",1
46,"hit me with your best shot","pat benatar",1981," well youre a real tough cookie with a long history of breaking little hearts like the one in me thats okay lets see how you do it put up you dukes lets get down to ithit me with your best shot why dont you hit me with your best shot hit me with your best shot fire awayyou come on with it come on you dont fight fair thats okay see if i care knock me down its all in vain i get right back on my feet againhit me with your best shot why dont you hit me with your best shot hit me with your best shot fire awaywell youre a real tough cookie with a long history of breaking little hearts like the one in me before i put another notch in my lipstick case you better make sure you put me in my placehit me with your best shot cmon hit me with your best shot hit me with your best shot fire awayhit me with your best shot why dont you hit me with your best shot hit me with your best shot fire away ",1
47,"the breakup song they dont write em","the greg kihn band",1981," we had broken up for good just an hour before uh uh uh uh uh uh uh uh now im staring at the bodies as theres dancin cross the floor uh uh uh uh uh uh uh uh and then the band slowed the tempo and the music gets me down uh uh uh uh uh uh uh uh it was the same old song with the melancholy sound uh uh uh uh uh uh uh uhthey dont write em like that anymore they just dont write em like that anymorewed been living together for a million years uh uh uh uh uh uh uh uh but now it feel so strange out in the atmospheres uh uh uh uh uh uh uh uh and then the jukebox plays a song i used to know uh uh uh uh uh uh uh uh now im staring at the bodies as they dancin so slow uh uh uh uh uh uh uh uhthey dont write em like that anymore they just dont write em like that anymorenow i wind up staring at an empty glass uh uh uh uh uh uh uh uh cause its so easy to say that youll forget your past uh uh uh uh uh uh uh uhthey dont write em like that anymore no they just dont write em like that anymorethey dont write em like that anymore they just dont write em like that anymore ",1
48,"time","the alan parsons project",1981," time flowing like a river time beckoning me who knows when we shall meet again if ever but time keeps flowing like a river into the seagoodbye my love maybe for forever goodbye my love the tide waits for me who knows when we shall meet again if ever but time keeps flowing like a river on and on to the sea to the sea till its gone forever gone forever gone forevermoregoodbye my friend maybe for forever goodbye my friend the stars wait for me who knows where we shall meet again if ever but time keeps flowing like a river on and on to the sea to the sea till its gone forever gone forever gone forevermore forevermore forevermore ",1
49,"hungry heart","bruce springsteen",1981," got a wife and kids in baltimore jack i went out for a ride and i never went back like a river that dont know where its flowing i took a wrong turn and i just kept goingchorus everybodys got a hungry heart everybodys got a hungry heart lay down your money and you play your part everybodys got a hungry hearti met her in a kingstown bar we fell in love i knew it had to end we took what we had and we ripped it apart now here i am down in kingstown againchoruseverybody needs a place to rest everybody wants to have a home dont make no difference what nobody says aint nobody like to be alonechorus ",1
50,"sweetheart","franke and the knockouts",1981,"i know baby its hard to be strong to take the good with the bad and dont think youre alone cause i know all your sad goodbyes cause ive been there before to help you dry your eyes sweetheart who loved you from the start who treats you like a star oooooh sweetheart who loves you baby who loves you wrong or right cause youre the spark in my life yeaaah day and night and when trouble akeeps on knockin down your door just call on me babe and it wont be round no more sweetheart who loved you from the start yeah baby who treats you like a star oooooh sweetheart instrumental interlude oooooh no yes i know no matter how long why ill be by your side yes singing this song sweetheart who loved you from the start yeah baby who treats you like a star oooooh sweetheart your my sweetheart",3
51,"somebodys knockin","terri gibbs",1981,"somebodys knockin should i let him in  lord its the devil would you look at him ive heard about him but i never dreamed  hed have blue eyes and blue jeans well somebodys talkin hes whispering to me  your place or my place well which will it be im gittin weaker and hes comin on strong  but i dont wanna go wrong he must have tapped my telephone line  he must have known im spendin my time alone he says well have one heavenly night  my fevers burnin so he ought to be right at home somebodys knockin  somebodys knockin  oh somebodys knockin somebodys knockin should i let him in  lord its the devil would you look at him ive heard about him but i never dreamed  hed have blue eyes and blue jeans he must have tapped my telephone line  he must have known im spendin my time alone he says well have one heavenly night  my fevers burnin so he ought to be right at home somebodys knockin  somebodys knockin  oh somebodys knockin",5
52,"more than i can say","leo sayer",1981," oh oh yea yea i love you more than i can say ill love you twice as much tomorrow oh love you more than i can sayoh oh yea yea i miss you every single day why must my life be filled with sorrow i love you more than i can saywhy dont you know i need you so oh tell me please i gotta know do you mean to make me cry am i just another guyoh oh yea yea i miss you every single day why must my life be filled with sorrow i love you more than i can saywhy dont you know i need you so oh tell me please i gotta know do you mean to make me cry am i just another guyoh oh yea yea i love you more than i can say ill love you twice as much tomorrow oh love you more than i can say i love you more than i can say i love you more than i can say ohill love you twice as much tomorrow ill love you twice as much tomorrow i love you more than i can say i love you more than words can say i love you more than i can say ",1
53,"together","tierra",1981,"if we could be on a desert lost without a place to go but were so in love in love with each other that we wouldnt even know oh i dont care any place anywhere just as long as were there together together baby just you and me oh how happy well be we could be in poverty with no one to lean a helping hand but its alright alright i know because you always understand oh i dont care good and bad well share just as long as we can share them together together baby just you and me oh how happy well be",3
54,"too much time on my hands","styx",1981," yeah im sitting on this barstool talking like a damn fool got the twelve oclock news blues and ive given up hope for the afternoon soaps and a bottle of cold brew is it any wonder im not crazy is it any wonder im sane at all well im so tired of losing i got nothing to do and all day to do it i go out cruisin but ive no place to go and all night to get there is it any wonder im not a criminal is it any wonder im not in jail is it any wonder ive got too much time on my hands its ticking away with my sanity ive got too much time on my hands its hard to believe such a calamity ive got too much time on my hands and its ticking away ticking away from me too much time on my hands its tick tick tick tick ticking away too much time on my hands and i dont know what to do with myself too much time on my hands solo too much time on my hands too much time on my hands too much time on my hands now im a jet fuel genius i can solve the worlds problems without even trying i have dozens of friends and the fun never ends that is as long as im buying is it any wonder im not the president is it any wonder im null and void is it any wonder ive got too much time on my hands its ticking away with my sanity ive got too much time on my hands its hard to believe such a calamity ive got too much time on my hands and its ticking away ticking away from me too much time on my hands tick tick tick tick ticking away too much time on my hands and i dont know what to do with myself too much time on my hands hmm mmm too much time on my hands tick tick tick ticking away too much time on my hands hmm mmm too much time on my hands too much time on my hands too much time on my ",1
55,"what are we doin in love","dottie west  kenny rogers",1981,NA,NA
56,"whos crying now","journey",1981," its been a mystery but still they try to see why something good can hurt so bad caught on a oneway street the taste of bittersweet love will survive somehow somewhereone love feeds the fire one heart burns desire wonder whos crying now two hearts born to run wholl be the lonely one wonder whos crying nowso many stormy nights so many wrong or rights neither could change their headstrong ways and in a lovers rage they tore another page the fighting is worth the love they saveone love feeds the fire one heart burns desire wonder whos crying now two hearts born to run wholl be the lonely one wonder whos crying nowonly so many tears you can cry til the heartache is over and now you can say your love will never diewhoa ooh ooh ooh oohone love feeds the fire one heart burns desire wonder whos crying now two hearts born to run wholl be the lonely one wonder whos crying now ",1
57,"de do do do de da da da","the police",1981," dont think me unkind words are hard to find theyre only cheques ive left unsigned from the banks of chaos in my mindand when their eloquence escapes me their logic ties me up and rapes mede do do do de da da da is all i want to say to you de do do do de da da da their innocence will pull me through de do do do de da da da is all i want to say to you de do do do de da da da theyre meaningless and all thats truepoets priests and politicians have words to thank for their positions words that scream for your submission and noones jamming their transmissioncause when their eloquence escapes you their logic ties you up and rapes youde do do do de da da da is all i want to say to you de do do do de da da da their innocence will pull me through de do do do de da da da is all i want to say to you de do do do de da da da theyre meaningless and all thats truede do do do de da da da is all i want to say to you de do do do de da da da their innocence will pull me through de do do do de da da da is all i want to say to you de do do do de da da da theyre meaningless and all thats true ",1
58,"this little girl","gary us bonds",1981,"here she comes walkin down the streeeet you know shes walkin just like shes walkin to come and see meee oh shes so yououououng and shes so fiine i know whats on your mind know what you wanna do but if you mess with her im gonna mess with you you better watch your step you better stay in line this little girl is miiine ohoh this little girl is miiine ohoh this little girl this little girl this little girirl is miine ohoh this little girl is miiine ohoh this little girl is miine ohoh this little girl this little girl this little girirl is miine well if the world was mine to do with what i want to do sir well id wrap it up in a bow and give it all to herer yeah and all my loove all of the tiiime you know id hold her tight id never let her go and late at night you know id love her so yeah id treat her right so shed never mind but this little girl is miine ohoh this little girl is miiine ohoh this little girl this little girl this little girl is mimimimine hey you better watch out im tellin you the scoreore are you gonna be sweepin your broken heart up off the flooroor oh and that aint aall im tellin you my frieiend i know whats on your mind know what you wanna do but if you mess with her im gonna mess with you you like the way she moves you like to watch her walk you better listen up cause man this aint just talk you better watch yourself you better stay in line now mister i said this little girl is miine ohoh this little girl is miiine this little girl this little girl this little girl is miiine ohoh this little girl this little gir",5
59,"stop draggin my heart around","stevie nicks  tom petty",1981,"baby youll come knockin on my front door same old line you used to use before i said ya well what am i supposed to do i didnt know what i was gettin into so youve had a little trouble in town now youre keepin some demon down stop draggin my stop draggin my stop draggin my heart around its hard to think about what youve wanted its hard to think about what youve lost this doesnt have to be the big get even this doesnt have to be anything at all i know you really want to tell me goodbye i know you really want to be your own girl baby you could never look me in the eye yeah you buckle with the weight of the words stop draggin my stop draggin my stop draggin my heart around theres people runnin round loose in the world aint got nothin better to do than make a meal of some bright eyed kid you need someone lookin after you i know you really want to tell me goodbye i know you really want to be your own girl baby you could never look me in the eye yeah you buckle with the weight of the words stop draggin my stop draggin my stop draggin my heart around",3
60,"giving it up for your love","delbert mcclinton",1981," givin it up for your love  everything givin it up for your love right now givin it up for your love  everything givin it up for your love right now my heart is aching for you i cant stand it i need your love am i so demanding im givin it up for your love everything givin it up for your love right now im givin it up for your love everything givin it up for your love right now well i thought about it you know im not playing you better listen to me every word i been saying hot is cold whats cold is hot i m a little mixed up but ill give it everything ive got dont want your money dont need your car im doing all right doing all right so far im givin it up for your love everything givin it up for your love right now im givin it up for your love everything givin it up for your love right now i know you told me that youd always love me and i believed it was true so i saved the best and im ready my love only just for you come back here come back real quick my bodys aching and my heart is feeling weak ill be alright ill be ok come on baby listen to what i say i dont need your money dont need your car im doing all right doing all right so far im givin it up for your love everything givin it up for your love right now im givin it up for your love everything givin it up for your love right now im givin it up for your love everything givin it up for your love right now im givin it up for your love everything givin it up for your love right now ",1
61,"a little in love","cliff richard",1981," its been so long you say youve had fun and youve been happy with the things youve done now you feel strange and a little unreal well i can understand the way you feelyoure just a little in love just a little youre just a little in love just a littlewell i can see whats happenin to you you feel alone but its just not true and theres one thing you oughta know i need you soim just a little in love just a little im just a little in love just a littleyou say youre willing to learn you need a friend a friend who will help you cos youre just a little in love oh yeah a little in love you are a little in lovewith someone youre just like me like me youre in love oh yeah a little in loveyou know sometime you look somewhere youre not alone but theres no one there no one to turn to no one to see the way youre feelin youre just like meyoure just a little in love just a little youre just a little in love just a littlenow you say youre willing to learn and you need a friend a friend who will help you cos youre just a little in love oh yeah a little in love you are a little in lovewith someone youre just like me like me youre in love oh yeah a little in loveyoure in love oh yeah a little in love you are a little in love with someone youre just like me like me youre in loveoh yeah a little in love youre a little in love with someone youre just like meyoure in love youre in love youre in lovea little in love with someone youre just like me like me youre in lovea little in love you are a little in love with someone youre just like meyoure in love youre in love ",1
62,"america","neil diamond",1981," far weve been traveling far without a home but not without a star free only want to be free we huddle close hang on to a dreamon the boats and on the planes theyre coming to america never looking back again theyre coming to americahome dont it seem so far away oh were traveling light today in the eye of the storm in the eye of the stormhome to a new and a shiny place make our bed and well say our grace freedoms light burning warm freedoms light burning warmeverywhere around the world theyre coming to america every time that flags unfurled theyre coming to americagot a dream to take them there theyre coming to america got a dream theyve come to share theyre coming to americatheyre coming to america theyre coming to america theyre coming to america theyre coming to america today today today today todaymy country tis of thee today sweet land of liberty today of thee i sing today of thee i sing today ",1
63,"aint even done with the night","john cougar",1981,"written by john mellencamp well our hearts beat like thunder i dont know why they dont explode you got your hands in my back pockets and sam cookes singin on the radio you say that im the boy who can make it all come true well im tellinya that i dont know if i know what to do chorus you say thats all right hold tight well i dont even know if im doin this right well all right hold tight we can stay out all day or we can run around all night well all night all night well its time to go home and i aint even done with the night well i dont know no good comeons and i dont know no cool lines i feel the heat of your frustration i know its burnin you up deep down inside you say that im the boy who can make it all come true well im tellin ya that i dont know if i know what to do chorus",5
64,"arthurs theme best that you can do","christopher cross",1981," once in your life you find her someone that turns your heart around and next thing you know youre closing down the town wake up and its still with you even though you left her way across town wondering to yourself hey whatve i foundwhen you get caught between the moon and new york city i know its crazy but its true if you get caught between the moon and new york city the best that you can do the best that you can do is fall in lovearthur he does as he pleases all of his life hes mastered choice deep in his heart hes just hes just a boy living his life one day at a time hes showing himself a really good time hes laughing about the way they want him to bewhen you get caught between the moon and new york city i know its crazy but its true if you get caught between the moon and new york city the best that you can do the best that you can do is fall in lovewhen you get caught between the moon and new york city i know its crazy but its true if you get caught between the moon and new york city the best that you can do the best that you can do is fall in lovewhen you get caught between the moon and new york city i know its crazy but its true if you get caught between the moon and new york city the best that you can do the best that you can do is fall in love ",1
65,"another one bites the dust","queen",1981," verse 1 steve walks warily down the street with the brim pulled way down low aint no sound but the sound of his feet machine guns ready to go are you ready hey are you ready for this are you hanging on the edge of your seat out of the doorway the bullets rip to the sound of the beatanother one bites the dust another one bites the dust and another one gone and another one gone another one bites the dust hey im gonna get you too another one bites the dustverse 2 how do you think im going to get along without you when youre gone you took me for everything that i had and kicked me out on my own are you happy are you satisfied how long can you stand the heat out of the doorway the bullets rip to the sound of the beatanother one bites the dust another one bites the dust and another one gone and another one gone another one bites the dust hey im gonna get you too another one bites the dustinstrumental breakverse 3 another one bites the dust another one bites the dust another one bites the dust another one bites the dust there are plenty of ways you can hurt a man and bring him to the ground you can beat him you can cheat him you can treat him bad and leave him when hes down but im ready yes im ready for you im standing on my own two feet out of the doorway the bullets rip repeating the sound of the beatanother one bites the dust another one bites the dust and another one gone and another one gone another one bites the dust hey im gonna get you too another one bites the dust ",1
66,"games people play","the alan parsons project",1981," where do we go from here now that all other children are growin up and how do we spend our lives if theres noone to lend us a handi dont wanna live here no more i dont wanna stay aint gonna spend the rest of my life quietly fading awaygames people play you take it or you leave it things that they say honor brite if i promise you the moon and the stars would you believe it games people play in the middle of the nightwhere do we go from here now that all of the children have grown up and how do we spend our time knowin nobody gives us a damni dont wanna live here no more i dont wanna stay aint gonna spend the rest of my life quietly fading awaygames people play you take it or leave it things that they say just dont make it right if im tellin you the truth right now do you believe it games people play in the middle of the nightgames people play you take it or you leave it things that they say honor brite if i promise you the moon and the stars would you believe it games people play in the middle of the nightgames people play you take it or leave it things that they say just dont make it right if im tellin you the truth right now do you believe it games people play in the middle of the night ",1
67,"i cant stand it","eric clapton",1981," youve been told so maybe its time that you learned youve been sold maybe its time that you earnedi cant stand it youre fooling around i cant stand it youre running around i cant stand it youre fooling around with my heartill explain ifeel like im being used make it plain so you dont get confusedi cant stand it youre fooling around i cant stand it youre running around i cant stand it youre fooling around with my hearti cant stand it youre running around i cant stand it youre fooling around i cant stand it youre playing around with my heartits time time for me to let you know aint no crime no crime to let your feelings showi cant stand it youre fooling around i cant stand it youre playing around i cant stand it youre fooling around i cant stand it youre running around i cant stand it youre playing around i cant stand it youre fooling around i cant stand it youre running around i cant stand it youre running around i cant stand it running around i cant stand it youre fooling around i cant stand it playing around i cant stand it youre fooling around with my heart youre fooling around with my heart my heart running around fooling around with my heart fooling around i cant stand it running around i cant stand it fooling around i cant stand it fooling around i cant stand it fooling around i cant stand it running around i cant stand it fooling around i cant stand it running around running around running around running around running around ",1
68,"while you see a chance","steve winwood",1981," stand up in a clear blue morning until you see what can be alone in a cold day dawning are you still free can you bewhen some cold tomorrow finds you when some sad old dream reminds you how the endless road unwinds youwhile you see a chance take it find romance fake it because its all on youdont you know by now no one gives you anything and dont you wonder how you keep on moving one more day your wayand that old gray wind is blowing and theres nothing left worth knowing and its time you should be goingwhile you see a chance take it find romance fake it because its all on youwhile you see a chance take it find romance while you see a chance take it find romancewhile you see a chance take it find romance while you see a chance take it find romancewhile you see a chance take it find romance while you see a chance take it find romance ",1
69,"master blaster jammin","stevie wonder",1981," everyones feeling pretty its hotter than july though the worlds full of problems they couldnt touch us even if they tried from the park i hear rhythms marleys hot on the box tonight there will be a party on the corner at the end of the blockdidnt know you would be jammin until the break of dawn i bet you nobody ever told you that you would be jammin until the break of dawn you would be jammin and jammin and jammin jam ohthey want us to join their fighting but our answer today is to let all our worries like the breeze through our fingers slip away peace has come to zimbabwe third worlds right on the one nows the time for celebration cause weve only just begundidnt know you would be jammin until the break of dawn bet you nobody ever told you that you would be jammin until the break of dawn bet you nobody ever told you that you would be jammin until the break of dawn i know nobody told you that youwould be jammin until the break of dawn were in the middle of the makins of the master blaster jammin but gonna jammin jammin jamminyou ask me am i happy well as matter of fact i can say that im ecstatic cause we all just made a pact weve agreed to get together joined as children in jah when youre moving in the positive your destination is the brightest staryou didnt know you were in the middle of the makins would be jammin until the break of dawn of the master blaster jammin bet you nobody ever told you that you were in the middle of the makins would be jammin until the break of dawn oh you would be jammin until the break of dawn dont you stop the music no no were in the middle of the makins of the master blaster jammin were in the middle of the makins of the master blaster jammin were in the middle of the makins of the master blaster jammin i bet you if someone approaches you yesterday to tell you that you would be jammin you would not believe it because you never thought that you would be jammin oh oh oh oh were in the middle of the makins of the master blaster jammin oh oh oh you may as well believe what you are feeling because you feel your body jammin were in the middle of the makins of the master blaster jammin were in the middle of the makins of the master blaster jammin were in the middle of the makins of the master blaster jammin ",1
70,"hello again","neil diamond",1981," NA ",1
71,"dont stand so close to me","the police",1981," young teacher the subject of schoolgirl fantasy she wants him so badly knows what she wants to beinside her theres longing this girls an open page book marking shes so close now this girl is half his agedont stand dont stand so dont stand so close to me dont stand dont stand so dont stand so close to meher friends are so jealous you know how bad girls get sometimes its not so easy to be the teachers pettemptation frustration so bad it makes him cry wet bus stop shes waiting his car is warm and drydont stand dont stand so dont stand so close to me dont stand dont stand so dont stand so close to meloose talk in the classroom to hurt they try and try strong words in the staffroom the accusations flyits no use he sees her he starts to shake and cough just like the old man in that book by nabakovdont stand dont stand so dont stand so close to me dont stand dont stand so dont stand so close to medont stand dont stand so dont stand so close to me dont stand dont stand so dont stand so close to me dont stand dont stand so dont stand so close to me dont stand dont stand so dont stand so close to me dont stand dont stand so dont stand so close to me dont stand dont stand so dont stand so close to me ",1
72,"hey nineteen","steely dan",1981," way back when in sixtyseven i was the dandy of gamma chi sweet things from boston so young and willing moved down to scarsdale where the hell am ihey nineteen no we cant dance together we cant dance together no we cant talk at all please take me along when you slide on downhey nineteen thats retha franklin she dont remember the queen of soul its hard times befallen the sole survivors she thinks im crazy but im just growin oldhey nineteen no we got nothin in common we cant dance together no we cant talk at all please take me along when you slide on downsure looks good skate a little lower nowthe cuervo gold the fine columbian make tonight a wonderful thing say it again the cuervo gold the fine columbian make tonight a wonderful thing the cuervo gold the fine columbian make tonight a wonderful thingno we cant dance together no we cant talk at all ",1
73,"i aint gonna stand for it","stevie wonder",1981," dont wanna believe what theyre telling me somebodys been pickin in my cherry tree dont wanna mistrust nobody by mistake but i hear tell someones been diggin round in my cakeand i aint gonna stand for it baby and i aint gonna stand for it baby and i aint gonna stand for it baby nowand i aint gonna stand for it baby and i aint gonna stand for it baby i aint gonna stand for it baby now nowdont wanna believe what somebody said but somebody said somebodys shoes was under my bed dont wanna cause nobody no bodily harm but somebodys been rubbin on my good luck charmand i aint gonna stand for it baby and i aint gonna stand for it baby i aint gonna stand for it baby nowi aint gonna stand for it baby i aint gonna stand for it baby i aint gonna stand for it baby now nowoh my my my my my my oh my my my my my oh my my my my my my my oh my my my my my myno i aint gonna stand for it baby i aint gonna stand for it baby i aint gonna stand for it baby now yeahi aint gonna stand for it baby and i aint gonna stand for it baby no and i aint gonna stand for it baby oh no no no no no no no nonowi aint gonna stand for it baby i aint gonna stand for it baby and i aint gonna stand for it baby nowoh oh oh no no no no no no no no no oh no stand for it baby now baby ah ah ",1
74,"all those years ago","george harrison",1981," im shouting all about live while they treated you like a dog when you were the one who had made it so clear all those years ago im talking all about how to give they dont act with much honesty but you point the way to the truth when you say all you need is loveliving with good and bad i always looked up to you now were left cold and sad by someone the devils best friend someone who offended all were living in a bad dream theyve forgotten all about mankind and you were the one they backed up to the wallall those years ago you were the one who imagined it all all those years ago all those years ago all those years agodeep in the darkest night i send out a prayer to you now in the world of light where the spirit free of the lies and all else that we despised theyve forgotten all about god hes the only reason we exist yet you were the one that they said was so weird all those years ago you said it all though not many had ears all those years ago you had control of our smiles and our tears all those years ago ",1
75,"step by step","eddie rabbitt",1981," she seems a million miles away when she walks by you dont know what to say you gonna make a move you better make it now dont be afraid cause love will show you howyou take that first step ask her out and treat her like a lady second step tell her shes the one youre dreaming ofthird step take her in your arms and never let her go dont you know step by step step by step youll win her loveshe looks too beautiful to touch but your heart keeps talking to you now dont give up you think you see something in her eye but you will never know until you trybut you gotta take that first step ask her out and treat her like a lady second step tell her shes the one youre dreaming ofthird step take her in your arms and never let her go dont you know that step by step step by step youll win her lovesecond step third step dont you know step by step step by stepfirst step ask her out and treat her like a lady second step tell her shes the one youre dreaming ofthird step take her in your arms and never let her go dont you know that step by step step by step youll win her lovesecond step third step dont you know step by step step by stepfirst step ask her out and treat her like a lady second step tell her shes the one youre dreaming ofthird step take her in your arms and never let her go dont you know that step by step step by step youll win her love ",1
76,"the stroke","billy squier",1981," now everybody have you heard if youre in the game then the strokes the word dont take no rhythm dont take no style gotta thirst for killin grab your vial uhput your right hand out give a firm handshake talk to me about that one big break spread your ear pollution both far and wide keep your contributions by your side andstroke me stroke me could be a winner boy you move mighty well stroke me stroke me stroke stroke me stroke me you got your number down stroke me stroke me say youre a winner but babe youre just a sinner nowput your left foot out keep it all in place work your way right into my face first you try to bet me you make my backbone slide when you find youve bled me slip on by andstroke me stroke me give me the reason this is all night long stroke me stroke me stroke stroke me stroke me get yourself together boy stroke me stroke me say youre a winner but man youre just a sinner now stroke stroke stroke stroke stroke stroke strokebetter listen now said it aint no joke dont let your conscience fail ya just do the stroke dont ya take no chances keep your eye on top do your fancy dances you cant stop you juststroke me stroke me stroke stroke stroke me stroke me stroke stroke stroke me stroke me stroke stroke stroke me stroke me stroke do it stroke me stroke me stroke stroke me stroke me keep on stroke stroke me stroke me stroke stroke me stroke me say youre a winner but man youre just a sinner now ",1
77,"feels so right","alabama",1981," whisper to me softly breathe words upon my skin no ones near and listening so please dont say goodbye just hold me close and love me press your lips to mine mmm feels so right feels so rightlying here beside you i hear the echoes of your sighs promise me youll stay with me and keep me warm tonight so hold me close and love me give my heart a smile mmm feels so right feels so rightyour body feels so gentle and my passion rises high youre loving me so easy youre wish is my command just hold me close and love me tell me it wont end mmm feels so right feels so rightfeels so right ",1
78,"sweet baby","george duke  stanley clarke",1981,"when i think about your lovin the sunday evenings the fun we use to share looking through the memories in my mind since ive laughed and cried and thought it over now i realize that its never over only set aside oh its you sweet baby i will never be free from your embrace sweet baby only hopin its not too late to try again its you sweet baby ever always been captured by your smile sweet baby i will always be right there by your side right by your side lyin here alone im dreamin my mind keeps wanderin my thoughts are only you wanderin through the memories in my mind how could love so real have gone so empty i just keep wanderin why well i ever find the love we share to gave up you and i oh its you sweet baby though weve had such a long hard road to climb sweet baby only hopin its not too late to try again its you sweet baby wont you try and believe in what i say sweet baby i will always be right there by your side right by your side oh its you sweet baby i will never be free from your embrace sweet baby only hopin its not too late to try again its you sweet baby ever always been captured by your smile sweet baby i will always be right there by your side right by your side",3
79,"same old lang syne","dan fogelberg",1981," met my old lover in the grocery store the snow was falling christmas eve i stole behind her in the frozen foods and i touched her on the sleeveshe didnt recognize the face at first but then her eyes flew open wide she went to hug me and she spilled her purse and we laughed until we criedwe took her groceries to the checkout stand the food was totaled up and bagged we stood there lost in our embarrassment as the conversation draggedwe went to have ourselves a drink or two but couldnt find an open bar we bought a sixpack at the liquor store and we drank it in her carwe drank a toast to innocence we drank a toast to now and tried to reach beyond the emptiness but neither one knew howshe said shed married her an architect who kept her warm and safe and dry she would have liked to say she loved the man but she didnt like to liei said the years had been a friend to her and that her eyes were still as blue but in those eyes i wasnt sure if i saw doubt or gratitudeshe said she saw me in the record stores and that i must be doing well i said the audience was heavenly but the traveling was hellwe drank a toast to innocence we drank a toast to now and tried to reach beyond the emptiness but neither one knew howwe drank a toast to innocence we drank a toast to time reliving in our eloquence another auld lang synethe beer was empty and our tongues were tired and running out of things to say she gave a kiss to me as i got out and i watched her drive awayjust for a moment i was back at school and felt that old familiar pain and as i turned to make my way back home the snow turned into rain ",1
80,"cool love","pablo cruise",1981," a room full of faceless strangers here i am again then suddenly my eyes meet yours looks like i found a friendwarms up as the night wears on were both feelin good gonna take it to the end this time were gonna find out find out find out just how good it is yeahits a cool kinda love its like rain in the summertime coming downyes its a cool kinda love and cool love baby thats what its all aboutyou dont have to say you dont have to say a thing its just a feelin that happens and what that feelin bringstime aint gonna change it it aint gonna take it away its gonna keep right on goin every night and every day and every night and every day hey hey heycool kinda love like the rain in the summertime coming down yeahits a cool kinda love yes a cool love baby thats what its all about alrightits a cool kinda love its like rain in the summertime coming down yeahits a cool kinda love yes a cool love baby thats what its all aboutits a cool kinda love its a cool kinda love you know its a cool kinda love ",1
81,"hold on tight","electric light orchestra",1981," mmm hold on tight to your dream then hold on tight to your dream when you see your ship go sailin when you feel your heart is breakin hold on tight to your dream hmmmmm its a long time to be gone hold on ohh time just rolls on and on hold on hold on ooo when you need a shoulder to cry on hold on ooo when you get so sick of tryin hold on hold on tight to your dreamwhen you get so down that you cant get up and you want so much but youre all out of luck when youre so downhearted and misunderstood just over and over and over you could ohhaccrochestoi a ton reve accrochestoi a ton reve quand tu vois ton bateau partir quand tu sents  ton coeur se briser accrochestoi a ton revewhen you get so down that you cant get up and you want so much but youre all out of luck when youre so downhearted and misunderstood just over and over and over you could yeahhold on tight to your dream yeah hold on tight to your dream yeah when you see the shadows fallin when you hear that cold wind callin hold on tight to your dreamooh yeah hold on tight to your dream yeah hold on tight to your dream ",1
82,"its now or never","john schneider",1981,"its now or never come hold me tight kiss me my darlin be mine tonight tomorrow will be too late its now or never my love wont wait when i first saw you with your smile so tender my heart was captured my soul surrendered ive spent a life time waiting for the right time now that yourew near the time is here at last its now or never come hold me tight kiss me my darlin be mine tonight tomorrow will be too late its now or never my love wont wait just like a willow we could cry an ocean if we lost true love and sweet devotion youre lips excite me let youre arms invite me for who knows when well meet again this way its now or never come hold me tight kiss me my darlin be mine tonight tomorrow will be too late its now or never my love wont wait",5
83,"treat me right","pat benatar",1981," you want me to leave you want me to stay you ask me to come back you turn and walk away you want to be lovers and you want to be friends im losing my patience youre nearing the endone of these days youre gonna reach out and find the one that you count on has left you behind dont want to be no martyr with no one no say oh my my baby before its too latetreat me right treat me right open your eyes maybe youll see the lightdo you think im a fool well you better think twice ive had enough baby its time you realized that you cant have it both ways its no way to live youve done all the takin its your turn to giveone of these days youre gonna reach out and find the one that you count on has left you behind dont want to be no martyr with no one no say oh my my baby before its too latetreat me right treat me right open your eyes maybe youll see the light oh treat me rightyou want me to leave you want me to stay you ask me to come back you turn and walk away you want to be lovers and you want to be friends im losing my patience youre nearing the endtreat me right treat me right open your eyes maybe youll see the light oh treat me righttreat me right treat me right treat me right treat me right treat me right treat me right treat me right treat me right ",1
84,"winning","santana",1981," one day i was on the ground when i needed a hand then it couldnt be found i was so far down that i couldnt get up you know and one day i was one of lifes losers even my friends were my accusers in my head i lost before i beguni had a dream but it turned to dust and what i thought was love that must have been lust i was living in style when the walls fell in and when i played my hand i looked like a joker turn around fate must have woke her cause lady luck she was waiting outside the doorim winning im winning im winning im winning im winning and i dont intend losing againtoo bad it belonged to me it was the wrong time and not meant to be it took a long time and im new born now i can see the day that i bleed for if its agreed that theres a need to play the game and to win againim winning im winning im winning im winning im winning and i dont intend losing againi had a dream but it turned to dust and what i thought was love that must have been lust i was living in style when the walls fell in and when i played my hand i looked like a joker turn around fate must have woke her cause lady luck she was waiting outside the doorim winning im winning im winning im winning im winning and i dont intend losing again ",1
85,"what kind of fool","barbra streisand  barry gibb",1981,NA,NA
86,"watching the wheels","john lennon",1981," people say im crazy doing what im doing well they give me all kinds of warnings to save me from ruin when i say that im okay well they look at me kinda strange surely youre not happy now you no longer play the gamepeople say im lazy dreaming my life away well they give me all kinds of advice designed to enlighten me when i tell them that im doing fine watching shadows on the wall dont you miss the big time boy youre no longer on the ballim just sitting here watching the wheels go round and round i really love to watch them roll no longer riding on the merrygoround i just had to let it goah people ask me questions lost in confusion well i tell them theres no problem only solutions well they shake their heads and they look at me as if ive lost my mind i tell them theres no hurry im just sitting here doing timeim just sitting here watching the wheels go round and round i really love to watch them roll no longer riding on the merrygoroundi just had to let it go i just had to let it go i just had to let it go ",1
87,"tell it like it is","heart",1981," if you want something to play with go and find yourself a toy cause baby baby my time is much too expensive and im not your little boyand if you if you are serious dont go play with my heart makes me furious and if you want me to love you ooh baby i will ooh yeah i willtell it like it is oh yeah just let your conscience be your guide you know deep down inside me i believe you love me just forget your foolish pridei think life is too short for all this sorrow we might be here today gone tomorrow and might as well just get what i want i wanna live i wanna livetell it like it is dont be ashamed now let your conscience be your guide ooh yeah deep down inside me i believe you love me just forget your foolish prideoh oh ohtell it like it is oh yeah yeah yeah yeah yeah let your conscience be your guide oh oh tell it like it is baby baby i believe you love me just forget your foolish prideoh tell it like it is tell it to me baby tell it to me you gonna tell it to me right now yeah yeah tell it like it is oh tell it tell it ",1
88,"smoky mountain rain","ronnie milsap",1981,"i thumbed my way from la back to knoxville i found those bright lights aint where i belonged from a phone booth in the rain i called to tell her ive had a change of dreams im comin home but tears filled my eyes when i found out she was gone smoky mountain rain it keeps on fallin i keep on callin her name smoky mountain rain ill keep on searchin i cant go on hurtin this way shes somewhere in the smoky mountain rain i waved a diesel down outside a cafe he said that he was goin as far as gatlinburg i climbed up in the cab all wet and cold and lonely i wiped my eyes and told him about her ive got to find her can you make these big wheels burn smoky mountain rain it keeps on fallin i keep on callin her name smoky mountain rain ill keep on searchin i cant go on hurtin this way shes somewhere in the smoky mountain rain i cant blame her for lettin go a woman needs someone warm to hold i feel the rain runnin down my face ill find her no matter what it takes smoky mountain rain it keeps on fallin i keep on callin her name smoky mountain rain ill keep on searchin i cant go on hurtin this way smoky mountain rain it keeps on fallin i keep on callin her name smoky mountain rain",3
89,"i made it through the rain","barry manilow",1981," we dreamers have our ways of facin rainy days and somehow we survivewe keep the feelings warm protect them from the storm until our time arrivesthen one day the sun appears and we come shinin through those lonely yearsi made it through the rain i kept my world protected i made it through the rain i kept my point of view i made it through the rain and found myself respected by the others who got rained on too and made it throughwhen friends are hard to find and life seems so unkind sometimes you feel afraidjust aim beyond the clouds and rise above the crowds and start your own paradecause when i chased my fears away thats when i knew that i could finally sayi made it through the rain i kept my world protected i made it through the rain i kept my point of view i made it through the rain and found myself respected by the others who got rained on too and made it throughi made it through the rain i kept my world protected i made it through the rain i kept my point of view i made it through the rain and found myself respected by the others who got rained on too and made it through and made it through and made it through ",1
90,"youve lost that lovin feelin","hall  oates",1981,NA,NA
91,"suddenly","olivia newtonjohn  cliff richard",1981,NA,NA
92,"for your eyes only","sheena easton",1981," for your eyes only can see me through the night for your eyes only i never need to hide you can see so much in me so much in me thats new i never felt until i looked at youfor your eyes only only for you you see what what no one else can see now im breaking free for your eyes only only for youthe love i know you need in me the fantasy you freed in me only for you only for youfor your eyes only the nights are never cold you really know me thats all i need to know maybe im an open book because i know youre mine but you wont need to read between the linesfor your eyes only only for you you see what no one else can see now im breaking free for your eyes only only for youthe passions that collide in me the wild abandoned side of me only for you for your eyes only ",1
93,"the beach boys medley","the beach boys",1981,"the beach boys miscellaneous the beach boys medley the beach boys medley the beach boys contains excerpts from the following beach boys hits good vibrations help me rhonda i get around shut down surfin safari barbara ann surfin usa fun fun fun i i love the colorful clothes she wears and the way the sunlight plays upon her hair i hear the sound of a gentle word on the wind that lifts her perfume through the air im pickin up good vibrations shes giving me excitations good good good good vibrations oom bop bop shes giving me excitations oom bop bop excitations good good good good vibrations help me rhonda help help me rhonda help me rhonda help help me rhonda help me rhonda help help me rhonda help me rhonda help help me rhonda help me rhonda help help me rhonda help me rhonda help help me rhonda help me rhonda yeah get her out of my heart we always take my car cause its never been beat and weve never missed yet with the girls we meet none of the guys go steady cause it wouldnt be right to leave their best girl home now on saturday night i get around get around round round i get around from town to town get around round round i get around im a real cool head get around round round i get around im makin real good bread get around round round i get around i get around round ah ah ah ah ah ah ah ah round round get around i get around yeah get around ahh ooo ooo it happened on the strip where the road is wide oooo rev it up now two cool shorts standin side by side oooo rev it up now yeah my fuel injected stingray and a fourthirteen oooo rev it up now revvin up our engines and it sounds real mean oooo rev it up now tach it up tach it up buddy gonna shut you down come on surfin baby wait and see surfin safari yes im gonna surfin take you surfin surfin safariwith me come along surfin baby wait and see surfin safari yes im gonna surfin take you surfin surfin safariwith me lets go surfin now everybodys learning how come on and safari with me bar bar bar bar barbar ann bar bar bar bar barbar ann oh barbara ann take my hand bar bar bar bar barbar ann barbara ann bar bar bar bar barbar ann you got me rockin and a rollin rockin and a reelin barbara ann bar bar bar bar barbar ann lets go now if everybody had an ocean across the usa then everybodyd be surfin like california youd seem em wearing their baggies huarachi sandals too a bushy bushy blonde hairdo surfin usa well she got her daddys car and she cruised through the hamburger stand now seems she forgot all about the library like she told her old man now and with the radio blasting goes cruising just as fast as she can now and shell have fun fun fun til her daddy took the tbird away fun fun fun now that daddy took the tbird away ooowee oooweeoo fun fun fun now that daddy took the tbird away ooowee oooweeoo fun fun fun now that daddy took the tbird away repeat and fade from david hayman",3
94,"whip it","devo",1981," crack that whip give the past a slip step on a crack break your mommas backwhen a problem comes along you must whip it before the cream sets out too long you must whip it when somethings goin wrong you must whip itnow whip it into shape shape it up get straight go forward move ahead try to detect it its not too late to whip it whip it goodwhen a good time turns around you must whip it you will never live it down unless you whip it no one gets away until they whip iti say whip it whip it good i say whip it whip it goodcrack that whip give the past a slip step on a crack break your mommas backwhen a problem comes along you must whip it before the cream sets out too long you must whip it when somethings goin wrong you must whip itnow whip it into shape shape it up get straight go forward move ahead try to detect it its not too late to whip it into shape shape it up get straight go forward move ahead try to detect it its not too late to whip it well whip it good ",1
95,"modern girl","sheena easton",1981," he wakes and says hello turns on the breakfast show she fixes coffee while he takes a shower hey that was great he said i wish we could stay in bed but i got to be at work in less than an hour she manages a smile as he walks out the door shes a modern girl whos been through this movie beforeshe dont build her world round no single man but shes gettin by doin what she can she is free to be what she wants to be all she wants to be is a modern girl nanananana nanananana nanananana shes a modern girlit looks like rain again she takes the train again shes on her way again through london town where she eats a tangerine flicks through a magazine until its time to leave her dreams on the underground she walks to the office like everyone else an independent lady takin care of herselfshe dont build her world round no single man but shes gettin by doin what she can she is free to be what she wants to be all she wants to be is a modern girl nanananana nanananana nanananana shes a modern girlshes been dreaming bout him all day long as soon as she gets home its him on the telephone he asks her to dinner she says im not free tonight im gonna stay at home and watch my tvi dont build my world round no single man but im shes gettin by doin what i she can i she is am free to be what i she wants to be all i she wants to be is a modern girlnanananana nanananana nanananana shes a modern girl nanananana nanananana nanananana shes a modern girl nanananana nanananana nanananana shes a modern girl nanananana nanananana nanananana shes a modern girl nanananana nanananana nanananana ",1
96,"really wanna know you","gary wright",1981," i dont mind being lonely what i do mind is not being loved maybe youre feeling the same way too youre ready to hold some onei really wanna know you i really wanna show you the way i feel i really wanna know you i really wanna show you the way i feelsomething about you tells me were coming from the very same place its only just a notion i have i see it written over your facei really wanna know you i really wanna show you the way i feel i really wanna know you i really wanna show you the way i feel hey yeahyouve got something about you that i want around me something ive been searching my whole life through so now its up to you yeah yeah tell me what youre gonna do i wanna know yeah yeah yeah yeah yeah yeahevery time i see you its the same thing all over again youre doing something to me its true and i dont want the feeling to endi really wanna know you i really wanna show you the way i feel i really wanna know you i really wanna show you the way i feel hey yeahyouve got something about you that i want around me something ive been searching my whole life through so now its up to you yeah yeah tell me what youre gonna do i wanna know yeah yeah yeah yeah yeah yeahi really wanna know you i really wanna show you the way i feel i really wanna know you i really wanna show you the way i feel i really wanna know know know you i really wanna show show show you i really wanna know know know you yes i wanna know you yes i really wanna show you the way i feel i really wanna know you i really wanna show you the way i feel i really wanna know you yes i really wanna show you the way i feel i really wanna know you yeah yeah yeah i wanna know you ",1
97,"seven year ache","rosanne cash",1981," you act like you were just born tonight face down in a memory but feeling all right so who does your past belong to today baby you dont say nothing when youre feeling this waythe girls in the bars thinking who is this guy but they dont think nothing when theyre telling you lies you look so careless when theyre shooting that bull dont you know heartaches are heroes when their pockets are fulltell me youre trying to cure a sevenyear ache see what else your old heart can take the boys say when is he gonna give us some room the girls say god i hope he comes back sooneverybodys talking but you dont hear a thing youre still uptown on your downhill swing boulevards empty why dont you come around baby what is so great about sleeping downtownsplitting your dice to be someone youre not you say youre looking for something you mightve forgot dont bother calling to say youre leaving alone cause theres a fool on every corner when youre trying to get homejust tell em youre trying to cure a sevenyear ache see what else your old heart can take the boys say when is he gonna give us some room the girls say god i hope he comes back soontell me youre trying to cure a sevenyear ache see what else your old heart can take the boys say when is he gonna give us some room the girls say god i hope he comes back soon ",1
98,"im coming out","diana ross",1981," im coming out im coming im coming outim coming out i want the world to know got to let it show im coming out i want the world to know i got to let it showtheres a new me coming out and i just had to live and i want to give im completely positive i think this time around i am gonna do it like you never do it like you never knew it oh ill make it throughthe time has come for me to break out of the shell i have to shout that im coming outim coming out i want the world to know got to let it show im coming out i want the world to know i got to let it show im coming out i want the world to know got to let it show im coming out i want the world to know i got to let it showive got to show the world all that i want to be and all my billities theres so much more to me somehow i have to make them just understand i got it well in hand and oh how ive planned im spreadin love theres no need to fear and i just feel so glad every time i hearim coming out i want the world to know got to let it show im coming out i want the world to know i got to let it show ",1
99,"miss sun","boz scaggs",1981," been thinking bout you all night guess you got me in your spell but i think that ill be alright even if i dont get wellhey miss sun what could i say i tried to hold you but the moon got in the way it wont be long before the morning has you back in my armsi can still remember what you told me with your eyes one kiss now its down to this guess its time you realizehey miss sun what could i say i tried to hold you but the moon got in the way it wont be long before the morning has you back in my arms has you back in my armshey miss sun what could i say i tried to hold you but the moon got in the way it wont be long before the morning has you back in my arms in my armshey  miss sun what could i say i tried to hold you but the moon got in my way it wont be long before the morning has you back in my armsinaudibleone kiss is what i need one kiss give it to me it wont be long until the morning has you wont be long until the morning has you back in my armsone kiss i realize one kiss i can see it in your eyesoh it wont be long until the morning has you back in my arms ",1
100,"time is time","andy gibb",1981," time it goes on waits for nobody special in the prime of my life ill remember you livin and breathin and some misbelievin but i cant hold you women no piece of youyou were the magic my only believer my life on the line for you all that i give to youtime is time dont give me no time to waste away love is love keep me alive to my dying day now is now we capture the world and love will make it all right all righttime it goes on waits for nothing on over but i still see your sun that you shine on me giving and taking and always mistakin but ill follow you women eternallyyou were the magic my only believer my life on the line for you all that i give to youtime is time dont give me no time to waste away love is love keep me alive to my dying day now is now we capture the world and love will make it all right all rightsetting my sights in one only direction searching for romance and showing affection i guess i better know one standing in the cold dark waiting for your lovetime is time dont give me no wrong in makin love love is love turn me around till you burn me up now is now we master the world and time will make it all right all righttime is time dont give me no wrong in makin love love is love turn me around till you burn me up now is now we master the world and time will make it all right all righttime is time dont give me no wrong in makin love love is love turn me around till you burn me up now is now we master the world and time will make it all right all right  ",1
1,"physical","olivia newtonjohn",1982," im saying all the things that i know youll like making good conversation i gotta handle you just right you know what i meani took you to an intimate restaurant then to a suggestive movie theres nothing left to talk about unless its horizontallylets get physical physical i wanna get physical lets get into physical let me hear your body talk your body talk let me hear your body talklets get physical physical i wanna get physical lets get into physical let me hear your body talk your body talk let me hear your body talkive been patient ive been good tried to keep my hands on the table its gettin hard this holdin back you know what i meanim sure youll understand my point of view we know each other mentally you gotta know that youre bringin out the animal in melets get physical physical i wanna get physical lets get into physical let me hear your body talk your body talk let me hear your body talklets get physical physical i wanna get physical lets get into physical let me hear your body talk your body talk let me hear your body talklets get physical physical i wanna get physical lets get into physical let me hear your body talk your body talk let me hear your body talklets get animal animal i wanna get animal lets get into animal let me hear your body talk your body talk let me hear your body talklet me hear your body talk let me hear your body talk ",1
2,"eye of the tiger","survivor",1982," risin up back on the street did my time took my chances went the distance now im back on my feet just a man and his will to surviveso many times it happens too fast you trade your passion for glory dont lose your grip on the dreams of the past you must fight just to keep them alive    meaning  byamandah   editor    eye of the tiger served as the theme song for the 1982 film rocky iii and cowriter jim peterik recalled to the tennesean how the song came together he was    see all   its the eye of the tiger its the thrill of the fight risin up to the challenge of our rival and the last known survivor stalks his prey in the night and hes watching us all with the eye of the tigerface to face out in the heat hangin tough stayin hungry they stack the odds still we take to the street for the kill with the skill to surviveits the eye of the tiger its the thrill of the fight risin up to the challenge of our rival and the last known survivor stalks his prey in the night and hes watching us all with the eye of the tigerrisin up straight to the top had the guts got the glory went the distance now im not gonna stop just a man and his will to surviveits the eye of the tiger its the thrill of the fight risin up to the challenge of our rival and the last known survivor stalks his prey in the night and hes watching us all with the eye of the tigerthe eye of the tiger the eye of the tiger the eye of the tiger the eye of the tiger ",1
3,"i love rock n roll","joan jett and the blackhearts",1982," i saw him dancin there by the record machine i knew he must a been about seventeen the beat was goin strong playin my favorite song an i could tell it wouldnt be long till he was with me yeah me an i could tell it wouldnt be long till he was with me yeah me singini love rock n roll so put another dime in the jukebox baby i love rock n roll so come an take your time an dance with mehe smiled so i got up and asked for his name that dont matter he said cause its all the same said can i take you home where we can be alone an next we were movin on he was with me yeah me next we were movin on he was with me yeah me singini love rock n roll so put another dime in the jukebox baby i love rock n roll so come an take your time an dance with mesaid can i take you home where we can be alone next were movin on he was with me yeah me and well be movin on an singin that same old song yeah with me singini love rock n roll so put another dime in the jukebox baby i love rock n roll so come an take your time an dance with mei love rock n roll so put another dime in the jukebox baby i love rock n roll so come an take your time an dance withi love rock n roll so put another dime in the jukebox baby i love rock n roll so come an take your time an dance withi love rock n roll so put another dime in the jukebox baby i love rock n roll so come an take your time an dance withi love rock n roll so put another dime in the jukebox baby i love rock n roll so come an take your time an dance with me ",1
4,"ebony and ivory","paul mccartney and stevie wonder",1982," ebony and ivory live together in perfect harmony side by side on my piano keyboard oh lord why dont wewe all know that people are the same where ever we go there is good and bad in everyone we learn to live and we learn to give each other what we need to survive together aliveebony and ivory live together in perfect harmony side by side on my piano keyboard oh lord why dont we ebony ivory living in perfect harmony ebony ivory oohwe all know that people are the same where ever we go there is good and bad in everyone we learn to live and we learn to give each other what we need to survive together alive ",1
5,"centerfold","the j geils band",1982,"come on does she walk does she talk does she come complete my homeroom homeroom angel always pulled me from my seat she was pure like snowflakes no one could ever stain the memory of my angel could never cause me pain years go by im lookin through a girly magazine and theres my homeroom angel on the pages inbetween my blood runs cold my memory has just been sold my angel is the centerfold angel is the centerfold my blood runs cold my memory has just been sold angel is the centerfold slipped me notes under the desk while i was thinkin about her dress i was shy i turned away before she caught my eyes i was shakin in my shoes whenever she flashed those babyblues something had a hold on me when angel passed close by those soft and fuzzy sweaters too magical to touch to see her in that negligee is really just too much my blood runs cold yeah my memory has just been sold my angel is the centerfold angel is the centerfold my blood runs cold my memory has just been sold oh yeah angel is the centerfold now listen its okay i understand this aint no nevernever land i hope that when this issues gone ill see you when your clothes are on take your car yes we will well take your car and drive it well take it to a motel room and take em off in private a part of me has just been ripped the pages from my mind are stripped oh no i cant deny it oh yea i guess i gotta buy it my blood runs cold my memory has just been sold my angel is the centerfold angel is the centerfold my blood runs cold my memory has just been sold my angel is the centerfold all right all right one two three four my blood runs cold my memory has just been sold my angel is the centerfold angel is the centerfold my blood runs cold oh yeah my memory has just been sold my angel is the centerfold my angel is the centerfold",3
6,"dont you want me","the human league",1982," you were working as a waitress in a cocktail bar when i met you i picked you out i shook you up and turned you around turned you into someone newnow five years later on youve got the world at your feet success has been so easy for you but dont forget its me who put you where you are now and i can put you back there toodont dont you want me you know i cant believe it when i hear that you wont see me dont dont you want me you know i dont believe you when you say that you dont need me its much to late to find when you think youve changed your mind youd better change it back or we will both be sorry dont you want me baby dont you want me oh dont you want me baby dont you want me ohi was working as a waitress in a cocktail bar that much is true but even then i knew id find a much better place either with or without youthe five years we have had have been such good times i still love you but now i think its time i live my life on my own i guess its just what i must dodont dont you want me you know i cant believe it when i hear that you wont see me dont dont you want me you know i dont believe you when you say that you dont need me its much to late to find when you think youve changed your mind youd better change it back or we will both be sorry dont you want me baby dont you want me oh dont you want me baby dont you want me ohdont you want me baby dont you want me oh dont you want me baby dont you want me oh dont you want me baby dont you want me oh dont you want me baby dont you want me oh dont you want me baby dont you want me oh dont you want me baby dont you want me oh dont you want me baby ",1
7,"jack  diane","john cougar",1982,"a little ditty bout jack and diane two american kids growing up in the heartland jack hes gonna be a football star diane debutante back seat of jackys car suckin on chilli dogs outside the tastee freeze diane sitting on jackys lap got his hands between her knees jack he says hey diane lets run off behind a shady tree dribble off those bobby brooks let me do what i please saying oh yeah life goes on long after the thrill of living is gone sayin oh yeah life goes on long after the thrill of living is gone now walk on jack he sits back collects his thoughts for a moment scratches his head and does his best james dean well now then there diane we ought to run off to the city diane says baby you aint missing a thing but jack he says oh yeah life goes on long after the thrill of living is gone oh yeah he says  life goes on long after the thrill of living is gone oh let it rock let it roll let the bible belt come and save my soul holdin on to sixteen as long as you can change is coming round real soon make us woman and man oh yeah life goes on long after the thrill of living is gone oh yeah were sayin  life goes on long after the thrill of living is gone a little ditty bout jack and diane two american kids doin the best they can",3
8,"hurts so good","john cougar",1982,"john cougar mellencamp miscellaneous hurts so good hurts so good john cougar mellencamp john cougar mellencampgm green when i was a young boy said put away those young boy ways now that im gettin older so much older i love all those young boy days with a girl like you with a girl like you lord knows there are things we can do baby just me and you come on and make it chorus hurt so good come on baby make it hurt so good sometimes love dont feel like it should you make it hurt so good dont have to be so exciting just tryin to give myself a little bit of fun yeah you always look so invitin you aint as green as you are young hey baby its you come on girl now its you sink your teeth right through my bones baby lets see what we can do come on and make it chorus i aint talkin no big deals i aint made no plans myself i aint talkin no high heels maybe we could walk around all day long walk around all day long chorus twice hey hey",3
9,"abracadabra","steve miller band",1982," i heat up i cant cool down you got me spinnin round and round round and round and round it goes where it stops nobody knowsevery time you call my name i heat up like a burnin flame burnin flame full of desire kiss me baby let the fire get higherabraabracadabra i want to reach out and grab ya abraabracadabra abracadabrayou make me hot you make me sigh you make me laugh you make me cry keep me burnin for your love with the touch of a velvet gloveabraabracadabra i want to reach out and grab ya abraabracadabra abracadabrai feel the magic in your caress i feel magic when i touch your dress silk and satin leather and lace black panties with an angels facei hear the magic in your eyes i see magic in your sighs just when i think im gonna get away i hear those words that you always sayabraabracadabra i want to reach out and grab ya abraabracadabra abracadabraevery time you call my name i heat up like a burnin flame burnin flame full of desire kiss me baby let the fire get higheri heat up i cant cool down my situation goes round and round i heat up i cant cool down my situation goes round and round i heat up i cant cool down my situation goes round and round ",1
10,"hard to say im sorry","chicago",1982," everybody needs a little time away i heard her say from each other even lovers need a holiday far away from each otherhold me now its hard for me to say im sorry i just want you to stayafter all that weve been through i will make it up to you i promise to and after all thats been said and done youre just the part of me i cant let gocouldnt stand to be kept away just for the day from your body wouldnt wanna be swept away far away from the one that i lovehold me now its hard for me to say im sorry i just want you to knowhold me now i really want to tell you im sorry i could never let you goafter all that weve been through i will make it up to you i promise to and after all thats been said and done youre just the part of me i cant let goafter all that weve been through i will make it up to you i promise toyoure gonna be the lucky onewhen we get there gonna jump in the air no one will see us cause theres nobody there after all you know we really dont care hold on im gonna take you there ",1
11,"tainted love","soft cell",1982," sometimes i feel ive got to run away ive got to get away from the pain that you drive into the heart of me the love we share seems to go nowhere and ive lost my light for i toss and turn i cant sleep at nightonce i ran to you i ran now ill run from you this tainted love youve given i give you all a boy could give you take my tears and thats not nearly all oh tainted love tainted lovenow i know ive got to run away ive got to get away you dont really want it any more from me to make things right you need someone to hold you tight and youll think love is to pray but im sorry i dont pray that wayonce i ran to you i ran now ill run from you this tainted love youve given i give you all a boy could give you take my tears and thats not nearly all oh tainted love tainted love ",1
12,"chariots of fire","vangelis",1982," chariots of fire are on my waychariots of fire are the besti love chariots of firechariots chariots chariots chariots of fire ",1
13,"harden my heart","quarterflash",1982," cryin on the corner waiting in the rain i swear ill never ever wait again you gave me your word but words for you are lies darlin in my wildest dreams i never thought id go but its time to let you know ohchorus im gonna harden my heart im gonna swallow my tears im gonna turn and leave you hereall of my life ive been waiting in the rain ive been waiting for a feeling that never ever came it feels so close but always disappears darlin in your wildest dreams you never had a clue but its time you got the newsrepeat chorus im gonna harden my heart im gonna swallow my tears im gonna turn and leave you heredarlin in my wildest dreams i never thought id go but its time to let you know oh im gonna harden my heart im gonna swallow my tears im gonna turn and leave you hereim gonna harden my heart im gonna swallow my tears im gonna harden my heart im gonna swallow my tears harden my heart im gonna swallow my tears no oh o o harden my heart im gonna harden my heart im gonna swallow my tears im gonna harden my heart im gonna swallow my tears harden my heart harden my heart swallow my tears ",1
14,"rosanna","toto",1982," all i wanna do when i wake up in the morning is see your eyes rosanna rosanna i never thought that a girl like you could ever care for me rosannaall i wanna do in the middle of the evening is hold you tight rosanna rosanna i didnt know you were looking for more than i could ever benot quite a year since she went away rosanna yeah now shes gone and i have to stay meet you all the way meet you all the way rosanna yeah meet you all the way meet you all the way rosanna yeahi can see your face still shining through the window on the other side rosanna rosanna i didnt know that a girl like you could make me feel so sad rosannaall i wanna tell you is now youll never ever have to compromise rosanna rosanna i never thought that losing you could ever hurt so badnot quite a year since she went away rosanna yeah now shes gone and i have to stay meet you all the way meet you all the way rosanna yeah meet you all the way meet you all the way rosanna yeahnot quite a year since she went away rosanna yeah now shes gone and i have to stay meet you all the way meet you all the way rosanna yeah meet you all the way meet you all the way rosanna yeah meet you all the way meet you all the way rosanna yeah meet you all the way meet you all the way rosanna yeah ",1
15,"i cant go for that no can do","daryl hall  john oates",1982,"easy ready willing overtime where does it stop where do you dare me to draw the line you got the body now you want my soul dont even think about it say no go yeah i ill do anything that you want me to yeah i ill do almost anything that you want me to ooh yeah but i cant go for that no no can do i cant go for that no no can do i cant go for that no no can do i cant go for that cant go for that cant go for that cant go for that i can go for being twice as nice i can go for just repeating the same old lines use the body now you want my soul ooh forget about it now say no go yeah i ill do anything that you want me to yeah i ill do almost anything that you want me to ooh yeah but i cant go for that no no can do i cant go for that no no can do i cant go for that no no can do i cant go for that cant go for that cant go for that cant go for that yeah yeah i ill do anything that you want me to yeah i ill do almost anything that you want me to ooh yeah but i cant go for that no no can do i cant go for that no no can do i cant go for that no no can do i cant go for that cant go for that cant go for that cant go for that yeah i cant go for that no no no no no i cant go for that no can do i cant go for that no no no no no i cant go for that no can do i cant go for that no no no no no i cant go for that no can do i cant go for that no no no no no",5
16,"8675309jenny","tommy tutone",1982,NA,NA
17,"key largo","bertie higgins",1982," wrapped around each other trying so hard to stay warm that first cold winter together lying in each others armswatching those old movies falling in love so desperately honey i was your hero and you were my leading ladywe had it all just like bogie and bacall starring in our old late late show sailing away to key largoheres looking at you kid missing all the things we did we can find it once again i know just like they did in key largohoney cant you remember we played all the parts that sweet scene of surrender when you gave me your heartplease say you will play it again cause i love you still baby this cant be the endwe had it all just like bogie and bacall starring in our old late late show sailing away to key largoheres looking at you kid missing all the things we did we can find it once again i know just like they did in key largowe had it all just like bogie and bacall starring in our old late late show sailing away to key largo ",1
18,"you should hear how she talks about you","melissa manchester",1982," shes so very nice you should break the ice let her know that shes on your mind whatcha tryin to hide when you know inside shes the best thing youll ever findahh cant you see it dont you think shes feeling the same ahh i guarantee it shes the one whos calling your nameyou should hear how she talks about you you should hear what she says she says she would be lost without you shes half out of her head out of her headyou should hear how she talks about you she just cant get enough she says she would be lost without you she is really in love shes in love with you boyi aint tellin tales anybody else could repeat the things that ive heard heard shes been talkin sweet and its on the street how a girl being spreadin the wordahh you should hurry you should let her know how you feel ahh now dont you worry se gets scared that love is for realyou should hear how she talks about you you should hear what she says she says she would be lost without you shes half out of her head out of her headyou should hear how she talks about you she is really in love she is really in loveahh you should hurry you should let her know how you feel ahh now dont you worry if youre scared that love is for realyou should hear how she talks about you you should hear what she says she says she would be lost without you shes half out of her head out of her headyou should hear how she talks about you she just cant get enough she says she would be lost without you she is really in love she is really in lovetalk talk talk talk talk talk talk talk talk talk cantcha see cantcha see its me who what you said what you saidyou should hear how she talks about you you should hear what she says what she says she says she would be lost without you shes half out of her head out of her headyou should hear how she talks about you she just cant get enough get enough she says she would be lost without you she is really in love really in loveyou should hear how she talks about you you should hear what she says what she says she says she would be lost without you shes half out of her head out of her headyou should hear how she talks about you ",1
19,"waiting for a girl like you","foreigner",1982," so long ive been looking too hard ive been waiting too long sometimes i dont know what i will find i only know its a matter of time when you love someone when you love someone it feels so right so warm and true i need to know if you feel it too maybe im wrong wont you tell me if im coming on too strong this heart of mine has been hurt before this time i wanna be sure ive been waiting for a girl like you to come into my life ive been waiting for a girl like you and a love that will survive ive been waiting for someone new to make me feel alive yeah waiting for a girl like you to come into my life youre so good when we make love its understood its more than a touch or a word can say only in dreams could it be this way when you love someone yeah really love someone now i know its right from the moment i wake up till deep in the night theres nowhere on earth that id rather be than holding you tenderly ive been waiting for a girl like you to come into my life ive been waiting for a girl like you and a love that will survive ive been waiting for someone new to make me feel alive yeah waiting for a girl like you to come into my life ive been waiting waiting for you ooh ive been waiting ive been waiting ive been waiting for a girl like you ive been waiting wont you come into my life ",1
20,"dont talk to strangers","rick springfield",1982," when you were just a young girl and still in school how come you never learned the golden rule dont talk to strange men dont be a fool im hearing stories i dont think thats coolwhy dont you tell me someone is loving you cause youre my girl some say its no longer true youre seeing some slick continental dude im begging you pleasedont talk to strangers baby dont you talk dont talk to strangers you know hell only use you up dont talk dont talk dont talk dont talk dont talk to him nobody talk nobody ever told younow tell me hows life in the big city i hear the competitions tough baby thats a pity and every mans an actor every girl is pretty i dont like whats getting back to menow whos this don juan ive been hearing of love hurts when only ones in love did you fall at first sight or did you need a shove im begging you pleasedont talk to strangers baby dont you talk dont talk to strangers you know hell only use you up dont talk dont talk dont talk dont talk dont talk to him nobody talk nobody ever told youfais lamour avec moi whats he saying baby viens dormir mon amour i asked you not to talk to him je taime donne moi ton coeur ce soir im begging youdont talk to strangers baby dont you talk dont talk to strangers you know hell only use you up dont talk dont talk dont talk dont talk dont talk to him nobody talk nobody ever told youdont talk to strangers baby dont you talk dont talk to strangers you know hell only use you up dont talk to strangers baby dont you dont talk to strangers baby dont you talkdont talk to strangers dont talk to strangers dont talk to strangers ",1
21,"the sweetest thing ive ever known","juice newton",1982," when i see you in the morning that old sleep still in your eyes i remember all the laughter and the tears we shared last nightand as we lie here just two shadows in the light before the dawn the sweetest thing ive ever known is loving youand i have never been afraid of losing and i have never wanted love to be a chain i only know that when im with you youre my sunshine youre my rain the sweetest thing ive ever known is loving younow you and i were not children we have both been loved before we have given and we have taken many rides on troubled shoresand all the heartaches and temptations only make me love you more the sweetest thing ive ever known is loving youand i have never been afraid of losing and i have never wanted love to be a chain i only know that when im with you youre my sunshine youre my rain the sweetest thing ive ever known is loving youthe sweetest thing ive ever known is loving you ",1
22,"always on my mind","willie nelson",1982," maybe i didnt love you quite as often as i could have and maybe i didnt treat you quite as good as i should have if i made you feel second best girl im sorry i was blindyou were always on my mind you were always on my mindand maybe i didnt hold you all those lonely lonely times i guess i never told you i am so happy that youre mine little things i should have said and done i just never took the time you were always on my mind you were always on my mindtell me tell me that your sweet love hasnt died and give me give me one more chance to keep you satisfied ill keep you satisfiedlittle things i should have said and done i just never took the time you were always on my mind you were always on my mind you were always on my mindyou were always on my mind you were always on my mind you were always on my mind ",1
23,"shake it up","the cars",1982," uh well dance all night play all day dont let nothin get in the way dance all night keep the beat dont you worry bout two left feetshake it up shake it up oo yeah shake it up shake it updance all night and get real loose you dont need no bad excuse dance all night with anyone dont let nobody pick your funshake it up oo oo shake it up yeah yeah shake it up oo oo shake it upthats right i said dance all night go go go dance all night get real low go all night get real hot well shake it up now all youve got woodance oo danceuh well dance all night and whirl your hair make the night cats stop and stare dance all night go to work do the move with a quirky jerkjust shake it up oo oo shake it up oo yeah shake it up shake it upuh well dance all night go go go get so light get real low dance all night get real hot shake it up with all youve got wooshake it up make a scene let them know what you really mean and dance all night keep the beat and dont you worry bout two left feetjust shake it up oo oo shake it up oo oo yeah shake it up oo oo shake it up oh yeahshake it up shake it up babe shake it up oo oo shake it up shake it up babe shake it up oo ooshake it up shake it up yeah yeah shake it up oo oo shake it up shake it up shake it up babe shake it up oo oo ",1
24,"let it whip","dazz band",1982," wanna see you with it sure could treat you right give me just a minute of your time tonightwe both are here to have the fun so let it whipi know youre into groovin love your body language baby let me know you got me sorta anxiouswe both are here to have the fun so let it whipso let it whip lets whip it baby child lets whip it right get a grip lets whip it baby whip it all night well whats your trip oh no child cmon let it whip cmon whip cmon whipnow that you can see how you groove with me what else can i do to get closer to youwe both are here to have the fun so let it whipwe have the natural feeling obviously revealing let me be your paper man id love to be your joker manwe both are here to have the fun so let it whipso let it whip lets whip it baby child lets whip it right get a grip lets whip it baby whip it all night well whats your trip oh no child cmon let it whip cmon whip ohhh cmon whiptheres no time to lose there is no time to lose youre the one i choose its alright youre the one i choose i only wanna be with you youre the one for me cant you see that i i wont waste your time i wont waste your time i sense something divine in you something divine in you yes i do ooohhoohooso let it whip lets whip it baby child lets whip it right get a grip lets whip it baby whip it all night well whats your trip oh no child cmon let it whip cmon whip cmon whiplets whip it baby lets whip it right lets whip it baby whip it all nightcmon whip cmon whiptheres no time to lose there is no time to lose youre the one i choose its alright hey youre the one i choose i only wanna be with you youre the one for me cant you see that i i wont waste your time i wont waste your time i sense something divine in you something divine in you yes i do ooohhoohooso let it whip lets whip it baby child lets whip it right get a grip lets whip it baby whip it all night well whats your trip oh no child cmon let it whip cmon whip cmon whipso let it whip lets whip it baby child fade ",1
25,"we got the beat","the gogos",1982," see the people walking down the street fall in line just watching all their feet they dont know where they want to go but theyre walking in timethey got the beat they got the beat they got the beat yeah they got the beatall the kids just getting out of school they cant wait to hang out and be cool hang around til quarter after twelve thats when they fall in linethey got the beat they got the beat kids got the beat yeah kids got the beatgogo music really makes us dance do the pony puts us in a trance do the watusi just give us a chance thats when we fall in linecause we got the beat we got the beat we got the beat yeah we got itwe got the beat we got the beat we got the beat everybody get on your feet we got the beat we know you can dance to the beat we got the beat jumpin get down we got the beat round and round and roundwe got the beat we got the beat we got the beat we got the beat we got the beat we got the beat we got the beat we got the beat we got the beat we got the beat we got the beat we got the beat we got the beat we got the beat ",1
26,"the other woman","ray parker jr",1982,"a good song and a love affair go hand in hand together when you think youve gotten over one the other holds on to your forever ive tried hard to forget to forget love ever lovin you but just when ive convinced myself its over with then i hear that old song that they used to play that old song on the radio just about every day and whenever i hear it all i can do is reminisce about lovin you that old song that they still play that old song keeps me longin for the good old days the lyric and the melody melody remindin me how in love we used to be i shouldnt be tellin you this i know that im out of place out of place but when i love another woman i can still see your face baby maybe this is a sign for us we should get back to try and get back together you cant imagine that those memories those memories do to me every time i hear that old song that they used to play that old song on the radio just about every day whenever i hear it all i can do is reminisce about lovin you that old song that they still play that old song keeps me longin for the good old days the lyric and the melody melody remindin me how in love we used to be that old song think of you and me every time i hear that song i recall the good times when i hear that song that song that song makin me realize that i want you back girl every time i hear that song keep on playin that old song keep on playin that old song ooh when i hear that song keep on playin that old song it reminds me of a love so strong mmm mr dj would you please play keep on playin that old song that old songaca",5
27,"turn your love around","george benson",1982," youve got the love youve got the power but you just dont understand girl youve been charging by the hour for your loveim tryin to show how much i love you still believin in romance youre taking way too many chances with my lovei remember when you used to be the talk of the town all you get is lonelyturn your love around dont you turn me down i can show you how turn your love aroundwithout the woman i can make it but i need the girl to stay oh dont you let the lady take it all awaywhen the woman needs a taste of the yesterday but he stays at home all they get is lonelyturn your love around dont you turn me down i can show you how turn your love aroundoh girl you know me im alone until you show me that youre still in love with me were gonna make it were gonna take it back where we belongturn your love around dont you turn me down i can show you how turn your love aroundturn your love around this time the girl became a woman dont you turn me down every woman needs a man i can show you how i love the girl i love the woman turn your love aroundturn your love around this time the girl became a woman dont you turn me down every woman needs a man i can show you how i love the girl i love the woman turn your love aroundturn your love around this time the girl became a woman dont you turn me down every woman needs a man i can show you how ",1
28,"sweet dreams","air supply",1982," this is the time when you need a friend you just need someone near im not looking forward to the night ive will spend thinking of you when youre not here how many times will i think about the things id like to do always denied the right to live my life the way i want i want to share it with youclose your eyes i want to ride the skies in my sweet dreams close your eyes i want to see you tonight in my sweet dreamsi think of your kiss as the days roll by and ill write the words you love and what i cant say in a letter will just have to wait till i get home theres not much time to tell you half the things i should only that im so glad i fell in love with you and id do it again if i couldclose your eyes i want to ride the skies in my sweet dreams close your eyes i want to see you tonight in my sweet dreams close your eyes i want to ride the skies in my sweet dreams close your eyes i want to see you tonight in my sweet dreamssleep like a child resting deep you dont know what you give me i keep for these moments aloneclose your eyes i want to ride the skies in my sweet dreams close your eyes i want to see you tonight in my sweet dreams close your eyes i want to ride the skies in my sweet dreams close your eyes i want to see you tonight in my sweet dreamsclose your eyes i want to ride the skies in my sweet dreams close your eyes i want to see you tonight in my sweet dreams close your eyes i want to ride the skies in my sweet dreams close your eyes i want to see you tonight in my sweet dreams ",1
29,"only the lonely","the motels",1982," we walked the loneliest mile we smile without any style we kiss all together wrong no intentionwe lie about each others drinks we live without each other thinking what anyone would do without me and youits like i told you only the lonely can playso hold on here we go hold on to nothin we know i feel so lonely way up hereyou mention the time we were together so long ago well i dont remember all i know is it makes me feel good nowits like i told you only the lonely can play only the lonely only the lonely can playonly the lonely only the lonely can play its like i told you only the lonely can play only the lonely only the lonely can play ",1
30,"who can it be now","men at work",1982," who can it be knocking at my door go way dont come round here no more cant you see that its late at night im very tired and im not feeling rightall i wish is to be alone stay away dont you invade my home best off if you hang outside dont come in ill only run and hidewho can it be now who can it be now who can it be now who can it be nowwho can it be knocking at my door make no sound tiptoe across the floor if he hears hell knock all day ill be trapped and here ill have to stayive done no harm i keep to myself theres nothing wrong with my state of mental health i like it here with my childhood friend here they come those feelings againwho can it be now who can it be now who can it be now who can it be nowis it the man come to take me away why do they follow me its not the future that i can see its just my fantasyoh who can it be now who can it be now who can it be now who can it be nowoh who can it be now oh yeah who can it who can it oh who can it be now oh yeah yeah yeah ",1
31,"hold me","fleetwood mac",1982," can you understand me baby dont you hand me a line although it doesnt matter you and me got plenty of timetheres nobody in the future so baby let me hand you my love oh theres no step for you to dance to so slip your hand inside of my glovehold me hold me hold me hold me hold me hold mei dont want no damage but how am i gonna manage with you you hold the percentage but im the fool payin the duesim just around the corner if you got a minute to spare ill be waitin for ya if you ever want to be therehold me hold me hold me hold me hold me hold me hold me hold me hold me hold me hold me hold mehold me hold me hold me hold me hold me hold me hold me hold me hold me hold me hold me hold me hold me hold me hold me hold me hold me hold me hold me hold me hold me hold me hold me hold me ",1
32,"eye in the sky","the alan parsons project",1982," dont think sorrys easily said dont try turnin tables instead youve taken lots of chances before but i aint gonna give anymoredont ask me thats how it goes cause part of me knows what youre thinkindont say words youre gonna regret dont let the fire rush to your head ive heard the accusation before and i aint gonna take any morebelieve me the sun in your eyes made some of the lies worth believingi am the eye in the sky looking at you i can read your mind i am the maker of rules dealing with fools i can cheat you blindand i dont need to see any more to know thati can read your mind looking at you i can read your mind looking at youi can read your mind looking at you i can read your minddont leave false illusion behind dont cry i aint changing my mind so find another fool like before cause i aint gonna live anymorebelieving some of the lies while all of the signs are deceivingi am the eye in the sky looking at you i can read your mind i am the maker of rules dealing with fools i can cheat you blindand i dont need to see any more to know thati can read your mind looking at you i can read your mind looking at youi can read your mind looking at you i can read your mindi am the eye in the sky looking at you i can read your mind i am the maker of rules dealing with fools i can cheat you blindand i dont need to see any more to know thati can read your mind looking at you i can read your mind looking at youi can read your mind looking at you i can read your mind ",1
33,"lets groove","earth wind  fire",1982,"refrain let this groove get you to move its alright alright alright let this groove set in your shoes stand up alright alright gonna tell you what you can do with my love alright let you know girl youre looking good youre out of sight and alright just move yourself and glide like a 747 and lose yourself in the sky among the clouds in the heavens let this groove light up your fuse its alright alright alright let this groove set in your shoes stand up alright let me tell you what you can do with my love its alright alright gotta let you know girl youre looking good youre out of sight youre alright tell the dj to play your favorite tune then you know its okay what you found is happiness now let this groove get of mind to move alright let this groove set in your shoes stand up alright you will find peace of mind on the floor take a little time come and see you and me make a little sign ill be there after awhile if you want my love we can boogie on down down down down lets groove tonight share the spice of life baby slice it right were gonna groove tonight",5
34,"open arms","journey",1982," lying beside you here in the dark feeling your heartbeat with mine softly you whisper youre so sincere how could our love be so blind we sailed on together we drifted apart and here you are by my sideso now i come to you with open arms nothing to hide believe what i say so here i am with open arms hoping youll see what your love means to me open armsliving without you living alone this empty house seems so cold wanting to hold you wanting you near how much i wanted you homenow that youve come back turned night into day i need you to stay ",1
35,"leader of the band","dan fogelberg",1982," an only child alone and wild a cabinet makers son his hands were meant for different work and his heart was known to none he left his home and went his lone and solitary way and he gave to me a gift i know i never can repaya quiet man of music denied a simpler fate he tried to be a soldier once but his music wouldnt wait he earned his love through discipline a thundering velvet hand his gentle means of sculpting souls took me years to understandthe leader of the band is tired and his eyes are growing old but his blood runs through my instrument and his song is in my soul my life has been a poor attempt to imitate the man im just a living legacy to the leader of the bandmy brothers lives were different for they heard another call one went to chicago and the other to st paul and im in colorado when im not in some hotel living out this life ive chose and come to know so welli thank you for the music and your stories of the road i thank you for the freedom when it came my time to go i thank you for the kindness and the times when you got tough and papa i dont think i said i love you near enoughthe leader of the band is tired and his eyes are growing old but his blood runs through my instrument and his song is in my soul my life has been a poor attempt to imitate the man im just a living legacy to the leader of the band i am the living legacy to the leader of the band ",1
36,"leather and lace","stevie nicks and don henley",1982," is love so fragile and the heart so hollow shatter with words impossible to follow youre saying im fragile i try not to be i search only for something i cant seei have my own life and i am stronger than you know but i carry this feeling when you walked into my house that you wont be walking out the door still i carry this feeling when you walked into my house that you wont be walking out the doorlovers forever face to face my city your mountains stay with me stay i need you to love me i need you today give to me your leather take from me my laceyou in the moonlight with your sleepy eyes could you ever love a man like me and you were right when i walked into your house i knew id never want to leave sometimes im a strong man sometimes cold and scared and sometimes i cry but that time i saw you i knew with you to light my nights somehow id get bylovers forever face to face my city your mountains stay with me stay i need you to love me i need you today give to me your leather take from me my lacelovers forever face to face my city your mountains stay with me stay i need you to love me i need you today give to me your leather take from me my lace but take from me my lace take from me my lace ",1
37,"even the nights are better","air supply",1982," i i was the lonely one wondering what went wrong why love had gone and left me lonelyi i was so confused feeling like id just been used then you came to me and my loneliness left mei use to think i was tied to a heartache that was the heartbreak but now that ive found youeven the nights are better now that were here together even the nights are better since i found youeven the days are brighter when someone you loves beside you even the nights are better since i found youyou you knew just what to do cause you had been lonely too and you showed me how to ease the painand you did more than mend a broken heart cause now youve made a fire start and i i can see that you feel the same wayi never dreamed thered be someone to hold me until you told me and now that ive found youeven the nights are better now that were here together even the nights are better since i found youeven the days are brighter when someone you loves beside you even the nights are better since i found youi never dreamed thered be someone to hold me until you told me and now that ive found youeven the nights are better now that were here together even the nights are better since i found youeven the days are brighter when someone you loves beside you even the nights are better since i found youeven the nights are better now that were here together even the nights are better since i found you ",1
38,"ive never been to me","charlene",1982," hey lady you lady cursin at your life youre a discontented mother and a regimented wife ive no doubt you dream about the things you never do but i wish someone had a talk to me like i wanna talk to you ooh ive been to georgia and california and anywhere i could run took the hand of a preacherman and we made love in the sun but i ran out of places and friendly faces because i had to be freeive been to paradise but ive never been to meplease lady please lady dont just walk away cause i have this need to tell you why im all alone today i can see so much of me still living in your eyes wont you share a part of a weary heart that has lived a million lies oh ive been to nice and the isle of greece where i sipped champagne on a yacht i moved like harlow in monte carlo and showed em what ive got ive been undressed by kings and ive seen some things that a woman aint sposed to seeive been to paradise but ive never been to mehey you know what paradise is its a lie a fantasy we create about people and places as wed like them to be but you know what truth is its that little baby youre holding and its that man you fought with this morning the same one youre going to make love with tonight thats truth thats lovesometimes ive been to cryin for unborn children that might have made me complete but i i took the sweet life and never knew id be bitter from the sweet i spent my life exploring the subtle whoring that cost too much to be freehey lady ive been to paradise but ive never been to meive been to paradise  never been to me ive been to georgia and california and anywhere i could run ive been to paradise  never been to me ive been to nice and the isle of greece while i sipped champagne on a yacht ive been to paradise  never been to me ive been to cryin for unborn children  fade ",1
39,"65 love affair","paul davis",1982," i was a car hop you were into the bebop you sang dowopdiddy wopdiddy wopdoo all of them changes you put me throughif i could go back again well i know id never let you go back with all of my friends to that wonderful65 love affair we wasnt gettin nowhere but we didnt care it was a crazy 65 love affair rock n roll was simple and clear oh i still can hear i can hear it baby yeahwell i acted like a dumdum you were bad with your pompoms we said oohwah go team oohwah go oohee baby i want you to knowif i could go back in time well i know somehow youd still be mine i wouldnt be so blind to that wonderful65 love affair when rock n roll was simple and clear oh i still can hear i can hear it babywell i tried to make you give in one night at the drivein you said ohno baby ohno whoo all of them changes you put me throughif i could go back in time well i know somehow youd still be mine i wouldnt be so blind to that wonderful65 love affair we wasnt goin nowhere but we didnt care it was a crazy 65 love affair rock n roll was simple and clear oh i still can hear i can hear it babywe sang dowopdiddy wopdiddy wopdoo dowopdiddy wopdiddy wopdoo dowopdiddy wopdiddy wopdoo dowopdiddy wopdiddy wopdoodowopdiddy wopdiddy wopdoo dowopdiddy wopdiddy wopdoo dowopdiddy wopdiddy wopdoo dowopdiddy wopdiddy wopdoo dowopdiddy wopdiddy wopdooif i could go back again well i know our love would never end back with all of my friends to that wonderful65 love affair rock n roll was simple and clear oh i still can hear i can hear it baby 65 love affair we wasnt goin nowhere but we didnt care ",1
40,"heat of the moment","asia",1982," i never meant to be so bad to you one thing i said that i would never do a look from you and i would fall from grace and that would wipe this smile right from my facedo you remember when we used to dance and incidence arose from circumstance one thing lead to another we were young and we would scream together songs unsungit was the heat of the moment telling me what your heart meant the heat of the moment shone in your eyesand now you find yourself in eighty two the disco hot spots hold no charm for you you cant concern yourself with bigger things you catch the pearl and ride the dragons wingscause its the heat of the moment heat of the moment the heat of the moment shone in your eyesand when your looks are gone and youre alone how many nights you sit beside the phone what were the things you wanted for yourself teenage ambition you remember wellit was the heat of the moment telling me what your heart meant the heat of the moment shone in your eyesit was the heat of the moment the heat of the moment heat of the moment shone in your eyesheat of the moment heat of the moment heat of the moment heat of the moment ",1
41,"take it easy on me","little river band",1982," it used to be so easy to be your lover we wandered through the days like they had no end but now that you are gone im under cover i just cant think about you as a friendtake it easy on me it should be easy to see im getting lost in the crowd hear me cryin out loudjust want you to know i know that you have to go its all up to you but whatever you do take it easy on meso now ill go the minstrel road without i know there will be times when i need you there and each night as i sing those songs about you ill think back to the time when you used to caretake it easy on me it should be easy to see im getting lost in the crowd hear me cryin out loudjust want you to know i know that you have to go its all up to you but whatever you dotake it easy on me oh baby dont leave me cryin it should be easy to see ive needed you for so long just one more chance with you one more chance will you take a chance come on and take a chancetake it easy on me it should be easy to see im getting lost in the crowd hear me cryin out loudjust want you to know i know that you have to go its all up to you but whatever you do take it easy on me its still up to you but whatever you do take it easy on me ",1
42,"pacman fever","buckner  garcia",1982,NA,NA
43,"that girl","stevie wonder",1982," that girl thinks that shes so fine that soon shell have my mind that girl thinks that shes so smart that soon shell have my heart she thinks in no time flat that shell be free and clear to start with her emotional rescued love that youll leave torn apartthat girl thinks that shes so bad shell change my tears to joy from sad she says she keeps the upper hand cause she can please her man she doesnt use her love to make him weak she uses love to keep him strong and inside me theres no room for doubt that it wont be too long before i tell herthat i love her that i want her that my mind soul and body need her tell her that id love to that i want to that i need to do all that i have to to win her love ive been hurting for a long time and youve been playing for a long time you know its true ive been holding for a long time and youve been running for a long time its time to do what we have to dothat girl that girl yeah yeah yeah yeah yeahthat girl knows every single man would ask her for her hand but she says her love is much too deep for them to understand she says her love has been crying out but her lover hasnt heard but what she doesnt realize is that ive listened to every word thats why i know ill tell herthat i love her that i want her that my mind soul and body needs her tell her that id love to that i want to that i need to do all that i have to to win her lovetell her i love her that i want her that my mind soul and body needs her tell her that id love to that i want to that i need to do all that i have to to win her lovetell i love her that i want her that my mind soul and body needs her tell her that id love to that i want to that i need to do all that i have to to win her lovethat i love her that i want her that my mind soul and body needs her tell her that id love to that i want to that i need to do all that i have to to win her lovethat girl that girl that girl oh that girl that girl that girl ",1
44,"private eyes","daryl hall  john oates",1982,"i see you and you see me watch you blowin the lines when youre making a scene oh girl youve got to know what my head overlooks the senses will show to my heart when its watching for lies you cant escape my private eyes theyre watching you they see your every move private eyes theyre watching you private eyes theyre watching you watching you watching you watching you you play with words you play with love you can twist it around baby that aint enough cause girl im gonna know if youre letting me in or letting me go dont lie when youre hurting inside cause you cant escape my private eyes theyre watching you they see your every move private eyes theyre watching you private eyes theyre watching you watching you watching you watching you why you try to put up a front for me im a spy but on your side you see slip on into any disguise ill still know you look into my private eyes private eyes theyre watching you they see your every move they see you private eyes theyre watching you private eyes theyre watching you private eyes theyre watching you they see your every move they see you private eyes theyre watching you private eyes theyre watching you private eyes watching you they see your every move they see you private eyes theyre watching you private eyes theyre watching you private eyes watching you they watch your every move girl oh i see you oh i see you private private private eyes girl watching you watching you they see you private eyes",3
45,"trouble","lindsey buckingham",1982," two ahthree ahfour two ahthree ahfour two ahthree ahfouri really should be saying goodnight i really shouldnt stay anymore its been so long since i held ya ive forgotten what love is fori should run on the double i think im in trouble i think im in troubleso come to me darlin and hold me let your honey keep you warm been so long since i held ya ive forgotten what love is for ",1
46,"making love","roberta flack",1982," here close to our feelings we touch again we love again remember when we thought our hearts would never mend and were all the better for each othertheres more to love i know than making lovehere no more confusion we see our lives we live our lives remember when we thought we never would survive but now neither one of us is breakingtheres more to love i know than making lovesome things never change some things sometimes doand now im feeling strong enough to let you in and now neither one of us is breaking now we know theres more to love than making love and ill remember you and making love and ill remember youand ill remember you and ill remember you and ill remember you ",1
47,"loves been a little bit hard on me","juice newton",1982," ive got nothing to be ashamed of loves been a little bit hard on me if i shy away its only because loves been a little bit hard on meloves been a little oh loves been a little loves been a little bit hard on me loves been a little you know just been a little loves been a little bit hard on menow i can remember when its been so much loves been a little bit hard on me now i shy away at the slightest touch loves been a little bit hard on meloves been a little oh you know its been a little loves been a little bit hard on me loves been a little just a little little loves been a little bit hard on mecome out come out to the hopeless romance inside shout its all right its all right to stay so dark so close to the lightcome out come out to the hopeless romance inside shout its all right its all right to stay so dark so close to the lightill be back when i calm my fears loves been a little bit hard on me and ill see you around in a thousand years loves been a little bit hard on meloves been a little you know its just been a little loves been a little bit hard on me oh love you know its just been a little loves been a little bit hard on me ",1
48,"young turks","rod stewart",1982," billy left his home with a dollar in his pocket and a head full of dreams he said somehow some way its gotta get better than this patti packed her bags left a note for her momma she was just seventeen there were tears in her eyes when she kissed her little sister goodbyethey held each other tight as they drove on through the night they were so excited we got just one shot of life lets take it while were still not afraid because life is so brief and time is a thief when youre undecided and like a fistful of sand it can slip right through your handsyoung hearts be free tonight time is on your side dont let them put you down dont let em push you around dont let em ever change your point of viewparadise was closed so they headed for the coast in a blissful manner they took a two room apartment that was jumping evry night of the week happiness was found in each others arms as expected yeah billy pierced his ears drove a pickup like a lunatic oohyoung hearts be free tonighttime is on your side dont let them put you down dont let em push you around dont let em ever change your point of viewyoung hearts be free tonight time is on your sidebilly wrote a letter back home to pattis parents tryin to explain he said were both real sorry that it had to turn out this way but there aint no point in talking when theres nobody listning so we just ran away patti gave birth to a ten pound baby boy yeahyoung hearts be free tonight time is on your side young hearts be free tonight time is on your side young hearts be free tonight time in on your sideyoung hearts gotta run free be free live free time is on time is on your side time time time time is on your side is on your side is on your side is on your side young heart be free tonight tonight tonight tonight tonight tonight yeah ",1
49,"freezeframe","the j geils band",1982,NA,NA
50,"keep the fire burnin","reo speedwagon",1982," keep the fire burnin let it keep us warm the world will keep on turnin let it turn you onand let us not stop learnin we can help one another be strong let us never lose our yearnin to keep the fire burnin all night longyouve been changing so much im not sure your in touch with whats real you just come and you go never letting me know how you feeland im livin here in doubt theres so much to talk about i know that we can work it outwe can keep the fire burnin let it keep us warm the world will keep on turnin let it turn you onand let us not stop learnin we can help one another be strong let us never lose our yearnin to keep the fire burnin all night longweve been through this enough it gets rough but theres nowhere to run this is where we belong we are strong we can never give upif we wanted to we could but weve always understood to keep lookin for the goodkeep the fire burnin let it keep us warm the world will keep on turnin let it turn you onand let us not stop learnin we can help one another be strong let us never lose our yearnin to keep the fire burninkeep the fire burnin let it keep us warm the world will keep on turnin let it turn you onand let us not stop learnin we can help one another be strong let us never lose our yearnin to keep the fire burnin all night longkeep the fire burnin keep the fire burnin keep the fire burnin  ",1
51,"do you believe in love","huey lewis and the news",1982," i was walking down a one way street just alooking for someone to meet one woman who was looking for a mannow im hoping hoping that the feeling is right and im wondering wondering if youll stay for the night so im coming i dont wanna be lonely baby please tell me i wanna love you all overdo you believe in love do you believe its true do you believe in love oh youre making me believe it toonow the feeling is beginning to grow and the meaning is something you only know if you believe it take my hand and ill take your heart come onnow i wonder wonder where does true love begin im going under under so im lettin you in my woman i dont wanna be lonely baby please tell me i wanna love you all overdo you believe in love do you believe its true do you believe in love oh youre making me believe it tooi used to have you in a photograph im so glad its changed but now ive got you and its gonna last do you believe in lovedo you believe in love do you believe its true im so glad im so glad do you believe in love oh youre making me believe it toodo you believe in love do you believe its true do you believe in love i believe in love too ",1
52,"cool night","paul davis",1982," i sometimes wonder why all the flowers had to die i dream about you and now summers come and gone and the nights they seem so longcome on over tonight come on overits gonna be a cool night just let me hold you by the firelight if it dont feel right you can gooh oh when the cool night brings back memories of a good life when this love was not so oldoh oh i wont talk about the past how loves supposed to last forever and you dont have to take a stand lay out any planscome on over tonight come on overits gonna be a cool night just let me hold you by the firelight if it dont feel right you can gooh oh when the cool night brings back memories of a good life when this love was not so oldcome on over tonight come on overits gonna be a cool night just let me hold you by the firelight if it dont feel right you can goon a cool night let me hold you on a cool night just let me hold you by the firelight if it dont feel right you can goon a cool night let me hold you on a cool night just let me hold you by the firelight if it dont feel right you can goon a cool night let me hold you on a cool night just let me hold you by the firelight if it dont feel right you can go ",1
53,"caught up in you","38 special",1982," i never knew thered come a day when id be sayin to you dont let this good love slip away now that we know that its truedont dont you know the kind of man i am no said id never fall in love again but its real and the feeling comes shinin throughim so caught up in you little girl and i never did suspect a thing so caught up in you little girl that i never wanna get myself free and baby its true youre the one who caught me baby you taught me how good it could beit took so long to change my mind i thought that love was a game i played around enough to find no two are ever the sameyou made me realize the love id missed so hot love i couldnt quite resist when its right the light just comes shinin throughim so caught up in you little girl youre the one whose got me down on my knees so caught up in you little girl that i never wanna get myself free and baby its true youre the one who caught me baby you taught me how good it could befill your days and your nights no need to ever ask me twice oh no whenever you want meand if ever comes a day when you should turn and walk away oh no i cant live without youim so caught up in you yeah yeah yeahand if ever comes a day when you should turn and walk away oh no i cant live without youim so caught up in you little girl youre the one thats got me down on my knees so caught up in you little girl that i never wanna get myself free and baby its true youre the one who caught me baby you taught me how good it could belittle girl youre the one thats got me down on my knees so caught up in you little girl that i never wanna get myself free and baby its true youre the one whos caught me and taught me you got me so caught up in you ",1
54,"why do fools fall in love","diana ross",1982," ooh wah ooh wah ooh wah ooh wah ooh wah ooh wah why do fools fall in lovewhy do birds sing so gay and lovers await the break of day why do they fall in love why does the rain fall from up above why do fools fall in love why do they fall in lovelove is a losing game love can be a shame i know of a fool you see for that fool is me tell my why tell me whywhy do birds sing so gay and lovers await the break of day why do they fall in love why does the rain fall from up above why do fools fall in love why do they fall in lovewhy does my heart skip a crazy beat for i know it will reach defeat tell me why tell my whywhy do fools fall in love oh oh oh tell me why oh oh oh tell me why oh ",1
55,"love in the first degree","alabama",1982," i once thought of love as a prison a place i didnt want to be so long ago i made a decision to be footloose and fancy free but you came and i was so tempted to gamble on love just one time i never thought i would get caught it seemed like a perfect crimebaby you left me defenseless ive only got one plea lock me away inside of your love and throw away the key im guilty of love in the first degreei thought it would be so simple like a thousand times before i take what i wanted and just walk away but i never made it to the door now babe im not beggin for mercy go ahead and throw the book at me if lovin you is a crime i know that im as guilty as a man can bebaby you left me defenseless ive only got one plea lock me away inside of your love and throw away the key im guilty of love in the first degree love in the first degree oh yeah oh yeahbaby you left me defenseless ive only got one plea lock me away inside of your love and throw away the key im guilty of love in the first degree love in the first degree oh yeahlove in the first degree love in the first degree oh yeah love in the first degree love in the first degree love in the first degree love in the first degree ",1
56,"hooked on classics","royal philharmonic orchestra",1982,"instrumental",3
57,"wasted on the way","crosby stills  nash",1982,"look around me i can see my life before me running rings around the way it used to be i am older now i have more than what i wanted but i wish that i had started long before i did and theres so much time to make up everywhere you turn time we have wasted on the way so much water moving underneath the bridge let the water come and carry us away oh when you were young did you question all the answers did you envy all the dancers who had all the nerve look around you know you must go for what you wanted look at all my friends who did and got what they deserved so much time to make up everywhere you turn time we have wasted on the way so much water moving underneath the bridge let the water come and carry us away so much love to make up everywhere you turn love we have wasted on the way so much water moving underneath the bridge let the water come and carry us away let the water come and carry us away",3
58,"think im in love","eddie money",1982,"ooh somethings got a hold of me now its a feeling burnin up like im on fire hold me tight babe dont leave me by myself tonight cause i dont think i can make it through the night chorus i think im in love and my lifes lookin up i think im in love cause i cant get enough i think im in love its gotta be love it surrounds me ooh like a sea of madness it controls me makes me do all the things i do for you on my mind babe thinkin about you now and i dont know if ill make it through the night chorus i think im in love and loves enough chorus baby help me do it there must be something to it i know its gotta be love",5
59,"love is in control finger on the trigger","donna summer",1982," ive hung around with big shots never knew love was in the sights i guess i missed the target caught up in a different line of firebut i know since ive been aiming for the sweetness in your soul your name is on the bullet and its gettin ready to explode theres been a change inside my life and i just want to let you knowive got my finger on the trigger love is in control ive got my finger on the trigger i aint lettin gomama used to tell me girl you better load your gun up right she said ya ya gotta come out smokin hit it with your best shot every time well i i didnt understand her til you walked right into range i saw your love at twenty paces and i knew id won the game you better raise your heart up high or love will blow you right awayive got my finger on the trigger love is in control ive got my finger on the trigger i aint lettin go ive got my finger on the trigger love is in control ive got my finger on the trigger i aint lettin goleave off that safety catch there aint no risk were gonna have some fun ive got cha loves begun so stay with me until the mornin suntheres been a change inside my life and i just want to let you knowive got my finger on the trigger love is in control ive got my finger on the trigger i aint lettin go ive got my finger on the trigger love is in control ive got my finger on the trigger i aint lettin goive got my finger on the trigger love is in control ive got my finger on the trigger i aint lettin go ive got my finger on the trigger love is in control ive got my finger on the trigger i aint lettin goive got my finger on the trigger love is in control ive got my finger on the trigger i aint lettin go ",1
60,"personally","karla bonoff",1982," ive been writing letters everyday now since youve been gone talking to you on the telephone for what seems like a whole life longand ive got something to give you that the mailman cant deliver i cant mail it in i cant phone it in i cant send it in even by your closest kinim bringing it to you personally personally personally yeah im bringing it to you personally personally personally yeahtheres nothing like the feeling i get oh when youre touching me baby theres nothing like the feeling you get when im there with you oh lovethat ive got something that the mailman cant deliver i cant mail it in i cant phone it in i cant send it in even by your closest friendim bringing it to you personally personally personally yeah im bringing it to you personally personally personally yeahooh but ive got something to give you that the mailman cant deliver i cant mail it in i cant phone it in i cant send it in even by your closest friendim bringing it to you personally personally personally yeah im bringing it to you personally personally personally yeahim bringing it to you personally personally personally yeah oh im bringing it to you im bringing it to you personally ",1
61,"one hundred ways","quincy jones featuring james ingram",1982," compliment what she does send her roses just because if its violins she loves let them playdedicate her favorite song and hold her closer all night long lover her today find one hundred waysdont forget there could be an old lover in her memory if you need her so much more why dont you saymaybe she has it in her mind that shes just wasting her time ask her to stay find one hundred waysbein cool wont help you keep a love warm youll just blow your chance take the time to open up your heart thats the secret of romancesacrifice if you care buy her some moonlight to wear if theres one more star she wants go all the wayin your arms tonight shell reflect that she owes you the sweetest of debts if she wants to pay find one hundred waysin your arms tonight shell reflect that she owes you the sweetest of debts if she wants to pay find one hundred waysya gotta believe it whoa love her today find one hundred ways im telling you to love her today find one hundred waysoh love her love her love her one hundred ways yeah yeah youve got to love her today find one hundred ways ",1
62,"blue eyes","elton john",1982," blue eyes babys got blue eyes like a deep blue sea on a blue blue dayblue eyes babys got blue eyes when the morning comes ill be far away and i sayblue eyes holding back the tears holding back the pain babys got blue eyes and shes alone againblue eyes babys got blue eyes like a clear blue sky watching over meblue eyes ooh i love blue eyes when im by her side where i long to be i will seeblue eyes laughing in the sun laughing in the rain babys got blue eyes and i am home and i am home againblue eyes laughing in the sun laughing in the rain babys got blue eyes and i am home again ",1
63,"our lips are sealed","the gogos",1982," can you hear them they talk about us telling lies well thats no surprisecan you see them see right through them they have no shield no secrets to revealit doesnt matter what they say in the jealous games people play our lips are sealedtheres a weapon we must use in our defense silencewhen you look at them look right through them thats when theyll disappear thats when youll be fearedit doesnt matter what they say in the jealous games people play our lips are sealed pay no mind to what they say it doesnt matter anyway our lips are sealedhush my darling dont you cry quiet angel forget their liescan you hear them they talk about us telling lies well thats no surprisecan you see them see right through them they have no shield no secrets to revealit doesnt matter what they say in the jealous games people play our lips are sealed pay no mind to what they say it doesnt matter anyway our lips are sealed our lips are sealed our lips are sealed ",1
64,"you could have been with me","sheena easton",1982,"  ",1
65,"you can do magic","america",1982," i never believed in things that i couldnt see i said if i cant feel it then how can it be no no magic could happen to me and then i saw youi couldnt believe it you took my heart i couldnt retrieve it said to myself whats it all about now i know there can be no doubtyou can do magic you can have anything that you desire magic and you know youre the one who can put out the fire you know darned well when you cast your spell you will get your way when you hypnotize with your eyes a heart of stone can turn to clayand when the rain is beating upon the window pane and when the night it gets so cold when i cant sleepagain you come to me i hold you tight and the rain disappears who would believe it with a word you dry my tearsyou can do magic you can have anything that you desire magic and you know youre the one who can put out the fire you know darned well when you cast your spell you will get your way when you hypnotize with your eyes a heart of stone can turn to clayand if i wanted to i could never be free i never believed it was true but now its so clear to meyou can do magic you can have anything that you desire magic and you know youre the one who can put out the fire you know darned well when you cast your spell you will get your way when you hypnotize with your eyes a heart of stone can turn to clayyoure the one who can put out the fire youre the one who can put out the fire ",1
66,"did it in a minute","daryl hall  john oates",1982,"when you find yourself alone and when going out is coming home well you can count on the kid cause theres nobody waiting around oh oh if youre not an easy mark its a shot in the dark that hits the heart and i know i know i know i know when its coming i thought so anyway some things stay the same and some are due for a change i thought i had them all nailed down but you turned it around oh you did it you did it you did it you did it you did it in a minute i know you did it you did it you did it you did it you did it in a minute well i still cant say i know when a love is real or touch and go and if two can be one who is the one two becomes oh oh am i quick enough to see when im ready and its right for me i say i say i say i say that i want it i think so anyway everybody always laughs at love but what they want is to be proven wrong then you came along oh you did it you did it you did it you did it you did it in a minute oh you did it you did it you did it you did it you did it in a minute i know you did it you did it you did it you did it you did it in a minute i didnt really plan it but you did it you did it you did it you did it you did it in a minute well oh you did it you did it you did it you did it you did it in a minute i want someone to prove im wrong you did it you did it you did it you did it you did it in a minute well oh you did it you did it you did it you did it you did it in a minute youre messin my my love life you did it you did it you did it in a minute well oh you did it you did it you did it you did it you did it in a minute oh you did it you did it you did it in a minute",3
67,"i ran so far away","a flock of seagulls",1982," i walk along the avenue i never thought id meet a girl like you meet a girl like youwith auburn hair and tawny eyes the kind of eyes that hypnotize me through you hypnotize me throughand i ran i ran so far away i just ran i ran all night and day i couldnt get awaya cloud appears above your head a beam of light comes shining down on you shining down on youthe cloud is moving nearer still aurora borealis comes in view aurora comes in viewand i ran i ran so far away i just ran i ran all night and day i couldnt get awayreached out a hand to touch your face youre slowly disappearing from my view disappearing from my viewreached out a hand to try again im floating in a beam of light with you a beam of light with youand i ran i ran so far away i just ran i ran all night and dayand i ran i ran so far away i just ran i ran all night and day ",1
68,"somebodys baby","jackson browne",1982," well just look at that girl with the lights comin up in her eyes shes got to be somebodys baby she must be somebodys baby all the guys on the corner stand back and let her walk on byshes got to be somebodys baby she must be somebodys baby shes got to be somebodys baby shes so fineshes probably somebodys only light gonna shine tonight yeah shes probably somebodys baby alright  meaning  bykbdgy     impossible to listen to this without thinking about cameron crowes brilliant scene featuring jennifer jason leigh ive had a crush on her ever since    see all   i heard her talkin with her friend when she thought nobody else was around she said shes got to be somebodys baby she must be somebodys baby cause when the cars and the signs and the street lights light up the townshes got to be somebodys baby she must be somebodys baby shes got to be somebodys baby shes soshes gonna be somebodys only light gonna shine tonight yeah shes gonna be somebodys baby tonighti try to shut my eyes but i cant get her out of my sight i know im gonna know her but i gotta get over my fright well im just gonna walk up to her im gonna talk to her tonightyeah shes gonna be somebodys only light gonna shine tonight yeah shes gonna be somebodys baby tonightshes gonna be somebodys only light gonna shine tonight yeah shes gonna be somebodys baby tonightgonna shine tonight make her mine tonight gonna shine tonight make her mine tonight gonna shine tonight make her mine tonight  ",1
69,"oh no","commodores",1982," i want you to want me im goin crazy knowin he will be your lover tonight and when he comes ill let you go ill just pretend as you walk out the door oh no i cant sleep oh no im goin crazy with love over youi need you to need me i wanna hold you but youre holdin someone else in your arms when i close my eyes i see your face im just not sure how much my heart can erase oh no i cant think oh no im goin crazy with love over youoh honey oh sugar oh no i cant sleep anymore baby oh no i cant think anymore baby oh no im goin crazy with love over you ",1
70,"take it away","paul mccartney",1982," take it away want to hear you play till the lights go down take it away dont you want to stay till theres no one else aroundtake it away want to hear you play till the lights go down take it away dont you want to stay till theres no one else aroundlonely driver out on the road with a hundred miles to go sole survivor carrying the load switches on his radiotake it away want to hear you play till the lights go down down down take it away dont you want to stay till theres no one else aroundtake it away want to hear you play till the lights go down down down take it away dont you want to stay till theres no one else aroundin the audience watching the show with a paper in his hand in his hand in his hand some important impresario has a message for the bandoh take it away want to hear you play till the lights go down down down take it away dont you want to stay till theres no one else aroundyou never know who may be listening to you never know who may be listening to you you never know who may be listening to you take it away take it awayafter hours late in the bar by a darkened corner seat faded flowers wait in the jar till the evening is completeah ah ah ah ",1
71,"its gonna take a miracle","deniece williams",1982," loving you so i was to blind to see you letting me go but now that youve set me freeits gonna take a miracle yes its gonna take a miracle to make me love someone new cause im crazy for youoh oh didnt you know it wouldnt be so easy you lettin me go you can be sure that now its gonna take a miracleyes its gonna take a miracle to make me love someone new cause im crazy for you oh tho i know i cant forget about youim gonna try just to show you how much youre gonna be around destroying me ill never be the same as before you must realizeyou took your love and left me quite by surprise you can be sure that now its gonna take a miracle yes its gonna take a miracleto make me love someone new cause im crazy for youyes its gonna take a miracle yes its gonna take a miracle to make me love someone new cause im crazy for youits gonna take a miracle its gonna take a miracle to make me love someone new cause im crazy for youits gonna take a miracle its gonna take a miracle to make me love someone new cause im crazy for youits gonna take a miracle ",1
72,"love will turn you around","kenny rogers",1982," you can run you can hide never let it inside keep livin your life in the dark but sooner or later that gentle persuader is gonna catch up with your heartmake you a dreamer believer believin in loveright when a mans doin all that he planned and he thinks hes got just what he needs life will deliver a shock that will shiver and drivin him down to his kneesmake him start givin livin livin againwell its your mind that tricks you in believin every time love will turn you around turn you aroundwell its your heart that talks you into to stayin where you are love will turn you around turn you aroundout of the blue she reaches for you and you tell her you dont have the time so you move away fast but you know it wont last cause you cant get her off of your mindthoughts are burnin turnin theyre turnin aroundhow do you know when to stay or to go and how do you know when its real you dont need a sign to make up your mind you got your heart at the wheelyou wanna start sharin carin carin againwell its your mind that tricks you in believin every time love will turn you around turn you aroundwell its your heart that talks you into to stayin where you are love will turn you around turn you aroundlove will turn you around turn you around love will turn you around turn you around turn you around ",1
73,"dont stop believin","journey",1982," just a small town girl livin in a lonely world she took the midnight train goin anywhere just a city boy born and raised in south detroit he took the midnight train goin anywherea singer in a smoky room a smell of wine and cheap perfume for a smile they can share the night it goes on and on and on and onchorus strangers waiting up and down the boulevard their shadows searching in the night streetlights people livin just to find emotion hidin somewhere in the nightworking hard to get my fill everybody wants a thrill payin anything to roll the dice just one more time some will win some will lose some were born to sing the blues oh the movie never ends it goes on and on and on and onstrangers waiting up and down the boulevard their shadows searching in the night streetlights people living just to find emotion hiding somewhere in the nightchorus dont stop believin hold on to the feelin streetlights peopledont stop believin hold on streetlights peopledont stop believin hold on to the feelin streetlights people ",1
74,"comin in and out of your life","barbra streisand",1982,"i still can remember the last time i cried i was holding you and loving you knowing it would end i never felt so good yet felt so bad youre the one i love and what makes it sad is you dont belong to me and i can remember the last time i lied i was holding you and telling you we could still be friends tried to let you go but i cant you know and even though im not with you i need you so but you dont belong to me comin in and out of your life isnt easy when theres so many nights i cant hold you and ive told you these feelings are so hard to find comin in and out of your life will never free me cause i dont need to touch you to feel you its so real with you i just cant get you out of my mind but i can remember the last time we tried each needing more than we could give and knowing all the time a stronger love just cant be found even though at times this crazy world is turning upside down youll always belong to me comin in and out of your life isnt easy when theres so many times i cant hold you and ive told you these feelings are so hard to find comin in and out of your life will never free me i dont need to touch you to feel you its so real with you i just cant get you out of my mind but i can remember",3
75,"gloria","laura branigan",1982," gloria youre always on the run now running after somebody you gotta get him somehow i think youve got to slow down before you start to blow it i think youre headed for a breakdown so be careful not to show ityou really dont remember was it something that he said are the voices in your head calling gloria gloria dont you think youre fallin if everybody wants you why isnt anybody callin you dont have to answer leave them hangin on the line ohohoh calling gloria gloria gloria i think they got your number gloria i think they got the alias gloria that youve been living under gloria but you really dont remember was it something that they said are the voices in your head calling gloriaahaha ahaha gloria hows it gonna go down will you meet him on the main line or will you catch him on the rebound will you marry for the money take a lover in the afternoon feel your innocence slipping away dont believe its comin back soonand you really dont remember was it something that he said are the voices in your head calling gloria gloria dont you think youre fallin if everybody wants you why isnt anybody callin you dont have to answer leave them hangin on the line ohohoh calling gloria gloria gloria i think they got your number gloria i think they got the alias gloria that youve been living under gloria but you really dont remember was it something that they said are the voices in your head calling gloria ",1
76,"empty garden hey hey johnny","elton john",1982," what happened here as the new york sunset disappeared i found an empty garden among the flagstones there who lived here he must have been a gardener that cared a lot who weeded out the tears and grew a good crop and now it all looks strange its funny how one insect can damage so much grainand whats it for this little empty garden by the brownstone door and in the cracks along the sidewalk nothing grows no more who lived here he must have been a gardener that cared a lot who weeded out the tears and grew a good crop and we are so amazed were crippled and were dazed a gardener like that one no one can replaceand ive been knocking but no one answers and ive been knocking most of the day oh and ive been calling oh hey hey johnny cant you come out to playand through their tears some say he farmed his best in younger years but hed have said that roots grow stronger if only he could hear who lived there he must have been a gardener that cared a lot who weeded out the tears and grew a good crop now we pray for rain and with every drop that falls we hear we hear your nameand ive been knocking but no one answers and ive been knocking most of the day oh and ive been calling oh hey hey johnny cant you come out to playand ive been knocking but no one answers and ive been knocking most all the day oh and ive been calling oh hey hey johnny cant you come out can you come out to play johnny cant you come out to play in your empty garden johnny cant you come out to play in your empty garden johnny cant you come out to play in your empty garden johnny cant you come out to play in your empty garden johnny cant you come out to play in your empty garden johnny cant you come out to play in your empty garden johnny ",1
77,"yesterdays songs","neil diamond",1982," NA ",1
78,"crimson and clover","joan jett  the blackhearts",1982,"ah and i dont hardly know her but i think i can love her crimson and clover ah now when she comes walking over now ive been waiting to show her crimson and clover over and over yeah ah my minds such a sweet thing i want to do everything what a beautiful feeling crimson and clover over and over crimson and clover over and over crimson and clover over and over crimson and clover over and over crimson and clover over and over",3
79,"every little thing she does is magic","the police",1982," though ive tried before to tell her of the feelings i have for her in my heart every time that i come near her i just lose my nerve as ive done from the startevery little thing she does is magic everything she do just turns me on even though my life before was tragic now i know my love for her goes ondo i have to tell the story of a thousand rainy days since we first met its a big enough umbrella but its always me that ends up getting wetevery little thing she does is magic everything she do just turns me on even though my life before was tragic now i know my love for her goes oni resolved to call her up a thousand times a day and ask her if shell marry me in some old fashioned way but my silent fears have gripped me long before i reach the phone long before my time has tripped me must i always be aloneevery little thing she does is magic everything she do just turns me on even though my life before was tragic now i know my love for her goes onevery little thing she does is magic everything she do just turns me on even though my life before was tragic now i know my love for her goes onoh yeah oh yeah oh yeah every little thing every little thing every little thing every little thing every little every little ever little every little thing she does every little thing she does every little thing she does every little thing she doesbeo beo beo beo beo beo beo beo beo beo beo beo beo beo beo beoevery little thing every little thing every little thing she do is magic magic magic magic magic magichey oh yo oh beoah thousand rainy days since we first met its a big enough umbrella but its always me that ends getting wet ",1
80,"here i am","air supply",1982," here i am playing with those memories again and just when i thought time had set me free those thoughts of you keep taunting meholding you a feeling i never outgrew though each and every part of me has tried only you can fill that space insideso theres no sense pretending my heart its not mendingjust when i thought i was over you and just when i thought i could stand on my own oh baby those memories come crashing through and i just cant go on without youon my own ive tried to make the best of it alone ive done everything i can to ease the pain but only you can stop the raini just cant live without you i miss everything about youjust when i thought i was over you and just when i thought i could stand on my own oh baby those memories come crashing through and i just cant go on without go on without its just no good without youwithout you without you without you without you without you without you ",1
81,"i keep forgettin every time youre near","michael mcdonald",1982,"  ",1
82,"get down on it","kool  the gang",1982,"hey hey yeah what you gonna do you wanna get down tell me what you gonna do do you wanna get down what you gonna do you wanna get down get your back up off the wall dance come on get your back up off the wall dance come on get down on it get down on it get down on it get down on it come on and get down on it get down on it get down on it get down on it how you gonna do it if you really dont wannna dance by standing on the wall get your back up off the wall tell me how you gonna do it if you really dont wanna dance by standing on the wall get your back up off the wall cause i heard all the people sayin get down on it come on and get down on it if you really want it get down on it you gotta feel it get down on it get down on it get down on it come on and get down on it baby baby get down on it get down on it get down on it i say people what what you gonna do youve gotta get on the groove if you want your body to move tell me baby how you gonna do it if you really dont wanna dance by standing on the wall get your back up off the wall tell me how you gonna do it if you really wont take a chance by standing on the wall get your back up off the wall cause i heard all the people sayin get down on it get down on it what you gonna do do you wanna get down what you gonna do get your back up off the wall dance come on get your back up off the wall dance come on get your back up off the wall get down on it come on and get down on it if you really want it get down on it you gotta feel it get down on it get down on it get down on it come on and get down on it baby baby get down on it get down on it get down on it how you gonna do it if you really dont wanna dance by standing on the wall get your back up off the wall tell me baby how you gonna do it if you really wont take a chance by standing on the wall get your back up off the wall listen baby you know it when you dancin yeah you show it a when you move move move you know it when you dancin yeah you show it as you move across the block get down on it come on and get down on it if you really want it get down on it you gotta feel it get down on it get down on it get down on it come on and get down on it baby baby get down on it get on it get down on it what you gonna do do you wanna get down what you gonna do if you gonna feel it get your back up off the wall dance come on get your back up off the wall dance come on if you gonna feel it get down on it come on and get down on it if you really want it get down on it you gotta feel it get down on it get down on it get down on it come on and get down on it get down on it get down on it while you dancin get down on it get down on it get down on it   get down on it get down on it get down on it  get down on it  you move me baby when you move get down on it  get down on it get down on it get down on it   get down on it get down on it get down on it   get down on it get down on it get down on it   get down on it get down on it  you move me baby when you move get down on it   get down on it get down on it get down on it   get down on it get down on it get your back up off the wall get down on it   get down on it get down on it get down on it   get down on it get down on it get your back up off the wall get down on it   get down on it get down on it get down on it   get down on it get down on it get your back up off the wall ",3
83,"any day now","ronnie milsap",1982," any day now i will hear you say good bye my love and youll be on your way then my wild beautiful bird you will have flown any day now ill be all aloneany day now when your restless eyes meets someone new oh to my sad surprise then the blue shadows will fall all over town any day now love will let me downi know i shouldnt want to keep you if you dont want to stay until youre gone forever ill keep holding on for dear lifeholding you this way begging you to stayany day now when the clock strikes go youll call it off then my tears will flow then my wild beautiful bird you will have flown any day now love will let me down cause you wont be aroundoh then the blue shadows will fall all over town any day now love will let me down cause you wont be around any day now you wont be around no no no no no no you wont be around ",1
84,"make a move on me","olivia newtonjohn",1982," i can tell you got plans for me and your eyes are saying you made them carefully but tonight i have to say there just might be another way wont you spare me all the charms and take me in your arms i cant wait i cant waitim the one you want thats all i wanna be so come on baby make a move on me got nowhere to go all my time is free so come on baby make a move on me tonight i cant wait i cant waityou made the prettiest speech ive heard but a single touch surely is worth a thousand words to a heart thats open wide and from the start was on your side wont you spare me all the charms and take me in your arms i cant wait i cant waitim the one you want thats all i wanna be so come on baby make a move on me got nowhere to go all my time is free so come on baby make a move on me tonight i cant wait i cant waitim the one you want thats all i wanna be so come on baby make a move on me got nowhere to go all my time is free so come on baby make a move on me tonight i cant wait i cant waitim the one you want thats all i wanna be so come on baby make a move on me got nowhere to go all my time is free ",1
85,"take my heart you can have it if you want it","kool  the gang",1982,"has there ever come a time when you fell real nice and you want to let someone know that you really appreciate them all you have to do is moan a little bit for me it goes something like this you see no time for wasting baby were gone all through those moves im offering satisfaction darling girl im giving you all my love anytime is the right time baby come on and take my heart its all yours if you want it baby my heart is tearing all apart i say you can have it yeah if you want it if you want it come and get it baby but if you want it you can have it come and get it girl yeah if you want it yeah see darling theres no time for wasting baby come on please make up your mind good loving is so pleasing baby girl im giving you all my time you can have it if you want it just come and get it and baby its yours yeah ive got it to give and if you want it i know that youre gonna love it so come on girl oh i knew youd like it oh baby you got me saying something like listen now one night while i was sleeping baby had a dream of you and i found myself asking you baby take my hand and be my wife theres no time for wasting baby because weve gone all through these moves cause im offering satisfaction darling girl im giving you all my love you can have it yeah if you want it you really want my loving if you want it its all yours baby you can have it any time of the day dont matter what place it is you can get it baby oh yeah come on girl and get it if you want it you can have it dont you know that cause i will make you feel alright oh baby cant you tell that i need it come on baby take my heart come on baby oh yeah yeah come on darling satisfaction guaranteed oh  baby like marvin huh oh youre such a pretty little girl baby cmon and take my heart baby",3
86,"mirror mirror","diana ross",1982," mirror mirror on the wall you said you had the answer to it all you never told me id take a fall mirror mirror on the wallyou you turned my life into a paperback novel words that come to life inside your little melodrama chapter one when i was young i came to you with my problems chapter two you promised me love and anything that i desiredtell me mirror mirror mirror on the wall thought you said you had the answer to it all never told me i was gonna take a fall tell me mirror mirror mirror on the wallyou have nailed my heart upon the wall for your pleasures you have cast a spell that cannot ever be broken and now my eyes grow tired i watch my picture getting older but i remain the same trapped in this mirror forevertell me mirror mirror mirror on the wall thought you said you had the answer to it all you never told me i was gonna take a fall tell me mirror mirror mirror on the walli talk to you each night and i follow your advise youve been wrong whats the price i have to pay for this fairy tale thing called love let me gotell me mirror mirror mirror on the wall thought you said you had the answer to it all never told me i was gonna take a fall tell me mirror mirror mirror on the wallmirror mirrortell me mirror mirror on the wall i thought you said you had the answer to it all you never told me i was gonna take a fall tell me mirror mirror on the walltell me mirror tell me mirror ",1
87,"vacation","the gogos",1982," cant seem to get my mind off of you back here at home with nothing to do now that im away i wish id stay tomorrows a day of mine that you wont be inwhen you looked at me i should have run but i thought it was just for fun i see i was wrong and im not so strong i should have known all along that time would tella week without you thought id forget two weeks without you and i still havent gotten over you yetvacation all i ever wanted vacation had to get away vacation meant to be spent alonevacation all i ever wanted vacation had to get away vacation meant to be spent alonea week without you thought id forget two weeks without you and i still havent gotten over you yetvacation all i ever wanted vacation had to get away vacation meant to be spent alonevacation all i ever wanted vacation had to get away vacation meant to be spent alonevacation all i ever wanted vacation had to get away vacation meant to be spent alone ",1
88,"oh pretty woman","van halen",1982," pretty woman walkin down the street pretty woman the kind id like to meet pretty woman i dont believe you it must be true no one could look as good as you mercypretty woman wont you pardon me pretty woman i couldnt help but see pretty woman oh you look lovely as can be are you lonely just like mepretty woman stop awhile pretty woman talk awhile pretty woman give your smile to mepretty woman yeah yeah yeah pretty woman look my way pretty woman say youll stay with me cause i need you need you tonightpretty woman dont walk on by pretty woman dont make me cry pretty woman dont walk away hey okay if thats the way it must be okayi guess ill go on home its late therell be tomorrow night but wait what do i see shes walkin back to me oh oh pretty woman ",1
89,"should i do it","the pointer sisters",1982,"i swore when he hurt me so i wouldnt see him anymore but today he called my name oh i could feel the same old flame should i do it should i fall should i do it after all is it crazy is it right i really wanna love him tonight should i do it should i play can i help it anyway when i feel him hold me tight im gonna turn on like a light i know when were in his car i couldnt go just so far i wanna give him everything so when i hear the telephone ring yeah should i do it should i fall should i do it after all is it crazy is it right i really wanna love him tonight should i do it should i play can i help it anyway when i feel him hold me tight im gonna turn on like a light oh im so lonely and hes so fine maybe i should swallow my pride just one one one more time yeah yeah yeah yeah i really got to know should i do it should i fall should i do it after all is it crazy is it right i really wanna love him tonight should i do it should i play can i help it anyway when i feel him hold me tight im gonna turn on like a light should i do it should i do it should i do it should i do it should i do it should i do it should i do it should i do it should i do it should i do it should i do it should i do it should i do it should i do it should i do it should i do it should i do it should i do it should i do it should i do it should i do it should i do it should i do it should i do it should i do it should i do it should i do it should i do it",3
90,"hot in the city","billy idol",1982," stranger stranger stranger strangerits hot here at night lonely black and quiet on a hot summer night dont be afraid of the world we made on a hot summer nightcause when a longlegged lovely walks by yeah you can see the look in her eye then you know that itshot in the city hot in the city tonight tonight hot in the city hot in the city tonight tonightstranger strangerfor all the dreams and schemes people are as they seem on a hot summer night dont be no fun dont forget youre young on a hot summer nighta sometime someone youre not dont wait to see what you got cause you know that yourehot in the city hot in the city tonight tonight hot in the city hot in the city tonight tonightwell walk until my feet drop im a train when im hateful yeah lay right down now and ride until your head breaksim awalkin til my brain pops i will move with the beat now im a chain round an abomb im a ribbon in the heat now new yorkhot in the city hot in the city tonight tonight hot in the city hot in the city tonight tonight hot in the city hot in the city tonight tonight  ",1
91,"kids in america","kim wilde",1982," looking out a dirty old window down below the cars in the city go rushing by i sit here alone and i wonder whyfriday night and everyones moving i can feel the heat but its soothing heading down i search for the beat in this dirty towndown town the young ones are going down town the young ones are growingwere the kids in america whoa  oh were the kids in america whoa  oh everybody live for the musicgoroundbright lights the music get faster look boy dont check on your watch not another glance im not leaving now honey not a chancehotshot shot give me no problems much later baby youll be saying never mind you know life is cruel life is never kindkind hearts dont make a new story kind hearts dont grab any glorywere the kids in america whoa  oh were the kids in america whoa  oh everybody live for the musicgoroundla la la la la la la la la la la la sing la la la la la la la la la la la lacome closer honey thats better got to get a brand new experience feeling right oh dont try to stop baby hold me tightoutside a new day is dawning outside suburbias sprawling everywhere i dont want to go baby new york to east california theres a new wave coming i warn youwere the kids in america whoa  oh were the kids in america whoa  oh everybody live for the musicgoroundla la la la la la la la la la la la sing la la la la la la la la la la la lawere the kids were the kids were the kids in americawere the kids were the kids were the kids in americawere the kids were the kids were the kids in america ",1
92,"man on your mind","little river band",1982," i can feel it floating away inch by inch day by day love boat set itself free castaway slipping out to seai can feel it coming adrift even a blind man could see the rift from an ocean liner to a chinese junk there aint been a ship that cant be sunki used to dream it could last forever but pipe dreams never come true id be foolin myself if i never thought something like this couldnt happen to youi said baby youve got a man on your mind you got a weight on your shoulders how you ever gonna find the words to say goodbyeyou dont know just what you got till its gone i guess you heard that a lot but its true its not just a game you cant change your life by changing your nameits not something you can hide away sooner or later it starts to show its written on your face youve been betrayed do you really believe that i dont knowi said baby youve got a man on your mind you got a weight on your shoulders how you ever gonna find the words to say goodbyeits already fallen so its no use to fight and if he starts callin let him know youre with me for the rest of the nightoh i said baby youve got a man on your mind you got a weight on your shoulders how you ever gonna find the words to say goodbyebaby youve got a man on your mind you got a weight on your shoulders how you ever gonna find the words to say goodbyebaby youve got a man on your mind you got a weight on your shoulders how you ever gonna find the words to say goodbyebaby youve got a man on your mind ",1
93,"whats forever for","michael murphey",1982,NA,NA
94,"waiting on a friend","the rolling stones",1982,"watching girls go passing by it aint that latest thing im just standing in a doorway im just trying to make some sense out of these girls go passing by the tales they tell of men im not waiting on a lady im just waiting on a friend a smile relieves a heart that grieves remember what i said im not waiting on a lady im just waiting on a friend just waiting on a friend im just waiting on a friend im just waiting on a friend dont need a whore i dont need no food dont need a virgin priest i need someone i can cry to i need someone to protect im making love and breaking hearts it is a game for youth im not waiting on a lady oh yeah im just waiting on a friend im just waiting on a friend im just waiting on a friend im just waiting on a friend im just waiting on a friend im just waiting on a friend im just waiting on a friend",3
95,"do i do","stevie wonder",1982," when i see you on the street my whole body gets weak when youre standing in a crowd your love talks to me so loud girl do i do what you do when i do my love to youwhen i hear you on the phone your sweet sexy voice turns my ear all the way on just the mention of your name seems to drive my head insane girl do i do what you do when i do my love to you babyyes i got some candy kisses for your lips yes i got some honey suckle chocolate dripping kisses full of love for you yes i got some candy kisses for your lips yes i got some honey suckle chocolate dripping kisses full of love for youmy life has been waiting for your love my arms have been waiting for your love to arrive my heart has been waiting my soul anticipating your love love lovefrom the time that i awake im imagining the good love that well make if to me your vibe can do all this just imagine how its going to feel when we hug and kiss sugar do i do what you do when i do my love to you all rightyes i got some candy kisses for your lips yes i got some honey suckle chocolate dripping kisses full of love for you yes i got some candy kisses for your lips yes i got some honey suckle chocolate dripping kisses full of love for youmy life has been waiting for your love my arms have been waiting for your love to arrive my heart has been waiting my soul anticipating your love your love your loveladies and gentlemen i have the pleasure to present on my album mr dizzy gillespie blow blow blow blow blow blow blow do i do what you do when i do my love to youyes i got some candy kisses for your lips yes i got some honey suckle chocolate dripping kisses full of love for you yes i got some candy kisses for your lips yes i got some honey suckle chocolate dripping kisses full of love for youmy life has been waiting for your love my arms have been waiting for your love to arrive my heart has been waiting my soul anticipating your love your love your loveoh i dont care how long it might take cause i know the woman for me you ill make and i will not deny myself the chance of being part of what feels like the right romancegirl do i do what you do when i do my love to you oh yeahyes i got some candy kisses for your lips yes i got some honey suckle chocolate dripping kisses full of love for youyes i got some candy kisses for your lips yes i got some honey suckle chocolate dripping kisses full of love for youyes i got some candy kisses for your lips yes i got some honey suckle chocolate dripping kisses full of love for youyes i got some candy kisses for your lips yes i got some honey suckle chocolate dripping kisses full of love for youyes i got some candy kisses for your lips yes i got some honey suckle chocolate dripping kisses full of love for yougirl ive got some chocolate kisses for your lovin baby oh yea do you want some candy do you want some honey suckle do you want some chocolate dripping kisses full of love for yougirl if you felt everything you heard me say turn your feelings in your heart back to me right away and ill get itdo i do do i do what you do what you do when i do my love to youdo i do do i do what you do what you do when i do my love to youdo i do do i do what you do what you do when i do my love to youdo i do do i do what you do what you do when i do my love nate i know the record is about to end but were just going to play and play until it goes away so if you dont like the groove you can turn the record off it wont cost you nothin but a penny and youll have a cough i know i cannot ryhme cause i aint like a friend of mine but i hai ha ha hanow everybodys talking about the jive is in well i know ive got something for your body earl earl playing by himself man earl playing by himself man earl playing by himself man dennis playing by himself man five four three two one ",1
96,"working for the weekend","loverboy",1982," everyones watching to see what you will do everyones looking at you oh everyones wondering will you come out tonight everyones trying to get it right get it righteverybodys working for the weekend everybody wants a little romance everybodys goin off the deep end everybody needs a second chance oh you want a piece of my heart you better start from start you wanna be in the show come on baby lets goeveryones looking to see if it was you everyone wants you to come through everyones hoping itll all work out everyones waiting theyre holding outeverybodys working for the weekend everybody wants a little romance everybodys goin off the deep end everybody needs a second chance oh you want a piece of my heart you better start from start you wanna be in the show come on baby lets goyou want a piece of my heart you better start from start you wanna be in the show come on baby lets goyou want a piece of my heart you better start from start you wanna be in the show come on baby lets go ",1
97,"goin down","greg guidry",1982,"greg guidry miscellaneous goin down goin down greg guldry i get the feeling that im in way over my head i should be careful but im goin deeper instead cause when she looks at me i wanna run by her side anyone could see a fool could drown in her eyes and im goin down for the last time im goin down for the last time goin down out of my mind im nearly out of my mind love is comin over over me it must be magic how she casts her spell over me her secret passions got me charmed ill never get free cause when shes holding me she lights a fire in my soul any fool could see theres only one place to go",3
98,"arthurs theme best that you can do","christopher cross",1982," once in your life you find her someone that turns your heart around and next thing you know youre closing down the town wake up and its still with you even though you left her way across town wondering to yourself hey whatve i foundwhen you get caught between the moon and new york city i know its crazy but its true if you get caught between the moon and new york city the best that you can do the best that you can do is fall in lovearthur he does as he pleases all of his life hes mastered choice deep in his heart hes just hes just a boy living his life one day at a time hes showing himself a really good time hes laughing about the way they want him to bewhen you get caught between the moon and new york city i know its crazy but its true if you get caught between the moon and new york city the best that you can do the best that you can do is fall in lovewhen you get caught between the moon and new york city i know its crazy but its true if you get caught between the moon and new york city the best that you can do the best that you can do is fall in lovewhen you get caught between the moon and new york city i know its crazy but its true if you get caught between the moon and new york city the best that you can do the best that you can do is fall in love ",1
99,"through the years","kenny rogers",1982," i cant remember when you werent there when i didnt care for anyone but you i swear weve been through everything there is cant imagine anything weve missed cant imagine anything the two of us cant dothrough the years youve never let me down you turned my life around the sweetest days ive found ive found with you through the years ive never been afraid ive loved the life weve made and im so glad ive stayed right here with you through the yearsi cant remember what i used to do who i trusted whom i listened to before i swear youve taught me everything i know cant imagine needing someone so but through the years it seems to me i need you more and morethrough the years through all the good and bad i knew how much we had ive always been so glad to be with you through the years its better everyday youve kissed my tears away as long as its okay ill stay with you through the yearsthrough the years when everything went wrong together we were strong i know that i belonged right here with you through the years i never had a doubt wed always work things out ive learned what loves about by loving you through the yearsthrough the years youve never let me down youve turned my life around the sweetest days ive found ive found with you through the years its better everyday youve kissed my tears away as long as its okay ill stay with you through the years ",1
100,"edge of seventeen just like the white winged dove","stevie nicks",1982," just like the white winged dove sings a song sounds like shes singing ooh ooh ooh just like the white winged dove sings a song sounds like shes singing oh baby oh said ohand the days go by like a strand in the wind in the web that is my own i begin again said to my friend baby nothin else matteredhe was no more than a baby then well he seemed broken hearted something within him but the moment that i first laid eyes on him all alone on the edge of seventeenjust like the white winged dove sings a song sounds like shes singing oh baby oh said oh just like the white winged dove sings a song sounds like shes singing oh baby oh said ohi went today maybe i will go again tomorrow and the music there it was hauntingly familiar when i see you doing what i try to do for me with the words from a poet and the voice from a choir and a melody nothing else matteredjust like the white winged dove sings a song sounds like shes singing oh baby oh said oh just like the white winged dove sings a song sounds like shes singing oh baby oh said ohthe clouds never expect it when it rains but the sea changes colors but the sea does not change and so with the slow graceful flow of age i went forth with an age old desire to please on the edge of seventeenjust like the white winged dove sings a song sounds like shes singing oh baby oh said oh just like the white winged dove sings a song sounds like shes singing oh baby oh said ohwell then suddenly there was no one left standing in the hall yeah yeah in a flood of tears that no one really ever heard fall at all i went searchin for an answer up the stairs and down the hall not to find an answer just to hear the call of a nightbird singing come away come awayjust like the white winged dove sings a song sounds like shes singing oh baby oh said oh just like the white winged dove sings a song sounds like shes singing oh baby oh said ohwell i hear you in the morning and i hear you at nightfall sometime to be near you is to be unable to hear you my love im a few years older than youjust like the white winged dove sings a song sounds like shes singing oh baby oh said oh ",1
1,"every breath you take","the police",1983," every breath you take and every move you make every bond you break every step you take ill be watching you every single day and every word you say every game you play every night you stay ill be watching youoh cant you see you belong to me how my poor heart aches with every step you takeevery move you make every vow you break every smile you fake every claim you stake ill be watching yousince youve gone ive been lost without a trace i dream at night i can only see your face i look around but its you i cant replace i feel so cold and i long for your embrace i keep crying baby baby pleaseoh cant you see you belong to me how my poor heart aches with every step you takeevery move you make and every vow you break every smile you fake every claim you stake ill be watching you every move you make every step you take ill be watching youill be watching you every breath you take and every move you make every bond you break every step you take ill be watching you every single day and every word you say every game you play every night you stay ill be watching you every move you make every vow you break every smile you fake every claim you stake ill be watching you every single day and every word you say every game you play every night you stay ill be watching youevery breath you take and every move you make every bond you break every step you take ill be watching you every single day and every word you say every game you play every night you stay ill be watching you every move you make every vow you break every smile you fake every claim you stake ill be watching you every single day and every word you say every game you play every night you stay ill be watching you ",1
2,"billie jean","michael jackson",1983," she was more like a beauty queen from a movie scene i said dont mind but what do you mean i am the one who will dance on the floor in the round she said i am the one who will dance on the floor in the roundshe told me her name was billie jean as she caused a scene then every head turned with eyes that dreamed of being the one who will dance on the floor in the roundpeople always told me be careful of what you do and dont go around breaking young girls hearts and mother always told me be careful of who you love and be careful of what you do cause the lie becomes the truthbillie jean is not my lover shes just a girl who claims that i am the one but the kid is not my son she says i am the one but the kid is not my sonfor forty days and forty nights the law was on her side but who can stand when shes in demand her schemes and plans cause we danced on the floor in the round so take my strong advice just remember to always think twice dont think twice dont think twiceshe told my baby wed danced till three then she looked at me then showed a photo my baby cried his eyes were like mine oh no cause we danced on the floor in the round babypeople always told me be careful of what you do and dont go around breaking young girls hearts she came and stood right by me just the smell of sweet perfume this happened much too soon she called me to her roombillie jean is not my lover shes just a girl who claims that i am the one but the kid is not my sonbillie jean is not my lover shes just a girl who claims that i am the one but the kid is not my son she says i am the one but the kid is not my sonshe says i am the one but the kid is not my sonbillie jean is not my lover shes just a girl who claims that i am the one but the kid is not my son she says i am the one but the kid is not my sonshe says i am the one you know what you did she says he is my sonbreaking my heart babe she says i am the onebillie jean is not my lover billie jean is not my lover billie jean is not my lover billie jean is not my lover dont billie jean billie jean is not my lover billie jean is not my lover ",1
3,"flashdance what a feeling","irene cara",1983," first when theres nothing but a slow glowing dream that your fear seems to hide deep inside your mindall alone i have cried silent tears full of pride in a world made of steel made of stonewell i hear the music close my eyes feel the rhythm wrap around take a hold of my heartwhat a feeling beins believin i can have it all now im dancing for my lifetake your passion and make it happen pictures come alive you can dance right through your lifenow i hear the music close my eyes i am rhythm in a flash it takes hold of my heartwhat a feeling beins believin i can have it all now im dancing for my lifetake your passion and make it happen pictures come alive now im dancing through my life what a feelingwhat a feeling i am music now beins believin i am rhythm now pictures come alive you can dance right through your lifewhat a feeling i can really have it all what a feeling pictures come alive when i call i can have it all i can really have it all have it all pictures come alive when i call call call call callwhat a feeling i can have it all beins believin beins believin take your passionmake it happen make it happen what a feeling what a feeling ",1
4,"down under","men at work",1983," traveling in a friedout combie on a hippie trail head full of zombie i met a strange lady she made me nervous she took me in and gave me breakfast and she saiddo you come from a land down under where women glow and men plunder cant you hear cant you hear the thunder you better run you better take coverbuying bread from a man in brussels he was sixfootfour and full of muscles i said do you speaka my language he just smiled and gave me a vegemite sandwich and he saidi come from a land down under where beer does flow and men chunder cant you hear cant you hear the thunder you better run you better take cover yeahlyin in a den in bombay with a slack jaw and not much to say i said to the man are you trying to tempt me because i come from the land of plenty and he saiddo you come from a land down under oh yeah yeah where women glow and men plunder cant you hear cant you hear the thunder you better run you better take coverliving in a land down under where women glow and men plunder cant you hear cant you hear the thunder you better run you better take coverliving in a land down under where women glow and men plunder cant you hear cant you hear the thunder you better run you better take coverliving in a land down under where women glow and men plunder cant you hear cant you hear the thunder you better run you better take coverliving in a land down under where women glow and men plunder cant you hear cant you hear the thunder you better run you better take cover ",1
5,"beat it","michael jackson",1983," they told him dont you ever come around here dont want to see your face you better disappear the fires in their eyes and their words are really clear so beat it just beat ityou better run you better do what you can dont want to see no blood dont be a macho man you want to be tough better do what you can so beat it but you want to be badjust beat it beat it beat it beat it no one wants to be defeated showin how funky and strong is your fight it doesnt matter whos wrong or right just beat it beat it just beat it beat it just beat it beat it just beat it beat ittheyre out to get you better leave while you can dont want to be a boy you want to be a man you want to stay alive better do what you can so beat it just beat ityou have to show them that youre really not scared youre playin with your life this aint no truth or dare theyll kick you then they beat you then theyll tell you its fair so beat it but you want to be badjust beat it beat it beat it beat it no one wants to be defeated showin how funky and strong is your fight it doesnt matter whos wrong or rightjust beat it beat it beat it beat it no one wants to be defeated showin how funky and strong is your fight it doesnt matter whos wrong or rightjust beat it beat it beat it beat it no one wants to be defeated showin how funky and strong is your fight it doesnt matter whos wrong or right just beat it beat it beat it beat it beat itno one wants to be defeated showin how funky and strong is your fight it doesnt matter whos wrong or whos rightjust beat it beat it beat it beat it no one wants to be defeated showin how funky and strong is your fight it doesnt matter whos wrong or rightjust beat it beat it beat it beat it no one wants to be defeated showin how funky and strong is your fight it doesnt matter whos wrong or right just beat it beat it beat it beat it beat it ",1
6,"total eclipse of the heart","bonnie tyler",1983," turnaround every now and then i get a little bit lonely and youre never coming round turnaround every now and then i get a little bit tired of listening to the sound of my tears turnaround every now and then i get a little bit nervous that the best of all the years have gone by turnaround every now and then i get a little bit terrified and then i see the look in your eyes turnaround bright eyes but every now and then i fall apart turnaround bright eyes every now and then i fall apartand i need you now tonight and i need you more than ever and if you only hold me tight well be holding on forever and well only be making it right cause well never be wrong together we can take it to the end of the line your love is like a shadow on me all of the time all of the time i dont know what to do and im always in the dark were living in a powder keg and giving off sparks i really need you tonight forevers gonna start tonight forevers gonna start tonight    meaning  byamandah   editor    dsdsthe german version of american idolfeatured a contestant audition singing bonnie tylers iconic 80s singalong which they loved this clip isnt from    see all   once upon a time i was falling in love but now im only falling apart and theres nothing i can do a total eclipse of the heart once upon a time there was light in my life but now theres only love in the dark nothing i can say a total eclipse of the heartturnaround bright eyes every now and then i fall apart turnaround bright eyes every now and then i fall apartand i need you now tonight and i need you now and i need you more than ever and if you only hold me tight and if you only well be holding on forever and well only be making it right cause well never be wrong cause well never be wrong together we can take it to the end of the line your love is like a shadow on me all of the time all of the time i dont know what to do and im always in the dark were living in a powder keg and giving off sparks i really need you tonight forevers gonna start tonight forevers gonna start tonightonce upon a time i was falling in love but now im only falling apart and theres nothing i can say a total eclipse of the heart a total eclipse of the heart a total eclipse of the heart turn around bright eyes ",1
7,"maneater","daryl hall  john oates",1983,"shell only come out at night the lean and hungry type nothing is new ive seen her here before watching and waiting ooh shes sittin with you but her eyes are on the door so many have paid to see what you think youre gettin for free the woman is wild a shecat tamed by the purr of a jaguar moneys the matter if youre in it for love you aint gonna get too far oh oh here she comes watch out boy shell chew you up oh oh here she comes shes a maneater oh oh here she comes watch out boy shell chew you up oh oh here she comes shes a maneater i wouldnt if i were you i know what she can do shes deadly man she could really rip your world apart mind over matter ooh the beauty is there but a beast is in the heart oh oh here she comes watch out boy shell chew you up oh oh here she comes shes a maneater oh oh here she comes watch out boy shell chew you up oh oh here she comes shes a maneater oh oh here she comes watch out boy shell chew you up oh oh here she comes watch out shes a maneater oh oh here she comes shes a maneater ooh shell chew you up oh oh here she comes here she comes shes a maneater oh oh here she comes watch out shell only come out at night woo oh oh here she comes here she comes shes a maneater oh oh here she comes shes a maneater the woman is wild woo oh oh here she comes here she comes watch out boy watch out boy oh oh here she comes oh watch out watch out watch out watch out oh oh here she comes watch out maneater oh oh here she comes shes a maneater shes watching and waiting oh oh here she comes oh shes a maneater",3
8,"baby come to me","patti austin and james ingram",1983," thinkin back in time when love was only in the mind i realize aint no second chance you got to hold on to romance dont let it slidetheres a special kind of magic in the air when you find another heart that needs to sharechorus baby come to me let me put my arms around you this was meant to be and im ohso glad i found you need you everyday got to have your love around me baby always stay cause i cant go back to living without youspendin every dime to keep you talkin on the line thats how it wasand all those walks together out in any kind of weather just becausetheres a brand new way of looking at your life when you know that love is standing by your sidechorusthe night can be cold theres a chill to every evening when youre all alone dont talk anymore cause you know that ill be here to keep you warmbaby come to me let me put my arms around you this was meant to be and im ohso glad i found you need you everyday got to have your love around me baby always staycome to me this was meant to be need you everyday baby always stay i cant go back to living without you without you without you ",1
9,"maniac","michael sembello",1983," just a steel town girl on a saturday night looking for the fight of her life in the real time world no one sees her at all they all say shes crazylocking rhythm to the beat of her heart changing movement into light she had danced into the danger zone when the dancer becomes the danceit can cut you like a knife if the fight becomes the fire on the wire between will and what will beshes a maniac maniac on the floor and shes dancing like shes never danced beforeshes a maniac maniac on the floor and shes dancing like shes never danced beforeon the ice blue line of insanity is a place most never see its a hard won place of mystery touch it but cant hold ityou work all your life for that moment in time it could come or pass you by its a push shove world but theres always a chance if the hunger stays the nighttheres a cold connective heat struggling stretching for the peak never stopping with her head against the windshes a maniac maniac i sure know and shes dancing like shes never danced beforeshes a maniac maniac i sure know and shes dancing like shes never danced beforeit can cut you like a knife if the fight becomes the fire on the wire between will and what will beshes a maniac maniac i sure know and shes dancing like shes never danced beforeshes a maniac maniac i sure know and shes dancing like shes never danced beforei sure know and shes dancing like shes never danced before shes a maniac maniac i sure know ",1
10,"sweet dreams are made of this","eurythmics",1983," sweet dreams are made of this who am i to disagree i travel the world and the seven seas everybodys looking for somethingsome of them want to use you some of them want to get used by you some of them want to abuse you some of them want to be abusedsweet dreams are made of this who am i to disagree i travel the world and the seven seas everybodys looking for somethinghold your head up keep your head up movin on hold your head up movin on keep your head up movin on hold your head up keep your head up movin on hold your head up movin on keep your head up movin onsome of them want to use you some of them want to get used by you some of them want to abuse you some of them want to be abusedsweet dreams are made of this who am i to disagree i travel the world and the seven seas everybodys looking for somethingsweet dreams are made of this who am i to disagree i travel the world and the seven seas everybodys looking for somethingsweet dreams are made of this who am i to disagree i travel the world and the seven seas everybodys looking for somethingsweet dreams are made of this who am i to disagree i travel the world and the seven seas everybodys looking for something ",1
11,"do you really want to hurt me","culture club",1983," give me time to realize my crime let me love and steal i have danced inside your eyes how can i be realdo you really want to hurt me do you really want to make me cry precious kisses words that burn me lovers never ask you why in my heart the fire is burning choose my color find a star precious people always tell me thats a step a step too fardo you really want to hurt me do you really want to make me cry do you really want to hurt me do you really want to make me crywords are few i have spoken i could waste a thousand years wrapped in sorrow words are token come inside and catch my tears youve been talking but believe me if its true you do not know this boy loves without a reason im prepared to let you goif its love you want from me then take it away everythings not what you see its over againdo you really want to hurt me do you really want to make me cry do you really want to hurt me do you really want to make me crydo you really want to hurt me do you really want to make me cry do you really want to hurt me do you really want to make me cry do you really want to hurt me do you really want to make me cry ",1
12,"you and i","eddie rabbitt and crystal gayle",1983," just you and i sharing our love together and i know in time well build the dreams we treasure and well be all right just you and ijust you and i sharing our love together and i know in time well build the dreams we treasure well be all right just you and iand i remember our first embrace that smile that was on your face the promises that we made and now your love is my reward and i love you even more than i ever did beforejust you and i we can entrust each other with you in my life theyll never be another well be all right just you and iand i remember our first embrace that smile that was on your face the promises that we made and now your love is my reward and i love you even more than i ever did beforewe made it you and i ",1
13,"come on eileen","dexys midnight runners",1983," come on eileenpoor old johnny ray sounded sad upon the radio he moved a million hearts in mono our mothers cried sang along whod blame themnow youre grown youre grown up so grown now i must say more than ever come on eileen toora loora toora loo rye ay and we can sing just like our fatherscome on eileen oh i swear what he means at this moment you mean everything with you in that dress my thoughts i confess verge on dirty ah come on eileen come on eileenthese people round here wear beaten down eyes sunk in smoke dried faces so resigned to what their fate is but not us no never no not us no never we are far too young and cleverremember toora loora toora loo rye ay eileen ill hum this tune forevercome on eileen oh i swear what he means ah come on lets take off everything pretty red dress eileen tell him yes ah come on lets ah come on eileenthat pretty red dress eileen tell him yes ah come on lets ah come on eileen pleasecome on eileen too loo rye ay come on eileen too loo rye ay now you have grown now you have shown toora toora too loora oh eileensaid come on come on eileen too loo rye ay these things that are real so how you feel come on eileen too loo rye ay now i must say more than ever toora toora too loora things round here change i said toora loora come on eileen too loo rye ay toora loo rye ay come on eileen too loo rye ay toora toora too looracome on eileen oh i swear what he means at this moment you mean everything with you in that dress my thoughts i confess verge on dirty ah come on eileencome on eileen oh i swear what he means at this moment you mean everything in that dress oh my thoughts i confess well theyre dirty on eileencome on eileen whoa what he means oh ah come on everything ",1
14,"shame on the moon","bob seger  the silver bullet band",1983,"bob seger  the silver bullet band miscellaneous shame on the moon until youve been beside a man  you dont know what he wants  you dont know if he cries at night  you dont know if dont  where nothing comes easy old nightmares are real  until youve been beside a man  you dont know how he feels  but once inside a womans heart  a man must keep his head  heaven opens up the door  where angels fear to tread  some men go crazy some men go slow  some men go just where they want  some men never go  but oh blame it on midnight  ooh shame on the moon  piano solo  everywhere is all around  comfort in the crowd  ooh shame on the moon  stangers faces all round  laughing right out loud  hey watch where youre goin step light on old toes  until youve been beside a man  you dont know who he knows  but oh blame it on midnight  ooh shame on the moon  oh blame it on midnight",3
15,"she works hard for the money","donna summer",1983," she works hard for the money so hard for it honey she works hard for the money so you better treat her rightshe works hard for the money so hard for it honey she works hard for the money so you better treat her rightonetta there in the corner stands and she wonders where she is and the rain still hurts some people seem to have everything nine am on the hour hand and shes waiting for the bell and shes looking real pretty shes waiting for her clienteleshe works hard for the money so hard for it honey she works hard for the money so you better treat her rightshe works hard for the money so hard for it honey she works hard for the money so you better treat her righttwentyeight years have come and gone and shes seen a lot of tears of the ones who come in they really seem to need her there its a sacrifice working day to day for little money just tips for pay but its worth it all just to hear them say that they careshe works hard for the money so hard for it honey she works hard for the money so you better treat her rightalready knows shes seen her bad times already knows these are the good times shell never sell out she never will not for a dollar bill she works hardshe works hard for the money so hard for it honey she works hard for the money so you better treat her rightworks hard for the money so hard for it honey she works hard for the money so you better treat her rightshe works hard for the money so hard for it honey she works hard for the money so you better treat her rightshe works hard for the money so hard for it honey she works hard for the money so you better treat her rightshe works hard for the money so hard for it honey she works hard for the money so you better treat her right ",1
16,"never gonna let you go","sergio mendes",1983," i was as wrong as i could be to let you get away from me ill regret that move for as long as im livinbut now that ive come to see the light all i wanna do is make things right so just say the word and tell me that im forgivenyou and me were gonna be better than we were before loved you then but now i intend to open up and love you even more this time you can be sureim never gonna let you go im gonna hold you in my arms forever gonna try and make up for all the times i hurt you sogonna hold your body close to mine from this day on were gonna be together oh i swear this time im never gonna let you golookin back now it seems so clear i had it all when you were here oh you gave it all and i took it for grantedbut if theres some feeling left in you some flicker of love that still shines through lets talk it out lets talk about second chanceswait and see its gonna be sweeter than it was before i gave some then but now i intend to dedicate myself to giving more this time you can be sureim never gonna let you go im gonna hold you in my arms forever gonna try and make up for all the times i hurt you sogonna hold your body close to mine from this day on were gonna be together oh i swear this time im never gonna let you gooh so if youll just say you want me tooim never gonna let you go im gonna hold you in my arms forever gonna try and make up for all the times i hurt you sogonna hold your body close to mine from this day on were gonna be together oh i swear this time im never gonna let you gonever gonna let you go hold you in my arms forever gonna try and make up for all the times i hurt you sohold your body close to mine oh were gonna be together oh i swear this time im never gonna let you go ",1
17,"hungry like the wolf","duran duran",1983," dark in the city night is a wire steam in the subway the earth is a fire do do do do do do do do do do do do do do do woman you want me give me a sign and catch my breathing even closer behind do do do do do do do do do do do do do do doin touch with the ground im on the hunt im after you smell like i sound im lost in a crowd and im hungry like the wolf straddle the line in discord and rhyme im on the hunt im after you mouth is alive with juices like wine and im hungry like the wolfstalked in the forest too close to hide ill be upon you by the moonlight side do do do do do do do do do do do do do do do hot blood drumming on your skin its so tight you feel my heat im just a moment behind do do do do do do do do do do do do do do doin touch with the ground im on the hunt im after you scent and a sound im lost and im found and im hungry like the wolf strut on a line its discord and rhyme i howl and i whine im after you mouth is alive all running inside and im hungry like the wolfhungry like the wolf hungry like the wolf hungry like the wolfburning the ground i break from the crowd im on the hunt im after you i smell like i sound im lost and im found and im hungry like the wolf strut on a line its discord and rhyme im on the hunt im after you mouth is alive with juices like wine and im hungry like the wolfburning the ground i break from the crowd im on the hunt im after you scent and a sound im lost and im found and im hungry like the wolf strut on a line its discord and rhyme i howl and i whine im after you mouth is alive all running inside and im hungry like the wolf ",1
18,"lets dance","david bowie",1983," ah ah ah ah lets dance lets dance lets danceput on your red shoes and dance the blues lets dance to the song theyre playing on the radio lets sway while color lights up your face lets sway sway through the crowd to an empty spaceif you say run ill run with you if you say hide well hide because my love for you would break my heart in two if you should fall into my arms and tremble like a flower    meaning  byamandah   editor    stevie ray vaughan is responsible for the epic guitar solo at the end of the song    see all   lets dance lets dance lets dancefor fear your grace should fall lets dance for fear tonight is alllets sway you could look into my eyes lets sway under the moonlight this serious moonlightand if you say run ill run with you and if you say hide well hide because my love for you would break my heart in two if you should fall into my arms and tremble like a flowerlets dance lets dance lets dance put on your red shoes and dance the blues lets dance to the song theyre playinlets sway lets sway under the moonlight this serious moonlightlets dance lets lets lets lets dance lets dancelets dance lets dance lets dance lets dance lets dance lets dance lets dance lets dance lets dance lets dance lets dance lets dance lets dance lets dance lets dance lets dance ",1
19,"twilight zone","golden earring",1983," somewhere in a lonely hotel room theres a guy starting to realize that eternal fate has turn its back on him its two amits two am the fear has gone im sitting here waitin the gun still warm maybe my connection is tired of takin chancesyeah theres a storm on the loose sirens in my head wrapped up in silence all circuits are dead cannot decode my whole life spins into a frenzyhelp im steppin into the twilight zone this is a madhouse feels like being home my beacons been moved under moon and star where am i to go now that ive gone too farhelp im steppin into the twilight zone place is a madhouse feels like being cloned my beacons been moved under moon and star where am i to go now that ive gone too farsoon you will come to know when the bullet hits the bone soon you will come to know when the bullet hits the boneim falling down the spiral destination unknown double crossed messenger all alone cant get no connection cant get through where are youwell the night weighs heavy on his guilty mind this far from the borderline when the hitman comes he knows damn well he has been cheatedand he says help im steppin into the twilight zone place is a madhouse feels like being cloned my beacons been moved under moon and star where am i to go now that ive gone too farhelp im steppin into the twilight zone place is a madhouse feels like being cloned my beacons been moved under moon and star where am i to go now that ive gone too farsoon you will come to know when the bullet hits the bone soon you will come to know when the bullet hits the bonewhen the bullet hits the bonehelp im steppin into the twilight zone place is a madhouse feels like being cloned my beacons been moved under moon and star where am i to go now that ive gone too farhelp im steppin into the twilight zone place is a madhouse feels like being cloned my beacons been moved under moon and star where am i to go now that ive gone too farsoon you will come to know when the bullet hits the bone soon you will come to know when the bullet hits the bonesoon you will come to know when the bullet hits the bone soon you will come to know when the bullet hits the bonewhen the bullet hits the bone a ha when the bullet hits the bone when the bullet hits the bone a ha when the bullet hits the bonewhen the bullet hits the bone a ha when the bullet hits the bone when the bullet hits the bone a ha when the bullet hits the bone ",1
20,"i know theres something going on","frida",1983," i can see that it wont be long you grow cold when you keep holding on you know youve changed and your words they lie thats something you cant denyi know youre not at home youre home but god im alone if you want to leave then why dont you say your love is gone anywayi know theres something going on i know theres something going on i know it wont be long wont be long before youre gonetheres something going on theres something going oni know a good thing must come to an end but its hard to take loosing a friend i know what you think and whats in your mind so darling dont quite pretendi know theres something going on i know theres something going on i know it wont be long it wont be long before youre gonetheres something going on theres something going on theres something going on theres something going oni know theres something going on i know theres something going on i know it wont be long it wont be long before youre gonetheres something going on theres something going on theres something going on theres something going oni know theres something i know theres something i know theres something  ",1
21,"jeopardy","the greg kihn band",1983," where were you when i needed you well you could not be found what can i do oh i believed in you youre running me aroundwell you can take it as a warning or take it anyway you like its the lightning not the thunder you never know where its gonna strikeour loves in jeopardy baby ooh 2xdont be cute dont be funny now its later than you think oh whats the use save your money now its hanging on the brink dont let go while im hanging on cause i been hanging on so long its so hard to be all alone i know youre not that strongour loves in jeopardy baby oooh 2xrepeat  ",1
22,"electric avenue","eddy grant",1983," boy boynow in the street there is violence an an a lots of work to be done no place to hang all our washing an an i cant blame all on the sunoh no we gonna rock down to electric avenue and then well take it higher oh we gonna rock down to electric avenue and then well take it higherworkin so hard like a soldier cant afford a thing on tv deep in my heart i am warrior cant get food for them kidgood god we gonna rock down to electric avenue and then well take it higher oh we gonna rock down to electric avenue and then well take it higheroh no oh no oh no oh nooh lord we gonna rock down to electric avenue and then well take it higher oh we gonna rock down to electric avenue and then well take it higherwho is to blame in one country never can get to the one dealin in multiplication and they still cant feed everyoneoh no we gonna rock down to electric avenue and then well take it higher oh no we gonna rock down to electric avenue and then well take it higheroh out in the street out in the street out in the daytime out in the nightoh we gonna rock down to electric avenue and then well take it higher oh we gonna rock down to electric avenue and then well take it higherout in the street out in the street out in the playground in the dark side of townoh we gonna rock down to electric avenue and then well take it higher hey we gonna rock down to electric avenue and then well take it higherwe gonna rock down to electric avenue and then well take it higher electric avenue we gonna rock down to electric avenue and then well take it higher electric avenue ",1
23,"she blinded me with science","thomas dolby",1983," its poetry in motion she turned her tender eyes to me as deep as any ocean as sweet as any harmony mmm  but she blinded me with science she blinded me with science and failed me in biologywhen im dancing close to her blinding me with science  science i can smell the chemicals science sciencemmm  but its poetry in motion and when she turned her eyes to me as deep as any ocean as sweet as any harmony mmm  but she blinded me with science she blinded me with science and failed me in geometrywhen shes dancing next to me blinding me with science  science science i can hear machinery blinding me with science  science scienceits poetry in motion and now shes making love to me the spheres are in commotion the elements in harmony she blinded me with science she blinded me with science and hit me with technologygood heavens miss sakamoto  youre beautiful i dont believe it there she goes again shes tidied up and i cant find anything all my tubes and wires and careful notes and antiquated notionsbut  its poetry in motion and when she turned her tender eyes to me as deep as any ocean as sweet as any harmony mmm  but she blinded me with science she blinded me with science and failed me in geometryshe blinded me  with science she blinded me with ",1
24,"africa","toto",1983," i hear the drums echoing tonight but she hears only whispers of some quiet conversation shes coming in 1230 flight the moonlit wings reflect the stars that guide me towards salvation i stopped an old man along the way hoping to find some long forgotten words or ancient melodies he turned to me as if to say hurry boy its waiting there for youits gonna take a lot to take me away from you theres nothing that a hundred men or more could ever do i bless the rains down in africa gonna take some time to do the things we never had    meaning  byamandah   editor    on january 27th 2015 kristen bell  dax shepard released their music video to totos africa recorded while the couple was there on safari these two are    see all   the wild dogs cry out in the night as they grow restless longing for some solitary company i know that i must do whats right as sure as kilimanjaro rises like olympus above the serengeti i seek to cure whats deep inside frightened of this thing that ive becomeits gonna take a lot to drag me away from you theres nothing that a hundred men or more could ever do i bless the rains down in africa gonna take some time to do the things we never hadhurry boy shes waiting there for youits gonna take a lot to drag me away from you theres nothing that a hundred men or more could ever do i bless the rains down in africa i bless the rains down in africa i bless the rain i bless the rains down in africa i bless the rain i bless the rains down in africa i bless the rains down in africa ah gonna take the time gonna take some time to do the things we never had ",1
25,"little red corvette","prince",1983," i guess i should of known by the way you parked your car sideways that it wouldnt last see youre the kinda person that believes in makin out once love em and leave em fasti guess i must be dumb cause you had a pocket full of horses trojan and some of them used but it was saturday night i guess that makes it all right and you say what have i got to lose and honey i saylittle red corvette baby youre much too fast little red corvette you need a love thats gonna lasti guess i should of closed my eyes when you drove me to the place where your horses run free cause i felt a little ill when i saw all the pictures of the jockeys that were there before me    meaning  byamandah   editor    princes little red corvette is a clever metaphor for a beautiful desired person on the road to breaking down after too many onenightstands    see all   believe it or not i started to worry i wondered if i had enough class but it was saturday night i guess that makes it all right and you say baby have you got enough gas oh yeahlittle red corvette baby youre much to fast yes you are little red corvette you need to find a love thats gonna last ah huha body like yours a body like yours oughta be in jail oughta be in jail cause its on the verge of bein obscene cause its on the verge of bein obscene move over baby move over baby gimme the keys gimme the keys im gonna try to tame your little red love machine im gonna try to tame your little red love machinelittle red corvette baby youre much to fast little red corvette you need to find a love thats gonna lastlittle red corvette honey you got to slow down got to slow down little red corvette cause if you dont you gonna run your little red corvette right in the groundlittle red corvette right down to the ground honey you got to slow down you you you got to slow down little red corvette youre movin much too fast too fast you need to find a love thats gonna lastgirl you got an ass like i never seen and the ride i say the ride is so smooth you must be a limousinebaby youre much to fast little red corvette you need a love you need a love thats thats gonna last little red corvette babe you got to slow down you got to slow down little red corvette cause if you dont cause if you dont you gonna run your body right into the ground right into the ground right into the ground right into the ground right into the ground right into the groundlittle red corvette ",1
26,"back on the chain gang","the pretenders",1983,"i found a picture of you ohh ohh youd hijacked my world at night to a place in the past weve been passed out of ohh ohh now were back in the fight   ooh ah were back on the train yeah   ooh ah   ooh ah oh back on the chain gang circumstance beyond our control ohh ohh the phone tv and the news of the world got in the house like a pigeon from hell ohh ohh threw sand in our eyes and descended like flies   ooh ah were just back on the train yeah   ooh ah   ooh ah ah back on the chain gang the powers that be that force us to live like we do bring me to my knees when i see what theyve done to you well ill die as i stand here today knowing that deep in my heart theyll fall to ruin one day for makin us part i found a picture of you ohh ohh those were the happiest days of my life like a break in the battle was your part ohh ohh in the wretched life of a lonely heart   ooh ah now were back on the train yeah   ooh ah   ooh ah ah back on the chain gang",3
27,"up where we belong","joe cocker and jennifer warnes",1983," who knows what tomorrow brings in a world few hearts survive all i know is the way i feel when its real i keep it alivethe road is long there are mountains in our way but we climb a step every daylove lift us up where we belong where the eagles cry on a mountain high love lift us up where we belong far from the world below up where the clear winds blowsome hang on to used to be live their lives looking behind all we have is here and now all our lives out there to findthe road is long there are mountains in our way but we climb a step every daylove lift us up where we belong where the eagles cry on a mountain high love lift us up where we belong far from the world we know where the clear winds blowtime goes by no time to cry lifes you and i alive todaylove lift us up where we belong where the eagles cry on a mountain high love lift us up where we belong far from the world we know where the clear winds blowlove lift us up where we belong where the eagles cry on a mountain high love lift us up where we belong ",1
28,"mr roboto","styx",1983," domo arigato mr roboto domo arigato mr roboto mata ahoo hima de domo arigato mr roboto himitsu wo shiri taiyoure wondering who i am secret secret ive got a secret machine or mannequin secret secret ive got a secret with parts made in japan secret secret ive got a secret i am the modren manive got a secret ive been hiding under my skin my heart is human my blood is boiling my brain ibm so if you see me acting strangely dont be surprisedim just a man who needed someone and somewhere to hide to keep me alive just keep me alive somewhere to hide to keep me aliveim not a robot without emotions im not what you see ive come to help you with your problems so we can be free im not a hero im not a saviour forget what you knowim just a man whose circumstances went beyond his control beyond my control we all need control i need control we all need controli am the modren man secret secret ive got a secret who hides behind a mask secret secret ive got a secret so no one else can see secret secret ive got a secret my true identitydomo arigato mr roboto domo domo domo arigato mr roboto domo domodomo arigato mr roboto domo arigato mr roboto domo arigato mr roboto domo arigato mr roboto domo arigato mr robotothank you very much mr roboto for doing the jobs that nobody wants to and thank you very much mr roboto for helping me escapejust when i needed to thank you thank you thank you i want to thank you please thank you ohthe problems plain to see too much technology machines to save our lives machines dehumanizethe time has come at last secret secret ive got a secret to throw away this mask secret secret ive got a secret now everyone can see secret secret ive got a secret my true identity im kilroy kilroy kilroy kilroy ",1
29,"you are","lionel richie",1983," baby youll find theres only one love yours and mine ive got so much loveand needing you so my love for you ill never let go ive got so much loveall i want is to hold you let me show how much i love you baby show you i dont mind and i dont mind loving you girl i love you theres no one above youyou are the sun you are the rain that makes my life this foolish game you need to know i love you so and id do it all again and againtell me its true i cant believe you do what you do ive got so much love and my love youll see well stay together just you and me ive got so much loveonly you know me tell me how to love you baby show me i dont mind and i dont mind tell me girl i love you always thinking of youyou are the sun you are the rain that makes my life this foolish game you need to know i love you so and id do it all again and againi know you know the way i feel and i need your love for always cause when im with you i fall in love again and again and again babyyou are the sun you are the rain that makes my life this foolish game you need to know i love you so and id do it all again and againyou are the sun you are the rain baby that makes my life this foolish game you need to know i love you so and id do it all again and againyou are the sun you are the rain that makes my life this foolish game you need to know i love you so and id do it all again and againyou are the sun you are the rain that makes my life this foolish game you need to know i love you so and id do it all again and again ",1
30,"der kommissar","after the fire",1983,"zwei drei vier one two three its easy to see but its not that i dont care so cause i hear it all the time but they never let you know on the tv and the radio she was young her heart was pure but every night is bright she got she said sugar is sweet she come rappin to the beat then i knew that she was hot she was singin dont turn around oh ohincomprehensible der kommissars in town oh oh youre in his eye and youll know why the more you live the faster you will die alles klar herr kommissar she said babe you know i miss jill and joe and all my funky friends but my street understanding was just enough to know what she really meant and i got to thinking while she was talking that i know she told the story of those special places that she goes when she rides with the others in the subway singin dont turn around oh oh der kommissars in town oh oh and if he talks to you and you dont know why you say your life is gonna make you die alles klar herr kommissar well we meet jill and joe and brother herr and the whole cool gang and oh theyre rappin here theyre rappin there but shes climbin on the wall its a clear case herr kommissar cause all the children know theyre all slidin down into the valley theyre all slipping on the same snow hear the children dont turn around oh oh der kommissars in town oh oh hes got the power and youre so weak and youre frustration will not let you speak dont turn around oh oh der kommissars in town oh oh and if he talks to you then youll know why the more you live the faster you will die dont turn around oh oh der kommissars in town oh oh dont turn around oh oh der kommissars in town oh oh dont turn around oh oh der kommissars in town oh oh dont turn around oh oh der kommissars in town oh oh dont turn around oh oh der kommissars in town oh oh dont turn around oh oh der kommissars in town oh oh",3
31,"puttin on the ritz","taco",1983," if youre blue and you dont know where to go to why dont you go where fashion sits puttin on the ritz different types who wear a day coat pants with stripes and cutaway coat perfect fits puttin on the ritzdressed up like a million dollar trooper tryin hard to look like gary cooper super duper come lets mix where rockefellers walk with sticks or umbrellas in their mitts puttin on the ritzhave you seen the welltodo up and down park avenue on that famous thoroughfare with their noses in the air high hats and arrow collars white spats and lots of dollars spending every dime for a wonderful timeif youre blue and you dont know where to go to why dont you go where fashion sits puttin on the ritz different types who wear a day coat pants with stripes and cutaway coat perfect fits puttin on the ritzdressed up like a million dollar trooper tryin hard to look like gary cooper super duper come lets mix where rockefellers walk with sticks or umbrellas in their mitts puttin on the ritzdressed up like a million dollar trooper tryin hard to look like gary cooper super duper if youre blue and you dont know where to go to why dont you go where fashion sits puttin on the ritz puttin on the ritz puttin on the ritz puttin on the ritzdowntown uptown get your kicks at the ritz dine n wine but not til nine the time is right for us to tonight we can move move to the rhythm you can move dance to the rhythm nice and easyi wantcha to move put it on puttin it on puttin it on puttin it on the r i t z how bout you and me says gotta dance gotta danceif youre blue and you dont know where to go to why dont you go where fashion sits puttin on the ritz puttin on the ritz puttin on the ritz puttin on the ritz ",1
32,"sexual healing","marvin gaye",1983," get up get up get up get up wake up wake up wake up wake upoh baby now lets get down tonightooh baby im hot just like an oven i need some lovin and baby i cant hold it much longer its getting stronger and strongerand when i get that feeling i want sexual healing sexual healing oh baby makes me feel so finehelps to relieve my mind sexual healing baby is good for me sexual healing is something thats good for mewhenever blue teardrops are fallin and my emotional stability is leaving me there is something i can do i can get on the telephone and call you up babyand honey i know youll be there to relieve me the love you give to me will free me if you dont know the thing youre dealing ohh i can tell you darling that its sexual healingget up get up get up get up lets make love tonight wake up wake up wake up wake up cause you do it rightbaby i got sick this mornin a sea was stormin inside of me baby i think im capsizin the waves are risin and risinand when i get that feeling i want sexual healing sexual healing is good for me makes me feel so fine its such a rush helps to relieve the mind and its good for ussexual healing baby its good for me sexual healing is something thats good for me well its good for me and its so good to me my baby ohhcome take control just grab a hold of my body and mind soon well be making it honey ill be feeling fine youre my medicine open up and let me in darling youre so great i cant wait for you to operatei cant wait for you to operatewhen i get this feeling i need sexual healing oh when i get this feeling i need sexual healing i gotta have sexual healing darling cause im all alone sexual healing darling till you come back homeplease dont procrastinate its not good to masturbate ",1
33,"keep feeling fascination","the human league",1983," if it seems a little time is needed decisions to be made the good advice of friends unheeded for the best of plans mislaidjust looking for a new direction in an old familiar way the forming of a new connection to study or to playand so the conversation turned until the sun went down and many fantasies were learned on that daykeep feeling fascination passion burning love so strong keep feeling fascination looking learning moving onwell the truth may need some rearranging stories to be told and plain to see the facts are changing no meaning left to holdand so the conversation turned until the sun went down and many fantasies were learned on that daykeep feeling fascination passion burning love so strong keep feeling fascination looking learning moving onand so the conversation turned until the sun went down and many fantasies were learned on that daykeep feeling fascination passion burning love so strong keep feeling fascination looking learning moving onkeep feeling fascination passion burning love so strong keep feeling fascination looking learning moving onkeep feeling fascination passion burning love so strong keep feeling fascination looking learning moving on ",1
34,"time clock of the heart","culture club",1983," dont put your head on my shoulder sink me in a river of tears this could be the best place yet but you must overcome your fearsooh in time it could have been so much more the time is precious i know in time it could have been so much more the time has nothing to show because time wont give me time and time makes lovers feel like theyve got something real but you and me we know theyve got nothing but time and time wont give me time wont give me time time time timedont make me feel any colder time is like a clock in my heart touch me touch was the key too much i felt i lost you from the startooh in time it could have been so much more the time is precious i know in time it could have been so much more the time has nothing to show because time wont give me time and time makes lovers feel like theyve got something real but you and me we know theyve got nothing but time and time wont give me time wont give me time time time time ooh in time it could have been so much more the time is precious i know in time it could have been so much more the time has nothing to show because time wont give me time and time makes lovers feel like theyve got something real but you and me we know theyve got nothing but time and you know time wont give me time and time makes lovers feel like theyve got something real but you and me we know theyve got nothing but time and you know time wont give me time and time makes lovers feel like theyve got something real ",1
35,"the safety dance","men without hats",1983,"we can dance if we want to we can leave your friends behind cause your friends dont dance and if they dont dance well theyre no friends of mine say we can go where we want to a place where they will never find and we can act like we come from out of this world leave the real one far behind and we can dance dansez we can go when we want to night is young and so am i and we can dress real neat from our hats to our feet and surprise them with a victory cry say we can act if we want to if we dont nobody will and you can act real rude and totally removed and i can act like an imbecile and say we can dance we can dance everythings out of control we can dance we can dance were doing it from pole to pole we can dance we can dance everybody look at your hands we can dance we can dance everybodys taking the chance its a safety dance oh well its safe to dance yes it safe to dance we can dance if we want to weve got all your life and mine as long as we abuse it never going to lose it everything will work out right i say we can dance if we want to we can leave your friends behind cause your friends dont dance and if they dont dance well theyre no friends of mine i say we can dance we can dance everythings out of control we can dance we can dance were doing it from pole to pole we can dance we can dance everybody look at your hands we can dance we can dance everybodys taking the chance well its safe to dance yes its safe to dance well its safe to dance well its safe to dance yes its safe to dance well its safe to dance well its safe to dance its a safety dance well its a safety dance oh its a safety dance oh its a safety dance well its a safety dance",3
36,"mickey","toni basil",1983," oh mickey youre so fine youre so fine you blow my mind hey mickey hey mickeyoh mickey youre so fine youre so fine you blow my mind hey mickey hey mickeyoh mickey youre so fine youre so fine you blow my mind hey mickey hey mickeyoh mickey youre so fine youre so fine you blow my mind hey mickeyhey mickey youve been around all night and thats a little long you think youve got the right but i think youve got it wrong why cant you say goodnight so you can take me home mickeycause when you say you will it always means you wont youre givin me the chills baby please baby dont every night you still leave me all alone mickeyoh mickey what a pity you dont understand you take me by the heart when you take me by the hand oh mickey youre so pretty cant you understand its guys like you mickey oh what you do mickey do mickey dont break my heart mickeyhey mickey now when you take me by the hooves everyones gonna know every time you move i let a little more show theres somethin we can use so dont say no mickeyso come on and give it to me any way you can any way you wanna do it ill treat you like a man oh please baby please dont leave me in a jam mickeyoh mickey what a pity you dont understand you take me by the heart when you take me by the hand oh mickey youre so pretty cant you understand its guys like you mickey oh what you do mickey do mickey dont break my heart mickeyoh mickey youre so fine youre so fine you blow my mind hey mickey hey mickeyoh mickey youre so fine youre so fine you blow my mind hey mickey hey mickeyoh mickey youre so fine youre so fine you blow my mind hey mickey hey mickeyoh mickey youre so fine youre so fine you blow my mind hey mickeyoh mickey what a pity you dont understand you take me by the heart when you take me by the hand oh mickey youre so pretty cant you understand its guys like you mickey oh what you do mickey do mickey dont break my heart mickeyoh mickey what a pity you dont understand you take me by the heart when you take me by the hand oh mickey youre so pretty cant you understand its guys like you mickey oh what you do mickey do mickey dont break my heart mickeyoh mickey what a pity you dont understand you take me by the heart when you take me by the hand oh mickey youre so pretty cant you understand its guys like you mickey oh what you do mickey do mickey dont break my heart mickeyoh mickey what a pity you dont understand you take me by the heart when you take me by the hand oh mickey youre so pretty cant you understand its guys like you mickey ",1
37,"you cant hurry love","phil collins",1983," i need love love to ease my mind i need to find find someone to call mine but mama said you cant hurry love no you just have to wait she said love dont come easy its a game of give and take you cant hurry love no you just have to wait you gotta trust give it time no matter how long it takes but how many heartaches must i stand before i find a love to let me live again right now the only thing that keeps me hanging on when i feel my strength yeah its almost gone i remember mama saidyou cant hurry love no you just have to wait she said love dont come easy its a game of give and take how long must i wait how much more can i take before loneliness will cause my heart heart to break no i cant bear to live my life alone i grow impatient for a love to call my own but when i feel that i i cant go on these precious words keeps me hanging on i remember mama saidcant hurry love no you just have to wait she said love dont come easy its a game of give and takeyou cant hurry love no you just have to wait she said trust give it time no matter how long it takesno love love dont come easy but i keep on waiting anticipating for that soft voice to talk to me at night for some tender arms to hold me tight i keep waiting i keep on waiting but it aint easy it aint easy when mama saidyou cant hurry love no you just have to wait she said trust give it time no matter how long it takesyou cant hurry love no you just have to wait she said love dont come easy its a game of give and take you cant hurry love no you cant ",1
38,"separate ways worlds apart","journey",1983," here we stand worlds apart hearts broken in two two two sleepless nights losing ground im reachin for you you youfeelin that its gone can change your mind if we cant go on to survive the tide love dividessomeday love will find you break those chains that bind you one night will remind you how we touched and went our separate ways if he ever hurts you true love wont desert you you know i still love you though we touched and went our separate waystroubled times caught between confusion and pain pain pain distant eyes promises we made were in vain in vain vainif you must go i wish you love youll never walk alone take care my love miss you lovesomeday love will find you break those chains that bind you one night will remind you how we touched and went our separate ways if he ever hurts you true love wont desert you you know i still love you though we touched and went our separate wayssomeday love will find you break those chains that bind you one night will remind you if he ever hurts you true love wont desert you you know i still love youi still love you girl i really love you girl and if he ever hurts you true love wont desert you no no ",1
39,"one on one","daryl hall  john oates",1983,"im tired of playing on the team it seems i dont get time out anymore what a change if we set the pace face to face no one even trying to score and oh oh i can feel the magic of your touch and when you move in close a little bit means so much ooo yeah youve got to understand baby time out is what im here for one on one i wanna play that game tonight one on one i know i wanna play that one on one i wanna play that game tonight one on one so slow you cant tell me you dont miss me girl no i think i might know you too well i wonder what youd say if you knew that i was coming tonight want to i want you cant you tell one on one i wanna play that game tonight one on one i know i wanna play that one on one i wanna play that game tonight one on one so slow thats all you need to know now cause if its really right theres nothing else one on one i want to play that game tonight one on one i want to play that game tonight one on one i want to play that game tonight one on one i wanna play that game one on one on one on one girl there is nothing else but you and me i dont want no one else i dont want no one else baby im tired of playing im tired of playing i dont wanna play those games no more no more i wanna play with you girl i wanna play with you girl just you and me you and me you and me",3
40,"weve got tonight","kenny rogers and sheena easton",1983," i know its late i know youre weary i know your plans dont include me still here we are both of us lonely longing for shelter from all that we see why should we worry no one will care girl look at the stars so far away weve got tonight who needs tomorrow weve got tonight babe why dont you staydeep in my soul ive been so lonely all of my hopes fading away ive longed for love like everyone else does i know ill keep searching even after today so there it is girl ive said it all now and here we are babe what do you say weve got tonight who needs tomorrow weve got tonight babe why dont you stayi know its late i know youre weary i know your plans dont include me still here we are both of us lonely both of us lonelyweve got tonight who needs tomorrow lets make it last lets find a way turn out the light come take my hand now weve got tonight babe why dont you stay why dont you stay ",1
41,"1999","prince",1983," dont worry i wont hurt you i only want you to have some funi was dreamin when i wrote this forgive me if it goes astray but when i woke up this mornin couldve sworn it was judgment day the sky was all purple there were people runnin everywhere tryin to run from the destruction you know i didnt even caresay say two thousand zero zero party over oops out of time so tonight im gonna party like its nineteen ninetyninei was dreamin when i wrote this so sue me if i go too fast but life is just a party and parties werent meant to last war is all around us my mind says prepare to fight so if i gotta die im gonna listen to my body tonight    meaning  byamandah   editor    only the musical genius that is prince could come up with a catchy single that doubles as a hardhitting protest song when the album 1999 hit shelved in 1982    see all   yeah hey they say two thousand zero zero party over oops out of time so tonight im gonna party like its nineteen ninetynine yeah yeah heypeople let me tell you somethinif you didnt come to party dont bother knockin on my door oww i got a lion in my pocket and baby hes ready to roar yeah hey everybodys got a bomb we could all die any day oh but before i let that happen ill dance my life away oh hothey say two thousand zero zero party over oops out of time were runnin out of time so tonight im gonna party like its nineteen ninetynine we gonna we gonna ohsay it one more time two thousand zero zero party over oops out of time no no so tonight im gonna party like its nineteen ninetynine we gonna we gonnaalright nineteen ninetynine you say it nineteen ninetynine mmm nineteen ninetynine oww nineteen ninetyninedont stop it dont stop it say it one more time two thousand zero zero party over oops out of time yeah yeah so tonight im gonna party like its nineteen ninetynine we gonna we gonna whoa yeah nineteen ninetynine dont you wanna go nineteen ninetynine dont you wanna go nineteen ninetynine we could all die any day nineteen ninetynine i dont wanna die id rather dance my life away nineteen ninetyninelisten to what im tryin to say everybody everybody say party come on now you say it party thats right everybody say party cant run from revelation no party sing it for your nation yall party ow dreamin when youre singin baby party say the telephone a ringin mama now party come on come on you say party everybody two times party ow work it down to the ground im sayin party oh baby say it again ooh hoo hoo party oh shake your body baby party thats right come on sing the song party ah aah ha party thats right party got a lion in my pocket mama say party ah and hes ready to roar partymommy why does everybody have a bomb mommy why does everybody have a bomb ",1
42,"stray cat strut","stray cats",1983," ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh oohblack and orange stray cat sittin on a fence i aint got enough dough to pay the rent im flat broke but i dont care i strut right by with my tail in the airstray cat strut im a ladies cat im a feline casanova hey man thats that get a shoe thrown at me from a mean old man get my dinner from a garbage candont go crossing my pathi dont bother chasing mice around i slink down the alleyway looking for a fight howling to the moonlight on a hot summer night singin the blues while the lady cats cry wild stray cat youre a real gone guy i wish i could be as carefree and wild but i got cat class and i got cat stylei dont bother chasing mice around i slink down the alleyway looking for a fight howling to the moonlight on a hot summer night singin the blues while the lady cats cry wild stray cat youre a real gone guy i wish i could be as carefree and wild but i got cat class and i got cat style ",1
43,"allentown","billy joel",1983," well were living here in allentown and theyre closing all the factories down out in bethlehem theyre killing time filling out forms standing in line well our fathers fought the second world war spent their weekends on the jersey shore met our mothers in the uso asked them to dance danced with them slow and were living here in allentownbut the restlessness was handed down and its getting very hard to staywell were waiting here in allentown for the pennsylvania we never found for the promises our teachers gave if we worked hard if we behavedso the graduations hang on the wall but they never really helped us at all no they never taught us what was real iron and coal and chromium steel and were waiting here in allentownbut theyve taken all the coal from the ground and the union people crawled awayevery child has a pretty good shot to get at least as far as their old man got but something happened on the way to that place they threw an american flag in our placewell im living here in allentown and its hard to keep a good man down but i wont be giving up todayand were living here in allentown ",1
44,"stand back","stevie nicks",1983," no one looked as i walked by just an invitation would have been just fine said no to him again and again first he took my heart then he ranno one knows how i feel what i say unless you read between my lines one man walked away from me first he took my hand take me homestand back stand back in the middle of my room i did not hear from you its alright its alright to be standing in a line standing in a line i would crydo not turn away my friend like a willow i can bend no man calls my name no man cameso i walked on down away from you maybe your attention was more than you could do one man did not call he asked me for my love and that was allstand back stand back in the middle of my room i did not hear from you its alright its alright to be standing in a line standing in a line standing in a lineso i walked on down the line away from you maybe your attention was more than i could do one man did not call well he asked me for my love that was allstandback standbackyou do you do so i walked on down the line away from youmaby your attention was more than i could do one man did not call well he asked me for my love that was all standback standbackwell i need a little sympathy well i need a little sympathywell i need a little sympathiy i need to be standing in standback i need to be standing in standback i need to be standing in standback why dont you take me home why dont you take me home standback ",1
45,"tell her about it","billy joel",1983," listen boy i dont want to see you let a good thing slip awayyou know i dont like watching anybody make the same mistakes i madeshes a real nice girl and shes always there for you but a nice girl wouldnt tell you what you should dolisten boy im sure that you think you got it all under controlyou dont want somebody telling you the way to stay in someones soulyoure a big boy now youll never let her go but thats just the kind of thing she ought to knowtell her about it tell her everything you feel give her every reason to accept that youre for realtell her about it tell her all your crazy dreams let her know you need her let her know how much she meanslisten boy its not automatically a certain guarantee to insure yourself youve got to provide communication constantlywhen you love someone youre always insecure and theres only one good way to reassuretell her about it let her know how much you care when she cant be with you tell her you wish you were theretell her about it every day before you leave pay her some attention give her something to believecause now and then shell get to worrying just because you havent spoken for so long though you may not have done anything will that be a consolation when shes gonelisten boy its good information from a man whos made mistakesjust a word or two that she gets from you could be the difference that it makesshes a trusting soul shes put her trust in you but a girl like that wont tell you what you should dotell her about it tell her everything you feel give her every reason to accept that youre for realtell her about it tell her all your crazy dreams let her know you need her let her know how much she meanstell her about it tell her how you feel right now tell her about it the girl dont want to wait too long you got to tell her about it tell her now and you wont go wrong you got to tell her about it before it gets too late you got to tell her about it you know the girl dont want to wait you got to tell her about it ",1
46,"always something there to remind me","naked eyes",1983," i walk along the city streets you used to walk along with me and every step i take reminds me of just how we used to be oh how can i forget you girl when there is always something there to remind me always something there to remind mewhen shadows fall i pass a small cafe where we would dance at night and i cant help recalling how it felt to kiss and hold you tight oh how can i forget you girl when there is always something there to remind me always something there to remind mei was born to love her and i will never be free youll always be a part of meif you should find you miss the sweet and tender love we used to share just go back to the places where we used to go and ill be there oh how can i forget you girl when there is always something there to remind me always something there to remind mei was born to love her and i will never be free youll always be a part of me cause there is always something there to remind me always something there to remind mealways something there to remind me always something there to remind me always something there to remind me  ",1
47,"truly","lionel richie",1983," girl tell me only this that ill have your heart for always and you want me by your side whispering the words ill always love youand forever i will be your lover and i know if you really care i will always be therei need to tell you this theres no other love like your love and i as long as i live ill give you all the joy my heart and soul can givelet me hold you i need to have you near me and i feel with you in my arms this love will last foreverbecause im truly truly in love with you girl im truly head over heels with your love i need you and with your love im free and truly you know youre all rightwith me ",1
48,"dirty laundry","don henley",1983," i make my living off the evening news just give me somethingsomething i can use people love it when you lose they love dirty laundrywell i coulda been an actor but i wound up here i just have to look good i dont have to be clear come and whisper in my ear give us dirty laundrykick em when theyre up kick em when theyre down kick em when theyre up kick em when theyre down kick em when theyre up kick em when theyre down kick em when theyre up kick em all aroundwe got the bubbleheadedbleachblond who comes on at five she can tell you bout the plane crash with a gleam in her eye its interesting when people die give us dirty laundrycan we film the operation is the head dead yet you know the boys in the newsroom got a running bet get the widow on the set we need dirty laundryyou dont really need to find out whats going on you dont really want to know just how far its gone just leave well enough alone eat your dirty laundrykick em when theyre up kick em when theyre down kick em when theyre up kick em when theyre downkick em when theyre up kick em when theyre down kick em when theyre stiff kick em all aroundkick em when theyre up kick em when theyre down kick em when theyre up kick em when theyre downkick em when theyre up kick em when theyre down kick em when theyre stiff kick em all arounddirty little secrets dirty little lies we got our dirty little fingers in everybodys pie we love to cut you down to size we love dirty laundrywe can do the innuendo we can dance and sing when its said and done we havent told you a thing we all know that kraft is king give us dirty laundrykick em when theyre up kick em when theyre down kick em when theyre up kick em when theyre downkick em when theyre up kick em when theyre down kick em when theyre up kick em when theyre downkick em when theyre up kick em when theyre down kick em when theyre up kick em when theyre downkick em when theyre up kick em when theyre down kick em when theyre up kick em when theyre downkick em when theyre up kick em when theyre down kick em when theyre up kick em when theyre downkick em when theyre up kick em when theyre down kick em when theyre up kick em when theyre downkick em when theyre up kick em when theyre down kick em when theyre up kick em when theyre down ",1
49,"the girl is mine","michael jackson and paul mccartney",1983," every night she walks right in my dreams since i met her from the start im so proud i am the only one who is special in her heartthe girl is mine the doggone girl is mine i know shes mine because the doggone girl is minei dont understand the way you think saying that shes yours not mine sending roses and your silly dreams really just a waste of timebecause shes mine the doggone girl is mine dont waste your time because the doggone girl is minei love you more than he take you anywherebut i love you endlessly loving we will shareso come and go with me to one townbut we both cannot have her so its one or the other and one day youll discover that shes my girl forever and everi dont build your hopes to be let down cause i really feel its timei know shell tell you im the one for her cause she said i blow her mindthe girl is mine the doggone girl is mine dont waste your time because the doggone girl is mineshes mine shes mine no no no shes mine the girl is mine the girl is mine the girl is mine the girl is minethe girl is mine yep shes mine the girl is mine yep shes minedont waste your time because the doggone girl is mine the girl is mine the girl is minemichael were not going to fight about this okay paul i think i told you im a lover not a fighter ive heard it all before michael she told me that im her forever lover you know dont you remember well after loving me she said she couldnt love another is that what she said yes she said it you keep dreaming i dont believe itthe girl is mine mine mine mine ",1
50,"too shy","kajagoogoo",1983," tonguetongue tied or short of breath dont even try try a little harder somethings wrong im not naive you must be strong ooh baby tryhey girl move a little closeryoure too shy shy hush hush eye to eye too shy shy hush hush eye to eye too shy shy hush hush eye to eye too shy shy hush hushmodern medicine falls short of your complaint ooh try a little harder youre moving in circles wont you dilate ooh baby tryhey girl move a little closercause youre too shy shy hush hush eye to eye too shy shy hush hush eye to eye too shy shy hush hush eye to eye too shy shy hush hushtoo shy shy hush hush eye to eye too shy shy hush hush eye to eye too shy shy hush hush eye to eye too shy shy hush hush ",1
51,"goody twoshoes","adam ant",1983,NA,NA
52,"rock the casbah","the clash",1983," now the king told the boogie men you have to let that raga drop the oil down the desert way has been shakin to the top the sheik he drove his cadillac he went acruisin down the ville the muezzin was astanding on the radiator grilleshareef dont like it rock the casbah rock the casbah shareef dont like it rock the casbah rock the casbahby order of the prophet we ban that boogie sound degenerate the faithful with that craazy casbah sound but the bedouin they brought out the electric camel drum the local guitar picker got his guitarpicking thumb as soon as the shareef had cleared the square they began to wailshareef dont like it rock the casbah rock the casbah shareef dont like it rock the casbah rock the casbahnow over at the temple oh they really pack em in the incrowd say its cool to dig this chanting thing but as the wind changed direction then the temple band took five the crowd caught a wiff of that crazy casbah jiveshareef dont like it rock the casbah rock the casbah shareef dont like it rock the casbah rock the casbahthe king called up his jet fighters he said you better earn your pay drop your bombs between the minarets down the casbah wayas soon as the shareef was chauffeured outta there the jet pilots tuned to the cockpit radio blare as soon as the shareef was outta their hair the jet pilots wailedshareef dont like it rock the casbah rock the casbah shareef dont like it rock the casbah rock the casbahshareef dont like it he thinks its not kosher rock the casbah rock the casbah shareef dont like it fundementally cant take it rock the casbah rock the casbahshareef dont like it you know he really hates it rock the casbah rock the casbah shareef dont like it really really hates it ",1
53,"our house","madness",1983," father wears his sunday best mothers tired she needs a rest the kids are playing up downstairs sisters sighing in her sleep brothers got a date to keep he cant hang aroundour house in the middle of our street our house in the middle of ourour house it has a crowd theres always something happening and its usually quite loud our mum shes so houseproud nothing ever slows her down and a mess is not allowedour house in the middle of our street our house in the middle of our our house in the middle of our street something tells you that youve got to get away from it our house in the middle of ourfather gets up late for work mother has to iron his shirt then she sends the kids to school sees them off with a small kiss shes the one theyre going to miss in lots of waysour house in the middle of our street our house in the middle of ouri remember way back then when everything was true and when we would have such a very good time such a fine time such a happy time and i remember how wed play simply waste the day away then wed say nothing would come between us two dreamersfather wears his sunday best mothers tired she needs a rest the kids are playing up downstairs sisters sighing in her sleep brothers got a date to keep he cant hang aroundour house in the middle of our street our house in the middle of our street our house in the middle of our street our house in the middle of ourour house was our castle and our keep our house in the middle of our street our house that was where we used to sleep our house in the middle of our street our house in the middle of our street ",1
54,"overkill","men at work",1983," i cant get to sleep i think about the implications of diving in too deep and possibly the complicationsespecially at night i worry over situations i know i will be alright perhaps its just imaginationday after day it reappears night after night my heartbeat shows the fear ghosts appear and fade awayalone between the sheets only brings exasperation its time to walk the streets smell the desperationat least theres pretty lights and though theres little variation it nullifies the night from overkillday after day it reappears night after night my heartbeat shows the fear ghosts appear and fade away come back another dayi cant get to sleep i think about the implications of diving in too deep and possibly the complicationsespecially at night i worry over situations that i know ill be alright its just overkillday after day it reappears night after night my heartbeat shows the fear ghosts appear and fade away ghosts appear and fade away ghosts appear and fade away ",1
55,"is there something i should know","duran duran",1983," so soon just after youve gone my senses sharpen but it always takes so damn long before i feel how much my eyes have darkenedfear hangs in a plane of gun smoke drifting in our room so easy to disturb with a thought with a whisper with a careless memory with a careless memoryon the table signs of love lies scattered and the walls break with a crashing within its not as though as though you really mattered but being close how could i let you go without some feeling some precious sympathy followingfear hangs in a plane of gun smoke drifting in our room so easy to disturb with a thought with a whisper with a careless memory with a careless memory with a careless memory with a careless memoryi walk out into the sun i try to find a new day but the whole place just screams in my eyes where are you now cause i dont want to meet you i think id die i think id laugh at you i know id cry what am i supposed to do follow yououtside the thoughts coming flooding back now i just try to forget youso easy to disturb with a thought with a whisper with a careless memory with a careless memory with a careless memory look out with a careless memory with a careless memory look out look out look out look out ",1
56,"gloria","laura branigan",1983," gloria youre always on the run now running after somebody you gotta get him somehow i think youve got to slow down before you start to blow it i think youre headed for a breakdown so be careful not to show ityou really dont remember was it something that he said are the voices in your head calling gloria gloria dont you think youre fallin if everybody wants you why isnt anybody callin you dont have to answer leave them hangin on the line ohohoh calling gloria gloria gloria i think they got your number gloria i think they got the alias gloria that youve been living under gloria but you really dont remember was it something that they said are the voices in your head calling gloriaahaha ahaha gloria hows it gonna go down will you meet him on the main line or will you catch him on the rebound will you marry for the money take a lover in the afternoon feel your innocence slipping away dont believe its comin back soonand you really dont remember was it something that he said are the voices in your head calling gloria gloria dont you think youre fallin if everybody wants you why isnt anybody callin you dont have to answer leave them hangin on the line ohohoh calling gloria gloria gloria i think they got your number gloria i think they got the alias gloria that youve been living under gloria but you really dont remember was it something that they said are the voices in your head calling gloria ",1
57,"affair of the heart","rick springfield",1983," heart in my mouth pulse in my head mercury rising into the red the smell of your skin can light up all the fires in mehungry to touch im eager to please out of control and i hand you the keys every night i am burning to make love to youbut dont try to tell me you think its all physical it goes much deeper than thatyou ought to know its an affair of the heart its an affair of the heart its an affair of the heart have a little blind faith believe its an affair of the heartwhen we make love its a passionate thing you shudder and shake sink your teeth in my skin i almost believe you were made to be played by my handsand you got the power it amazes me still how you play my emotions with consummate skill i dont have to look any further than into your eyesso dont try to tell me you think its just physical it goes way deeper than thatyou better know its an affair of the heart its an affair of the heart its an affair of the heart have a little blind faith believe its an affair of the heartdont try to tell me you think its all physical it goes much deeper than thatyou ought to know its an affair of the heart its an affair of the heart its an affair of the heart its an affair of the heartyou better know its an affair of the heart its an affair of the heart you better know its an affair of the heart its an affair of the heartbaby an affair of the heart its an affair of the heart its an affair of the heart its an affair of the heart ",1
58,"shes a beauty","the tubes",1983," step right up and dont be shy because you will not believe your eyes shes right here behind the glass and youre gonna like her cause shes got classyou can look inside another world you get to talk to a pretty girl shes everything you dream aboutdont fall in love shes a beauty one in a million girls a beauty why would i lie why would i lieyou can say anything you like but you cant touch the merchandise shell give you every pennies worth but it will cost you a dollar firstyou can step outside your little world you can talk to a pretty girl shes everything you dream aboutdont fall in love shes a beauty shes one in a million girls one in a million girls why would i lie why would i liedont fall in love if you do youll find out she wont love you shes one in a million girls one in a million girls why would i lie why would i liestep outside your worlddont fall in love shes a beauty shes one in a million girls one in a million girls why would i lie why would i liedont fall in love if you do youll find out she wont love you shes one in a million girls one in a million girls why would i lie why would i liedont fall in love if you do youll find out she wont love you shes one in a million girls one in a million girls why would i lie why would i liedont fall in love ",1
59,"solitaire","laura branigan",1983," i still remember how much i used to need you tried so hard to please you but you didnt need me you knew i loved you knew i always would be there you just did what you wanted you didnt careall the cards were held by you there was nothin i could do all those nights i sat alone starin at the telephone wonderin were you ever comin homesolitaire it got so lonely solitaire no one to hold me where were you when i played solitaireit took some time but i stopped thinkin about you started livin without you now look whos back here youve had a change of heart well mine just couldnt wait no no you found out you loved me just a little too lateonce the cards were held by you now theres nothin you can do all those nights you sit alone starin at the telephone wonderin if im ever comin homesolitaire see what its like now solitaire to cry all night now solitaire see how it feels to bearsolitaire it gets so lonely solitaire you want to hold me dont wait up cause babe i wont be there solitaire solitaire solitairesolitaire see what its like now solitaire to cry all night now solitaire see how it feels to bearsolitaire it gets so lonely solitaire you want to hold me dont wait up cause babe i wont be there solitaire solitaire solitaire ",1
60,"dont let it end","styx",1983," what can i do pictures of you still make me cry trying to live without your love its so hard to do some nights ill wake up ill look at your pillow hoping that ill see you therebut i get up each day not much to say ive nowhere to go loneliness fills me up inside cause im missing you so if youll give us a chance to remember the love we had once togetherwait and see time is all that we really need im praying you wont say no i mean to tell youdont let it end baby we could have so much more dont let it end honey please dont walk out that doorim telling you baby i made my mistakes but ill make you this promise to do what it takes ill be there to protect you and hold you tight you got my lovin baby every single nightdont let it end im begging you dont let it end this way dont let it end im begging you dont let it end this waydont let it end baby we could have so much more dont let it end honey please dont walk out that doordont let it end im begging you dont let it end this way dont let it end im begging you dont let it end this way no no no no no nowhat will i do if you say were through i need you to stay honey dont let it end this way ",1
61,"how am i supposed to live without you","laura branigan",1983," i could hardly believe it when i heard the news today i had to come and get it straight from you they said you were leaving someone swept your heart away from the look upon your face i see its trueso tell me all about it tell me about the plans youre makin then tell me one thing more before i gotell me how am i supposed to live without you now that ive been lovin you so long how am i supposed to live without you and how am i supposed to carry on when all that ive been livin for is gonedidnt come here for cryin didnt come here to break down its just a dream of mine is comin to an end how can i blame you when i built my world around the hope that one day wed be so much more than friendsand i dont wanna know the price im gonna pay for dreamin i need you now its more than i can taketell me how am i supposed to live without you now that ive been lovin you so long how am i supposed to live without you and how am i supposed to carry on when all that ive been livin for is goneand i dont wanna know the price im gonna pay for dreamin now that your dream has come truetell me how am i supposed to live without you now that ive been loving you so long how am i supposed to live without you and how am i supposed to carry on all that ive been livin for is gonewithout you after ive been lovin you so long how am i supposed to live without you how am i supposed to carry on when all that ive been livin for is gone ",1
62,"china girl","david bowie",1983," oh oh oh little china girl oh oh oh little china girl    meaning  byamandah   editor    nowadays the song china girl is definitely considered racist by 21st century standards other songs that fall into this category of fetishizing asian    see all   i could escape this feeling with my china girl i feel a wreck without my little china girl i hear her heart beating loud as thunder saw they stars crashing im a mess without my little china girl wake up mornings wheres my little china girl i hear her hearts beating loud as thunder saw they stars crashing down i feel atragic like im marlon brando when i look at my china girl i could pretend that nothing really meant too much when i look at my china girl i stumble into town just like a sacred cow visions of swastikas in my head plans for everyone its in the whites of my eyes my little china girl you shouldnt mess with me ill ruin everything you are you know ill give you television ill give you eyes of blue ill give you mens who want to rule the world and when i get excited my little china girl says oh baby just you shut your mouth she says shshshhh she says shshshhh she says she says and when i get excited my little china girl says oh baby just you shut your mouth and when i get excited my little china girl says oh baby just you shut your mouth she says shshshhh she saysoh oh oh little china girl oh oh oh little china girl oh oh oh little china girl oh oh oh little china girl ",1
63,"come dancing","the kinks",1983,"they put a parking lot on a piece of land where the supermarket used to stand before that they put up a bowling alley on the site that used to be the local palais thats where the big bands used to come and play my sister went there on a saturday come dancing all her boyfriends used to come and call why not come dancing its only natural another saturday another date she would be ready but shed always make em wait in the hallway in anticipation he didnt know the night would end up in frustration hed end up blowing all his wages for the week all for a cuddle and a peck on the cheek come dancing thats how they did it when i was just a kid and when they said come dancing my sister always did my sister should have come in at midnight and my mom would always sit up and wait it always ended up in a big row when my sister used to get home late out of my window i can see them in the moonlight two silhouettes saying goodnight by the garden gate the day they knocked down the palais my sister stood and cried the day they knocked down the palais part of my childhood died just died now im grown up and playing in a band and theres a car park where the pale used to stand my sisters married and she lives on an estate her daughters go out now its her turn to wait she knows they get away with things she never could but if i asked her i wonder if she would come dancing come on sister have yourself a ball dont be afraid to come dancing its only natural come dancing just like the palais on a saturday and all her friends will come dancing where the big bands used to play",3
64,"promises promises","naked eyes",1983," never had a doubt in the beginning never a doubt trusted you true in the beginning i loved you right througharm in arm we laughed like kids at all the silly things we did you made me promises promises knowing id believe promises promises you knew youd never keepsecond time around im still believing the words that you said you said youd always be hereand love forever still repeats in my head you cant finish what you start if this is love it breaks my heartyou made me promises promises you knew youd never keep promises promises why do i believearm in arm we laughed like kids at all the silly things we did but you cant finish what you start if this is love it breaks my heartyou made me promises promises you knew youd never keep promises promises why do i believeall of your promises you knew youd never keep promises promises why do i believepromises promises promises promises promises promises ",1
65,"the other guy","little river band",1983," i found out that you care for another guy i found out that you want for another smile we are alone as two different people can be and its hurting me so just to know that you dont care for methe other guy wont be around to talk to our kids he wont understand when youre down the way that i did we had it all you and i we just need to try againi found out that your hearts with another guy you found out that youre telling another lie weve come apart were going our own separate ways and you dont understand why i love you and want you to staythe other guy wont be around to talk to our kids he wont understand when youre down the way that i did we had it all you and i we just need to try againyou dont know its me that you need youre thinkin of him and i cant compete but im here to say i still want you back againthe other guy wont be around to talk to our kids he wont understand when youre down the way that i did we had it all you and i we just need to try againthe other guy wont be around to talk to our kids he wont understand when youre down the way that i did we had it all you and i we just need to try againthe other guy wont be around to talk to our kids he wont understand when youre down the way that i did we had it all you and i we just need to try again ",1
66,"making love out of nothing at all","air supply",1983," i know just how to whisper and i know just how to cry i know just where to find the answers and i know just how to lie i know just how to fake it and i know just how to scheme i know just when to face the truth and then i know just when to dream and i know just where to touch you and i know just what to prove i know when to pull you closer and i know when to let you loose and i know the night is fading and i know the times gonna fly and im never gonna tell you everything ive gotta tell you but i know ive gotta give it a try and i know the roads to riches and i know the ways to fame i know all the rules and then i know how to break em and i always know the name of the game but i dont know how to leave you and ill never let you fall and i dont know how you do itmaking love out of nothing at all out of nothing at all out of nothing at all out of nothing at all out of nothing at all out of nothing at all making love out of nothing at alleverytime i see you all the rays of the sun are streaming through the waves in your hair and every star in the sky is taking aim at your eyes like a spotlight the beating of my heart is a drum and its lost and its looking for a rhythm like you you can take the darkness at the pit of the night and turn into a beacon burning endlessly bright ive gotta follow it cause everything i know well its nothing til i give it to you i can make the runner stumble i can make the final block i can make every tackle at the sound of the whistle i can make all the stadiums rock i can make tonight forever or i can make it disappear by the dawn i can make you every promise that has ever been made and i can make all your demons be gone but im never gonna make it without you do you really want to see me crawl and im never gonna make it like you domaking love out of nothing at all out of nothing at all out of nothing at all out of nothing at all out of nothing at all out of nothing at all out of nothing at all out of nothing at all out of nothing at all out of nothing at all out of nothing at all out of nothing at all out of nothing at all out of nothing at all out of nothing at all out of nothing at all out of nothing at all out of nothing at all out of nothing at all out of nothing at all ",1
67,"family man","daryl hall  john oates",1983,"she had sulky smile she took her standard pose as she presented herself she had sultry eyes she made it perfectly plain that she was his for a price but he said leave me alone im a family man and my bark is much worse than my bite he said leave me alone im a family man if you push me too far i just might she wore hurt surprise as she rechecked her makeup to protect herself dropped her price and pride she made it totally clear that she was his for a night but he said leave me alone im a family man and my bark is much worse than my bite he said leave me alone im a family man if you push me too far i just might she gave him her look it would have worked on any other man around he looked her up and down she knew he couldnt decide if he should hold his ground but he said leave me alone im a family man and my bark is much worse than my bite he said leave me alone im a family man if you push me too far i just might she turned tossed her head unlike her opening move her final exit line he waited much too long but by the time he got his courage up she was gone and he screamed leave me alone im a family man and my bark is much worse than my bite he said leave me alone im a family man if you push me too far i just might he said leave me alone im a family man and i dont think i want you tonight he said leave me alone im a family man if you push me too far i just might he said leave me alone im a family man and my bark is much worse than my bite he said leave me alone im a family man if you push me too far i just might he said leave me alone im a family man dont leave me alone cause i got to go hungry he said leave me alone im a family man",3
68,"wanna be startin somethin","michael jackson",1983," i said you wanna be startin somethin you got to be startin somethin i said you wanna be startin somethin you got to be startin somethin its too high to get over yeah yeah too low to get under yeah yeah youre stuck in the middle yeah yeah and the pain is thunder yeah yeah its too high to get over yeah yeah too low to get under yeah yeah youre stuck in the middle yeah yeah and the pain is thunder yeah yeahi took my baby to the doctor with a fever but nothing he found by the time this hit the street they said she had a breakdown someones always tryin to start my baby cryin talkin squealin lyin sayin you just wanna be startin somethini said you wanna be startin somethin you got to be startin somethin i said you wanna be startin somethin you got to be startin somethin its too high to get over yeah yeah too low to get under yeah yeah youre stuck in the middle yeah yeah and the pain is thunder yeah yeah its too high to get over yeah yeah too low to get under yeah yeah youre stuck in the middle yeah yeah and the pain is thunder yeah yeahyou love to pretend that youre good when youre always up to no good you really cant make him hate her so your tongue became a razor someones always tryin to keep my baby cryin treacherous cunnin declinin you got my baby cryini said you wanna be startin somethin you got to be startin somethin i said you wanna be startin somethin you got to be startin somethin its too high to get over yeah yeah too low to get under yeah yeah youre stuck in the middle yeah yeah and the pain is thunder yeah yeah its too high to get over yeah yeah too low to get under yeah yeah youre stuck in the middle yeah yeah and the pain is thunder yeah yeah youre a vegetable youre a vegetable still they hate you youre a vegetable youre just a buffet youre a vegetable they eat off of you youre a vegetablebillie jean is always talkin when nobody else is talkin tellin lies and rubbin shoulders so they called her mouth a motor someones always tryin to start my baby cryin talkin squealin spyin sayin you just wanna be startin somethini said you wanna be startin somethin you got to be startin somethin i said you wanna be startin somethin you got to be startin somethin its too high to get over yeah yeah too low to get under yeah yeah youre stuck in the middle yeah yeah and the pain is thunder yeah yeah its too high to get over yeah yeah too low to get under yeah yeah youre stuck in the middle yeah yeah and the pain is thunder yeah yeah youre a vegetable youre a vegetable still they hate you youre a vegetable youre just a buffet youre a vegetable they eat off of you youre a vegetableif you cant feed your baby yeah yeah then dont have a baby yeah yeah and dont think maybe yeah yeah if you cant feed your baby yeah yeah youll be always tryin to stop that child from cryin hustlin stealin lyin now babys slowly dyini said you wanna be startin somethin you got to be startin somethin i said you wanna be startin somethin you got to be startin somethin its too high to get over yeah yeah too low to get under yeah yeah youre stuck in the middle yeah yeah and the pain is thunder yeah yeah its too high to get over yeah yeah too low to get under yeah yeah youre stuck in the middle yeah yeah and the pain is thunder yeah yeahlift your head up high and scream out to the world i know i am someone and let the truth unfurl no one can hurt you now because you know whats true yes i believe in me so you believe in you help me sing it ma ma se ma ma sa ma ma coo sa ma ma se ma ma sa ma ma coo sa ",1
69,"i wont hold you back","toto",1983," if i had another chance tonight id try to tell you that the things we had were right time cant erase the love we shared but it gives me time to realize just how much you carednow youre gone im really not the same i guess i have myself to blame time cant erase the things we said but it gives me time to realize that youre the one insteadyou know i wont hold you back now the love we had just cant be found you know i cant hold you back nownow that im alone it gives me time to think about the years that you were mine time cant erase the love we shared but it gives me time to realize just how much you caredyou know i wont hold you back now the love we had just cant be found listen to me baby you know i cant hold you back nowyou know i wont hold you back now the love we had just cant be found you know i cant hold you back now the love we had just cant be foundyou know i cant hold you back now the love we had just cant be found you know i cant hold you back now the love we had just cant be found ",1
70,"all right","christopher cross",1983," i know know whats on your mind and i know it gets tough sometimes but you can give it one more try to find a reason why you should pick it up ooh try it againcause its all right think were gonna make it think it might just work out this time all right think were gonna make it think it might work out fine this time all right think were gonna make it think it might just work out cause its not too late for that too late for meand i know ive been hurt before and i know i really shouldnt give any more but this time this time things seem just a little different when i look in your eyes you know i can see that its true can i hear you sayall right think were gonna make it think it might just work out this time all right think were gonna make it think it might work out fine this time all right think were gonna make it think it might just work out cause its not too late for that too late for thatjust when you feel helpless nothing left to say love will find us past behind us then were on our waytime and time again i see people so unsure like me we all know it gets hard sometimes but you can give it one more try find another reason why you should pick it up ooh why you should kick it up ooh try it againcause its all right think were gonna make it think it might just work out this time its all right think were gonna make it think it might work out fine this timeits all right think were gonna make it think it might just work out this time its all right think were gonna make it think it might work out fine this timeits all right think were gonna make it think it might just work out this time its all right think were gonna make it think it might just work out cause its not too late for that too late for that ",1
71,"straight from the heart","bryan adams",1983," i could start dreamin but it never ends as long as youre gone we may as well pretend ive been dreamin straight from the heartyou say its easy but whos to say that wed be able to keep it this way but its easier coming straight from the heartgive it to me straight from the heart tell me we can make another start you know ill never go as long as i know its comin straight from the hearti see you on the street some other time and all our words would just fall out of line while were dreamin straight from the heartoh give it to me straight from the heart tell me we can make one more start you know ill never go as long as i know its coming straight from the heart ohdont ever leave my darlingwhoa oh straight from the heart tell me we can make one more start you know ill never go as long as i know give it to me now straight from the heart tell me we can make one more start you know ill never go as long as i know its coming straight from the heart give it to me oh no oh no straight from the heart you know ill never go as long as i know its coming straight from the heart ",1
72,"heart to heart","kenny loggins",1983," you aint crazy i aint gonna lie anymore what youre feelin theres a reason for i wanna do right oh i gotta do right do i love you oh you know ive tried but what youre after you cant find in my eyes i wanna do rightdarlin tell the truth dont turn away this is our last chance to touch each others heartsdoes anything last forever i dont know maybe were near the end so darlin oh how can we go on together now that weve grown apart well the only way to start is heart to heartone by one were collecting lies when you cant give love you give alibis now im gonna do right this time i gotta do right i dont wanna leave i dont wanna say goodbye but sooner or later there comes a time when you gotta do right come on come ondarlin tell the truth dont turn away from this final chance to touch each others heartsdoes anything last forever i dont know maybe were near the end so darlin oh how can we go on together now that weve grown apart well the only way to start is heart to heartwhy are you so torn apart i need a little more lovin in my heart people say that love will grow so how was i to know love thats come through years and years cant find a way back home anymoredarlin tell me the truth dont turn away this is our final chance to touch each others heartsdoes anything last forever i dont know maybe were near the end so darlin oh how can we go on together now that weve grown apart well the only way to start is heart to heartdoes anything last forever i dont know maybe were near the end so darlin oh how can we go on together now that weve grown apart well the only way to start is heart to hearti know the only way to start this time is heart to heart ",1
73,"my love","lionel richie",1983," ive been through so many changes in my life woman its a wonder i aint lost my mind and i aint never said how much i need you sugar but i sho need you by my sidemy love just thinking about you baby just blows my mind my love just thinking about you baby just blows my mind all the timelife with me i know for sure it aint be easy but you stayed with me anyway and even though you aint gonna lose too much by leaving im so glad you stayedmy love just thinking about you baby just blows my mind my love just thinking about you baby just blows my mind all the timeyouve been my friend and youve been my lover oh lord honey youre everything i need youve made my love so strong now i know where i belong oh girl youll never have to worry oh baby any more any moremy love just thinking about you baby just blows my mind oh yeah my love just thinking about you baby just blows my mind all the time oh yeah ",1
74,"im still standing","elton john",1983," you could never know what its like your blood like winter freezes just like ice and theres a cold lonely light that shines from you youll wind up like the wreck you hide behind that mask you useand did you think this fool could never win well look at me im coming back again i got a taste of love in a simple way and if you need to know while im still standing you just fade awaydont you know im still standing better than i ever did looking like a true survivor feeling like a little kid im still standing after all this time picking up the pieces of my life without you on my mindim still standing yeah yeah yeah im still standing yeah yeah yeahonce i never could hope to win you starting down the road leaving me again the threats you made were meant to cut me down and if our love was just a circus youd be a clown by nowyou know im still standing better than i ever did looking like a true survivor feeling like a little kid im still standing after all this time picking up the pieces of my life without you on my mindim still standing yeah yeah yeah im still standing yeah yeah yeahdont you know im still standing better than i ever did looking like a true survivor feeling like a little kid im still standing after all this time picking up the pieces of my life without you on my mindim still standing yeah yeah yeah im still standing yeah yeah yeahim still standing yeah yeah yeah im still standing yeah yeah yeah ",1
75,"hot girls in love","loverboy",1983," shes so young at heart she likes the pleasure of his company she cuts the inside groove with her silver spoon she likes her tapes on ten and its the same as her anatomy shes on a rainbow cruise all the way to my roomshes turnin on the heat shes got the magic touch shes turnin on the heat and its a little too much shes turnin on the heat and its a hundred above yeah hot girls in love im in lovetoo many men to please she counts them all on her rosary you know you might get burned so be careful where you touch she gets it when she can dont need no anniversary and she deserves the best yeah a cut above the restshes turnin on the heat shes got the magic touch shes turnin on the heat oh its a little too much shes turnin on the heat its a hundred above hot girls in love and baby im in lovesome say she do some say she dont some say she will and some say she wont some say she cant well i know she can i say i got to be her lovin manshes turnin on the heat shes got the magic touch shes turnin on the heat oh and its a little too much shes turnin on the heat its a hundred above hot girls in love hot girls in love its a hundred above hot girls in love yeahbe careful where you touch cause its a little too much she got everything she needs what she does in front of meshes turning on the heat shes turning on the heat shes got that look in her eye i think i gotta know why ah hot girls and im in love ",1
76,"its a mistake","men at work",1983," jump down the shelters to get away the boys are cockin up their guns tell us general is it party time if it is can we all comedont think that we dont know dont think that were not tryin no no no dont think we move too slow its no use after cryinsayin its a mistake its a mistake its a mistake its a mistakeafter the laughter has died away and all the boys have had their fun no surface noise now not much to say theyve got the bad guys on the rundont try to say youre sorry dont say he drew his gun theyve gone and grabbed old ronnie hes not the only onesayin its a mistake its a mistake its a mistake its a mistaketell us commander what do you think cos we know that you love all that power is it on then are we on the brink we wish youd all throw in the towelwell not fade out too soon not in this finest hour whistle your favorite tune well send a card and flowersayin its a mistake its a mistake its a mistake its a mistake ohits a mistake its a mistake its a mistake its a mistake its a mistake its a mistake ",1
77,"ill tumble 4 ya","culture club",1983," downtown well drown were in our never splendour flowers showers whos got the new boy gender ill be your baby ill be your score ill run the gun for you and so much moreill tumble for ya ill tumble for ya ill tumble for ya ill tumble for you ill tumble for ya ill tumble for ya ill tumble for ya ill tumbleuptown their sound is like the native you send her junction function the boy with pop is slender did he say maybe or im not sure hell be a boy for you but you need moreill tumble for ya ill tumble for ya ill tumble for ya ill tumble for you ill tumble for ya ill tumble for ya ill tumble for ya ill tumblei get a crazy feeling that chases in my head its nothing that you do to me its nothing that you said its love in stereo and when i cant let got i sayill be your baby ill be your score ill run the gun for you and so much more ill tumble for ya ill tumble for ya ill tumble for ya ill tumble for ya ill tumble for ya ill tumble for ya ill tumble for ya ill tumbledowntown well drown were in our never splendour flowers showers whos got the new boy gender ill be your baby ill be your score ill run the gun for you and so much moreill tumble for ya ill tumble for ya ill tumble for ya ill tumble for you ill tumble for ya ill tumble for ya ill tumble for ya ill tumble ",1
78,"all this love","debarge",1983,"i had some problems and no one could seem to solve them but you found the answer you told me to take this chance and learn the way of love my baby and all that it had to offer in time you will see that love wont let you down you said that you loved me said hurt only came to pass me it sounded so convincing that i gave it half a chance and learned the way of love my baby there is so much love inside me and all that i have i give my all to you all all my love baby and all this love is waiting for you and all this love is waiting for you oh i had some problems and no one could seem to solve them but you you you found the answer so i gave it half a chance and learned the ways of love my baby there is so much love inside me and all that i have i give my all to you all all my love baby and all this love is waiting for you and all this love is waiting for you all this love is waiting for you and all this love is waiting for you and all this love is waiting for you and all this love is waiting for you oh i love how you make me feel this way my love is getting stronger every day my baby and after all i went and put myself through i found that all i really needed was you my darling as the sun has its place up in the sky i love you so dearly and all the same theres no need to wonder why i need you please hear me say you really love me baby say you really love me darling cause i really love you baby oh i really love you darling say you really love me baby say you really love me darling oh cause i really love you baby for i love you darling say you really love me baby say you really love me darling cause i really love you baby sure enough love you darling",3
79,"your love is driving me crazy","sammy hagar",1983," i dont mind when you act your age it suits me fine that you treat me like a childand i cant deny when im with you that you step outside of all those fears locked up insideyour love is driving me crazy your love just takes me away your love is driving me crazy takes me all the waywhat i like is what youve got to offer just my type i dont mind playing on the edgeyour love is driving me crazy your love just takes me away your love is driving me crazy takes me all the way yeahlead me to forbidden doors you know im yours yeah youve got it yeah i want it dont you know it babyright on time a tight fit right on the money so sublime hot sweet cherries on the vineyour love is driving me crazy your love just takes me away your love is driving me crazy takes me all the way yeahyour love is driving me crazy your love just takes me away your love is driving me crazy your love just takes me away oh yeahyour love your love your love just takes me away ",1
80,"heartbreaker","dionne warwick",1983," ive got to say it and its hard for me you got me crying like i thought i would never be love is believing but you let me down how can i love you when you aint aroundand i look into the morning and you never call love should be everything or not at all and it dont matter whatever you do ive made a life out of loving youonly to find any dream that i follow is dying im crying in the rain i could be searching my world for a love ever lasting feeling no pain when will we meet againwhy do you have to be a heartbreaker is it a lesson that i never knew gotta get out of the spell that im under my love for youwhy do you have to be a heartbreaker when i was being what you want me to be suddenly everything i ever wanted has passed me by this world may end not you and imy love is stronger than the universe my soul is crying for you and that cannot be reversed youve made the rules and you could not see youve made a life out of hurting meout of my mind i am held by the power of you love tell me when do we try or should we say goodbyewhy do you have to be a heartbreaker when i was being what you want me to be suddenly everything i ever wanted has passed me byoh why do you have to be a heartbreaker is it a lesson that i never knew suddenly everything i ever wanted my love for youoh why do you have to be a heartbreaker when i was being what you want me to be suddenly everything i ever wanted has passed me byhelp me why do you have to be a heartbreaker ",1
81,"faithfully","journey",1983," highway run into the midnight sun wheels go round and round youre on my mind restless hearts sleep alone tonight sendin all my love along the wirethey say that the road aint no place to start a family right down the line its been you and me and lovin a music man aint always what its supposed to be oh girl you stand by me im forever yours faithfullycircus life under the big top world we all need the clowns to make us smile through space and time always another show wondering where i am lost without youand bein apart aint easy on this love affair two strangers learn to fall in love again i get the joy of rediscovering you oh girl you stand by me im forever yours faithfullyohfaithfully im still yoooooooooooours im forever yours ever yoooooooooours faithfully ",1
82,"steppin out","joe jackson",1983," now the mist across the window hides the lines but nothing hides the color of the lights that shine electricity so fine look and dry your eyeswe so tired of all the darkness in our lives with no more angry words to say can come alive get into a car and drive to the other side me babe steppin out into the night into the light you babe steppin out into the night into the lightwe are young but getting old before our time well leave the tv and the radio behind dont you wonder what well find steppin out tonightyou can dress in pink and blue just like a child and in a yellow taxi turn to me and smile well be there in just a while if you follow me me babe steppin out into the night into the light you babe steppin out into the night into the lightme babe steppin out into the night into the light you babe steppin out into the night into the lightme babe steppin out into the night into the light ",1
83,"take me to heart","quarterflash",1983," you wont forget my eyes ooh deep inside you realize youre gonna see me wherever you go youre gonna hear me on your radio there you are in your car and suddenly you hear me do you want me do you want metake me to heart i promise you a miracle take me to heart youre gonna be mine take me to heart you know its just a matter of time whoooohoooooohohim always on your mind im the chill that never left your spine in the building where you live and breathe im the sound that never lets you sleep down the hall through the walls you hear a voice thats calling do you want me do you want metake me to heart dont deny the miracle take me to heart what more can i say take me to heart surrenders just a motion away whoooohoooooohooohinstrumental interludedo you want me do you want me do you want me do you want metake me to heart dont deny the miracle take me to heart what more can i say take me to heart oh wont you take me to heart wont you take me to heart surrenders just a motion away its just a motion away your gonna take me to heart your gonna take me to heart why dont you take me ",1
84,"shes sexy  17","stray cats",1983,NA,NA
85,"try again","champaign",1983,"i been staring at your photograph wondering where youre at today and ive been hanging by the telephone hoping that youd call home and say but you told me you needed more walks more talks more feeling close to me i wanna be close to you i didnt know you needed some roses some romance a little candlelight and slow dance thats not how its been but maybe we can try again try try maybe we can try again i remember all the days gone by and im wondering why i couldnt see that i could search the whole world over and never find what you were always giving me i told you i needed more time more space more freedom free to do free to do girl what you wanna do i gave you no roses no romance no candlelight and no slow dance but thats just how its been maybe we can try again try try maybe we can try again try try maybe we can try again yeah ooh i remember when you told me you needed more walks more talks more feeling close to me i wanna be close to you yeah ill give you some roses whole lot of romance a little candlelight slow dance dont let this feeling end maybe we can try again try try maybe we can try again maybe we can try again we can try again maybe we can try again maybe we can try again we can try again maybe we can try again maybe we can try again we can try again maybe we can try again",3
86,"dead giveaway","shalamar",1983," how long you gonna carry on this one on one charade lets dont and then say we did thats the game you like to playoo weve been through this so many times the end results always the same i always end up complaining when ive got myself to blameyoure just a dead giveaway yeah youd think id learn to handle this by now youre just a dead giveawaygirl you cant deny it even though you try oh oh you keep trying to hide it baby we know whyi get a call about 2 am saying you dont wanna be alone im tired and half asleep but emotions are just a little too strongoo i figured that id call your bluff cause you want me to come on by girl you know its your love ive always wanted but this time i wont be deniedcause youre a dead giveaway hey you want me like i want you youre just a dead giveaway yeahyoure scared but you wont admit it even though you try oh but tonight youre committed baby we know whycause youre just a dead giveawaya dead giveawayyoure not that naive girl im finding out oo oh is playing deceiver what youre all aboutdead giveaway dead giveawaygirl you cant deny it even though you try oo oh baby you keep trying to hide it baby we know whywell now that youre serious its time to take off that disguise you want more that mental stimulation i can see it in your eyesoo for years ive been your analyst ive been as patient as ive been kind for years youve played off believing that i loved you for only your mindyoure just a dead giveaway girl you want me like i want you dead giveawayyouve been holding back for too long youre a dead giveawayyoure scared but you wont admit it even though you try oo oh but tonight you are committed baby we know whycause youre a dead giveaway i can tell by the look in your eyes a dead giveawayim finding out what youre all aboutyoure just a dead giveaway ",1
87,"lawyers in love","jackson browne",1983," i cant keep up with whats been going on i think my heart must just be slowing down among the human beings in their designer jeans am i the only one who hears the screams and the strangled cries of lawyers in lovegod sends his spaceships to america the beautiful they land at six oclock and there we are the dutiful eating from tv trays tuned into to happy days waiting for world war iii while jesus slaves to the mating calls of lawyers in lovelast night i watched the news from washington the capitol the russians escaped while we werent watching them like russians will now weve got all this room weve even got the moon and i hear the ussr will be open soon as vacation land for lawyers in lovelawyers in love ",1
88,"what about me","moving pictures",1983," well theres a little boy waitin at the counter of a corner shop hes been waitin down there waitin half the day they never ever see him from the top he gets pushed around knocked to the groundhe gets to his feet and he says what about me it isnt fair ive had enough now i want my share cant you see i wanna live but you just take more than you givewell theres a pretty girl servin at the counter of a corner shop shes been waitin back there waitin for her dream and dreams walk in and out they never stop well shes not too proud to cry out loudshe runs to the street and she screams what about me it isnt fair ive had enough now i want my share cant you see i wanna live but you just take more than you give more than you givetake a step back and see the little people theres nothin there but the words that make the big people big so listen as they whisper what about menow were standin on the corner of a world gone home nobodys changed nobodys been saved and im feelin cold and alone i guess im lucky i smile a lot but sometimes i wish for more than ive gotwhat about me it isnt fair ive had enough now i want my share cant you see i wanna live but you just take more what about meit isnt fair ive had enough now i want my share cant you see i wanna live but you just take more you just take more you just take more than you givewhat about me what about me what about me ",1
89,"human nature","michael jackson",1983," looking out across the nighttime the city winks a sleepless eye hear her voice shake my window sweet seducing sighsget me out into the nighttime four walls wont hold me tonight if this town is just an apple then let me take a biteif they say why why tell em that its human nature why why does he do it that way if they say why why tell em that its human nature why why does he do me that wayreaching out to touch a stranger electric eyes are everywhere see that girl she knows im watching she likes the way i stareif they say why why tell em that its human nature why why does he do me that way if they say why why tell em that its human nature why why does he do me that wayi like livin this way i like lovin this waythat way why why that way why whylooking out across the morning where the citys heart begins to beat reaching out i touch her shoulder im dreaming of the streetif they say why why tell em that its human nature why why does he do me that way if they say why why ooo tell em why why does he do me that way if they say why why cha cha cha cha cha cha why does he do me that way if they say why why why ooo tell em why does he do me that way if they say why ooo tell em why does he do me that way if they say why da da da da da da da da why does he do my that way i like living this way why oh why why why ",1
90,"photograph","def leppard",1983," im out a luck out a love gotta photograph picture of passion killer youre too much youre the only one i want to touch i see your face every time i dream on every page every magazine so wild and free so far from me youre all i want my fantasyoh look what youve done to this rock n roll clown oh oh look what youve donephotograph i dont want your photograph i dont need your photograph all ive got is a photograph but its not enoughid be your lover if you were there put your hurt on me if you dare such a woman you got style you make every man feel like a child oh you got some kinda hold on me youre all wrapped up in mystery so wild so free and far from me youre all i want my fantasyoh look what youve done to this rock n roll clown oh oh look what youve donei gotta have you photograph i dont want your photograph i dont need your photograph all ive got is a photograph youve gone straight to my headoh look what youve done to this rock n roll clown oh oh look what youve done i gotta have youphotograph i dont want your photograph i dont need your photograph all ive got is a photograph i want to touch youphotograph photograph your photograph photograph photograph i need only your photograph im out a love photograph im out a love photograph youre the only one photograph i want to touch ",1
91,"pass the dutchie","musical youth",1983," this generation rules the nation with versionmusic happen to be the food of love sounds to really make you rub and scrubpass the dutchie on the left hand side pass the dutchie on the left hand side it a gonna burn give me music make me jump and prance it a go done give me the music make me rock in the danceit was a cool and lovely breezy afternoon how does it feel when youve got no food you could feel it cause it was the month of june how does it feel when youve got no food so i left my gate and went out for a walk how does it feel when youve got no food as i pass the dreadlocks camp i heard them say how does it feel when youve got no foodpass the dutchie on the left hand side i said pass the dutchie on the left hand side it a gonna burn give me music make me jump and prance it a go done give me the music make me rock in the danceso i stopped to find out what was going on how does it feel when youve got no food cause the spirit of jah you know he leads you on how does it feel when youve got no food there was a ring of dreads and a session was there in swing how does it feel when youve got no food you could feel the chill as i seen and heard them say how does it feel when youve got no food pass the dutchie on the left hand side i said pass the dutchie on the left hand side it a gonna burn give me music make me jump and prance it a go done give me the music make me rock in the dancecause me say listen to the drummer me say listen to the bass give me little music make me wind up me waist me say listen to the drummer me say listen to the bass give me little music make me wind up me waist i saypass the dutchie on the left hand side i say pass the dutchie on the left hand side it a gonna burn give me music make me jump and prance it a go done give me the music make me rock in the danceyou play it on the radio a so me say we a go hear it on the stereo a so me know you a go play it on the disco a so me say we a go hear it on the stereopass the dutchie on the left hand side i say pass the dutchie on the left hand side it a gonna burn give me music make me jump and prance it a go done give me the music make me rock in the danceon the left hand side i said on the left hand side i said on the left hand side we meet on the left hand side im fellin on the left hand side i say east say west say north and south on the left hand side this is gonna make us jump and shout on the left hand side i say east say west say north and south on the left hand side this is gonna make me be able to jump and shout i say on the left hand side ",1
92,"TRUE","spandau ballet",1983," huh huh huh huuh huh huh huh huh huuh huhso true funny how it seems always in time but never in line for dreams head over heels when toe to toe this is the sound of my soul this is the sound i bought a ticket to the world but now ive come back again why do i find it hard to write the next line oh i want the truth to be saidhuh huh huh huuh huh i know this much is true huh huh huh huuh huh i know this much is truewith a thrill in my head and a pill on my tongue dissolve the nerves that have just begun listening to marvin all night long this is the sound of my soul this is the sound always slipping from my hands sands a time of its own take your seaside arms and write the next line oh i want the truth to be knownhuh huh huh huuh huh i know this much is true huh huh huh huuh huh i know this much is truei bought a ticket to the world but now ive come back again why do i find it hard to write the next line oh i want the truth to be saidhuh huh huh huuh huh i know this much is true huh huh huh huuh huh i know this much is truethis much is truethis much is true this much is true i know i know i know this much is true this much is true this much is true this much is true huh huh this much is true i know this much is true this much is true huh huh this much is true i know this much is true this much is true huh huh this much is true i know this much is true i know i know i know this much is true ",1
93,"far from over","frank stallone",1983," this is the end you made your choice and now my chance is over i thought i was in you put me down and say im goin nowheresave me darlin i am down but i am far from over give me somethin i need it all cause i am runnin overback in the race im movin in cause i am getting closer im diggin in i want it more than anything ive wanted save me darlini am down but i am far from over save me darlin i am down but i am far from over give me somethini need it all cause i am runnin overim runnin over im runnin over ",1
94,"ive got a rock n roll heart","eric clapton",1983," ive got a feeling we could be serious girl right at this moment i could promise you the world before we go crazy before we explode theres something bout me baby you got to know you got to knowi get off on 57 chevys i get off on a screaming guitar like the way it gets me every time it hits me ive got a rock n roll ive got a rock n roll heartfeels like were falling into the arms of the night so if youre not ready dont be holdin me so tight i guess theres nothing left for me to explain heres what youre gettin and i dont want to change i dont want to changei get off on 57 chevys i get off on screaming guitar like the way it gets me every time it hits me ive got a rock n roll ive got a rock n roll hearti dont need no glitter no hollywood all you got to do is lay it down and you lay it down goodwell i get off on 57 chevys well i get off on screaming guitar like the way it gets me every time it hits me ive got a rock n roll ive got a rock n roll heartive got youve got a rock n roll heart ive got youve got a rock n roll heart ive got youve got a rock n roll heart ive got youve got a rock n roll heart ",1
95,"it might be you","stephen bishop",1983," time ive been passing time watching trains go by all of my life lying on the sand watching seabirds fly wishing there would be someone waiting home for mesomethings telling me it might be you its telling me it might be you all of my lifelooking back as lovers go walking past all of my life wondering how they met and what makes it last if i found the place would i recognize the facesomethings telling me it might be you yeah its telling me it might be youso many quiet walks to take so many dreams to wake and weve so much love to makei think were gonna need some time maybe all we need is time and its telling me it might be you all of my lifeive been saving love songs and lullabies and theres so much more no ones ever heard beforesomethings telling me it might be you yeah its telling me it must be you and im feeling itll just be you all of my lifeits you its you ive been waiting for all of my lifemaybe its you maybe its you ive been waiting for all of my lifemaybe its you maybe its you ive been waiting for all of my liferepeat to fade ",1
96,"tonight i celebrate my love","peabo bryson and roberta flack",1983," tonight i celebrate my love for you it seems the natural thing to do tonight no ones gonna find us well leave the world behind us when i make love to youtonight i celebrate my love for you and hope that deep inside youll feel it too tonight our spirits will be climbing to a sky lit up with diamonds when i make love to you tonighttonight i celebrate my love for you and that midnight sun is gonna come shining through tonight therell be no distance between us what i want most to do is to get close to you tonighttonight i celebrate my love for you and soon this old world will seem brand new tonight we will both discover how friends turn into lovers when i make love to youtonight i celebrate my love for you and that midnight sun is gonna come shining through tonight therell be no distance between us what i want most to do is to get close to youtonight i celebrate my love for you tonight ",1
97,"you got lucky","tom petty and the heartbreakers",1983," one two you better watch what you say you better watch what you do to me dont get carried away girl if you can do better than me go yea go but remembergood love is hard to find good love is hard to find you got lucky babe you got lucky babe when i found youyou put a hand on my cheek and then you turned your eyes away if you dont feel complete if i dont take you all of the way then go yea go but remembergood love is hard to find good love is hard to find you got lucky babe you got lucky babe when i found you ",1
98,"dont cry","asia",1983," hard times you had before you i knew when i first saw you you girl youve always been mistreated cheated so leave it all behind you it took so long to find you i know that we can last forever ever and more oh oh ohdont cry now that ive found you dont cry take a look around you dont cry it took so long to find you do what you want but little darlin please dont cryi knew id never doubt it i was so sure about it dont think of all thats been before ill hear you when youre callin ill catch you when youre fallin dont worry i will always be there like never before oh oh ohdont cry now that ive found you dont cry take a look around you dont cry it took so long to find you do what you want but little darlin please dont crydont cry now that ive found you dont cry take a look around you dont cry it took so long to find you do what you want but little darlin please dont crydont cry now that ive found you dont cry take a look around you dont cry it took so long to find you do what you want but little darlin please dont crydont cry dont cry dont cry dont cry dont cry dont cry dont cry it took so long to find you dont cry take a look around you ",1
99,"breaking us in two","joe jackson",1983," dont you feel like trying something new dont you feel like breaking out or breaking us in twoyou dont do the things that i do you want to do things i cant do always something breaking us in twoyou and i could never live alone but dont you feel like breaking out just one day on your ownwhy does what im saying hurt you i didnt say that we were through always something breaking us in twothey say two hearts should beat as one for us well fight it out to see it through i say that wont be too much fun for us though its oh so nice to get advice its oh so hard to docould we be much closer if we tried we could stay at home and stare into each others eyesmaybe we could last an hour maybe then wed see right through always something breaking us in twothey say two hearts should beat as one for us well fight it out to see it through i say that wont be too much fun for us though its oh so nice to get advice its oh so hard to docould we be much closer if we tried we could stay at home and stare into each others eyesmaybe we could last an hour maybe then wed see right through always something breaking us in two always something breaking us in two ",1
100,"fall in love with me","earth wind  fire",1983,"i can tell you that love is too deep to be played on down the line youd find time would reveal who to count on im well inclined to use the lines that comes from the learning tree let the seed that grows and ages old give us our destiny baby you know i could pick you up turn your life around if you fall in love with me i would build you up never let you down if you fall in love with me if youre having second thoughts from the past i can cool you out ive been there before right down to the core i can sing and shout i cant hold back what i feel i bring experience ill be your rock when gibraltar falls baby give me a cause baby you know i could pick you up turn your life around if you fall in love with me i would build you up never let you down if you fall in love with me baby in love with me find yourself a part of me baby in love with me help yourself to all of me ive got your number and i wanna shout i dig you baby come and check me out baby you know i could pick you up turn your life around if you fall in love with me i would build you up never let you down if you fall in love with me baby in love with me find yourself a part of me baby in love with me help yourself to all of me can you fall in love oh baby tell baby can you fall in love with me yeah oh baby oh baby",3
1,"when doves cry","prince",1984," dig if you will the picture of you and i engaged in a kiss the sweat of your body covers me can you my darling can you picture thisdream if you can a courtyard an ocean of violets in bloom animals strike curious poses they feel the heat the heat between me and youhow can you just leave me standing alone in a world thats so cold so cold maybe im just too demanding maybe im just like my father too bold maybe youre just like my mother shes never satisfied shes never satisfied why do we scream at each other this is what it sounds like when doves cry    meaning  byamandah   editor    when doves cry is princes first worldwide hit mainly for being the central theme of his 1984 movie purple rain the semiautobiographical film focuses on    see all   touch if you will my stomach feel how it trembles inside youve got the butterflies all tied up dont make me chase you even doves have pridehow can you just leave me standing alone in a world so cold world so cold maybe im just too demanding maybe im just like my father too bold maybe youre just like my mother shes never satisfied shes never satisfied why do we scream at each other this is what it sounds like when doves cryhow can you just leave me standing alone in a world thats so cold a world thats so cold maybe im just too demanding maybe maybe im like my father maybe im just like my father too bold ya know hes too bold maybe youre just like my mother maybe youre just like my mother shes never satisfied shes never never satisfied why do we scream at each other why do we scream why this is what it sounds likewhen doves cry when doves cry doves cry doves cry when doves cry doves cry doves crydont cry dont crywhen doves cry when doves cry when doves crywhen doves cry doves cry doves cry doves cry dont cry darling dont cry dont cry dont cry dont dont cry ",1
2,"whats love got to do with it","tina turner",1984," you must understand though the touch of your hand makes my pulse react that its only the thrill of boy meeting girl opposites attract its physical only logical you must try to ignore that it means more than that ooowhats love got to do got to do with it whats love but a second hand emotion whats love got to do got to do with it who needs a heart when a heart can be brokenit may seem to you that im acting confused when youre close to me if i tend to look dazed ive read it someplace ive got cause to be theres a name for it theres a phrase that fits but whatever the reason you do it for me ooowhats love got to do got to do with it whats love but a second hand emotion whats love got to do got to do with it who needs a heart when a heart can be brokenive been taking on a new direction but i have to say ive been thinking about my own protection it scares me to feel this way ooowhats love got to do got to do with it whats love but a second hand emotion whats love got to do got to do with it who needs a heart when a heart can be brokenwhats love got to do got to do with it whats love but a sweet old fashioned notion whats love got to do got to do with it who needs a heart when a heart can be brokenooo got to with it whats love got to do got to do with it who needs a heart when a heart can be broken ooo ooo got to do with it second hand emotion ",1
3,"say say say","paul mccartney and michael jackson",1984," say say say what you want but dont play games with my affection take take take what you need but dont leave me with no direction all alone i sit home by the phone waiting for you baby baby through the years how can you stand to hear my pleading for you dear you know im crying ooh ooh ooh ooh ooh yeahnow go go go where you want but dont leave me here forever you you you stay away so long girl i see you never what can i do girl to get through to you cause i love you baby baby standing here baptized in all my tears baby through the years you know im crying ooh ooh ooh ooh oohyou never ever worry and you never shed a tear youre saying that my love aint real just look at my face these tears aint dryingyou you you can never say that im not the one who really loves you i pray pray pray every day that youll see things girl like i do what can i do girl to get through to you cause i love you love you baby baby standing here baptized in all my tears baby through the years you know im crying ooh ooh ooh ooh oohooh ooh ooh ooh ooh ooh ooh ooh ooh oohsay say say ooh ooh ooh ooh oohooh ooh ooh say say say ooh ooh ooh say say say ooh ooh ooh say say say ooh ooh ooh say say say ooh ooh ooh say say say ooh ooh ooh say say say ooh ooh ooh say say say ooh ooh ooh say say say ooh ooh ooh say say say ooh ooh ooh say say say ooh ooh ooh say say say ",1
4,"footloose","kenny loggins",1984," ive been working so hard im punching my card eight hours for what oh tell me what i gotive got this feeling that times just holding me down ill hit the ceiling or else ill tear up this town tonight i gotta cutnow i gotta cut loose footloose kick off the sunday shoes please louise pull me off of my knees jack get mack come on before we crack lose your blues everybody cut footlooseyoure playing so cool obeying every rule i dig a way down in your heart youre burning yearning forsomebody to tell you that life aint passing you by im trying to tell you it will if you dont even try you can fly if youd only cutloose footloose kick off your sunday shoes oh please marie shake it shake it for me oh milo cmon cmon lets go lose your blues everybody cut footlooseohhhhhhhhhh cut footloose ohhhhhhhhhh cut footloose ohhhhhhhhhh cut footloose ohhhhhhhhhhyou got to turn me around and put your feet on the ground now take a hold of your soul ah ahahahhhhhhhh im turning it loosefootloose kick off your sunday shoes please louise pull me offa my knees jack get back cmon before we crack lose your blues now everybody cut footlooseloose footloose kick off your sunday shoes please louise pull me offa my knees jack get back cmon before we crack lose your blueseverybody cut everybody cut everybody cut everybody cut everybody cut everybody cut everybody everybody cut footloose cut footloose ",1
5,"against all odds take a look at me now","phil collins",1984," how can i just let you walk away just let you leave without a trace when i stand here taking every breath with you ooh ooh youre the only one who really knew me at allhow can you just walk away from me when all i can do is watch you leave cause weve shared the laughter and the pain and even shared the tears youre the only one who really knew me at allso take a look at me now well theres just an empty space and theres nothing left here to remind me just the memory of your face ooh take a look at me now well theres just an empty space and you coming back to me is against the odds and thats what ive got to facei wish i could just make you turn around turn around and see me cry theres so much i need to say to you so many reasons why youre the only one who really knew me at allso take a look at me now well theres just an empty space and theres nothing left here to remind me just the memory of your facenow take a look at me now cause thats just an empty space but to wait for you is all i can do and thats what ive got to facetake a good look at me now cause ill still be standing here and you coming back to me is against all odds its the chance ive got to take take a look at me now ",1
6,"jump","van halen",1984," i get up and nothin gets me down you got it tough ive seen the toughest around and i know baby just how you feel you got to roll with the punches and get to whats realah cant you see me standin here i got my back against the record machine i aint the worst that youve seen ah cant you see what i meanah might as well jump jump might as well jump go ahead an jump jump go ahead and jump ow oh hey you who said that baby how you been you say you dont know you wont know until you beginso cant ya see me standing here i got my back against the record machine i aint the worst that youve seen ah cant you see what i meanah might as well jump jump go ahead and jump might as well jump jump go ahead and jump jump might as well jump jump go ahead and jump get it in jump jump go ahead and jumpjump jump jump jump ",1
7,"hello","lionel richie",1984," ive been alone with you inside my mind and in my dreams ive kissed your lips a thousand times i sometimes see you pass outside my door hello is it me youre looking fori can see it in your eyes i can see it in your smile youre all ive ever wanted and my arms are open wide cause you know just what to say and you know just what to do and i want to tell you so much i love youi long to see the sunlight in your hair and tell you time and time again how much i care sometimes i feel my heart will overflow hello ive just got to let you knowcause i wonder where you are and i wonder what you do are you somewhere feeling lonely or is someone loving you tell me how to win your heart for i havent got a clue but let me start by saying i love you ",1
8,"owner of a lonely heart","yes",1984," move yourself you always live your life never thinking of the future prove yourself you are the move you make take your chances win or losersee yourself you are the steps you take you and you and thats the only way shake shake yourself you are every move you make so the story goesowner of a lonely heart owner of a lonely heart much better than a owner of a broken heart owner of a lonely heartsay you dont want to chance it youve been hassled before watch it now eagle in the sky how he dancin one and onlyyou lose yourself  no not for pitys sake theres no real reason to be lonely be yourself give your free will a chance youve got to work to succeedowner of a lonely heart owner of a lonely heart much better than a owner of a broken heart owner of a lonely heartowner of a lonely heart after my own decision they confused me so owner of a lonely heart my love said never question your will at all in the end youve got to go look before you leap owner of a lonely heart and dont you hesitate at all no noowner of a lonely heart owner of a lonely heart much better than a owner of a broken heart owner of a lonely heartowner of a lonely heart owner of a lonely heart much better than a owner of a broken heart owner of a lonely heartowner of a lonely heart sooner or later each conclusion will decide the lonely heart owner of a lonely heart it will excite it will delight it will give a better start owner of a lonely heartdont deceive your free will at all dont deceive your free will at all owner of a lonely heart dont deceive your free will at all just receive it just receive it ",1
9,"ghostbusters","ray parker jr",1984," ghostbusters if theres something strange in you neighborhood who you gonna call ghostbusters if theres something weird and it dont look good who you gonna call ghostbustersi aint afraid of no ghost i aint afraid of no ghostif youre seeing things running through your head who can you call ghostbusters an invisible man sleeping in your bed oh who you gonna call ghostbustersi aint afraid of no ghost i aint afraid of no ghostwho you gonna call ghostbusters if youre all alone pick up the phone and call ghostbustersi aint afraid of no ghost i hear it likes the girls i aint afraid of no ghost yeah yeah yeah yeahwho ya gonna call ghostbustersif youve had a dose of a freaky ghost baby you better call ghostbusters ohlemme tell ya something bustin makes me feel goodi aint afraid of no ghost i aint afraid of no ghostdont get caught alone no noghostbusterswhen it comes through your door unless you just want some more i think you better call ghostbustersoh who ya gonna call ghostbusterswho ya gonna call ghostbustersi think you better call ghostbusterswho ya gonna call ghostbustersi cant hear you who ya gonna call ghostbusterslouder ghostbusterswho ya gonna call ghostbusterswho can ya call ghostbusters ",1
10,"karma chameleon","culture club",1984," theres a loving in your eyes all the way if i listen to your lies would you say im a man without conviction im a man who doesnt know how to sell a contradiction you come and go you come and gokarma karma karma karma karma chameleon you come and go you come and go loving would be easy if your colours were like my dreams red gold and green red gold and greendidnt you hear your wicked words every day and you used to be so sweet i heard you say that my love was an addiction when we cling our love is strong when you go youre gone forever you string along you string alongkarma karma karma karma karma chameleon you come and go you come and go loving would be easy if your colours were like my dreams red gold and green red gold and greenevry day is like survival youre my lover not my rivalevry day is like survival youre my lover not my rivalim a man without conviction im a man who doesnt know how to sell a contradiction you come and go you come and gokarma karma karma karma karma chameleon you come and go you come and go loving would be easy if your colours were like my dreams red gold and green red gold and greenkarma karma karma karma karma chameleon you come and go you come and go loving would be easy if your colours were like my dreams red gold and green red gold and greenkarma karma karma karma karma chameleon you come and go you come and go loving would be easy if your colours were like my dreams red gold and green red gold and greenkarma karma karma karma karma chameleon you come and go you come and go loving would be easy if your colours were like my dreams red gold and green red gold and green ",1
11,"missing you","john waite",1984," every time i think of you i always catch my breath and im still standing here and youre miles away and im wondering why you lefttheres a storm thats raging through my frozen heart tonight i hear your name in certain circles and it always makes me smile i spend my time thinking about you and its almost driving me wildand theres a heart thats breaking down this long distance line tonight i aint missing you at all since youve been gone away i aint missing you no matter what i might saytheres a message in the wire and im sending you this signal tonight you dont know how desperate ive become and it looks like im losing this fight in your world i have no meaning though im trying hard to understandand its my heart thats breaking down this long distance line but i aint missing you at all since youve been gone away i aint missing you no matter what my friends sayand theres a message that im sending out like a telegraph to your soul and if i cant bridge this distance stop this heartbreak overloadi aint missing you at all since youve been gone away i aint missing you no matter what my friends say i aint missing you i aint missing you i can lie to myselfand theres a storm thats raging through my frozen heart tonight i aint missing you at all since youve been gone i aint missing you no matter what my friends sayaint missing you i aint missing you i aint missing you i keep lying to myself aint missing you i aint missing you i aint missing you ",1
12,"all night long all night","lionel richie",1984," well my friends the time has come to raise the roof and have some fun throw away the work to be done let the music play oneverybody sing everybody dance lose yourself in wild romance were going to party karambo fiesta forever come on and sing along were going to party karambo fiesta forever come on and sing alongall night long all night all night all night all night long all night all night all night all night long all night all night all night all night long all night ooh yeah all nightpeople dancing all in the street see the rhythm all in their feet life is good wild and sweet let the music play on feel it in your heart and feel it in your soul let the music take control were going to party limin fiesta forever come on and sing along were going to party limin fiesta forever come on and sing my songall night long all night ooh all night all night long all night yeah all night all night long all night yeah all night all night long all night yeah all nightyeah once you get started you cant sit down come join the fun its a merrygoround everyones dancing their troubles away come join our party see how we playtom bo li de say de moi ya yeah jumbo jumbo way to parti o we goin oh jambali tom bo li de say de moi ya yeah jumbo jumbooh oh oh oh yes were gonna have a party yeah ugh all night long all night all night all night all night long all night all night all night all night long all night all night all night all night long all night whoawere going to party karambo fiesta forever come on and sing along were going to party karambo fiesta forever come on and sing my songall night long all night all night all night all night long all night all night all night all night long all night all night all night all night long all night all night all nightall night all night all night all night all night all night all night all night all night all night all night all night all night all night all night all nighteveryone you meet all night theyre jamming in the street all night all night long all night yeah i said all night everyone you meet all night theyre jamming in the street all night all night long all night feel good feel good all night all night ",1
13,"lets hear it for the boy","deniece williams",1984," my baby he dont talk sweet he aint got much to say but he loves me loves me loves me i know that he loves me anywayand maybe he dont dress fine but i dont really mind cause every time he pulls me near i just want to cheerlets hear it for the boy lets give the boy a hand lets hear it for my baby you know you gotta understand oh maybe hes no romeo but hes my lovin one man show whoa whoa whoa whoa lets hear it for the boymy baby may not be rich hes watchin every dime but he loves me loves me loves me we always have a real good timeand maybe he sings off key but thats alright by me yeah cause what he does he does so well makes me wanna yelllets hear it for the boy oh lets give the boy a hand lets hear it for my baby you know you gotta understand oh maybe hes no romeo but hes my lovin one man show whoa whoa whoa whoa lets hear it for the boycause every time he pulls me near i just want to cheerlets hear it for the boy oh lets give the boy a hand lets hear it for my baby you know you gotta understand oh maybe hes no romeo but hes my lovin one man show whoa whoa whoa whoa lets hear it for the boylets hear it for the boy lets hear it for my man lets hear it for my babe lets hear it my man lets hear it for the boy lets hear it for my babe lets hear it for the boylets hear it for my man lets hear it for my babe lets hear it for the boy pull yourself together lets hear it for my babe lets hear it for the boywhoa lets hear it for my boy lets hear it for my babe lets hear it for my man lets hear it for the boy lets hear it for my babe lets it for my man ",1
14,"dancing in the dark","bruce springsteen",1984," i get up in the evening and i aint got nothing to say i come home in the morning i go to bed feeling the same way i aint nothing but tired man im just tired and bored with myself hey there baby i could use just a little helpyou cant start a fire you cant start a fire without a spark this guns for hire even if were just dancing in the darkmessage keeps getting clearer radios on and im moving round the place i check my look in the mirror i want to change my clothes my hair my face man i aint getting nowhere im just living in a dump like this theres something happening somewhere baby i just know that there isyou cant start a fire you cant start a fire without a spark this guns for hire even if were just dancing in the darkyou sit around getting older theres a joke here somewhere and its on me ill shake this world off my shoulders come on baby this laughs on mestay on the streets of this town and theyll be carving you up alright they say you gotta stay hungry hey baby im just about starving tonight im dying for some action im sick of sitting round here trying to write this book i need a love reaction come on now baby gimme just one lookyou cant start a fire sitting round crying over a broken heart this guns for hire even if were just dancing in the dark you cant start a fire worrying about your little world falling apart this guns for hire even if were just dancing in the dark even if were just dancing in the dark even if were just dancing in the dark even if were just dancing in the dark hey baby ",1
15,"girls just want to have fun","cyndi lauper",1984," i come home in the morning light my mother says when you gonna live your life right oh mother dear were not the fortunate ones and girls they want to have fun oh girls just want to have funthe phone rings in the middle of the night my father yells what you gonna do with your life oh daddy dear you know youre still number one but girls they want to have fun oh girls just want to havethats all they really want some fun when the working day is done oh girls they want to have fun oh girls just want to have funsome boys take a beautiful girl and hide her away from the rest of the world i want to be the one to walk in the sun oh girls they want to have fun oh girls just want to havethats all they really want some fun when the working day is done oh girls they want to have fun oh girls just want to have fungirls they wanna wanna have fun girls wanna havethey just wanna they just wanna girls girls just wanna have fun they just wanna they just wanna have fun girls girls just wanna have funthey just wanna they just wanna they just wanna they just wanna they just wanna they just wanna girls girls just wanna have fun girls girls just wanna have funwhen the workin when the workin day is done oh when the workin day is done oh girls girls just wanna have funthey just wanna they just wanna they just wanna they just wanna oh girls girls just wanna have funthey just wanna they just wanna when the workin they just wanna they just wanna when the workin day is done girls girls just wanna have fun when the working day is done oh girl girls just wanna have funthey just wanna they just wanna yeah yeah yeah ",1
16,"the reflex","duran duran",1984," youve gone too far this time and im dancing on the valentine i tell you somebodys fooling around with my chances on the danger line ill cross that bridge when i find it another day to make my stand oh oh high time is no time for deciding if i should find a helping hand oh ohwhy dont you use it try not to bruise it buy time dont lose itwhy dont you use it try not to bruise it buy time dont lose itthe reflex is a lonely child whos waiting by the park the reflex is a door to finding treasure in the dark and watching over lucky clover isnt that bizarre every little thing the reflex does leaves you answered with a question markim on a ride and i want to get off but they wont slow down the roundabout i sold the radio and tv set dont want to be around when this gets outso why dont you use it try not to bruise it buy time dont lose itwhy dont you use it try not to bruise it buy time dont lose itthe reflex is a lonely child whos waiting in the park the reflex is a door to finding treasure in the dark and watching over lucky clover isnt that bizarre every little thing the reflex does leaves you answered with a question markso why dont you use it try not to bruise it buy time dont loose itwhy dont you use it try not to bruise it buy time dont lose itthe reflex is a lonely child whos waiting by the park the reflex is a door to finding treasure in the dark and watching over lucky clover isnt that bizarre every little thing the reflex does leaves you answered with a question markoh the reflex what a game hes hiding all the cards the reflex is in charge of finding treasure in the dark and watching over lucky clover isnt that bizarre every little thing the reflex does ",1
17,"time after time","cyndi lauper",1984," lying in my bed i hear the clock tick and think of you caught up in circles confusion is nothing new flashback warm nights almost left behind suitcases of memories time aftersometimes you picture me im walking too far ahead youre calling to me i cant hear what youve said then you say go slow i fall behind the second hand unwindsif youre lost you can look and you will find me time after time if you fall i will catch you i will be waiting time after timeif youre lost you can look and you will find me time after time if you fall i will catch you i will be waiting time after timeafter my picture fades and darkness has turned to gray watching through windows youre wondering if im okay secrets stolen from deep inside the drum beats out of timeif youre lost you can look and you will find me time after time if you fall i will catch you i will be waiting time after timeyou said go slow i fall behind the second hand unwindsif youre lost you can look and you will find me time after time if you fall i will catch you ill be waiting time after timeif youre lost you can look and you will find me time after time if you fall i will catch you ill be waitingtime after time time after time time after time time after time time after time time after time time after time time after time ",1
18,"jump for my love","pointer sisters",1984," your eyes tell me how you want me i can feel it in your heart beat i know you like what you seehold me ill give you all that you need wrap your love around me youre so excited i can feel you getting hotteroh baby ill take you down ill take you down where no ones ever gone before and if you want more if you want more more morejump for my love jump in and feel my touch jump if you want to taste my kisses in the night then jump jump for my lovejump i know my heart can make you happy jump in you know these arms can feel you up jump if you want to taste my kisses in the night then jump jump for my loveyou told me im the only woman for you nobody does you like i do then make a move before you try and go much farther oh babyyou are the one you are the one and heaven waits here at my door and if you want more if you want more more morethen jump for my love jump in and feel my touch jump if you want to taste my kisses in the night then jump jump for my lovejump i know my heart can make you happy jump in you know these arms can feel you up jump if you want to taste my kisses in the night then jump jump for my lovewhen you are next to me oh i come aliveyour love burns inside oh it feels so right come to me if you want me tonightjump jump in if you want to taste my kisses in the night then jump jump jump jumpjump you know my heart can make you happy jump you know these arms can feel you up jump in you want to taste my kisses in the night then jump jump for my lovejump come on and jump on me jump yeah you and me jump in jump jump for my lovejump jump jump in jump jump for my love jump jump jump in jump in jump jump for my love ",1
19,"talking in your sleep","the romantics",1984,"when you close your eyes and you go to sleep and its down to the sound of a heartbeat i can hear the things that youre dreamin about when you open up your heart and the truth comes out you tell me that you want me you tell me that you need me you tell me that you love me and i know that im right cause i hear it in the night i hear the secrets that you keep when youre talking in your sleep i hear the secrets that you keep when youre talking in your sleep when i hold you in my arms at night dont you know youre sleepin in the spotlight and all your dreams that you keep inside youre telling me the secrets that you just cant hide you tell me that you want me you tell me that you need me you tell me that you love me and i know that im right cause i hear it in the night i hear the secrets that you keep when youre talking in your sleep i hear the secrets that you keep when youre talking in your sleep i hear the secrets that you keep when youre talking in your sleep i hear the secrets that you keep when youre talking in your sleep when you close your eyes and you fall asleep everything about you is a mystery you tell me that you want me you tell me that you need me you tell me that you love me and i know that im right cause i hear it in the night i hear the secrets that you keep when youre talking in your sleep i hear the secrets that you keep when youre talking in your sleep i hear the secrets that you keep when youre talking in your sleep i hear the secrets that you keep when youre talking in your sleep i hear the secrets that you keep when youre talking in your sleep i hear the secrets that you keep",3
20,"self control","laura branigan",1984," oh the night is my world city light painted girl in the day nothing matters its the night time that flattersin the night no control through the wall somethings breaking wearing white as youre walkin down the street of my soulyou take my self you take my self control you got me livin only for the night before the morning comes the storys told you take my self you take my self controlanother night another day goes by i never stop myself to wonder why you help me to forget to play my role you take my self you take my self controli i live among the creatures of the night i havent got the will to try and fight against a new tomorrow so i guess ill just believe it that tomorrow never comesa safe night im livin in the forest of my dream i know the night is not as it would seem i must believe in somethin so ill make myself believe it that this night will never gooh the night is my world city light painted girl in the day nothing matters its the night time that flattersyou take my self you take my self control you got me livin only for the night before the morning comes the storys told you take my self you take my self controli i live among the creatures of the night i havent got the will to try and fight against a new tomorrow so i guess ill just believe it that tomorrow never knowsa safe night im livin in the forest of a dream i know the night is not as it would seem i must believe in something so ill make myself believe it that this night will never goyou take my self you take my self control you take my self you take my self control you take my self you take my self control  ",1
21,"lets go crazy","prince and the revolution",1984," dearly beloved we are gathered here today to get through this thing called lifeelectric word life it means forever and thats a mighty long time but im here to tell you theres something else the after worlda world of never ending happiness you can always see the sun day or nightso when you call up that shrink in beverly hills you know the one dr everythingll be alright instead of asking him how much of your time is left ask him how much of your mind babycause in this life things are much harder than in the after world in this life youre on your ownand if the elevator tries to bring you down go crazy punch a higher floorif you dont like the world youre living in take a look around you at least you got friendsyou see i called my old lady for a friendly word she picked up the phone dropped it on the floor ah ah is all i heardare we gonna let the elevator bring us down oh no lets golets go crazy lets get nuts lets look for the purple banana til they put us in the truck lets gowere all excited but we dont know why maybe its cause were all gonna dieand when we do when we do whats it all for whats it all for you better live now before the grim reaper come knocking on your doortell me are we gonna let the elevator bring us down oh no lets golets go crazy lets get nuts look for the purple banana til they put us in the truck lets gocmon baby lets get nuts yeah crazylets go crazyare we gonna let the elevator bring us down oh no lets go go crazyi said lets go crazy go crazy lets go lets go go lets godr everythingll be alright will make everything go wrong pills and thrills and daffodils will kill hang tough childrenhes coming hes coming comingtake me away ",1
22,"say it isnt so","daryl hall  john oates",1984,"say it say it isnt so say it say it isnt so say it isnt so painful to tell me that youre dissatisfied last time i asked you i really got a lame excuse i know that you lied now wicked things can happen you see em goin down on in war but when you play in a quiet way that bites it even more say it tell me what you want yeah ill do it baby i promise right now say it who propped you up when you were stopped low motivation had you on the ground i know your first reaction you slide away hide away goodbye but if theres a doubt maybe i can give out a thousand reasons why you have to say it isnt so it isnt so i say it isnt so oh no it isnt so i say it isnt so it isnt so oh say it isnt so oh oh no it isnt so say it we like to be the strangers at the party two rebels in a shell say it you like to move with the best of them you know we we move so well dont need someone to lean on i know where theres an open door but if im faced with being replaced i want you even more so baby say it isnt so it isnt so oh oh say it isnt so ohoh no it isnt so i say it isnt so it isnt so oh say it isnt so oh oh oh yeah it isnt so say it say it isnt so say it say it isnt so say it say it isnt so why you gonna go do you have to say you wanna go ooh ooh baby say it isnt say it isnt say say say it isnt say it isnt so so say it isnt why do you have to say it isnt so say it isnt say it isnt so so say it isnt i know its so hard for you say it isnt so hard say it isnt dont say baby so say it isnt there must be some other way say it isnt dont have to say it isnt some other way so say it isnt aah you dont have to say say it isnt say it isnt some say it isnt you know im wont make you say it isnt say it isnt",5
23,"hold me now","thompson twins",1984," i have a picture pinned to my wall an image of you and of me and were laughing were loving it all look at our life now were tattered and torn we fuss and we fight and delight in the tears and we cry until dawnhold me now warm my heart stay with me let loving start let loving start hold me now warm my heart stay with me let loving start let loving startyou say im a dreamer were two of a kind both of us searching for some perfect world we know well never find so perhaps i should leave here yeah yeah go far away but you know that theres no where that id rather be than with you here todayhold me now warm my heart stay with me let loving start let loving start hold me now warm my heart stay with me let loving start let loving startyou ask if i love you well what can i say you know that i do and that this is just one of those games that we play so ill sing you a new song please dont cry anymore and then ill ask your forgiveness though i dont know just what im asking it forhold me now in your lovin arms warm my heart oh my cold and tired heart stay with me come on and stay with me let loving start let loving start hold me now in your lovin arms warm my heart oh my cold and tired heart stay with me come on and stay with me let loving start let loving start ",1
24,"joanna","kool  the gang",1984,"joanna i love you youre the one the one for me im in love and i wont lie shes my girl and always on my mind she gives me her love and a feeling thats right never let me down specially at night so im gonna do the best i can to please that girl and be her only man she she picks me up when im feeling low and thats why baby ive got to let you know joanna i love you youre the one the one for me ah baby shes the one the one for me shes the kind of girl who makes you feel nice so i try my best to do whats right and take her for a ride  evrythings fine joanna i love you youre the one for me ah baby search so far search so long to find someone someone to count on now i feel i got it right here found it in you baby you my dear we can do all life so nice well have it all and evrything will be alright im promissing you take it from me take it on baby take it on baby  oh shes the one the one for me shes the kind of girl who makes you feel nice so i try my best to do whats right take her for a ride evrythings fine ooh joanna ooh joanna  joanna i love you youre the one the one for me joanna i love you youre the one the one for me joanna joanna",3
25,"i just called to say i love you","stevie wonder",1984," no new years day to celebrate no chocolate covered candy hearts to give away no first of spring no song to sing in fact heres just another ordinary dayno april rain no flowers bloom no wedding saturday within the month of june but what it is is something true made up of these three words that i must say to youi just called to say i love you i just called to say how much i care i just called to say i love you and i mean it from the bottom of my heartno summers high no warm july no harvest moon to light one tender august night no autumn breeze no falling leaves not even time for birds to fly to southern skiesno libra sun no halloween no giving thanks to all the christmas joy you bring but what it is though old so new to fill your heart like no three words could ever doi just called to say i love you i just called to say how much i care i do i just called to say i love you and i mean it from the bottom of my hearti just called to say i love you i just called to say how much i care i do i just called to say i love you and i mean it from the bottom of my heart of my heart of my heart ",1
26,"somebodys watching me","rockwell",1984," whos watching tell me whos watching whos watching meim just an average man with an average life i work from nine to five hey hell i pay the price all i want is to be left alone in my average home but why do i always feel like im in the twilight zone andi always feel like somebodys watching me and i have no privacy woh i always feel like somebodys watching me tell me is it just a dreamwhen i come home at night i bolt the door real tight people call me on the phone im trying to avoid well can the people on tv see me or am i just paranoidwhen im in the shower im afraid to wash my hair cause i might open my eyes and find someone standing there people say im crazy just a little touched but maybe showers remind me of psycho too much thats why  i always feel like somebodys watching me and i have no privacy woh i always feel like somebodys watching me whos playing tricks on mewhos watching me i dont know anymore    are the neighbors watching whos watching well its the mailman watching me and i dont feel safe anymore tell me whos watching oh what a mess i wonder whos watching me now who the irsi always feel like somebodys watching me and i have no privacy woh i always feel like somebodys watching me whos playing tricks on mei always feel like somebodys watching me i always feel like somebodys watching me i always feel like somebodys watching me i always feel like somebodys watching me i always feel like somebodys watching mei always feel like somebodys watching me and i have no privacy woh i always feel like somebodys watching me i cant enjoy my teai always feel like somebodys watching me i want my privacy woh i always feel like somebodys watching me woh i always feel like somebodys watching me stop playing tricks on me woh i always feel like somebodys watching me ",1
27,"break my stride","matthew wilder",1984,"last night i had the strangest dream i sailed away to china in a little row boat to find ya and you said you had to get your laundry cleaned didnt want no one to hold you what does that mean and you said aint nothin gonna to break my stride nobodys gonna slow me down oh no i got to keep on movin aint nothin gonna break my stride im running and i wont touch ground oh no i got to keep on movin youre on the road and now you pray it lasts the road behind was rocky but now youre feeling cocky you look at me and you see your past is that the reason why youre runnin so fast and she said aint nothin gonna break my stride nobodys gonna slow me down oh no i got to keep on moving aint nothin gonna break my stride im running and i wont touch ground oh no i got to keep on moving never let another girl like you work me over never let another girl like you drag me under if i meet another girl like you i will tell her never want another girl like you have to say ooh aint nothin gonna break my stride nobodys gonna slow me down oh no oh no i got to keep on moving aint nothin gonna break my stride im running and i wont touch the ground oh no i got to keep on movin aint nothin gonna break my stride nobodys gonna slow me down oh no oh no i got to keep on moving aint nothin gonna break my stride im running and i wont touch the ground oh no i got to keep on movin aint nothin gonna break my stride nobodys gonna slow me down oh no i got to keep on moving aint nothin gonna break my stride im running and i wont touch the ground oh no i got to keep on movin aint nothin gonna break my stride nobodys gonna slow me down oh no oh no i got to keep on moving",3
28,"99 luftballons","nena",1984," hast du etwas zeit f�_r mich dann singe ich ein lied f�_r dich von 99 luftballons auf ihrem weg zum horizontdenkst du vielleicht grad an mich dann singe ich einen lied f�_r dich von 99 luftballons und dass so was von so was kommt99 luftballons auf ihrem weg zum horizont hielt man f�_r ufos aus dem all darum schickte eine generalne fliegerstaffel hinterher alarm zu geben wenn es so w�_r dabei warn da am horizont nur 99 luftballons99 d�_senflieger jeder war ein gro��er krieger hielten sich f�_r captain kirk es gab ein gro��es feuerwerkdie nachbarn haben nichts gerafft und f�_hlten sich gleich angemacht dabei schoss man am horizont auf 99 luftballons99 kriegsminister streichholz und benzinkanister hielten sich f�_r schlaue leute witterten schon fette beuteriefen krieg und wollten macht mann wer h�_tte das gedacht dass es einmal soweit kommt wegen 99 luftballonswegen 99 luftballons 99 luftballons99 jahre krieg lie��en keinen platz f�_r sieger kriegsminister gibts nicht mehr und auch keine d�_senfliegerheute zieh ich meine runden seh die welt in tr�_mmern liegen hab n luftballon gefunden denk an dich und lass ihn fliegen ",1
29,"i can dream about you","dan hartman",1984," no more timing each tear that falls from my eyes im not hiding the remedy to cure this old heart of minei can dream about you if i cant hold you tonight i can dream about you you know how to hold me just righti can dream about you if i cant hold you tonight i can dream about you you know how to hold me just rightmoving sidewalks i dont see under my feet climbing up from down here below where the streets see me lonely for youi can dream about you if i cant hold you tonight i can dream about you you know how to hold me just righti can dream about you im gonna press my lips against you and hold you tight to me i can dream about you you know you got me spellbound what else can it bemoving sidewalks i dont see under my feet climbing up from the pain in my heart cause its you that i needi dont understand it i cant keep my mind off loving you ooh now baby im caught up in the magic i see in you theres one thing to doi can dream about you if i cant hold you tonight i can dream about you you know how to hold me just righti can dream about you if i cant hold you tonight i can dream about you you know how to hold me just right ",1
30,"the glamorous life","sheila e",1984,"she wears a long fur coat of mink even in the summer time everybody knows from the coy little wink the girls got a lot on her mind shes got big big thoughts big big dreams and a big brown mercedes sedan what i think this girl she really wants to be in love with a man she wants to lead the glamorous life she dont need a mans touch she wants to lead the glamorous life without love it aint much oh she saw him standing in the section marked if you have to ask you cant afford it lingerie she threw him bread and said make me scream in the dark what could he say boys with small talk and small minds really dont impress me in bed she said i need a mans man baby diamonds and furs love would only conquer my head she wants to lead the glamorous life she dont need a mans touch she wants to lead the glamorous life without love it aint much they made haste in the brown sedan they drove to 55 secret street they made love and by the seventh wave she knew she had a problem she thought real love is real scary money only pays the rent love is forever thats all your life love is heaven sent its glamorous lead the glamorous life she dont need a mans touch she wants to lead the glamorous life without love it aint much she wants to lead the glamorous life she dont need a mans touch she wants to lead the glamorous life without love it aint much it aint much lead the glamorous life she dont need a mans touch she wants to lead the glamorous life without love it aint much it aint much she wants to lead the glamorous life she dont need a mans touch she wants to lead the glamorous life without love it aint much it aint much lead the glamorous life she dont need a mans touch she wants to lead the glamorous life without love it aint much it aint much she wants to lead the glamorous life she dont need a mans touch she wants to lead the glamorous life without love it aint much it aint much ooh oh",3
31,"oh sherrie","steve perry",1984," you shouldve been gone knowing how i made you feel and i shouldve been gone after all your words of steeloh i must have been a dreamer must have been a dreamer i know and i mustve been someone else someone else and we shouldve been over over nowoh sherrie our love holds on holds on our love holds on holds on oh sherrie our love holds on holds on our love holds on holds onbut i want to let go youll go on hurtin me youd be better off alone if im not who you thought id bebut you know that theres a fever theres a fever i know that youll never find nowhere else nowhere nowhere else cant you feel it burnin on and onoh sherrie our love holds on holds on our love holds on holds on oh sherrie our love holds on holds on our love holds on holds on oh sherriebut i shouldve been gone long ago far away and you shouldve been gone now i know youd lie to stayoh sherrie our love holds on holds on our love holds on holds on oh sherrie our love holds on holds on our love holds on holds onoh sherrie our love holds on holds on our love holds on holds on oh sherrie our love sherrie sherrie hold on oh sherrie ",1
32,"stuck on you","lionel richie",1984," stuck on you ive got this feeling down deep in my soul that i just cant lose guess im on my way needed a friend and the way i feel now i guess ill be with you til the end guess im on my way mighty glad you stayedim stuck on you been a fool too long i guess its time for me to come on home guess im on my way so hard to see that a woman like you could wait around for a man like me guess im on my way mighty glad you stayedoh im leaving on that midnight train tomorrow and i know just where im going ive packed up my troubles and ive thrown them all away cause this time little darling im coming home to stayim stuck on you ive got this feeling down deep in my soul that i just cant lose guess im on my way needed a friend and the way i feel now i guess ill be with you til the end guess im on my way im mighty glad you stayed ",1
33,"i guess thats why they call it the blues","elton john",1984," dont wish it away dont look at it like its forever between you and me i could honestly say that things can only get betterand while im away dust out the demons inside and it wont be long before you and me run to the place in our hearts where we hideand i guess thats why they call it the blues time on my hands could be time spent with you laughing like children living like lovers rolling like thunder under the covers and i guess thats why they call it the bluesjust stare into space picture my face in your hands live for each second without hesitation and never forget im your manwait on me girl cry in the night if it helps but more than ever i simply love you more than i love life itselfand i guess thats why they call it the blues time on my hands could be time spent with you laughing like children living like lovers rolling like thunder under the covers and i guess thats why they call it the blueswait on me girl cry in the night if it helps but more than ever i simply love you more than i love life itselfand i guess thats why they call it the blues time on my hands could be time spent with you laughing like children living like lovers rolling like thunder under the covers and i guess thats why they call it the bluesand i guess thats why they call it the blues and i guess thats why they call it the blues ",1
34,"she bop","cyndi lauper",1984," wehell i see them every night in tight blue jeans in the pages of a blue boy magazine hey ive been thinking of a new sensation im picking up good vibration ooh she bop she bopdo i want to go out with a lions roar huh yea i want to go south and get me some more hey they say that a stitch in time saves nine they say i better stop or ill go blind ooh she bop she bopshe bop he bop and we bop i bop you bop and they bop be bop be bop a lu bop i hope he will understand she bop he bop and we bop i bop you bop and they bop be bop be bop a lu she bop ohh ohh she do she bophey hey they say i better get a chaperon because i cant stop messin with the danger zone hey i wont worry and i wont fret aint no law against it yet oh she bop she bopshe bop he bop and we bop i bop you bop and they bop be bop be bop a lu bop i hope he will understand she bop he bop and we bop i bop you bop and they bop be bop be bop a lu she bop ohh ohh she do she bopshe bop he bop and we bop i bop you bop and they bop be bop be bop a lu bop i hope he will understand she bop he bop and we bop i bop you bop and they bop be bop be bop a lu she bop ohh ohh she did it she bop ohh ohh she dif it she bop ",1
35,"borderline","madonna",1984," something in the way you love me wont let me be i dont want to be your prisoner so baby wont you set me free stop playing with my heart finish what you start when you make my love come down if you want me let me know baby let it show honey dont you fool aroundjust try to understand understand ive given all i can cause you got the best of meborderline feels like im going to lose my mind you just keep on pushing my love over the borderlineborderline feels like im going to lose my mind you just keep on pushing my love over the borderline borderlinesomething in your eyes is makin such a fool of me when you hold me in your arms you love me til i just cant see but then you let me down when i look around baby you just cant be found stop driving me away i just want to stay theres something i just got to sayjust try to understand understand ive given all i can cause you got the best of meborderline feels like im going to lose my mind you just keep on pushing my love over the borderlineborderline feels like im going to lose my mind you just keep on pushing my love over the borderline borderlinekeep pushing me keep pushing me keep pushing my lovekeep on pushing my love come on baby come on darling yeah over the borderline borderline ",1
36,"sunglasses at night","corey hart",1984," i wear my sunglasses at night so i can so i can watch you weave then breathe your story lines and i wear my sunglasses at night so i can so i can keep track of the visions in my eyeswhile shes deceiving me it cuts my security has she got control of me i turn to her and saydont switch the blade on the guy in shades oh no dont masquerade with the guy in shades oh no i cant believe it cause you got it made with the guy in shades oh noand i wear my sunglasses at night so i can so i can forget my name while you collect your claim and i wear my sunglasses at night so i can so i can see the light thats right before my eyeswhile shes deceiving me she cuts my security she got control of me i turn to her and saydont switch the blade on the guy in shades oh no dont masquerade with the guy in shades oh no i cant believe it cause you got it made with the guy in shades oh noshes deceiving me it cuts my security has she got control of me i turn to her and saydont switch the blade on the guy in shades oh no dont masquerade with the guy in shades oh no i cant believe it dont be afraid of the guy in shades oh no it cant escape you cause you got it made with the guy in shades oh noi say i wear my sunglasses at night i wear my sunglasses at night i wear my sunglasses at night i say it to you now i wear my sunglasses at night i wear my sunglasses at night i wear my sunglasses at night i cry to you i wear my sunglasses at night i wear my sunglasses at night ",1
37,"eyes without a face","billy idol",1984," im all out of hope one more bad break could bring a fall when im far from home dont call me on the phone to tell me youre alone its easy to deceive its easy to tease but hard to get releaseles yeux sans visage eyes without a face les yeux sans visage eyes without a face les yeux sans visage eyes without a face got no human grace your eyes without a facei spend so much time believing all the lies to keep the dream alive now it makes me sad it makes me mad at truth for loving what was youles yeux sans visage eyes without a face les yeux sans visage eyes without a face les yeux sans visage eyes without a face got no human grace your eyes without a facewhen you hear the music you make a dip into someone elses pocket then make a slip steal a car and go to las vegas oh the gigolo poolhanging out by the state line turning holy water into wine drinking it downim on a bus on a psychedelic trip reading murder books tryin to stay hip im thinkin of you and youre out there sosay your prayers say your prayers say your prayersnow i close my eyes and i wonder why i dont despise now all i can do love what was once so alive and new but its gone from your eyes id better realizeles yeux sans visage eyes without a face les yeux sans visage eyes without a face les yeux sans visage eyes without a face got no human grace your eyes without a face such a human waste your eyes without a faceand now its getting worse ",1
38,"here comes the rain again","eurythmics",1984," here comes the rain again falling on my head like a memory falling on my head like a new emotion i want to walk in the open wind i want to talk like lovers do i want to dive into your ocean is it raining with yourefrain so baby talk to me like lovers do walk with me like lovers do talk to me like lovers dohere comes the rain again raining in my head like a tragedy tearing me apart like a new emotion oh i want to breathe in the open wind i want to kiss like lovers do i want to dive into your ocean is it raining with yourefrainso baby talk to me like lovers dohere comes the rain again falling on my head like a memory falling on my head like a new emotion here is comes again here it comes again i want to walk in the open wind i want to talk like lovers do i want dive into your ocean is it raining with you ",1
39,"uptown girl","billy joel",1984," uptown girl shes been living in her uptown world i bet shes never had a backstreet guy i bet her momma never told her whyim gonna try for an uptown girl shes been living in her white bread world as long as anyone with hot blood can and now shes looking for a downtown man thats what i amand when she knows what she wants from her time and when she wakes up and makes up her mindshell see im not so tough just because im in love with an uptown girl you know ive seen her in her uptown world shes getting tired of her high class toys and all her presents from her uptown boys shes got a choiceuptown girl you know i cant afford to buy her pearls but maybe someday when my ship comes in shell understand what kind of guy ive been and then ill winand when shes walking shes looking so fine and when shes talking shell say that shes mineshell say im not so tough just because im in love with an uptown girl shes been living in her white bread world as long as anyone with hot blood can and now shes looking for a downtown man thats what i amuptown girl shes my uptown girl you know im in love with an uptown girl my uptown girl you know im in love with an uptown girl my uptown girl you know im in love with an uptown girl my uptown girl you know im in love with an uptown girl ",1
40,"sister christian","night ranger",1984," sister christian oh the time has come and you know that youre the only one to say okaywhere you goin what you lookin for you know those boys dont want to play no more with you its trueyoure motorin whats your price for flight in finding mister right youll be alright tonightbabe you know youre growin up so fast and mamas worryin that you wont last to say lets playsister christian theres so much in life dont you give it up before your time is due i think its true and i know its true yeahmotorin whats your price for flight youve got him in your sight and drivin through the nightmotorin night yeah youll be alright tonight youll be alright tonightmotorin whats your price for flight youve got him in your sight youre just drivin through the nightmotorin whats your price for flight in finding mister right youll be alright tonightsister christian oh the time has come and you know that youre the only one to say but youre motorin youre motorin ",1
41,"drive","the cars",1984," whos gonna tell you when its too late whos gonna tell you things arent so greatyou cant go on thinking nothings wrong whos gonna drive you home tonightwhos gonna pick you up when you fall whos gonna hang it up when you call whos gonna pay attention to your dreams whos gonna plug their ears when you screamyou cant go on thinking nothings wrong whos gonna drive you home tonightwhos gonna hold you down when you shake whos gonna come around when you breakyou cant go on thinking nothings wrong whos gonna drive you home tonightoh you know you cant go on thinking nothings wrong whos gonna drive you home tonight ",1
42,"twist of fate","olivia newtonjohn",1984," do we deserve a second chance how did we fall into this circumstance we werent so straight and narrow this is much more than we deservea higher voice has called the tune two hearts that lost the beat will now resume the gift of life extension by divine interventionits gotta be a strange twist of fate telling me that heaven can wait come on gonna get it right this timelife doesnt mean a thing without the love you bring love is what weve found the second time arounddont understand whats going on woke up this morning all the hurt was gone this is a new beginning im back in the land of the livingits gotta be a strange twist of fate telling me that heaven can wait come on gonna get it right this timelife doesnt mean a thing without the love you bring love is what weve found the second time aroundits gotta be a strange twist of fate telling me that heaven can wait oh im gonna get it right this timelife doesnt mean a thing without the love you bring love is what weve found the second time aroundits gotta be a strange twist of fate telling me that heaven can wait you know im gonna get it right im gonna make it work this timelife doesnt mean a thing without the love you bring love is what weve found the second time aroundits gotta be a strange twist of fate telling me that heaven can waitlife doesnt mean a thing without the love you bring ",1
43,"union of the snake","duran duran",1984," telegram force and ready i knew this was a big mistake theres a fine line drawing my senses together and i think its about to break if i listen close i can hear them singers ohvoices in your body coming through on the radio the union of the snake is on the climb moving up its gonna race its gonna break through the borderlinenightshades on a warning give me strength at least give me a light give me anything even sympathy theres a chance you could be right if i listen close i can hear them singers ohvoices in your body coming through on the radio the union of the snake is on the climb moving up its gonna race its gonna break through the borderlinethe union of the snake is on the climb moving up its gonna race its gonna break through the borderlineif i listen close i can hear them singers oh voices in your body coming through on the radio the union of the snake is on the climb moving up its gonna race its gonna break through the borderlinethe union of the snake is on the climb its gonna race its gonna break its gonna move up through the borderlinethe union of the snake is on the climb moving up its gonna race its gonna break through the borderlinethe union of the snake is on the climb its gonna race its gonna break its gonna move up to the borderline ",1
44,"the heart of rock  roll","huey lewis and the news",1984,"new york new york is everything they say  and no place that id rather be  where else can you do a half a million things  all at a quarter to three  when they palt their music ooh that modern music  they like it with a lot of style  but ts still that same old back beat rhythm  that really drives em wild they say the heart of rock and roll is still beating  and from what ive seen i believe em  now the old boy may be barely breathing  but the heart of rock and roll is still beating la hollywood and the sunset strip  is something everyone should see  neon lights and the pretty pretty girls  all dressed so scantily  when they play their music  that hard rock music  they like it with a lot of flash  but its still that same old back beat rhythm  that really kicks em in the they say the heart of rock and roll is still beating  and from what ive seen i believe em  now the old boy may be barely breathing  but the heart of rock and roll is still beating dc san antone and the liberty town boston and baton rouge  tulsa austin oklahoma city seattle san francisco too  everywhere theres music real live music bands with a million styles  but its still that some old rock and roll music  that really drives em wild they say the heart of rock and roll is still beating  and from what ive seen i believe em  now the old boy may be barely breathing  but the heart of rock and roll is still beating",3
45,"hard habit to break","chicago",1984," i guess i thought youd be here forever another illusion i chose to create you dont know what you got until its gone and i found out just a little too latei was acting as if you were lucky to have me doin you a favor i hardly knew you were there but then you were gone and it all was wrong had no idea how much i carednow being without you takes a lot of getting used to should learn to live with it but i dont want tobeing without you is all a big mistake instead of getting easier its the hardest thing to take im addicted to you babe youre a hard habit to breakyou found someone else you had every reason you know i cant blame you for runnin to him two people together but living alone i was spreading my love too thinafter all of these years im still tryin to shake it doin much better they say that it just takes time but deep in the night its an endless flight i cant get ya out of my mindnow being without you takes a lot of getting used to should learn to live with it but i dont want tobeing without you is all a big mistake instead of getting any easier its the hardest thing to take im addicted to you babe youre a hard habit to breaki cant go on just get go on i cant go on just get go onbeing without you takes a lot of getting used to should learn to live with it i dont want tobeing without you is all a big mistake instead of getting any easier its the hardest thing to takeim addicted to you youre a hard habit to break such a hard habit to breakim addicted to you youre a hard habit to break such a hard habit to break im addicted to you baby ",1
46,"the warrior","scandal",1984,"  ",1
47,"if ever youre in my arms again","peabo bryson",1984," it all came so easy all the lovin you gave me the feelings we shared and i still can remember how your touch was so tender it told me you caredwe had a once in a lifetime but i just couldnt see until it was gone a second once in a lifetime may be too much to ask but i swear from now onif ever youre in my arms again this time ill love you much better if ever youre in my arms again this time ill hold you forever this time well never endnow im seeing clearly how i still need you near me i still love you so theres something between us that wont ever leave us theres no letting go no letting gowe had a once in a lifetime but i just didnt know it til my life fell apart a second once in a lifetime isnt too much to ask cause i swear from the heartif ever youre in my arms again this time ill love you much better if ever youre in my arms again this time ill hold you forever this time well never end never endthe best of romances deserve second chances ill get to you somehow cause i promise nowif ever youre in my arms again this time ill love you much better if ever youre in my arms again this time ill hold you forever this time well never endif ever youre in my arms again this time ill love you much better if ever youre in my arms again this time ill hold you forever this time well never endif ever youre in my arms again this time ill love you much better if ever youre in my arms again this time ill hold you forever this time well never end if ever youre in my arms again ",1
48,"automatic","pointer sisters",1984," look what youre doin to me im utterly at your whim all of my defenses down your camera looks through me with its xray vision and all systems run agroundall i can manage to push from my lips is a stream of absurdities evry word i intended to speak winds up locked in the circuitryno way to control it its totally automatic whenever youre around im walking blindfolded completely automatic all of my systems are down down down downautomatic automatic automatic automaticwhat is this madness that makes my motor run and my legs too weak to stand i go from sadness to exhilaration like a robot at your commandmy hands perspire and shake like a leaf up and down goes my temperature i summon doctors to get some relief but they tell me there is no cure they tell meno way to control it its totally automatic whenever youre around im walking blindfolded completely automatic all of my systems are down down down downautomatic automatic automatic automaticautomatic automatic automatic automatic automaticlook what youre doin to me im utterly at your whim all of my defenses down your camera looks through me with its xray vision and all systems run agroundall i can manage to push from my lips is a stream of absurdities evry word i intended to speak winds up locked in the circuitryno way to control it its totally automatic whenever youre around im walking blindfolded completely automatic all of my systems are down down downno way to control it its totally automatic automatic whenever youre around automatic im walking blindfolded completely automatic all of my systems are down down downno way to control it its totally automatic automatic whenever youre around automatic im walking blindfolded completely automatic all of my systems are down ",1
49,"let the music play","shannon",1984," we started dancing and love put us into a groove as soon as we started to movethe music played while our bodies displayed through the dance then love picked us out for romancei thought it was clear the plan was we would share this feeling just between ourselvesbut when the music changed the plan was rearranged he went to dance with someone elsewe started dancing and love put us into a groove but now hes with somebody new what does love want me to dolove said let the music play let the music play he wont get awayhe tried pretending a dance is just a dance but i see hes dancing his way back to meguess hes discovered we are truly lovers magic from the very startcause love just kept me groovin and he felt me movin even though we danced apartso we started dancing and love put us into the groove as soon as we started to move as soon as we started to movelove said let the music play he wont get away just keep the groove and then hell come back to you again let it playlet the music play he wont get away this groove he cant ignore he wont leave you anymore no no nolet the music just keep the groove let the music this groove we cant ignore anymore anymorelet the music hell come back to you yeah yeah no no no ",1
50,"to all the girls ive loved before","julio iglesias and willie nelson",1984," to all the girls ive loved before who traveled in and out my door im glad they came along i dedicate this song to all the girls ive loved beforeto all the girls i once caressed and may i say ive held the best for helping me to grow i owe a lot i know to all the girls ive loved beforethe winds of change are always blowing and evry time i tried to stay the winds of change continued blowing and they just carried me a wayto all the girls who shared my life who now are someone elses wife im glad they came along i dedicate this song to all the girls ive loved beforeto all the girls who cared for me who filled my nights with ecstacy they live within my heart ill always be a part of all the girls ive loved beforethe winds of change are always blowing and evry time i tried to stay the winds of change continued blowing and they just carried me wayto all the girls weve loved before who traveled in and out our door were glad they came along we dedicate this song to all the girls weve loved beforeto all the girls weve loved before who traveled in and out our doors were glad they came along we dedicate this song to all the girls weve loved before ",1
51,"caribbean queen","billy ocean",1984," shes simply awesome she dashed by me in painted on jeans and all heads turned cause she was the dream in the blink of an eye i knew her number and her name yeah she said i was the tiger she wanted to tamecaribbean queen now were sharing the same dream and our hearts they beat as one no more love on the runi lose my cool when she steps in the room and i get so excited just from her perfume electric eyes that you cant ignore and passion burns you like never beforei was in search of a good time just running my game love was the furthest furthest from my mindcaribbean queen now were sharing the same dream and our hearts they beat as one no more love on the runcaribbean queen now were sharing the same dream and our hearts they beat as one no more love on the runcaribbean queen now were sharing the same dream and our hearts they beat as one no more love on the runcaribbean queen now were sharing the same dream and our hearts they beat as one no more love on the runshe is the queen my caribbean queen i said she dashed by me in painted jeans ",1
52,"thats all","genesis",1984," just as i thought it was going alright i find out im wrong when i thought it was right its always the same its just a shame thats all i could say day and youd say night tell me its black when i know that its white always the same its just the shame and thats alli could leave but i wont go though my heart might tell me so i cant feel a thing from my head down to my toes but why does it always seem to be me looking at you when you looking at me its always the same its just a shame thats allturning me on turning me off making me feel like i want too much living with you is just a putting me through it all of the time running around staying out all night taking it all instead of taking one bite living with you is just a putting me through it all of the timebut i could leave but i wont go well itd be easier i know i cant feel a thing from my head down to my toes but why does it always seem to be me looking at you you looking at me its always the same its just a shame thats alltruth is i love you more than i wanted to theres no point in trying to pretend theres been noone who makes me feel like you do say well be together till the endbut i could leave but i wont go itd be easier i know i cant feel a thing from my head down to my toes so why does it always seem to be me looking at you you looking at me its always the same its just a shame thats allbut i love you more than i wanted to theres no point in trying to pretend theres been noone who makes me feel like you do say well be together till the endbut just as i thought it was going alright i find out im wrong when i thought i was right its always the same its just a shame thats all well i could say day and youd say night tell me its black when i know that its white its always the same its just a shame thats all thats all ",1
53,"running with the night","lionel richie",1984," the heart of the city street was beating light from the neons turned the dark to day we were too hot to think of sleeping we had to get out before the magic got awaywe were running with the night playing in the shadows just you and i till the morning light we were running running with the night ohyou were looking so good girl heads were turning you and me on the town ooh we let it all hang out the fire was in us we were burning we were gonna go all the way and we never had a doubtwe were running with the night playing in the shadows just you and i till the morning light we were running running with the night ohwe were so in love you and me on the boulevard wild and free giving all we got we laid it down taking every shot we took the townwe were running with the night playing in the shadows just you and i and it was so right girl it was so right ",1
54,"sad songs say so much","elton john",1984," guess there are times when we all need to share a little pain and ironing out the rough spots is the hardest part when memories remain and its times like these when we all need to hear the radio cause from the lips of some old singer we can share the troubles we already knowturn em on turn em on turn on those sad songs when all hope is gone why dont you tune in and turn them onthey reach into your room oh oh oh just feel their gentle touch gentle touch when all hope is gone sad songs say so muchif someone else is suffering enough oh to write it down when every single word makes sense then its easier to have those songs around the kick inside is in the line that finally gets to you and it feels so good to hurt so bad and suffer just enough to sing the bluesso turn em on turn em on turn on those sad songs when all hope is gone why dont you tune in and turn them onthey reach into your room oh oh oh just feel their gentle touch gentle touch when all hope is gone you know sad songs say so muchsad songs they say sad songs they say sad songs they say sad songs they say so muchso turn em on turn em on turn em on turn em on turn on those sad songs when all hope is gone why dont you tune in and turn them onthey reach into your room oh oh oh just feel their gentle touch gentle touch when all hope is gone you know sad songs say so much when all hope is gone you know sad songs say so muchwhen ever little bit of hope is gone sad songs say so much when ever little bit of hope is gone sad songs say so much when all hope is gone sad songs say ",1
55,"i want a new drug","huey lewis and the news",1984,"i want a new drug one that wont make me sick one that wont make me crash my car or make me feel three feet thick i want a new drug one that wont hurt my head one that wont make my mouth too dry or make my eyes too red one that wont make me nervous wondering what to do one that makes me feel like i feel when im with you when im alone with you i want a new drug one that wont spill one that dont cost too much or come in a pill i want a new drug one that wont go away one that wont keep me up all night one that wont make me sleep all day one that wont make me nervous wondering what to do one that makes me feel like i feel when im with you when im alone with you im alone with you baby i want a new drug one that does what it should one that wont make me feel too bad one that wont make me feel too good i want a new drug one with no doubt one that wont make me talk too much or make my face break out one that wont make me nervous wondering what to do one that makes me feel like i feel when im with you im alone with you im alone with you yeah yeah",3
56,"islands in the stream","kenny rogers and dolly parton",1984," baby when i met you there was peace unknown i set out to get you with a fine tooth comb i was soft inside there was something going onyou do something to me that i cant explain hold me closer and i feel no pain every beat of my heart we got something going ontender love is blind it requires a dedication all this love we feel needs no conversation we ride it together ah ha making love with each other ah haislands in the stream that is what we are no one in between how can we be wrong sail away with me to another world and we rely on each other ah ha from one lover to another ah hai cant live without you if the love was gone everything is nothing if you got no one and you just walk in the night slowly losing sight of the real thingbut that wont happen to us and we got no doubt too deep in love and we got no way out and the message is clear this could be the year for the real thingno more will you cry baby i will hurt you never we start and end as one in love forever we can ride it together ah ha making love with each other ah haislands in the stream that is what we are no one in between how can we be wrong sail away with me to another world and we rely on each other ah ha from one lover to another ah haislands in the stream that is what we are no one in between how can we be wrong sail away with me to another world and we rely on each other ah ha from one lover to another ah haislands in the stream that is what we are no one in between how can we be wrong sail away with me to another world and we rely on each other ah ha from one lover to another ah haislands in the stream that is what we are no one in between ",1
57,"love is a battlefield","pat benatar",1984," we are young we are young we are young heartache to heartache heartache to heartache we stand we standno promises no promises no demands no demands love is a battlefield love is a battlefield whoowe are strong no one can tell us were wrong searching our hearts for so long both of us knowing love is a battlefieldyoure begging me to go then making me stay why do you hurt me so bad it would help me to know do i stand in your way or am i the best thing youve hadbelieve me believe me i cant tell you why but im trapped by your love and im chained to your sidewe are young heartache to heartache we stand no promises no demands love is a battlefieldwe are strong no one can tell us were wrong searching our hearts for so long both of us knowing love is a battlefieldwhen im losing control will you turn me away or touch me deep inside and when all this gets old will it still feel the same theres no way this will die but if we get much closer i could lose control and if your heart surrenders youll need me to holdwe are young heartache to heartache we stand no promises no demands love is a battlefieldwe are strong no one can tell us were wrong searching our hearts for so long both of us knowing love is a battlefield ",1
58,"infatuation","rod stewart",1984," early in the morning i cant sleep i cant work and i cant eat ive been drunk all day cant concentrate maybe im making a big mistakecaught me down like a killer shark its like a railroad running right through my heart jekyll and hyde the way i behave feel like im running on an empty gaugeoh no not again it hurts so good i dont understand infatuation infatuation infatuation infatuationheart beats silly like a big bass drum losing all equilibrium its so hard in the middle of the week maybe this womans just all i needoh no not again it hurts so good i dont understand infatuation infatuation infatuation infatuation fatuate me babyspirits soar when im by her side she put a little love in this heart of mine maybe im lucky maybe im freed maybe this womans just all i needoh no not again it hurts so good i dont understand infatuation infatuation infatuation infatuation rev it up ",1
59,"almost paradise","mike reno and ann wilson",1984,"mike reno miscellaneous almost paradise i thought that dreams belonged to other men  cuz each time i got close  theyd fall apart again  i feared my heart would beat in secrecy  i faced the nights alone  oh how could i have known  that all my life i only needed you  almost paradise  were knocking on heavens door  almost paradise  how could we ask for more  i swear that i can see forever in your eyes  paradise  it seems like perfect loves so hard to find  id almost given up  you must have read my mind  and all these dreams i saved for a rainy day  theyre finally comintrue  ill share them all with you  cause now we hold the future in our hands  repeat   and in your arms salvations not so far away  its getting closer closer every day  repeat ",3
60,"legs","zz top",1984," shes got legs she knows how to use them she never begs she knows how to choose them shes holdin legs wonderin how to feel them would you get behind them if you could only find themshes my baby shes my baby yeah its alright oh yeahshes got hair down to her fanny shes kinda jet set try undo her panties every time shes dancin she knows what to do everybody wants to see to see if she can use itshes so fine shes all mine girl you got it rightshes got legs she knows how to use them she never begs she knows how to choose them shes got a dime all of the time stays out at night movin through timeoh i want her sure i got to have her the girl is alright shes alright ",1
61,"state of shock","the jacksons",1984,"yeah cmon baby you gotta be mine cause youre so fine i like your style it makes me wild you take it to me good you like it know you should you get me on my knees well please baby please listen she looks so great everytime i see her face she put me in a state a state of shock were doin it cmon baby cmon baby cmon let me in she put me on my knees please baby please i know you like to tease please baby please you take it to me good you like it know you should i love the way you walk and talk baby talk listen she looks so great everytime i see her face she put me in a state a state of shock she put me in a state of shock hey cmon here no cmon here talk talk to me state of shock state of shock you put me in a you know i really love you baby state of shock you know i really want you for me youve got me paralyzed youve got me paralyzed youve got me into tonic you got me catch the sonic baby youve got me supersonic you got me supersonic baby baby try you know want me decide a state of shock yeah look what youve done to me look what youve done to me look what youve done to me yeah im highly moved a state of shock you know i need mouthtomouth resuscitation cmon baby you know i really love you baby a state of shock you know i really want you for me yeah baby yeah baby just look at me look at me a state of shock you got me in you got me you got me you got me in a state of shock look at that look at me look at me look at me ",3
62,"love somebody","rick springfield",1984," i can see the path youre cutting it cost me a little piece of my heart i can see the doors youre shutting cause they were open at the startbaby loving you has been hard on me youre such a tough little sister just looking for mr right on the wrong side of townyou better love somebody its late you better love somebody dont waityou better love somebody dont tempt fate youre gonna pull you just a little too far one nightyour eyes are wild your skins so white youre undernourished and overfed shes got the teeth she knows how to bite cause when you bit i bledyou got the perfect image of the perfect man youre a tough little sister but youll settle for a mister tonight but youre running out of timeyou better love somebody its late you better love somebody dont waityou better love somebody dont tempt fate youre gonna pull you just a little too far one nightim only saying what i feel you think im wrong i know you thought i was sleeping at the wheel i thought that you were drivingyou better love somebody you better love somebodyyou better love somebody its late you better love somebody dont waityou better love somebody dont tempt fate theyre gonna pull you just a little too far one nightone night one night one night one night ",1
63,"miss me blind","culture club",1984," miss me i know youll miss me i know youll miss me blindi know youll miss me i know youll miss me i know youll miss me blindi know youll miss me i know youll miss me i know youll miss me blindbet you got a good gun bet you know how to have some fun and then you turn it around on me because im better than the rest of the meni say youll miss me and you always do i say youll miss me now would i lie to younow theres no need to demand grab my golden hand ill teach you and youll never be sure if the way that you need is too much like greed decide if you are rich or youre poori know youll miss me i know youll miss me i know youll miss me blindi know youll miss me i know youll miss me i know youll miss me blindbet you make the fool run bet you know how to make it last forever but you know im never really sure if youre just kissing to be cleveri say youll miss me and you always do i say youll miss me now would i lie to younow theres no need to demand grab my golden hand ill teach you and youll never be sure if the way that you need is too much like greed decide if you are rich or youre poorbecause the love that i have to give must be better than that kind it can make you rich it can make you poor but i know that youll miss me blindi know youll miss me i know youll miss me i know youll miss me blindi know youll miss me i know youll miss me i know youll miss me blindi know youll miss me i know youll miss me i know youll miss me blindi know youll miss me i know youll miss me i know youll miss me blindi know youll miss me i know youll miss me i know youll miss me blindi know youll miss me i know youll miss me i know youll miss me blindi know youll miss me i know youll miss me i know youll miss me blindi know youll miss me i know youll miss me i know youll miss me blind ",1
64,"if this is it","huey lewis and the news",1984,"ive been phoning night and morning i heard you say tell him im not home now youre confessing but im still guessing ive been your fool for so so long girl dont lie just to save my feelings girl dont cry and tell me nothings wrong girl dont try to make up phony reasons id rather leave than never believe if this is it please let me know if this aint love youd better let me know if this is it i want to know if this aint love baby just say so youve been thinking and ive been drinking we both know that its just not right now youre pretending that its not ending youll say anything to avoid a fight girl dont lie and tell me that you need me girl dont cry and tell me nothings wrong ill be alright one way or another so let me go or make me want to stay if this is it  please let me know if this aint love youd better let me know if this is it i want to know if this aint love baby just say so if this is it  please let me know if this aint love youd better let me know if this is it i want to know if this aint love baby just say so if this is it  please let me know if this is it  please let me know if this is it  please let me know if this is it  please let me know if this is it  please let me know if this is it  please let me know",3
65,"you might think","the cars",1984," you might think im crazy to hang around with you maybe you think im lucky to have something to dobut i think that youre wild inside me is some childyou might think im foolish or maybe its untrue you might think im crazy but all i want is youyou might think its hysterical but i know when youre weak you think youre in the movies and everythings so deepbut i think that youre wild when you flash that fragile smileyou might think its foolish what you put me through you might think im crazy but all i want is youand it was hard so hard to take theres no escape without a scrapeyou kept it going till the sun fell down you kept it goingwell you might think im delirious the way i run you down but somewhere sometimes when youre curious ill be back aroundoh i think that youre wild and so uniquely styledyou might think its foolish this chancy rendezvous you might think im crazy but all i want is you all i want is you all i want is you ",1
66,"lucky star","madonna",1984," you must be my lucky star cause you shine on me wherever you are i just think of you and i start to glow and i need your light and baby i knowstarlight star bright first star i see tonight starlight star bright make everything alright starlight star bright first star i see tonight starlight star bright ooo yeahyou must be my lucky star cause you make the darkness seem so far and when im lost youll be my guide i just turn around and youre by my sidestarlight star bright first star i see tonight starlight star bright make everything alright starlight star bright first star i see tonight starlight star bright ooo yeahcome on shine your heavenly body tonight cause i know youre gonna make everything alright come on shine your heavenly body tonight cause i know youre gonna make everything alrightyou may be my lucky star but im the luckiest by far you may be my lucky star but im the luckiest by farstarlight star bright first star i see tonight starlight star bright make everything alright starlight star bright first star i see tonight starlight star bright ooo yeahcome on shine your heavenly body tonight cause i know youre gonna make everything alright come on shine your heavenly body tonight cause i know youre gonna make everything alrightyou may be my lucky star im the luckiest by far you may be my lucky star im the luckiest by faryou may be my lucky star what you do to me baby you know im the luckiest by farstarlight star bright first star i see tonight starlight star bright make everything alright starlight star bright first star i see tonight starlight star brightstarlight star bright you make everything alright what you do to me baby you better stay by my side tonightstarlight star bright starlight star bright starlight star bright starlight star brightstarlight star bright baby starlight star bright stay by my side tonight what you do to me baby what you do what you do to me baby stay by my side tonight you may be my lucky star ",1
67,"cover me","bruce springsteen",1984," the times are tough now just getting tougher this old world is rough its just getting rougher cover me come on baby cover me well im looking for a lover who will come on in and cover me promise me baby you wont let them find us hold me in your arms lets let our love blind us cover me shut the door and cover me well im looking for a lover who will come on in and cover meoutsides the rain the driving snow i can hear the wild wind blowing turn out the light bolt the door i aint going out there no morethis whole world is out there just trying to score ive seen enough i dont want to see any more cover me come on and cover me im looking for a lover who will come on in and cover me looking for a lover who will come on in and cover me ",1
68,"cum on feel the noize","quiet riot",1984," cum on feel the noize girls rock your boys we get wild wild wild wild wild wildso you think i got an evil mind ill tell you honey that i dont know why i dont know whyso you think my singings out of time it makes me money and i dont know why and i dont know why anymore oh nocum on feel the noize girls rock your boys we get wild wild wild wild wild wildcum on feel the noize girls rock your boys we get wild wild wild let it rockso you think i got a funny face i aint got no worries and i dont know why and i dont know whyoh i gotta sing with some disgrace i aint in no hurry and i dont know why i dont know why anymore oh nocum on feel the noize girls rock your boys we get wild wild wild wild wild wildcum on feel the noize girls rock your boys we get wild wild wild let it rockcum oncum on feel the noize girls rock your boys lets get wild wild wild wild wild wildcum on feel the noize girls rock your boys lets get wild wild wild let it rock cum oncum on feel it cum on rock it we get wild wild wild wild wild wildcum on feel the noize girls rock your boys we get wild wild wild let it rockcum on feel the noize girls rock your boys ",1
69,"breakdance","irene cara",1984," there was this new feeling coming out of the streets everybodys talkin bout it wherever they meet down by the corner keep getting the heat then my feet start moving to the rhythmic beatbreakdancin break out breakdancin break outthey use to do the locomotion do the jerk and the twist but there just aint never been nothin like this now poppin and knockin is the new way of talkin theres a work at the shop spinnin out on the floorbreakdancin break out breakdancin break outhearts are pumpin beat is thumpin love the way youre lookin tonight fevers risin no surprisin we wont have the time to fight dance dance dance dance out out out outbreakdancin break out breakdancin break outbreakdancin dance dance dance dance break out dance dance dance dance breakdancin dance dance dance dance break out dance dance dance dance breakdancin rhythm in motion break out ",1
70,"adult education","daryl hall  john oates",1984,"adult adult adult education afternoon in the homeroom theyre about to let you go and the locker slams on the plan you had tonight youve been messin around with a boyfriend maybe better left alone theres a wise guy that you know could put you right in the lot the boy thats idling by doesnt rev your heart cause its only lonely spots he shares with you and the long halls and the gray walls are gonna split apart believe it or not theres life after high school and thats why the student body got a bad reputation oh yeah oh yeah what they need is adult education back to school its a bad situation oh yeah oh yeah what you want is an adult education oh yeah teacher dont know about how to deal with the student body and the underclassmen are flashing hot and cool all your girlfriends care about the watch you wear and talkin about it believe it or not theres life after high school thats why the student body got a bad reputation oh yeah oh yeah what they need is adult education go back to school its a bad situation oh yeah oh yeah but what you want is an adult education oh yeah theyre calling it a preparation youre waiting for a separation youre nothing but another odd number memories that you wont remember so you got a little education and a lot of dedication but you want a little night school maybe some of itll rub off on you the boys are busy in the mirrors trying to imitate their heroes you make it with a false surrender more memories you wont remember the senior with the junior miss i wonder what the junior wishes that she could graduate to adult that she could graduate to adult kisses adult education adult education adult education its a bad situation adult education educate educate education the high border whose schools gettin out other the low border high schools are what you wear educate educate education",3
71,"they dont know","tracey ullman",1984,"youve been around for such a long time now oh maybe i could leave you but i dont know how and why should i be lonely every night when i can be with you oh yes you make it right and i dont listen to the guys who say that youre bad for me and i should turn you away cause they dont know bout us and theyve never heard of love i get a feeling when i look at you wherever you go now i wanna be there too they say were crazy but i just dont care and if they keep on talkin still they get nowhere so i dont mind if they dont understand when i look at you when you hold my hand cause they dont know bout us and theyve never heard of love why should it matter to us if they dont approve we should just take our chances while weve got nothing to lose lose baby theres no need for living in the past now ive found good lovin gonna make it last i tell the others dont bother me cause when they look at you they dont see what i see no i dont listen to their wasted lines got my eyes wide open and i see the signs cause they dont know bout us and theyve never heard of love no i dont listen to their wasted lines got my eyes wide open and i see the signs cause they dont know bout us and theyve never heard of love",5
72,"an innocent man","billy joel",1984," some people stay far away from the door if theres a chance of it opening up they hear a voice in the hall outside and hope that it just passes bysome people live with the fear of a touch and the anger of having been a fool they will not listen to anyone so nobody tells them a liei know youre only protecting yourself i know youre thinking of somebody else someone who hurt you but im not above making up for the love youve been denying you could ever feel im not above doing anything to restore your faith if i can some people see through the eyes of the old before they ever get a look at the young im only willing to hear you cry because i am an innocent man i am an innocent man oh yes i amsome people say they will never believe another promise they hear in the dark because they only remember too well they heard somebody tell them beforesome people sleep all alone every night instead of taking a lover to bed some people find that its easier to hate than to wait anymorei know you dont want to hear what i say i know youre gonna keep turning away but ive been there and if i can survive i can keep you alive im not above going through it again ive not above being cool for a while if youre cruel to me ill understandsome people run from a possible fight some people figure they can never win and although this is a fight i can lose the accused is an innocent man i am an innocent man oh yes i am an innocent manyou know you only hurt yourself out of spite i guess youd rather be a martyr tonight thats your decision but im not below anybody i know if theres a chance of resurrecting a love im not above going back to the start to find out where the heartache begansome people hope for a miracle cure some people just accept the world as it is but im not willing to lay down and die because i am an innocent mani am an innocent man oh yes i am an innocent man ",1
73,"cruel summer","bananarama",1984," hot summer streets and the pavements are burning i sit around trying to smile but the air is so heavy and drystrange voices are saying what did they say things i cant understand its too close for comfort this heat has got right out of handits a cruel cruel summer leaving me here on my own its a cruel cruel summer now youve gonethe city is crowded my friends are away and im on my own its too hot to handle so i got to get up and goits a cruel cruel summer leaving me here on my own its a cruel cruel summer now youve gone youre not the only oneits a cruel cruel summer leaving me here on my own its a cruel cruel summer now youve goneits a cruel cruel summer leaving me here on my own its a cruel cruel summer now youve gone youre not the only oneits a cruel cruel summer leaving me here on my own its a cruel cruel summer now youve gone youre not the only oneits a cruel cruel summer leaving me here on my own its a cruel cruel summer ",1
74,"dance hall days","wang chung",1984," take your baby by the hand and make her do a high hand stand and take your baby by the heel and do the next thing that you feelwe were so in phase in our dance hall days we were cool on craze when i you and everyone we knew could believe do and share in what was truei said dance hall days lovetake your baby by the hair and pull her close and there there there and take your baby by the ears and play upon her darkest fearswe were so in phase in our dance hall days we were cool on craze when i you and everyone we knew could believe do and share in what was truei said dance hall days love dance hall days dance hall days lovetake your baby by the wrist and in her mouth an amethyst and in her eye two sapphires blue and you need her and she needs youand you need her and she needs you and you need her and she needs you and you need her and she needs you and you need her and she needs youwe were so in phase in our dance hall days we were cool on craze when i you and everyone we knew could believe do and share in what was trueoh i said dance hall days lovedance hall days love dance hall days dance hall days love dance hall daysdance hall days love dance hall days dance hall days love ",1
75,"give it up","kc  the sunshine band",1984,NA,NA
76,"im so excited","the pointer sisters",1984," tonights the night were gonna make it happen tonight well put all other things aside give in this time and show me some affection were going for those pleasures in the nighti want to love you feel you wrap myself around you i want to squeeze you please you i just cant get enough and if you move real slow ill let it goim so excited and i just cant hide it im about to lose control and i think i like it im so excited and i just cant hide it and i know i know i know i know i know i want youwe shouldnt even think about tomorrow sweet memories will last for long long time well have a good time baby dont you worry and if were still playing around boy thats just finelets get excited we just cant hide it im about to lose control and i think i like it im so excited and i just cant hide it i know i know i know i know i know i want you i want youooh boy i want to love you feel you wrap myself around you i want to squeeze you please you no i just cant get enough and if you move real slow i let it goim so excited i just cant hide it im about to lose control and i think i like it im so excited and i just cant hide it i know i know i know i know i know i want you i want youim so excited i just cant hide it im about to lose control and i think i like it im so excited incomprehensible i know i know i want youim so excited incomprehensible incomprehensible and i think i like it im so excited incomprehensible incomprehensible im so excited ",1
77,"i still cant get over loving you","ray parker jr",1984," im all confused and i dont know what to do cause i still cant get over loving you ive had time but i cant get you off my mindno i still cant get over loving youevry time i run into your friendsi just have to ask them with who and where youve been and when they tell me what i really didnt wanna know it only breaks my heart makes me want your lovewhen i hear your name i get more in save cause i still cant get over loving you i cant turn it loose though i know its selfabuse i still cant get over loving youive tried to get involved with someone new but its just no use cause i expect them to be like you baby i dont know what im gonna do cause evry girl i date resembles youoh help me baby im goin crazy i still cant get over loving you no its tearin my heart apart cause i still cant get over loving yougirl im so sad and if hurts me so bad knowin youre with someone else  someone else though i have no right to be im filled with jealousycause i want you for myself im not blaming youaw baby its not your fault if you dont feel the way i do and even though i wish that you still loved meit still wont change the way i feel for yougirl i cant forget its not over yet i still cant get over loving you evry breath you take ill be watching you girlcause i still cant get over loving you lovin youtheres no way to this things throughno i still cant get over  not yet i aint through loving you im gettin mad girl lovin you dont you ever try to leave no no  i still cant get overitll be the last thing youll ever do lovin you i still cant get over loving you lovin you i still cant get over loving you ",1
78,"thriller","michael jackson",1984," its close to midnight and something evils lurking in the dark under the moonlight you see a sight that almost stops your heart you try to scream but terror takes the sound before you make it you start to freeze as horror looks you right between the eyes youre paralyzedcause this is thriller thriller night and no ones gonna save you from the beast about to strike you know its thriller thriller night youre fighting for your life inside a killer thriller tonightyou hear the door slam and realize theres nowhere left to run you feel the cold hand and wonder if youll ever see the sun you close your eyes and hope that this is just imagination but all the while you hear the creature creepin up behind youre out of timecause this is thriller thriller night there aint no second chance against the thing with forty eyes you know its thriller thriller night youre fighting for your life inside a killer thriller tonightnight creatures call and the dead start to walk in their masquerade theres no escapin the jaws of the alien this time theyre open wide this is the end of your lifetheyre out to get you theres demons closing in on every side they will possess you unless you change the number on your dial now is the time for you and i to cuddle close together all through the night ill save you from the terrors on the screen ill make you seethat its a thriller thriller night cause i can thrill you more than any ghost would ever dare try girl this is thriller thriller night so let me hold you tight and share a killer diller chiller thriller here tonightthat its a thriller thriller night cause i can thrill you more than any ghost would ever dare try girl this is thriller thriller night so let me hold you tight and share a killer dillerdarkness falls across the land the midnight hour is close at hand creatures crawl in search of blood to terrorize yawls neighborhood and whosoever shall be found without the soul for getting down must stand and face the hounds of hell and rot inside a corpses shellthe foulest stench is in the air the funk of forty thousand years and grizzly ghouls from every tomb are closing in to seal your doom and though you fight to stay alive your body starts to shiver for no mere mortal can resist the evil of the thriller ",1
79,"holiday","madonna",1984," holiday celebrate holiday celebrateif we took a holiday took some time to celebrate just one day out of life it would be it would be so nice everybody spread the word were gonna have a celebration all across the world in every nation its time for the good times forget about the bad times one day to come together to release the pressure we need a holiday if we took a holiday took some time to celebrate just one day out of life it would be it would be so niceyou can turn this world around and bring back all of those happy days put your trouble down its time to celebrate let love shine and we will find a way to come together and make things better we need a holiday if we took a holiday took some time to celebrate just one day out of life it would be it would be so niceholiday celebrate holiday celebrate ",1
80,"breakin theres no stopping us","ollie  jerry",1984,NA,NA
81,"nobody told me","john lennon",1984," everybodys talking and no one says a word everybodys making love and no one really cares theres nazis in the bathroom just below the stairsalways something happening and nothing going on always something cooking and nothing in the pot theyre starving back in china so finish what you gotnobody told me thered be days like these nobody told me thered be days like these nobody told me thered be days like these strange days indeed strange days indeedeverybodys running and no one makes a move everyones a winner and nothing left to lose theres a little yellow idol to the north of kathmandueverybodys flying and no one leaves the ground everybodys crying and no one makes a sound theres a place for us in movies you just gotta lay aroundnobody told me thered be days like these nobody told me thered be days like these nobody told me thered be days like these strange days indeed most peculiar mamaeverybodys smokin and no ones getting high everybodys flyin and never touch the sky theres ufos over new york and i aint too surprisednobody told me thered be days like these nobody told me thered be days like these nobody told me thered be days like these strange days indeed most peculiar mama ",1
82,"church of the poison mind","culture club",1984," desolate loving in your eyes you used and made my life so sweet step out like a god found child i saw your eyes across the street who would be the fool to take you be more that just kind step into a life of maybe love is hard to find in the church of the poison mindin the church of the poison mind in the church of the poison mind in the church of the poison mind in the church of the poison mind in the church of the poison mind in the church of the poison mindwatch me clinging to the beat i had to fight to make it mine that religion you could sink it neat just move your feet an youll feel fine who would be the fool to maybe trick a kiss in time who am i to say thats crazy love will make you blindin the church of the poison mind in the church of the poison mind in the church of the poison mind in the church of the poison mind in the church of the poison mind in the church of the poison mind in the church of the poison minddesolate loving in your eyes you used and made my life so sweet step out like a god found child i saw your eyes across the street who would be the fool to take you be more that just kind step into a life of maybe love is hard to find in the church of the poison mindin the church of the poison mind in the church of the poison mind in the church of the poison mind in the church of the poison mind in the church of the poison mind in the church of the poison mind in the church of the poison mind in the church of the poison mind in the church of the poison mind in the church of the poison mind in the church of the poison mind in the church of the poison mind in the church of the poison mind in the church of the poison mind in the church of the poison mind ",1
83,"think of laura","christopher cross",1984," hey laura laura hey laura lauraevery once in a while id see her smile and shed turn my day around a girl with those eyes stared through the lies see what your heart was sayingthink of laura but laugh dont cry i know shed want it that way and when you think of laura well laugh dont cry i know shed want it that waya friend of a friend a friend to the end thats the kind of girl she was taken away so young taken away without a warningthink of laura but laugh dont cry i know shed want it that way and when you think of laura well laugh dont cry i know shed want it that wayi know you and youre here in every day we live i know her and shes here i could feel her when i singhey laura where are you now are you far away from here i dont think so i think youre here taking our tears awaythink of laura but laugh dont cry i know shed want it that way and when you think of laura well laugh dont cry i know shed want it that way well i know shed want it that wayhey laura hey laura i know she wants it that way hey laura hey laura i know you want it that way hey laura ",1
84,"time will reveal","debarge",1984,"what can i do to make you feel secure remove all your doubts so that youll know for sure that youre the apple of my eye girl fulfillment of my dreams time will show the value of just what you mean to me more precious than silver more precious than diamond rings or anything that i can give you it wouldnt mean a thing if you didnt have my love beside you there to guide you through well it is good to know you do i know just how you feel but this time loves for real in time it will reveal that special love thats deep inside of us will all reveal in time ah i tell you i love you but you wont believe its true more precious than silver more precious than diamond rings or anything that i can give you it wouldnt mean a thing if you didnt have my love beside you there to guide you through well it is good to know you do ah i know just how you feel but this time loves for real in time it will reveal that special love thats deep inside of us will all reveal in time i know just how you feel but this time loves for real in time it will reveal that special love thats deep inside of us will all reveal in time oh i see you baby yeah or anything that i can give you it wouldnt mean a thing if you didnt have my love beside you there to guide you through well it is good to know you do ah i know just how you feel but this time loves for real in time it will reveal that special love thats deep inside of us will all reveal in time i know just how you feel but this time loves for real in time it will reveal i know just how you feel in time it will reveal that special love thats deep inside of us will all reveal in time",3
85,"wrapped around your finger","the police",1984," you consider me the young apprentice caught between the scylla and charibdes hypnotized by you if i should linger staring at the ring around your fingeri have only come here seeking knowledge things they would not teach me of in college i can see the destiny you sold turned into a shining band of goldill be wrapped around your finger ill be wrapped around your finger mephistopheles is not your name i know what youre up to just the same i will listen hard to your tuition you will see it come to its fruition ill be wrapped around your finger ill be wrapped around your fingerdevil and the deep blue sea behind me vanish in the air youll never find me i will turn your face to alabaster when youll find your servant is your master ",1
86,"pink houses","john cougar mellencamp",1984,"theres a black man with a black cat livin in a black neighborhood hes got an interstate runnin through his front yard you know he thinks that hes got it so good and theres a woman in the kitchen cleanin up the evenin slop and he looks at her and says hey darlin i can remember when you could stop a clock oh but aint that america for you and me aint that america somethin to see baby aint that america home of the free little pink houses for you and me theres a young man in a tshirt listenin to a rockin rollin station hes got greasy hair greasy smile he says lord this must be my destination cause they told me when i was younger boy youre gonna be president but just like everything else those old crazy dreams just kinda came and went oh but aint that america for you and me aint that america somethin to see baby aint that america home of the free little pink houses for you and me well theres people and more people what do they know know know go to work in some high rise and vacation down at the gulf of mexico ooh yeah and theres winners and theres losers but they aint no big deal cause the simple man baby pays for the thrills the bills the pills that kill oh but aint that america for you and me aint that america somethin to see baby aint that america home of the free little pink houses for you and me",3
87,"round and round","ratt",1984," out on the streets thats where well meet you make the night i always cross the line tightened our belts abused ourselves get in our way well put you on your shelfanother day some other way were gonna go but then well see you again ive had enough weve had enough cold in vain she saidi knew right from the beginning that you would end up winnin i knew right from the start youd put an arrow through my heartround and round with love well find a way just give it time round and round what comes around goes around ill tell you why diglookin at you lookin at me the way you move you know its easy to see the neon lights on me tonight ive got a way were gonna prove it tonightlike romeo to juliet time and time im gonna make you mine ive had enough weve had enough its all the same she saidi knew right from the beginning that you would end up winnin i knew right from the start youd put an arrow through my heartround and round with love well find a way just give it time round and round what comes around goes around ill tell you why yeahout on the streets thats where well meet you make the night i always cross the line tightened our belts abuse ourselves get in our way well put you on your shelfround and round with love well find a way just give it time round and round what comes around goes around ill tell you whyround and round with love well find a way just give it time yeah round and round what comes around goes around ill tell you why round and round ",1
88,"head over heels","the gogos",1984," been running so long ive nearly lost all track of time in every direction i couldnt see the warning signs i must be losin it cause my mind plays tricks on me it looked so easy but you know looks sometimes deceivebeen running so fast right from the starting line no more connections i dont need any more advice one hands just reaching out and ones just hangin on it seems my weaknesses just keep going stronghead over heels where should i go cant stop myself outta control head over heels no time to think looks like the whole worlds out of syncbeen running so hard when what i need is to unwind the voice of reason is one i left so far behind i waited so long so long to play this part and just remembered that id forgotten about my hearthead over heels where should i go cant stop myself outta control head over heels no time to think looks like the whole worlds out of synchead over heels where should i go cant stop myself outta control head over heels no time to think looks like the whole worlds out of synchead over heels where should i go cant stop myself outta control head over heels no time to think looks like the whole worlds out of synchead over heels where should i go cant stop myself outta control head over heels no time to think looks like the whole worlds out of sync ",1
89,"the longest time","billy joel",1984," oh oh oh for the longest time oh oh oh for the longest if you said goodbye to me tonight there would still be music left to write what else could i do im so inspired by you that hasnt happened for the longest timeonce i thought my innocence was gone now i know that happiness goes on thats where you found me when you put your arms around me i havent been there for the longest timeoh oh oh for the longest time oh oh oh for the longest im that voice youre hearing in the hall and the greatest miracle of all is how i need you and how you needed me too that hasnt happened for the longest timemaybe this wont last very long but you feel so right and i could be wrong maybe ive been hoping too hard but ive gone this far and its more than i hoped forwho knows how much further well go on maybe ill be sorry when youre gone ill take my chances i forgot how nice romance is i havent been there for the longest timei had second thoughts at the start i said to myself hold on to your heart now i know the woman that you are youre wonderful so far and its more than i hoped fori dont care what consequence it brings i have been a fool for lesser things i want you so bad i think you ought to know that i intend to hold you for the longest time ",1
90,"tonight","kool  the gang",1984,"tonight ooooh this is the night youll see the light tonight ooooh this is the night youll see the light my 16th birthday i was so shy not yet a man but ready to try music playing people swaying i looked around she caught my eye walked into the room i couldnt hardly see there she was moving closer to me she told me her name before i could speak took my hand and then she said these words to me tonight ooooh this is the night youll see the light   thats what she said to me tonight ooooh this is the night this is the night youll see the light hey beautiful girl so lovely tonight show me the way show me the light music playing people swaying the next thing i knew we started to groove dancing and dancing moving so free a feeling of love had come over me i held her close and knew it was right what a perfect surprise i had finally seen the light tonight ooooh this is the night youll see the light   thats what she said to me tonight ooooh this is the night this is the night youll see the light tonight tonight tonight the light tonight the light tonight tonight tonight the light tonight the light tonight tonight tonight the light tonight the light tonight tonight tonight ooooh this is the night youll see the light tonight ooooh this is the night youll see the light tonight you will finally see the light ooooh baby yeah tonight tonight you will finally see the light ohh baby tonight you will finally see the light you will see ohh you will see the light tonight you will finally see the light   tonight ooooh yeah tonight tonight tonight ooooh this is the night youll see the light tonight ooooh this is the night youll see the light tonight ooooh this is the night youll see the light tonight ooooh this is the night youll see the light tonight ooooh this is the night youll see the light tonight ooooh this is the night youll see the light tonight ooooh this is the night youll see the light tonight ooooh this is the night youll see the light",3
91,"got a hold on me","christine mcvie",1984," youre liftin me up never let me down and i smile whenever youre aroundooh and ive got a feeling itll work out right cant stop thinking about you every day and nightooh ive got a love i got somebody this love got a hold on me yeah ive got a love i got somebody this love got a hold on mewell ive been in love and ive lost i can count the tears but i cant count the costoh ive been down ive been used now i know i know i know that i just cant loseooh ive got a love i got somebody this love got a hold on me ooh ive got a love i got somebody this love got a hold on meyeah ive got a love i got somebody this love got a hold on me ooh ive got a love i got somebody this love got a hold on meyeah ive got a love i got somebody this love got a hold on me ooh ive got a love i got somebody this love got a hold on meive got a love i got somebody this love got a hold on me ive got a love i got somebody this love got a hold on meooh ive got a love i got somebody this love got a hold on me ive got a love i got somebody this love got a hold on me ",1
92,"dancing in the sheets","shalamar",1984," dancin in the sheets dancin in the sheetsi caught you smilin i know ive seen you here before how come youre hidin hey dont you wanna hit the floor the place is crowded or maybe you dont like the beat i got a twotrack playin in my head so let me take you somewhere else insteaddancin in the sheets dancin in the sheetsgrab your coat and wave goodbye to your friends i wanna take you where the night never ends i feel the need to sweep you off your feet you and me we should be dancin in the sheets dancin in the sheetswe got the rhythm we got the music on our side if we go with em ill bet well have a wonderful ride oh your hands are cold so maybe we could make some heat love is always born on a chance so wrap around me and baby lets dancedancin in the sheets dancin in the sheetsgrab your coat and wave goodbye to your friends i wanna take you where the night never ends i feel the need to sweep you off your feet you and me we should be dancin in the sheets dancin in the sheetsgrab your coat and wave goodbye to your friends i wanna take you where the night never ends i feel the need to sweep you off your feet you and me we should be dancin in the sheets dancin in the sheetsdancin in the sheets dancin in the sheets dancin in the sheets  ",1
93,"undercover of the night","the rolling stones",1984,"hear the screams of center 42 loud enough to bust your brains out the oppositions tongue is cut in two keep off the street cause youre in danger one hundred thousand disparus lost in the jails in south america cuddle up baby cuddle up tight cuddle up baby keep it all out of sight undercover keep it all out of sight undercover of the night the sex police are out there on the streets make sure the pass laws are not broken the race militia has got itchy fingers all the way from new york back to africa cuddle up baby keep it all out of sight cuddle up baby keep it all out of sight cuddle up baby keep it all out of sight undercover undercover undercover keep it all out of sight undercover of the night all the young men theyve been rounded up and sent to camps back in the jungle and people whisper people doubletalk and once proud fathers act so humble all the young girls they have got the blues theyre heading on back to center 42 undercover all out of sight undercover all out of sight undercover all out of sight undercover keep it all out of sight undercover of the night down in the bars the girls are painted blue done up in lace done up in rubber the johns are jerky little gi joes on rr from cuba and russia the smell of sex the smell of suicide all these dream things i cant keep inside undercover all out of sight undercover of the night undercover of the night undercover of the night undercover undercover undercover of the night",3
94,"on the dark side","john cafferty  the beaver brown band",1984,"john cafferty  the beaver brown band miscellaneous on the dark side the dark sides callin now nothin is real  shell never know just how i feel  from out of the shadows she walks like a dream  makes me feel crazy makes me feel so mean  aint nothin gonna save you from a love thats blind  when you slip to the dark side you cross that line  on the dark side oh yeah  on the dark side oh yeah",3
95,"new moon on monday","duran duran",1984," shake up the picture the lizard mixture with your dance on the eventide you got me coming up with answers all of which i denyi said it again but could i please rephrase it maybe i can catch a ride i couldnt really put it much plainer but ill wait til you decide send me your warning siren as if i could ever hide last time la lunai light my torch and wave it for the new moon on monday and a fire dance through the night i stayed the cold day with a lonely satellite new moon on monday and a fire dance through the night i stayed the cold day with a lonely satellitebreaking away with the beast of both worlds a smile that you cant disguise every minute i keep finding clues that you leave behind save me from these reminders as if id forget tonight this time la lunai light my torch and wave it for the new moon on monday and a fire dance through the night i stayed the cold day with a lonely satellite new moon on monday and a fire dance through the night i stayed the cold day with a lonely satellitei light my torch and wave it for the new moon on monday and a fire dance through the night i stayed the cold day with a lonely satellite new moon on monday and a fire dance through the night i stayed the cold day with a lonely satellite new moon on monday and a fire dance through the night i stayed the cold day with a lonely satellite new moon on monday and a fire dance through the night fire dance through the night i stayed the cold day with a lonely satellite new moon on monday and a fire dance through the night fire dance through the night ",1
96,"major tom coming home","peter schilling",1984," standing there alone the ship is waiting all systems are go are you sure control is not convinced but the computer has the evidence no need to abortthe countdown startswatching in a trance the crew is certain nothing left to chance all is working trying to relax up in the capsule send me up a drink jokes major tom the count goes on4 3 2 1 earth below us drifting falling floating weightless calling calling homesecond stage is cut were now in orbit stabilizers up running perfect starting to collect requested data what will it effect when all is done thinks major tomback at ground control there is a problem go to rockets full not responding hello major tom are you receiving turn the thrusters on were standing by theres no reply4 3 2 1 earth below us drifting falling floating weightless calling calling homeacross the stratosphere a final message give my wife my love then nothing morefar beneath the ship the world is mourning they dont realize hes alive no one understands but major tom sees now the light commands this is my home im coming homeearth below us drifting falling floating weightless coming homeearth below us drifting falling floating weightless coming homeearth below us drifting falling floating weightless coming coming homehome home home home home home home home ",1
97,"magic","the cars",1984," summerit turns me upside down summer summer summer its like a merry go round i see you under the midnight all shackles and bows high shoes with the cleats a clickin a tempermental glowoh dont you let me go oh i got a hold on you i got a hold on you i got a hold on you tonight oh i got a hold on you i got a hold on you ill checkoh oh its magic when im with you oh oh its magic just a little magic you know its true i gotta hold on youoh twisted under sideways down i know youre getting twisted and you cant calm down i see you under the midnight love darts in your eyes how far can you take it till you realize theres magic in your eyesi got a hold on you i got a hold on you i got a hold on you tonight i got a hold on you i got a hold on you yeah yeah uhoh oh its magic oh oh when im with you just a little bit of the magic pulls me through i got a hold on youive got a hold on you i got a hold on you lets try its magic oh oh its magic when im with you just a little bit of magic yes i do just a little bit of magic thats true when im with you ",1
98,"when you close your eyes","night ranger",1984," what do you do when its fallin apart and you knew it was gone from the very start do you close your eyes and dream about mea girl in love with a gleam in her eye i was a younger boy all dressed in white were older now i bet you still think about mei remember we learned about love in the back of a chevrolet well it felt so good to be young feels like yesterdaywhen you close your eyes do you dream about me when you close your eyes do you dream about me do you still dream about mei guess i dont know what im thinkin comin off a hard night of drinkin angie come closer to me i need a soul to bleed onit coulda been done in a different kinda way but that aint you you play tough when you play its over now i bet you still think about mei remember i held you so tight and we danced the night away with the moves of two wide eyed kids i need you so much todaywhen you close your eyes do you dream about me when you close your eyes do you dream about mewhen you close your eyes do you dream about me when you close your eyes do you dream about mei remember we learned about love in the back of a chevrolet no good for an old memory to mean so much todaywhen you close your eyes do you dream about me when you close your eyes do you dream about mewhen you close your eyes do you dream about me when you close your eyes do you dream about mewhen you close your eyes do you dream about me when you go to sleep at night do you dream about mewhen you close your eyes do you dream dream about me when you close your big brown eyes do you dream about me ",1
99,"rock me tonite","billy squier",1984," im rockin tonite im walkin on air gonna find me some trouble gonna grab my share i want you tonite i want you with me make me guilty of love in the first degree yeahyou want it all right were goin in style say you walk right you talk right and your hairs so wild snowwhite hey thats not what i mean we go down in the shadows and crawl betweenmoonlight in the city brings the magic to your eyes freezin a moment leave me paralyzed breathe an emotion set it dancin in my ear bring on the rhythm when i hold you neartake me in your arms roll me through the night take me to your heart rock me toniteyou do it all right youre passion to see you been schooled in the art of romancin me hold tight youre in for the ride can you feel the blood poundin way down insideno ones stoppin us now we go down down where the musics loud if its all night hey thats all right by me go and play on my love play it all for melifes never easy we can make it if we try takin our chances face em side by side live for the moment on that we can agree come and take me where i long to betake me in your arms roll me through the night take me to your heart rock me tonitetake me in your arms its alright its alright take me to your heart rock me tonitea time for all and all in time a step beyond the borderline of who we are and where we long to be when every night you hear the sound of wakin up and breakin down you find a chance and heave it all awaycome on babe take me in your arms roll me through the night take me to your heart rock me tonitetake me in your arms its alright its alright take me to your heart come on take me rock me tonitetake me in your arms incomprehensible take me to your heart rock me rock rock rock and rock me rock rock rock and roll meits alright yeah yeah yeah yeah incomprehensible ",1
100,"yah mo b there","james ingram and michael mcdonald",1984,"heavenly father watchin us fall we take from each other and give nothing at all well its a doggone shame but never too late for change so if your luck runs low just reach out and call his name his name yah mo b there yah mo b there yah mo b there yah mo b there whenever you call never be lonely lost in the night just run from the darkness lookin for the light cause its a long hard road that leads to a brighter day hey dont let your heart grow cold just reach out and call his name his name yah mo b there yah mo b there yah mo b there yah mo b there whenever you call yah mo b there yah mo b there yah mo b there yah mo b there whenever you call yah will b there you can count on it brother cause were all just finding our way travelin through time people got to keep pushin on no matter how many dreams slip away yah will b there well its a doggone shame but never too late for change so when your luck runs low just reach out and call his name just call his name yah mo b there yah mo b there yah mo b there yah mo b there whenever you call",3
1,"careless whisper","wham featuring george michael",1985," time can never mend the careless whisper of a good friend to the heart and mind if your answers kind theres no comfort in the truth pain is all youll find i should have known better yeahi feel so unsure as i take your hand and lead you to the dance floor as the music dies something in your eyes calls to mind a silver screen and all its sad goodbyesim never gonna dance again guilty feet have got no rhythm though its easy to pretend i know youre not a fool i should have known better than to cheat a friend and waste a chance that id been given so im never gonna dance again the way i danced with youtime can never mend the careless whisper of a good friend to the heart and mind if your answers kind theres no comfort in the truth pain is all youll findim never gonna dance again guilty feet have got no rhythm though its easy to pretend i know youre not a fool i should have known better than to cheat a friend and waste a chance that id been given so im never gonna dance again the way i danced with you never without your love what am i without your lovetonight the music seems so loud i wish that we could lose this crowd maybe its better this way wed hurt each other with the things we want to saywe could have been so good together we could have lived this dance forever but now whos gonna dance with me please stayim never gonna dance again guilty feet have got no rhythm though its easy to pretend i know youre not a fool i should have known better than to cheat a friend and waste a chance that id been given so im never gonna dance again the way i danced with younow that youre gone now that youre gone now that youre gone what i did that was so wrong so wrong that you had to leave me alone ",1
2,"like a virgin","madonna",1985," i made it through the wilderness somehow i made it through didnt know how lost i was until i found youi was beat incomplete id been had i was sad and blue but you made me feel yeah you made me feel shiny and newhoo like a virgin touched for the very first time like a virgin when your heart beats next to minegonna give you all my love boy my fear is fading fast been saving it all for you cause only love can lastyoure so fine and youre mine make me strong yeah you make me bold oh your love thawed out yeah your love thawed out what was scared and coldlike a virgin hey touched for the very first time like a virgin with your heartbeat next to minewhoa whoa ah whoayoure so fine and youre mine ill be yours till the end of time cause you made me feel yeah you made me feel ive nothing to hidelike a virgin hey touched for the very first time like a virgin with your heartbeat next to minelike a virgin ooh ooh like a virgin feels so good inside when you hold me and your heart beats and you love meoh oh ooh whoa ",1
3,"wake me up before you gogo","wham",1985," jitterbug jitterbug jitterbug jitterbugyou put the boom boom into my heart you send my soul sky high when your lovin starts jitterbug into my brain goes bang bang bang till my feet do the samebut somethings bugging me something aint right my best friend told me what you did last night left me sleeping in my bed i was dreaming but i shouldve been with you insteadwake me up before you go go dont leave me hanging on like a yoyo wake me up before you go go i dont wanna miss it when you hit that highwake me up before you go go cause im not planning on going solo wake me up before you go go take me dancing tonite i wanna hit that high yeah yeahyou get the gray skies outta my way you make the sun shine brighter than doris day turn a bright spark into a flame my beats per minute never been the samecause youre my lady im your fool makes me crazy when you act so cruel come on baby lets not fight well go dancing and everything will be alrightwake me up before you go go dont leave me hanging on like a yoyo wake me up before you go go i dont wanna miss it when you hit that highwake me up before you go go cause im not planning on going solo wake me up before you go go take me dancing tonite i wanna hit that high yeah yeah yeah babyjitterbug jitterbugcuddle up baby move in tight well go dancing tomorrow night its cold out there but its warm in bed they can dance well stay home insteadjitterbugwake me up before you go go dont leave me hanging on like a yoyo wake me up before you go go i dont wanna miss it when you hit that highwake me up before you go go cause im not planning on going solo wake me up before you go go take me dancing tonitewake me up before you go go dont leave me hanging on like a yoyo wake me up before you go go i dont wanna miss it when you hit that highwake me up before you go go cause im not planning on going solo wake me up before you go go take me dancing toniteyeah ",1
4,"i want to know what love is","foreigner",1985," i gotta take a little time a little time to think things over i better read between the lines in case i need it when im oldernow this mountain i must climb feels like the world upon my shoulders through the clouds i see love shine it keeps me warm as life grows colder    meaning  byamandah   editor    foreigner frontman mick jones said to site ultimate classic rock in an interview that working with the backing choir on i want to know what love is was a    see all   in my life theres been heartache and pain i dont know if i can face it again cant stop now ive traveled so far to change this lonely lifei want to know what love is i want you to show me i want to feel what love is i know you can show meim gonna take a little time a little time to look around me ive got nowhere left to hide it looks like love has finally found mein my life theres been heartache and pain i dont know if i can face it again cant stop now ive traveled so far to change this lonely lifei want to know what love is i want you to show me i want to feel what love is i know you can show me i want to know what love is i want you to show me and i want to feel i want to feel what love is and i know i know you can show melets talk about love i want to know what love is the love that you feel inside i want you to show me and im feeling so much love i want to feel what love is no you just cant hide i know you can show me i want to know what love is lets talk about love i know you can show me i want to feel it too i want to feel what love is i want to feel it too and i know and i know i know you can show me show me love is real yeah i want to know what love is ",1
5,"i feel for you","chaka khan",1985," chaka chaka chaka chaka khan chaka khan chaka khan chaka khan chaka khan let me rock you let me rock you chaka khan let me rock you thats all i wanna do chaka khan let me rock you let me rock you chaka khan let me rock you let me feel for you chaka khan let me tell you what i wanna do do you feel for me the way i feel for you chaka khan let me tell you what i wanna do i wanna love you wanna hug you wanna squeeze you too let me take you in my arms let me fill you with my charms chaka cause you know that im the one to keep you warm chaka ill make you more than just a physical dream i wanna rock you chaka baby cause you make me wanna scream let me rock you rock youbaby baby when i look at you i get a warm feeling inside theres something about the things you do that keeps me satisfiedi wouldnt lie to you baby its mainly a physical thing this feeling that i got for you baby makes me wanna singi feel for you i think i love you i feel for you i think i love youchaka khan let me rock you let me rock you chaka khan let me rock you thats all i wanna do chaka khan let me rock you let me rock you chaka khan let me rock you let me feel for you feel for youbaby baby when i lay with you theres no place id rather be i cant believe cant believe its true the things that you do to mei wouldnt lie to you baby im physically attracted to you this feeling that i got for you baby theres nothing that i wouldnt doi feel for you i think i love you i feel for you i think i love youoh oh oohyes sir one more time say yeah i feel for you i think i love you i feel for you i i i think i love youchaka khan let me rock you let me rock you chaka khan let me rock you thats all i wanna do chaka khan let me rock you let me rock you chaka khan let me rock you let me feel for you chaka khan wont you tell me what you wanna do do you feel for me the way i feel for you chaka khan let me tell you what i wanna do i wanna love you wanna hug you wanna squeeze you too let me take you in my arms let me fill you with my charms chaka cause you know that im the one to keep you warm chaka ill make you more than just a physical dream i wanna rock you chaka baby cause you make me wanna scream feel for youi feel for you feel for you i feel it too feel for you i feel for you feel for youi feel for you i think i love you i feel for you i think i love youi feel for you i think i love you i feel for you i think i love youi feel for you i think i love you i feel for you i think i love youi feel for you ",1
6,"out of touch","daryl hall  john oates",1985,"shake it up is all that we know using the bodies up as we go im waking up to fantasy the shades all around arent the colors we used to see broken ice still melts in the sun and times that are broken can often be one again were soul alone and soul really matters to me take a look around youre out of touch im out of time but im out of my head when youre not around youre out of touch im out of time but im out of my head when youre not around reaching out for something to hold looking for a love where the climate is cold manic moves and drowsy dreams living in the middle between the two extremes smoking guns hot to the touch would cool down if we didnt use them so much were soul alone and soul really matters to me too much youre out of touch im out of time but im out of my head when youre not around youre out of touch im out of time but im out of my head when youre not around out of touch youre out of touch im out of time but im out of my head when youre not around youre out of touch im out of time but im out of my head when youre not around youre out of touch im out of time but im out of my head when youre not around youre out of touch im out of time but im out of my head when youre not around youre out of touch time but im out of my head when youre not around youre out of touch im out of time not around youre out of touch im out of time but im out of my head when youre not around youre out of touch yeah im out of time but im out of my head when youre not around youre out of touch im out of time",3
7,"everybody wants to rule the world","tears for fears",1985," welcome to your life theres no turning back even while we sleep we will find you acting on your best behavior turn your back on mother nature evrybody wants to rule the worldits my own desire its my own remorse help me to decide help me make the most of freedom and of pleasure nothing ever lasts forever everybody wants to rule the worldtheres a room where the light wont find you holding hands while the walls come tumbling down when they do ill be right behind you so glad weve almost made it so sad they had to fade it evrybody wants to rule the worldi cant stand this indecision married with a lack of vision everybody wants to rule the world say that youll never never never need it one headline why believe it everybody wants to rule the world ",1
8,"money for nothing","dire straits",1985," i want my mtvnow look at them yoyos thats the way you do it you play the guitar on the mtv that aint workin thats the way you do it money for nothin and your chicks for freenow that aint workin thats the way you do it lemme tell ya them guys aint dumb maybe get a blister on your little finger maybe get a blister on your thumbwe gotta install microwave ovens custom kitchen deliveries we gotta move these refrigerators we gotta move these color tvswe gotta install microwave ovens custom kitchen deliveries we gotta move these refrigerators we gotta move these color tvsi shoulda learned to play the guitar i shoulda learned to play them drums look at that mama she got it stickin in the camera man we could have some funand hes up there whats that hawaiian noises you bangin on the bongos like a chimpanzee oh that aint workin thats the way you do it get your money for nothin get your chicks for freewe gotta install microwave ovens custom kitchen deliveries we gotta move these refrigerators we gotta move these color tvslisten here now that aint workin thats the way to do it you play the guitar on the mtv that aint workin thats the way you do it money for nothin and your chicks for free money for nothin and the chicks for free get your money for nothin and chicks for free money for nothin and the chicks for free i want my i want my mtv money for nothin and the chicks for free ",1
9,"crazy for you","madonna",1985," swaying room as the music starts strangers making the most of the dark two by two their bodies become onei see you through the smokey air cant you feel the weight of my stare youre so close but still a world away what im dying to say is thatim crazy for you touch me once and youll know its true i never wanted anyone like this its all brand new youll feel it in my kiss im crazy for you crazy for youtrying hard to control my heart i walk over to where you are eye to eye we meet no words at allslowly now we begin to move every breath im deeper into you soon we two are standing still in time if you read my mind youll seeim crazy for you touch me once and youll know its true i never wanted anyone like this its all brand new youll feel it in my kiss youll feel it in my kiss because im crazy for you touch me once and youll know its true i never wanted anyone like this its all brand new youll feel it in my kiss im crazy for you crazy for you crazy for you crazy for you its all brand new im crazy for you and you know its true im crazy crazy for you its all brand new im crazy for you and you know its true yeah im crazy for you ",1
10,"take on me","aha",1985," were talking away i dont know what im to say ill say it anyway todays another day to find you shying away ill be coming for your love okaytake on me take on me take me on take on me ill be gone in a day or twoso needless to say im odds and ends ill be stumbling away slowly learning that life is ok say after me its no better to be safe than sorrytake on me take on me take me on take on me ill be gone in a day or twooh the things that you say is it live or just to play my worries away youre all the things ive got to remember youre shying away ill be coming for you anywaytake on me take on me take me on take on me ill be gone in a daytake on me take on me take me on take on me ill be gone take on me in a day ",1
11,"everytime you go away","paul young",1985,"hey if we can solve any problem then why do we lose so many tears oh and so you go again when the leading man appears always the same thing cant you see weve got everything goin on and on and on everytime you go away you take a piece of me with you everytime you go away you take a piece of me with you go on and go free yeah maybe youre too close to see i can feel your body move it doesnt mean that much to me i cant go on sayin the same thing just cant you see weve got everything baby even know you know everytime you go away yeah you take a piece of me with you oh everytime you go away you take a piece of me with you i cant go on sayin the same thing cause baby cant you see weve got everything goin on and on and on everytime you go away you take a piece of me with you everytime you go away you take a piece of me with you everytime you go away you take a piece of me with you everytime you go away you take a piece of me with you everytime you go away you take a piece of me with you",3
12,"easy lover","philip bailey and phil collins",1985,"easy lover shell get a hold on you believe it like no other before you know it youll be on your knees shes an easy lover shell take your heart but you wont feel it shes like no other and im just trying to make you see shes the kind of girl you dream of dream of keeping hold of youd better forget it youll never get it she will play around and leave you leave you and deceive you better forget it oh youll regret it no youll never change her so leave it leave it get out quick cause seeing is believing its the only way youll ever know shes an easy lover shell get a hold on you believe it like no other before you know it youll be on your knees shes an easy lover shell take your heart but you wont feel it shes like no other and im just trying to make you see youre the one that wants to hold her hold her and control her youd better forget it youll never get it for shell say theres no other till she finds another better forget it oh youll regret it and dont try to change her just leave it leave it youre not the only one ooh seeing is believing its the only way youll ever know oh no dont try to change her just leave it leave it youre not the only one cause seeing is believing its the only way youll ever know oh shes an easy lover shell get a hold on you believe it shes like no other before you know it youll be on your knees shes an easy lover shell take your heart but you wont feel it shes like no other and im just trying to make you see shes an easy lover shell get a hold on you believe it and like no other before you know it youll be on your knees shes an easy lover shell take your heart but you wont feel it shes like no other and im just trying to make you see shes an easy lover shell get a hold on you believe it",3
13,"cant fight this feeling","reo speedwagon",1985," i cant fight this feeling any longer and yet im still afraid to let it flow what started out as friendship has grown stronger i only wish i had the strength to let it showi tell myself that i cant hold out forever i said there is no reason for my fear cause i feel so secure when were together you give my life direction you make everything so clearand even as i wander im keeping you in sight youre a candle in the window on a cold dark winters night and im getting closer than i ever thought i mightand i cant fight this feeling anymore ive forgotten what i started fighting for its time to bring this ship into the shore and throw away the oars forevercause i cant fight this feeling anymore ive forgotten what i started fighting for and if i have to crawl upon the floor come crashing through your door baby i cant fight this feeling anymoremy life has been such a whirlwind since i saw you ive been running round in circles in my mind and it always seems that im following you girl cause you take me to the places that alone id never findand even as i wander im keeping you in sight youre a candle in the window on a cold dark winters night and im getting closer than i ever thought i mightand i cant fight this feeling anymore ive forgotten what i started fighting for its time to bring this ship into the shore and throw away the oars forevercause i cant fight this feeling anymore ive forgotten what i started fighting for and if i have to crawl upon the floor come crashing through your door baby i cant fight this feeling anymore ",1
14,"we built this city","starship",1985," we built this city we built this city on rock and roll built this city we built this city on rock and roll ohsay you dont know me or recognize my face say you dont care who goes to that kind of place kneedeep in the hoopla sinking in your fight we got too many runaways eating up the nightmarconi plays the mamba listen to the radio dont you remember we built this city we built this city on rock and rollwe built this city we built this city on rock and roll built this city we built this city on rock and rollsomeones always playing corporation games who cares theyre always changing corporation names we just want to dance here someone stole the stage they call us irresponsible write us off the pagemarconi plays the mamba listen to the radio dont you remember we built this city we built this city on rock an rollwe built this city we built this city on rock and roll built this city we built this city on rock and roll built this city we built this city on rock and roll built this city we built this city on rock and rollits just another sunday in a tired old street well if you got the toco oh then we just lost the beatwho counts the money underneath the bar and who writes the wrecking ball in two wild guitars dont tell us you need us cause were just simple fools looking for america coming through your schoolsmarconi plays the mamba listen to the radio dont you remember we built this city we built this city on rock an rollwe built this city we built this city on rock and roll built this city we built this city on rock and roll built this city we built this city on rock and roll built this city we built this city on rock and roll oh ",1
15,"the power of love","huey lewis and the news",1985," the power of love is a curious thing make a one man weep make another man sing change a hawk to a little white dove more than a feeling thats the power of lovetougher than diamonds rich like cream stronger and harder than a bad girls dream make a bad one good make a wrong one right power of love that keeps you home at nightyou dont need money dont take fame dont need no credit card to ride this train its strong and its sudden and its cruel sometimes but it might just save your life thats the power of love thats the power of lovefirst time you feel it it might make you sad next time you feel it it might make you mad but youll be glad baby when youve found thats the power makes the world goroundand it dont take money dont take fame dont need no credit card to ride this train its strong and its sudden it can be cruel sometimes but it might just save your lifethey say that all in love is fair yeah but you dont care but you know what to do when it gets hold of you and with a little help from above you feel the power of love you feel the power of love can you feel it  hmmmit dont take money and it dont take fame dont need no credit card to ride this train tougher than diamonds and stronger than steel you wont feel nothin till you feel you feel the power just the power of love thats the power thats the power of love you feel the power of love you feel the power of love feel the power of love ",1
16,"dont you forget about me","simple minds",1985," hey hey hey hey ohhhhhohhhhhohhhohhhhwooooowont you come see about me ill be alone dancing you know it babytell me your troubles and doubts giving me everything inside and out and loves strange so real in the dark think of the tender things that we were working onslow change may pull us apart when the light gets into your heart babydont you forget about me dont dont dont dont dont you forget about mewill you stand above me look my way never love me rain keeps falling rain keeps falling down down downwill you recognize me call my name or walk on by rain keeps falling rain keeps falling down down down downhey hey hey hey ohhhhohhhhohhhohhhhwooooodont you try and pretend its my feeling well win in the end i wont harm you or touch your defenses vanity and securitydont you forget about me ill be alone dancing you know it baby going to take you apart ill put us back together at heart babydont you forget about me dont dont dont dont dont you forget about meas you walk on by will you call my name as you walk on by will you call my name when you walk awayor will you walk away will you walk on by come on call my name will you call my namei say lala la la lala la la lala la la lala la la lala la la lala la la lala la la lala la la lala la la lala la la lala la la lala la la lala la la lala la la lala la la lala la la lala la la lala la la when you walk on by and you call my name ",1
17,"cherish","kool  the gang",1985,"lets take a walk together near the ocean shore hand in hand you and i lets cherish every moment we have been given for time is passing by i often pray before i lay down by your side if you receive your calling before i awake could i make it through the night cherish the love we have we should cherish the life we live cherish the love cherish the life cherish the love cherish the love we have for as long as we both shall live cherish the love cherish the life cherish the love cherish the love we have we should cherish the life we live cherish the love cherish the life cherish the love cherish the love we have for as long as we both shall live cherish the love cherish the life cherish the love the world is always changing nothing stays the same but love was stand the test of time the next life that we live in remains to be seen will you be by my side i offen pray before i lay down by your side and if you receive your calling before i awake could i make it through the night cherish the love we have we should cherish the life we live cherish the love cherish the life cherish the love cherish the love we have for as long as we both shall live cherish the love cherish the life cherish the love cherish the love we have we should cherish the life we live cherish the love cherish the life cherish the love we have cherish the love we have for as long as we both shall live cherish the love cherish the life cherish the love cherish the love we have we should cherish the life we live cherish the love",3
18,"st elmos fire man in motion","john parr",1985," growin up you dont see the writing on the wall passin by movin straight ahead you knew it all but maybe sometime if you feel the pain youll find youre all alone everything has changedplay the game you know you cant quit until its won soldier on only you can do what must be done you know in some way youre a lot like me youre just a prisoner and youre tryin to break freei can see the new horizon underneath the blazin sky ill be where the eagles flying higher and higher gonna be your man in motion all i need is a pair of wheels take me where my futures lyin st elmos fireburning up dont know just how far that i can go just how far i go soon be home only just a few miles down the road i can make it i know i can you broke the boy in me but you wont break the mani can see a new horizon underneath the blazin sky ill be where the eagles flying higher and higher gonna be your man in motion all i need is a pair of wheels take me where my futures lyin st elmos firei can climb the highest mountain cross the wildest sea i can feel st elmos fire burnin in me burnin in mejust once in his life a man has his time and my time is now and im coming alivei can hear the music playin i can see the banners fly feel like youre back again and hope ridin high gonna be your man in motion all i need is a pair of wheels take me where the futures lyin st elmos firei can see a new horizon underneath the blazin sky ill be where the eagles flying higher and higher gonna be your man in motion all i need is a pair of wheels take me where the futures lyin st elmos firei can climb the highest mountain cross the wildest sea i can feel st elmos fire burnin in me burnin burnin in me i can feel it burnin ooh burnin inside of me ",1
19,"the heat is on","glenn frey",1985," the heat is on on the street inside your head on every beat and the beats so loud deep inside the pressures high just to stay alive cause the heat is onohwoho ohwoho caught up in the action ive been looking out for you ohwoho ohwoho tell me can you feel it tell me can you feel it tell me can you feel it the heat is on the heat is on the heat is on oh its on the street the heat is onohwoho ohwoho caught up in the action ive been looking out for you ohwoho ohwoho tell me can you feel it tell me can you feel it tell me can you feel it the heat is on yeah the heat is on the heat is on burning burning burning its on the street the heat is onthe shadows high on the darker side behind the doors its a wilder ride you can make a break you can win or lose thats a chance you take when the heats on you when the heat is onohwoho ohwoho caught up in the action ive been looking out for you ohwoho ohwoho tell me can you feel it tell me can you feel it tell me can you feel it the heat is on yeah the heat is on the heat is on its on the street the heat is on i can feel the firethe heat is on flames are burning higher the heat is on baby cant you feel it yeah its on the street the heat is on i can feel it the fire the heat is on flames are burning higher ",1
20,"we are the world","usa for africa",1985," there comes a time when we hear a certain call when the world must come together as one there are people dying and its time to lend a hand to life the greatest gift of allwe cant go on pretending day by day that someone somewhere will soon make a change we are all part of gods great big family and the truth you know love is all we needwe are the world we are the children we are the ones who make a brighter day so lets start giving theres a choice were making were saving our own lives its true well make a better day just you and mewell send them your heart so theyll know that someone cares and their lives will be stronger and free as god has shown us by turning stones to bread and so we all must lend a helping handwe are the world we are the children we are the ones who make a brighter day so lets start giving theres a choice were making were saving our own lives its true well make a better day just you and mewhen youre down and out there seems no hope at all but if you just believe theres no way we can fall well well well well let us realize that a change can only come when we stand together as onewe are the world we are the children we are the ones who make a brighter day so lets start giving theres a choice were making were saving our own lives its true well make a better day just you and mewe are the world we are the children we are the ones who make a brighter day so lets start giving theres a choice were making were saving our own lives its true well make a better day just you and mewe are the world we are the children we are the ones who make a brighter day so lets start giving theres a choice were making were saving our own lives its true well make a better day just you and methere comes a time when we heed a certain call when the world must come together as one there are people dying and its time to lend a hand to life the greatest gift of allwe cant go on pretending day by day that someone somewhere will soon make a change we are all part of gods great big family and the truth you know love is all we needwe are the world we are the children we are the ones who make a brighter day so lets start giving theres a choice were making were saving our own lives its true well make a better day just you and mewell send them your heart so theyll know that someone cares and their lives will be stronger and free as god has shown us by turning stones to bread and so we all must lend a helping handwe are the world we are the children we are the ones who make a brighter day so lets start giving theres a choice were making were saving our own lives its true well make a better day just you and mewhen youre down and out there seems no hope at all but if you just believe theres no way we can fall well well well well let us realize that a change can only come when we stand together as onewe are the world we are the children we are the ones who make a brighter day so lets start giving theres a choice were making were saving our own lives its true well make a better day just you and mewe are the world we are the children we are the ones who make a brighter day so lets start giving theres a choice were making were saving our own lives its true well make a better day just you and mewe are the world we are the children we are the ones who make a brighter day so lets start giving theres a choice were making were saving our own lives its true well make a better day just you and me ",1
21,"shout","tears for fears",1985," shout shout let it all out these are the things i can do without come on im talking to you come onshout shout let it all out these are the things i can do without come on im talking to you come onin violent times you shouldnt have to sell your soul in black and white they really really ought to know those one track minds that took you for a working boy kiss them goodbye you shouldnt have to jump for joy you shouldnt have to shout for joyshout shout let it all out these are the things i can do without come on im talking to you come onthey gave you life and in return you gave them hell as cold as ice i hope we live to tell the tale i hope we live to tell the taleshout shout let it all out these are the things i can do without come on im talking to you come onshout shout let it all out these are the things i can do without come on im talking to you come onshout shout let it all out these are the things i can do without come on im talking to you come onand when youve taken down your guard if i could change your mind id really love to break your heart id really love to break your heartshout shout let it all out these are the things i can do without come on im talking to you come onshout shout let it all out these are the things i can do without come on im talking to you come onshout shout let it all out these are the things i can do without come on im talking to you come onshout shout let it all out these are the things i can do without come on im talking to you come onshout shout let it all out these are the things i can do without come on im talking to you come onshout shout let it all out these are the things i can do without come on im talking to you ",1
22,"parttime lover","stevie wonder",1985,NA,NA
23,"saving all my love for you","whitney houston",1985," a few stolen moments is all that we share youve got your family and they need you there though ive tried to resist being last on your list but no other mans gonna do so im saving all my love for youits not very easy living all alone my friends try and tell me find a man of my own but each time i try i just break down and cry cause id rather be home feeling blue so im saving all my love for youyou used to tell me wed run away together love gives you the right to be free you said be patient just wait a little longer but thats just an old fantasyive got to get ready just a few minutes more gonna get that old feeling when you walk through that door cause tonight is the night for feeling alright well be making love the whole night through so im saving all my love for you yes im saving all my love yes im saving all my love for you ",1
24,"heaven","bryan adams",1985," oh thinkin about all our younger years there was only you and me we were young and wild and freenow nothin can take you away from me weve been down that road before but thats over now you keep me comin back for morebaby youre all that i want when youre lyin here in my arms im findin it hard to believe were in heavenand love is all that i need and i found it there in your heart it isnt too hard to see were in heavenoh once in your life you find someone who will turn your world around bring you up when youre feelin downyeah nothin could change what you mean to me oh theres lots that i could say but just hold me now cause our love will light the wayand baby youre all that i want when youre lyin here in my arms im findin it hard to believe were in heavenyeah and love is all that i need and i found it there in your heart it isnt too hard to see were in heaven yeahive been waitin for so long for somethin to arrive for love to come alongnow our dreams are comin true through the good times and the bad yeah ill be standin there by youand baby youre all that i want when youre lyin here in my arms im findin it hard to believe were in heavenand love is all that i need and i found it there in your heart it isnt too hard to see were in heaven heaven ooohyoure all that i want youre all that i need ",1
25,"everything she wants","wham",1985," oh yeah worksomebody told me boy everything she wants is everything she sees i guess i must have loved you cause i said you were the perfect girl for me babybut now were six months older and everything you want and everything you see is out of reach not good enough i dont know what the hell you want from me but boysomebody tell me wont you tell me why i work so hard for you give you money all to give you moneysome people work for a living some people work for fun girl i just work for you they told me marriage was a give and take well show me you can take youve got some giving to doand now you tell me that youre having my baby ill tell you that im happy if you want me to but one step further and my back will break if my best isnt good enough than how can it be good enough for two i cant work any harder than i dosomebody tell me wont you tell me why i work so hard for you give you money all to give you moneywhy do i do the things i do id tell you if i knew my god i dont even think that i love youwont you tell me give you money all to give you moneysomebody tell me wont you tell me why i work so hard for you give you money all to give you moneysomebody tell me wont you tell me why i work so hard for you give you money all to give you moneysomebody tell me wont you tell me why i do the things that i do give you money all to give you money ",1
26,"cool it now","new edition",1985," everybodys saying seeing things without knowing that life brings a change and theyve been checking all the time my friends say im love sick cause iall i keep thinking about is her in my arms got to see what love is all about and i wont be the same until she is mine friends keep telling me tocool it now you got to cool it now oh watch out youre gonna lose control cool it now you better slow it down slow it down youre gonna fall in loveeveryday i walk her home from school and she tells me how she really feels and theres no doubt in my mind that this girl is one of a kind ohcause all i keep thinking about is her in my arms got to see what love is about and i wont feel the same until she is mine friends keep telling me tocool it now you got to cool it now oh watch out youre gonna lose control cool it now you better slow it down slow it down youre gonna fall in lovecool it now you got to cool it now oh watch out youre gonna lose control cool it now you got to slow it down slow it down youre gonna fall in loveall i keep thinking about is her in my arms got to see what love is all about and ill never be the same until you are mine friends keep telling mewhen ya got a girl who takes her time you must slow the pace you cant mess with her mind she feels the same shell let you know just prepare yourself or be ready to goand i hope this message stays in your mind cause you almost lost a girl who is right on time theres one more thing that you got to know just cool it down and stay in controlcool it now you got to cool it now oh watch out youre gonna lose control cool it now you got to slow it down slow it down youre gonna fall in loveall i keep thinking about is her in my arms got to see what love is all about and ill never be the same until you are mine oh listen to me let me tell youwhy you all coming down on me tryin to tell me how my life is supposed to be i know youre only trying to help me out tryin to show me what life is really aboutbut this time im gonna make it on my own so why dont you fellaz just leave me alone ronnie bobby ricky and mike if i love the girl who cares who you likecool it now oh watch out cool it now slow it downcool it now oh watch out cool it now slow it down cool it now oh watch outcause youre gonna lose control cool it now you got to slow it down slow it down youre gonna fall in lovecool it now slow it down youre gonna lose control cool it now you got to slow it down slow it down cause youre gonna fall in lovecool it now slow it down youre gonna lose control cool it now you got to slow it down slow it downcool it now oh watch out cool it now slow it down ",1
27,"miami vice theme","jan hammer",1985,"instrumental",3
28,"loverboy","billy ocean",1985," i dont know what youve got but it plays with my emotions i want you so much darling i want to hold you near want to whisper sweet and tender in your earcant stand the thought of you with somebody else got to have your love got to have it all to myself i say yeah yeah yeah yeahi wanna be your lover lover wanna be your lover lover loverboy lover lover yeah wanna be your lover lover loverboyim too far gone its hard to stop baby youre my dream in motion and i wont give up teasin me with your fire my fingers on the trigger youre the one i desirecause i get this feeling feeling from nobody else gotta have your tenderness all to myself i say yeah yeah yeah yeahwanna be your lover lover wanna be your lover lover loverboy lover lover yeah wanna be your lover lover ooh yeahand i want you really but the thing is theres nothing i can say to stop you darling from running running away wont you stay stay stayi wanna be your lover lover yeah i wanna be your lover lover i wanna be your love i gotta be your lovei wanna be your love and i can stand it baby girl i love you more and more each day ",1
29,"lovergirl","teena marie",1985," sugar pop funky popscoffee tea or me baby touch ole my opening line might be a bit pass but dont think that i dont know what im feeling for you cause i got a vibe on you the first time that i saw you saw youi need your love and i wont bring no pain gain a little birdie told me that you feel the same game im for the real and for you im true blue lets make a deal sugar all i want to do is be your one and only loveri just want to be your lover girl i just want to rock your world hey hey heyhook line and sinker baby thats how you caught me my second verse might be a bit old hat but dont think that i dont know what its doing to me cause i got a vibe on you the first time you saw through me through mei need your love and i wont bring no pain gain a little birdie told me that you feel the same game im for the real and for you im true blue lets make a deal sugar all i want to do is be your one and only loveri just want to be your lover girl i just want to rock your world hey hey heyi just want to be your lover girl i just want to rock your world hey hey heybaby let me groove you let me groove into your love i just want to be your lover girllet me prove it to you baby let me rock your world i just want to rock your worldbaby let me soothe you let me smooth into your love i just want to be your lover girllet me prove it to you baby let me rock your world i just want to rock your worldcoffee tea or me baby touche ole my opening line might be a bit passe but dont think that i dont know what im feeling for you cause i got a vibe on you the first time that i saw you whoa ",1
30,"you belong to the city","glenn frey",1985," the sun goes down the night rolls in you can feel it starting all over again the moon comes up and the music calls youre getting tired of staring at the same four walls youre out of your room and down on the street moving through the crowds through the midnight heat the traffic roars and the sirens scream you look at the faces its just like a dreamnobody knows where youre going nobody cares where youve beencause you belong to the city you belong to the night living in a river of darkness beneath the neon light you were born in the city concrete under your feet its in your moves its in your blood youre a man of the streetwhen you said goodbye you were on the run tryin to get away from the things youd done now youre back again and youre feeling strange so much has happened but nothing has changedyou still dont know where youre going your still just a face in the crowdyou belong to the city you belong to the night living in a river of darkness beneath the neon light you were born in the city concrete under your feet its in your blood its in your moves youre a man of the streetyou can feel it you can taste it you can see it you can face it you can hear it youre getting near it you want to make it cause you can take ityou belong to the city you belong to the night you belong to the city you belong to the night you belong you belong ",1
31,"oh sheila","ready for the world",1985," like i always say whats good for the goose is always good for the gander oh sheilaoh baby love me right let me love you till i get it right cant you let the others be cause with you is where i got to be yeahoh sugar where you been hangin out with your male friends listen somebodys going to hurt you the way you love to keep hurting mewe say oh oh sheila let me love you till the morning comes oh oh sheila you know i want to be the only oneoh baby understand that i want to be the only man but it seems youre screaming too hard now think yourself to have an own friendoh baby its plain to see that youre qualified to fill your needs i think you threw an oath on me honey baby just you wait and seeand we say oh oh sheila let me love you till the morning comes incomprehensible oh oh sheila you know i want to be the only one for heroh baby its 1 2 3 i love you baby honestly i want to di a di da li a di a di da lioh oh sheila oh sheila oh oh sheila oh sheilaoh baby love me right let me love you till i get it right cant you let the others be cause with you is where i got to be yeahoh baby understand that i want to be the only man i think you threw an oath on me well hold it baby just you wait and seeand we say ohincomprehensibleoh oh sheila let me love you till the morning comes oh oh sheila you know i want to be the only oneoh oh sheila let me love you till the morning comes oh oh sheila you know i want to be the only onehere we go oh ",1
32,"rhythm of the night","debarge",1985," when it feels like the world is on your shoulders and all of the madness has got you going crazy its time to get out step out into the street where all of the action is right there at your feetwell i know a place where we can dance all night away underneath electric stars just come with me and we can shake your blues right away youll be doing fine when the music startsto the beat of the rhythm of the night dance until the morning light forget about the worries on your mind you can leave them all behind to the beat of the rhythm of the night oh the rhythm of the night oh yeahlook out on the street now the partys just beginning the musics playing a celebrations starting under the street lights the scene is being set a night for romance a night you wont forgetso come join the fun this aint no time to be staying home oh theres too much going on tonight is gonna be a night like youve never known were gonna have a good time the whole night longto the beat of the rhythm of the night dance until the morning light forget about the worries on your mind you can leave them all behind to the beat of the rhythm of the night oh the rhythm of the night ohto the beat of the rhythm of the night to the beat of the rhythm of the nightso come join the fun this aint no time to be staying home oh theres too much going on tonight is gonna be a night like youve never known were gonna have a good time the whole night longto the beat of the rhythm of the night dance until the morning light forget about the worries on your mind you can leave them all behindto the beat of the rhythm of the night dance until the morning light forget about the worries on your mindto the beat of the rhythm of the night forget about the worries on your mind to the beat of the rhythm of the night forget about the worries on your mind to the beat of the rhythm of the night forget about the worries on your mind  ",1
33,"one more night","phil collins",1985," one more night one more night ive been trying ooh so long to let you know let you know how i feel and if i stumble if i fall just help me back so i can make you seeplease give me one more night give me one more night one more night cause i cant wait forever give me just one more night oh just one more night oh one more night cause i cant wait forever  meaning  bysharonlisa77     it seems like someone needs one more night to let the one heshe loves know how they feel they wanted to tell himher for so long but didnt want to    see all   ive been sitting here so long wasting time just staring at the phone and i was wondering should i call you then i thought maybe youre not aloneplease give me one more night give me just one more night oh one more night cause i cant wait forever please give me one more night oh just one more night oh just one more night cause i cant wait forever give me one more night give me just one more night oh one more night cause i cant wait foreverlike a river to the sea i will always be with you and if you sail away i will follow yougive me one more night give me just one more night oh one more night cause i cant wait forever i know therell never be a time youll ever feel the same and i know its only words but if you change your mind you know that ill be here and maybe we both can learngive me just one more night give me just one more night oh one more night cause i cant wait forever give me just one more night give me just one more night oh one more night cause i cant wait foreveroh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh ",1
34,"sea of love","the honeydrippers",1985,"do you remember when we met thats the day i knew you were my pet i wanna tell you how much i love you come with me my love to the sea the sea of love i wanna tell you just how much i love you come with me to the sea of love do you remember when we met oh thats the day i knew you were my pet i wanna tell you oh how much i love you come with me to the sea of love come with me my love to the sea the sea of love i wanna tell you just how much i love you i wanna tell you oh how much i love you",3
35,"a view to a kill","duran duran",1985," meeting you with a view to a kill face to face in secret places feel the chill night fall covers me but you know the plans im making still oversea could it be the whole world opening wide a sacred why a mystery gaping inside the weekends whyuntil we dance into the fire that fatal kiss is all we need dance into the fire to fatal sounds of broken dreams dance into the fire that fatal kiss is all we need dance into the firechoice for you is the view to a kill between the shades assassinations standing still the first crystal tears fall as snowflakes on your body first time in years to drench you skin with lovers rosy stain a chance to find the phoenix for the flame a chance to diebut can we dance into the fire that fatal kiss is all we need dance into the fire to fatal sounds of broken dreams dance into the fire that fatal kiss is all we need dance into the fire when all we see is the view to a kill ",1
36,"the wild boys","duran duran",1985,"wild boys wild boys wild boys wild boys wild boys the wild boys are calling on their way back from the fire in august moons surrender to a dust cloud on the rise wild boys fallen far from glory reckless and so hungered on the razors edge you trail because theres murder by the roadside in a sore afraid new world they tried to break us looks like theyll try again wild boys never lose it wild boys never chose this way wild boys never close your eyes wild boys always shine you got sirens for a welcome theres bloodstain for your pain and your telephone been ringing while youre dancing in the rain wild boys wonder where is glory where is all you angels now the figureheads have fell and lovers war with arrows over secrets they could tell they tried to tame you looks like theyll try again wild boys never lose it wild boys never chose this way wild boys never close your eyes wild boys always shine wild boys wild boys wild boys wild boys wild boys wild boys wild boys never lose it wild boys never chose this way wild boys never close your eyes wild boys always wild boys never lose it wild boys never chose this way wild boys never close your eyes wild boys always wild boys never lose it wild boys never chose this way wild boys never close your eyes wild boys always wild boys",3
37,"youre the inspiration","chicago",1985," you know our love was meant to be the kind of love to last forever and i want you here with me from tonight until the end of time you should know everywhere i go always on my mind in my heart in my soul babyyoure the meaning in my life youre the inspiration you bring feeling to my life youre the inspiration want to have you near me i want to have you hear me saying no one needs you more than i need youand i know and i know yes i know that its plain to see so in love when were together now i know now i know that i need you here with me from tonight until the end of time you should know yes you need to know  everywhere i go youre always on my mind youre in my heart in my soulyoure the meaning in my life youre the inspiration you bring feeling to my life youre the inspiration want to have you near me i want to have you hear me saying no one needs you more than i need you no one needs you more than i want to have you near me i want to have you hear me saying no one needs you more than i need you no one needs you more youre the meaning in my life youre the inspiration you bring feeling to my life youre the inspiration ",1
38,"neutron dance","the pointer sisters",1985," i dont want to take it anymore ill just stay here locked behind the door just no time to stop and get away cause i work so hard to make it everyday whoo oooh whoo ooohtheres no money falling from the sky cause a man took my heart and robbed me blind someone stole my brand new chevrolet and the rent is due i got no place to stay whoo oooh whoo ooohand its hard to say just how some things never change and its hard to find any strength to draw the line woah im just burning doin the neutron dance im just burning doin the neutron danceindustry dont pay a price thats fair all the common people breathing filthy air roof caved in on all the simple dreams and to get ahead your heart starts pumping schemesand its hard to say just how some things never change and its hard to find any strength to draw the line oh im just burning doin the neutron dance im just burning doin the neutron dancewhoo oooh whoo oooh im on fire yeah well im on fire yeahand its hard to say just how some things never change and its hard to find any strength to draw the line oh im just burning doin the neutron dance im just burning doin the neutron dancei know theres a pot of gold for me all i got to do is just believe oh im so happy doin the neutron dance and im just burning doin the neutron dance im so happy doin the neutron dance im just burning doin the neutron dance whoo oooh whoo ooohoh im so happy doin the neutron dance and im just burning doin the neutron dance whoo oooh whoo oooh woah im so happy im just burningim so happy im just burning im so happy im just burning im so happy im just burning  ",1
39,"we belong","pat benatar",1985," many times i tried to tell you many times i cried alone always im surprised how well you cut my feelings to the bone dont want to leave you really ive invested too much time to give you up that easy to the doubts that complicate your mindwe belong to the light we belong to the thunder we belong to the sound of the words weve both fallen under whatever we deny or embrace for worse or for better we belong we belong we belong togethermaybe its a sign of weakness when i dont know what to say maybe i just wouldnt know what to do with my strength anyway have we become a habit do we distort the facts now theres no looking forward now theres no turning back when you saywe belong to the light we belong to the thunder we belong to the sound of the words weve both fallen under whatever we deny or embrace for worse or for better we belong we belong we belong togetherclose your eyes and try to sleep now close your eyes and try to dream clear your mind and do your best to try and wash the palette clean we cant begin to know it how much we really care i hear your voice inside me i see your face everywhere still you saywe belong to the light we belong to the thunder we belong to the sound of the words weve both fallen under whatever we deny or embrace for worse or for better we belong we belong we belong togetherwe belong to the light we belong to the thunder we belong to the sound of the words weve both fallen under whatever we deny or embrace for worse or for better we belong we belong we belong together we belong to the light we belong to the thunder ",1
40,"nightshift","commodores",1985," marvin he was a friend of mine and he could sing a song his heart in every line marvin sang of the joy and pain he opened up our minds and i still can hear him say aw talk to me so you can see whats going on say you will sing your songs forevermore evermoregonna be some sweet sounds coming down on the nightshift i bet youre singing proud oh i bet youll pull a crowd gonna be a long night its gonna be all right on the nightshift oh you found another home i know youre not alone on the nightshiftyou found another home i know youre not alone on the nightshiftjackie jackie hey whatyou doing now it seems like yesterday when we were working out jackie jackie oh you set the world on fire you came and gifted us your love it lifted us higher and higher keep it up and well be there at your side oh say you will sing your songs forevermore evermoregonna be some sweet sounds coming down on the nightshift i bet youre singing proud oh i bet youll pull a crowd gonna be a long night its gonna be all right on the nightshift oh you found another home i know youre not alone on the nightshiftgonna be some sweet sounds coming down on the nightshift i bet youre singing proud oh i bet youll pull a crowd gonna be a long night its gonna be all right on the nightshift oh you found another home i know youre not alone on the nightshiftgonna miss your sweet voice that soulful voice on the nightshift we all remember you ooh the songs are coming through at the end of a long day its gonna be okay on the nightshift you found another home i know youre not alone on the nightshift ",1
41,"things can only get better","howard jones",1985," were not scared to lose it all security throw through the wall future dreams we have to realize a thousand skeptic hands wont keep us from the things we plan unless were clinging to the things we prizeand do you feel scared i do but i wont stop and falter and if we threw it all away things can only get better wow wow wow oh wow wow wow oh oh oh ohtreating today as though it was the last the final show get to sixty and feel no regret it may take a little time a lonely path an uphill climb success or failure will not alter itand do you feel scared i do but i wont stop and falter and if we threw it all away things can only get better wow wow wow oh wow wow wow oh oh oh ohand do you feel scared i do but i wont stop and falter and if we threw it all away things can only get betterwow wow wow oh wow wow wow oh oh oh oh wow wow wow oh wow wow wow oh oh oh oh ",1
42,"all i need","jack wagner",1985," kissing you is not what i had planned and now im not so sure just where i stand i wasnt looking for true love but now youre looking at me youre the only one i can think of youre the only one i seeall i need is just a little more time to be sure of what i feel is it all in my mind cause it seems so hard to believe that youre all i needyes its true weve all been hurt before but it doesnt seem to matter anymore it may be a chance were taking but it always comes to this if this isnt love were makin then i dont know what it isall i need is just a little more time to be sure of what i feel is it all in my mind cause it seems so hard to believeall i need is just a little more time to be sure of what i feel is it all in my mind cause it seems so hard to believe that youre all i needno stars are out tonight but were shining our own light and its never felt so right cause girl the way im feeling its easy to believe that youre all i need ahh youre all i need ooh ahh ",1
43,"freeway of love","aretha franklin",1985," knew youd be a vision in white howd you get your pants so tight dont know what youre doin but you must be livin right yeahoh we got some places to see i brought all the maps with me so jump right in it aint no sin take a ride in my machinecity traffic movin way too slow drop the pedal and go go gowe goin ridin on the freeway of love winds against our backs we goin ridin on the freeway of love in my pink cadillac we goin ridin on the freeway of love winds against our back aint we ridin on the freeway of love in my pink cadillacnever you mind the exit signs we got lots of time we cant quit til we get to the other side ide idewith the radio playin our song we keep rollin along who knows how far our car can get before you think your love slowin on downcity traffics movin way too slow drop the pedal and go go come on now gowe goin ridin on the freeway of love winds against our backs we goin ridin on the freeway of love in my pink cadillac we goin ridin on the freeway of love winds against our back aint we ridin on the freeway of love in my pink cadillac oh yeahhere we go one more time mmm with the wind and your fingers in my hair kind of think were going for an extended throw down so drop the top baby and lets cruise on into this better than ever streetcity traffics movin way too slow drop the pedal and go go come on baby go do it for me nowwe goin ridin on the freeway of love winds against our back we goin ridin on the freeway of love in my pink cadillac we goin ridin on the freeway of love winds against my back aint we ridin on the freeway of love in my pink cadillacwhat i want you to do baby get over to the left lane and lets merge with peace oh yeah take the love thats sent ya and then in the right time go on over in love and satisfaction and joy well aint we riding babe aint we cruising down free free sweet go on after awh lets be good to each other street well see that little landmark over there a whole lot of kisses and sweet stuff well be just about awh awh awh and satisfaction road yeah satisfaction yeah ooo ahhh ",1
44,"never surrender","corey hart",1985," just a little more time is all were askin for cause just a little more time could open closin doors just a little uncertainty can bring you down and nobody wants to know you now and nobody wants to show you howso if youre lost and on your own you can never surrender and if your path wont lead you home you can never surrenderand when the night is cold and dark you can see you can see light cause no one can take away your right to fight and to never surrenderwith a little perseverance you can get things done without the blind adherence that has conquered some and nobody wants to know you now and nobody wants to show you howso if youre lost and on your own you can never surrender and if your path wont lead you home you can never surrenderand when the night is cold and dark you can see you can see light cause no one can take away your right to fight and to never surrender to never surrenderand when the night is cold and dark you can see you can see light and no one can take away your right to fight and to never surrender to never surrenderoh time is all were askin for to never surrender oh you can never surrender and time is all were askin for stand your ground never surrender oh i said you never surrender ",1
45,"sussudio","phil collins",1985," theres this girl thats been on my mind all the time sususussudio oh oh now she dont even know my name but i think she likes me just the same sususussudio oh ohah if she called me id be there id come running anywhere shes all i need all my life i feel so good if i just say the word sususussudio just say the word oh sususussudionow i know that im too young my love has just begun sususussudio oh oh oh give me a chance give me a sign ill show her anytime sususussudio oh ohah ive just got to have her have her now ive got to get closer but i dont know how she makes me nervous and makes me scared but i feel so good if i just say the word sususussudio just say the word oh sususussudio oh ",1
46,"strut","sheena easton",1985," he said baby whats wrong with you why dont you use your imagination nations go to war over women like you its just a form of appreciationcome on over here lay your clothes on the chair now let the lace fall across your shoulder standin in the half light youre almost like her now take it slow like your daddy told yastrut pout put it out thats what you want from women come on baby what you takin me for strut pout cut it out all takin and no givin watch me baby while i walk out the doori said honey i dont like this game you make me feel like a girl for hire all this fascination with leather and lace is just the smoke from another firehe said honey dont stop this speedin train before it reaches its destination lie down here beside me oh have some fun too dont turn away from your true vocationstrut pout put it out thats what you want from women come on baby what you takin me for strut pout cut it out all takin and no givin watch me baby while i walk out your doori wont be your baby doll be your baby doll i wont be your baby doll be your baby dollstrut pout put it out thats what you want from women come on baby what you takin me for strut pout cut it out all takin and no givin watch me baby while i walk out the doorstrut pout put it out thats what you want from women come on baby what you takin me for strut pout cut it out all takin and no givin watch me baby while i walk out your doorstrut pout put it out thats what you want from women come on baby what you takin me for strut pout cut it out all takin and no givin watch me baby while i walk out your door ",1
47,"you give good love","whitney houston",1985," haa haa i found out what ive been missin always on the run ive been lookin for someonenow youre here like youve been before and you know just what i need it took some time for me to seethat you give good love to me baby so good take this heart of mine into your hands you give good love to me you give good love to me never too much never too much will never be baby you give good lovehaa never stoppin i was always searchin for that perfect love the kind that girls like me dream ofnow youre here like youve been before and you know just what i need it took some time for me to seeyou give good love to me baby so good take this heart of mine into your hands you give good love to me you give good love to me its never too much never too much will never be baby you give good love uuhnow i i cant stop looking around its not what this loves all about our love is here to stay to staybaby you give good love you give good love to me you give never too much will never be so good take this heart of mine into your handsyou give good love to me you give good love to me never never too much never too much will never be no no no no no you give good love to me you give good love to me so good so good you give good love baby wuh huh you give good love darling you give you give you give give it you give you give good love honeywuh huh you give good love baby wuh huh you give good love darling wuh huh you give you give give it baby you give you give good love darlingaah haa you give good love baby you give good love good love good love you give good love darling yea you know whenever i need it you give you give give ityou gave good love baby never too much will never be you give good love honey you give you give good love baby you give you give good love darling you give you give you give give it ",1
48,"the search is over","survivor",1985," how can i convince you what you see is real who am i to blame you for doubting what you feel i was always reachin you were just a girl i knew i took for granted the friend i have in youi was living for a dream loving for a moment taking on the world that was just my style now i look into your eyes i can see forever the search is over you were with me all the whilecan we last forever will we fall apart at times its so confusing the questions of the heart you followed me through changes and patiently youd wait till i came to my senses through some miracle of fatei was living for a dream loving for a moment taking on the world that was just my style now i look into your eyes i can see forever the search is over you were with me all the whilenow the miles stretch out behind me loves that i have lost broken hearts lie victims of the game then good luck it finally struck like lightning from the blue every highway leads me back to younow at last i hold you now all is said and done the search has come full circle our destinies are one so if you ever loved me show me that you give a damn youll know for certain the man i really ami was living for a dream loving for a moment taking on the world that was just my style then i touched your hand i could hear you whisper the search is over love was right before my eyes ",1
49,"missing you","diana ross",1985," lionel richiesince youve been away ive been down and lonely since youve been away ive been thinking of you trying to understand the reason you left me what were you going throughim missing you tell me why the road turns ooh ooh im missing you tell me why the road turnsas i look around i see things that remind me just to see you smile made my heart fill with joy ill still recall all those dreams we shared together where did you run to boyim missing you tell me why the road turns ooh ooh im missing you tell me why the road turnssometimes ive wondered i didnt understand just where you were trying to go only you knew the plan and i tried to be there but you wouldnt let me inbut now youve gone away boy i feel so broken hearted i knew the day we started that we were meant to be if only youd let me ive cried so many tears gotta face now all my fears we let time slip away i need you boy here todaythere was so much you gave me to my heart to my soul there was so much of your dreams that were never told you had so much hope for a brighter day why were you my flower plucked awayim missing you tell me why the road turns ooh ooh im missing you tell me why the road turns ",1
50,"separate lives","phil collins and marilyn martin",1985," you called me from the room in your hotel all full of romance for someone that you met and telling me how sorry you were leaving so soon and that you miss me sometimes when youre alone in your room do i feel lonely tooyou have no right to ask me how i feel you have no right to speak to me so kind i cant go on just holding on to time now that were living living separate liveswell i held on to let you go and if you lost your love for me well you never let it show never let it show there was no way to compromise so now were living living separate livesooh its so typical love leads to isolation so you build that wall build that wall yes you build that wall build that wall and you make it stronger ",1
51,"raspberry beret","prince and the revolution",1985," yeahi was working part time in a fiveanddime my boss was mr mcgee he told me several times that he didnt like my kind cause i was a bit too leisurelyseems that i was busy doing something close to nothing but different than the day before thats when i saw her ooh i saw her she walked in through the out door out doorshe wore a raspberry beret the kind you find in a second hand store raspberry beret and if it was warm she wouldnt wear much more raspberry beret i think i love herbuilt like she was she had the nerve to ask me if i planned to do her any harm so look here i put her on the back of my bike and we went riding down by old man johnsons farmi said now overcast days never turned me on but something about the clouds and her mixed she wasnt to bright but i could tell when she kissed me she knew how to get her kicksshe wore a raspberry beret the kind you find in a second hand store raspberry beret and if it was warm she wouldnt wear much more raspberry beret i think i love herthe rain sounds so cool when it hits the barn roof and the horses wonder who you are thunder drowns out what the lightning sees you feel like a movie starlisten they say the first time aint the greatest but i tell ya if i had the chance to do it all again i wouldnt change a stroke cause baby im the most with a girl as fine as she was thenraspberry beret the kind you find the kind you find the kind you find in a second hand store oh no no raspberry beret and if it was warm where have all the raspberry women gone yeah raspberry bereti think i i think i i think i love herraspberry beret no no no no no no the kind you find in a second hand store raspberry beret tell me where have all the raspberry women gone and if it was warm she wouldnt wear much more raspberry beret ",1
52,"suddenly","billy ocean",1985," i used to think that love was just a fairy tale until that first hello until that first smile but if i had to do it all again i wouldnt change a thing cause this love is everlastingsuddenly life has new meaning to me theres beauty up above and things we never take notice of you wake up and suddenly youre in lovegirl youre everything a man could want and more one thousand words are not enough to say what i feel inside holding hands as we walk along the shore never felt like this before now youre all im living forsuddenly life has new meaning to me theres beauty up above and things we never take notice of you wake up and suddenly youre in loveeach day i pray this love affair would last foreversuddenly life has new meaning to me theres beauty up above and things we never take notice of you wake up suddenly youre in lovetheres beauty up above things we never take notice of you wake up and suddenly youre in love ",1
53,"the boys of summer","don henley",1985,"nobody on the road nobody on the beach i feel it in the air the summers out of reach empty lake empty streets the sun goes down alone im drivin by your house though i know youre not home but i can see you your brown skin shinin in the sun you got your hair combed back and your sunglasses on baby and i can tell you my love for you will still be strong after the boys of summer have gone i never will forget those nights i wonder if it was a dream remember how you made me crazy remember how i made you scream now i dont understand what happened to our love but baby im gonna get you back im gonna show you what im made of i can see you your brown skin shinin in the sun i see you walkin real slow and youre smilin at everyone i can tell you my love for you will still be strong after the boys of summer have gone out on the road today i saw a deadhead sticker on a cadillac a little voice inside my head said dont look back you can never look back i thought i knew what love was what did i know those days are gone forever i should just let them go but i can see you your brown skin shinin in the sun you got that top pulled down and that radio on baby and i can tell you my love for you will still be strong after the boys of summer have gone i can see you your brown skin shining in the sun you got that hair slicked back and those wayfarers on baby i can tell you my love for you will still be strong after the boys of summer have gone",3
54,"one night in bangkok","murray head",1985," bangkok oriental setting and the city dont know what the city is getting the creme de la creme of the chess world in a show with everything but yul brynnertime flies doesnt seem a minute since the tirolean spa had the chess boys in it all change dont you know that when you play at this level theres no ordinary venueits iceland or the philippines or hastings or or this placeone night in bangkok and the worlds your oyster the bars are temples but the pearls aint free youll find a god in every golden cloister and if youre lucky then the gods a she i can feel an angel sliding up to meone towns very like another when your heads down over your pieces brotherits a drag its a bore its really such a pity to be looking at the board not looking at the citywhaddya mean ya seen one crowded polluted stinking towntea girls warm and sweet warm sweet some are set up in the somerset maugham suiteget thaid youre talking to a tourist whose every moves among the purest i get my kicks above the waistline sunshineone night in bangkok makes a hard man humble not much between despair and ecstasy one night in bangkok and the tough guys tumble cant be too careful with your company i can feel the devil walking next to mesiams gonna be the witness to the ultimate test of cerebral fitness this grips me more than would a muddy old river or reclining buddhabut thank god im only watching the game controlling iti dont see you guys rating the kind of mate im contemplating id let you watch i would invite you but the queens we use would not excite youso you better go back to your bars your temples your massage parlorsone night in bangkok and the worlds your oyster the bars are temples but the pearls aint free youll find a god in every golden cloister a little flesh a little history i can feel an angel slidin up to meone night in bangkok makes a hard man humble not much between despair and ecstasy one night in bangkok and the tough guys tumble cant be too careful with your company i can feel the devil walking next to me ",1
55,"if you love somebody set them free","sting",1985," NA ",1
56,"obsession","animotion",1985," you are an obsession i cannot sleep i am your possession unopened at your feet theres no balance no equality be still i will not accept defeati will have you yes i will have you i will find a way and i will have you like a butterfly a wild butterly i will collect you and capture youchorus you are an obsession youre my obsession who do you want me to be to make you sleep with me you are an obsession youre my obsession who do you want me to be to make you sleep with mei feed you i drink you my day and my night i need you i need you by sun or candlelight you protest you want to leave stay oh theres no alternativeyour face appears again i see the beauty there but i see danger stranger beware a circumstance in your naked dreams your affection is not what it seemschorusmy fantasy has turned to madness and all my goodness has turned to badness my need to possess you has consumed my soul my life is trembling i have no controli will have you yes i will have you i will find a way and i will have you like a butterfly a wild butterly i will collect you and capture youchorus ",1
57,"we dont need another hero","tina turner",1985," out of the ruins out from the wreckage cant make the same mistake this time we are the children the last generation we are the ones they left behindand i wonder when we are ever gonna change it living under the fear till nothing else remainswe dont need another hero we dont need to know the way home all we want is life beyond the thunderdomelooking for something we can rely on theres got to be something better out there love and compassion their day is coming all else are castles built in the airand i wonder when we are ever gonna change it living under the fear till nothing else remainsall the children say we dont need another hero we dont need to know the way home all we want is life beyond the thunderdomeso what do we do with our lives we leave only a mark will our story shine like a life or end in the dark is it all or nothingwe dont need another hero hero we dont need to know the way home all we want is life beyond the thunderdomeall the children say we dont need another hero we dont need to know the way home all we want is life beyond the thunderdome ",1
58,"material girl","madonna",1985," some boys kiss me some boys hug me i think theyre ok if they dont give me proper credit i just walk awaythey can beg and they can plead but they cant see the light thats right cause the boy with the cold hard cash is always mister rightcause we are living in a material world and i am a material girl you know that we are living in a material world and i am a material girlsome boys romance some boys slow dance thats all right with me if they cant raise my interest then i have to let them besome boys try and some boys lie but i dont let them play no way only boys who save their pennies make my rainy daycause were living in a material world and i am a material girl you know that we are living in a material world and i am a material girl living in a material world and i am a material girl you know that we are living in a material world and i am a material girlliving in a material world material living in a material world living in a material world material living in a material worldboys may come and boys may go and thats all right you see experience has made me rich and now theyre after mecause everybodys living in a material world and i am a material girl you know that we are living in a material world and i am a material girl living in a material world and i am a material girl you know that we are living in a material world and i am a material girla material a material a material a material worldliving in a material world material living in a material world living in a material world material living in a material worldliving in a material world material living in a material world living in a material world material living in a material ",1
59,"better be good to me","tina turner",1985," a prisoner of your love entangled in your web hot whispers in the night im captured by your spell oh yes im touched by this show of emotion should i be fractured by your lack of devotion should i should iyou better be good to me thats how its gotta be now cause i dont have no use for what you loosely call the truth and you better be good to mecmon cmon be good to mei think its all so right that we dont need to fight we stand face to face and you present your case yes i know you keep telling me that you love me and i really do want to believe but did you think id just accept you in blind faith oh sure babe anything to please youbut you better be good to me thats how its gotta be now cause i dont have the time for your over loaded lines and you better be good to mebe good to meand i really dont see why its so hard to be good to me and you know i dont understand whats your plan that you cant be good to me why cant you be good to me be good be good to mecause i dont have no use for what you loosely call the truth and i dont have the time for your over loaded lines but you better be good to me be good to me be good be good to mecause i dont have no use for what you loosely call the truth and i dont have the time for your over loaded lines you better be good to me good to me better be good to me be good be good to me good to me why cant you be good to me why cant you be good to me cmon cmon cmon ",1
60,"head over heels","tears for fears",1985," i wanted to be with you alone and talk about the weather but traditions i can trace against the child in your facewont escape my attention you keep your distance with a system of touch and gentle persuasion im lost in admiration could i need you this muchoh youre wasting my time youre just wasting timesomething happens and im head over heels i never find out till im head over heels something happens and im head over heelsah dont take my heart dont break my heart dont throw it awayi made a fire and watching burn thought of your future with one foot in the past now just how long will it lastno no no have you no ambition my mother and my brothers used to breathe in clean in air nothing ever changes when youre acting your age and dreaming im a doctor nothing gets done when you feel like a babyits hard to be a man when theres a gun in your hand oh i feel sosomething happens and im head over heelsand this my four leaf clover im on the line one open mind this is my four leaf cloverin my minds eye one little boy one little man funny how time flies ",1
61,"axel f","harold faltermeyer",1985,"instrumental",3
62,"smooth operator","sade",1985," hes laughing with another girl and playing with another heart placing high stakes making hearts ache hes loved in seven languages jewel box life diamond nights and ruby lights high in the sky heaven help him when he falls diamond life lover boy he move in space with minimum waste and maximum joy city lights and business nights when you require streetcar desire for higher heightsno place for beginners or sensitive hearts when sentiment is left to chance no place to be ending but somewhere to startno need to ask hes a smooth operator smooth operator smooth operator smooth operatorcoast to coast la to chicago western male across the north and south to key largo love for saleface to face each classic case we shadow box and double cross yet need the chasea license to love insurance to hold melts all your memories and change into gold his eyes are like angels but his heart is coldno need to ask hes a smooth operator smooth operator smooth operator smooth operatorcoast to coast la to chicago western male across the north and south to key largo love for salesmooth operator smooth operator smooth operator smooth operator smooth operator smooth operator smooth operator smooth operator smooth operator smooth operator ",1
63,"in my house","mary jane girls",1985,"mary jane girls miscellaneous in my house in my house mary jane girls well you can just believe im the only girl in your life ill be your sugar in the morning and the sweet stuff you need at night and you can just make believe when it comes down to makin love ill satisfy your every need and every fantasy you think up chorus so when you need a little peace of mind come on over boy anytime ill keep you happy and so satisfied in my house in my house so when you need some lovin tenderness and its me baby that you miss heres the key to unlock the door to my house to my house wooooooo in my house wooooooo in my house well anytime of the day or night when you call me ill be there just call me up on the phone when you need someone around to care and when you feel sad and blue you just come and see me anytime ill be waitin for you dear and your fears you can leave behind so when you need a little peace of mind come on over boy anytime ill keep you happy and so satisfied in my house in my house so when you need some love and tenderness and its me baby that you miss heres the key to unlock the door to my house to my house in my house in my house in my house fade",3
64,"dont lose my number","phil collins",1985," billy billy dont you lose my number cause youre not anywhere that i can find youthey came at night leaving fear behind shadows were on the ground nobody knew where to find him no evidence was foundim never coming back they heard him cry and i believe him well he never meant to do anything wrong its gonna get worse if he waits too longbilly billy dont you lose my number cause youre not anywhere that i can find you oh now billy billy dont you lose my number cause youre not anywhere that i can find you oh nosearching through the day and into the night they wouldnt stop till they found him they didnt know him and they didnt understand they never asked him whyget out of my way they heard him shout then a blinding light ooh all i could see was him running down the street out of the shadows and into the nightnow billy billy dont you lose my number cause youre not anywhere that i can find you oh now billy billy dont you lose my number cause youre not anywhere that i can find you ohdont give up keep running keep hiding dont give up billy if you know youre rightdont give up you know that i am on your side dont give up oh billy you better you better you better run for your lifenow billy billy dont you lose my number cause youre not anywhere that i can find you oh now billy billy dont you lose my number cause youre not anywhere that i can find you ohnobody knew where to find him no evidence was found he never meant to do anything wrong its gonna get worse if he waits too longbilly billy dont you lose my number cause youre not anywhere that i can find you oh now billy oh now billy ",1
65,"all through the night","cyndi lauper",1985," all through the night ill be awake and ill be with you all through the night this precious time when time is new oh all through the night today knowing that we feel the same without sayingwe have no past we wont reach back keep with me forward all through the night and once we start the meter clicks and it goes running all through the night until it ends there is no endall through the night stray cat is crying so stray cat sings back all through the night they have forgotten what by day they lack oh under those white street lamps there is a little chance they may seewe have no past we wont reach back keep with me forward all through the night and once we start the meter clicks and it goes running all through the night until it ends there is no endoh the sleep in your eyes is enough let me be there let me stay there awhilewe have no past we wont reach back keep with me forward all through the night and once we start the meter clicks and it goes running all through the night until it ends there is no end keep with me forward all through the night and once we start the meter clicks and it goes running all through the night until it ends there is no end ",1
66,"run to you","bryan adams",1985," she says her love for me could never die but thatd change if she ever found out about you and i oh but her love is cold wouldnt hurt her if she didnt know cause when it gets too much i need to feel your touchim gonna run to you im gonna run to you cause when the feelins right im gonna run all night im gonna run to youshes got a heart of gold shed never let me down but youre the one that always turns me on you keep me comin round i know her love is true but its so damn easy makin love to youi got my mind made up i need to feel your touchim gonna run to you yeah im gonna run to you cause when the feelins right im gonna stay all night im gonna run to you yeah im gonna run to you oh when the feelins right im gonna run all night im gonna run to youoh im gonna run to you yeah im gonna run to you cause when the feelins right im gonna stay all night im gonna run to you oh im gonna run to you yeah when the feelins right im gonna stay all night oh when the feelins right now oh yeah when the feelins right now im gonna run to you oh oh yeah im gonna run to you yeah now oh im gonna to run to you run to you baby im gonna run to you oh oh oh im gonna run run run right all night now yeah ",1
67,"glory days","bruce springsteen",1985," i had a friend was a big baseball player back in high school he could throw that speedball by you make you look like a fool boy saw him the other night at this roadside bar i was walking in he was walking out we went back inside sat down had a few drinks but all he kept talking about wasglory days well theyll pass you by glory days in the wink of a young girls eye glory days glory dayswell theres a girl that lives up the block back in school she could turn all the boys heads sometimes on a friday ill stop by and have a few drinks after she put her kids to bed her and her husband bobby well they split up i guess its two years gone by now we just sit around talking about the old times she says when she feels like crying she starts laughing thinking aboutglory days well theyll pass you by glory days in the wink of a young girls eye glory days glory daysthink im going down to the well tonight and im going to drink till i get my fill and i hope when i get old i dont sit around thinking about it but i probably will yeah just sitting back trying to recapture a little of the glory of well time slips away and leaves you with nothing mister but boring stories ofglory days well theyll pass you by glory days in the wink of a young girls eye glory days glory days yeah theyll pass you by glory days in the wink of a young girls eye glory days glory days ",1
68,"voices carry","til tuesday",1985," in the dark i like to read his mind but im frightened of the things i might find oh there must be something hes thinking of to tear him awayayay when i tell him that im falling in love why does he sayayayhush hush keep it down now voices carryhush hush keep it down now voices carry uhuhi tried so hard not to get upset because i know all the trouble ill get oh he tells me tears are something to hide and something to fear and i try so hard to keep it inside so no one can hearhush hush keep it down now voices carryhush hush keep it down now voices carryhush hush keep it down now voices carry uhuhoh he wants me but only part of the time he wants me if he can keep me in linehush hush keep it down now voices carryhush hush keep it down now voices carryohohohohoh hush hush so shut up now voices carryohohohohoh hush hush keep it down now voices carryohohohohoh oh hush hush darling she might overhear hush hush voices carryhe said shut up he said shut up oh god cant you keep it down voices carryhush hush voices carry i wish he would let me talk ",1
69,"misled","kool  the gang",1985,"late at night bodys yearning restless night want to be with you someones playing in the garden so enticing hes sure to take a bite i dont know whats come over me yeah shes as heavy as a chevy pure excitement misled when she touches cant resist her im a puppet when shes playing me shes outgoing but i love her so misled so im saying now baby baby whats your claim to fame got me out of bed heard you call my name whats this crazy place you want to take me to tell me whats the price if i go with you my heart my soul my love is that the goal its a thrill then i will be misled be for real thought i knew her this lady opportunist misled always searching for adventure like pandoras box misled and i dont know what im gonna do without her baby baby whats your claim to fame got me out of bed heard you call my name whats this crazy place you want to take me to tell me whats the price if i go with you my heart my soul my love is that the goal its a thrill then i will be misled or be for real ive got this feeling and its blocking my way but i love her just the same just the same oh yes i do misled heard you call my name misled whats your claim to fame misled took me by the head misled said i would understand misled with a bomb of broken venus misled not a word is said misled baby thats your name misled whats your claim to fame my heart my soul my love is that the goal its a thrill then i will misled wont you be for real baby baby whats your claim to fame got me out of bed heard you call my name whats this crazy place you want to take me to tell me whats the price if i go with you my heart my soul my love is that the goal its a thrill then i will hey misled wont you be for real misled misled misled misled misled misled misled misled misled inaudible misled misled misled i was misled by you misled misled",3
70,"would i lie to you","eurythmics",1985," would i lie to you would i lie to you honey now would i say somethin that wasnt true im askin you sugar would i lie to youmy friends know whats in store i wont be here anymore ive packed my bags ive cleaned the floor watch me walkin walkin out the doorwould i lie to you would i lie to you honey now would i say somethin that wasnt true im askin you sugar would i lie to youtell you straight no intervention to your face no deception youre the biggest fake that much is true had all i can take now im leavin youwould i lie to you would i lie to you honey now would i say somethin that wasnt true im askin you sugar would i lie to youwould i lie to you would i lie to you honey now would i say somethin that wasnt true im askin you sugar would i lie to youmy friends know whats in store i wont be here anymore ive packed my bags ive cleaned the floor watch me walkin walkin out the doorwatch me watch me ooo yeah watch me watch me ooo yeah watch me watch me ooo yeah walkin walkin walkin ooo watch me now yeah watch me now ",1
71,"be near me","abc",1985," the message is perfectly simple the meaning is clear dont ever stray too far and dont disappear no dont disappearever had that feeling almost broke in two said that you were leaving like you do you doall my dreams came true last night all my hopes and fears all my dreams came true once more in tears in tearsbe near me be near be near me be near be nearnever had that feeling until i first met you never felt like kneeling now i do yes i do yes i doall my dreams came true last night all my hopes and fears all my dreams came true once more in tears in tearsbe near me be near be near me be near ooh be near me be near be nearthe message is perfectly simple the meaning is clear dont ever stray too far and dont disappear no dont disappearbe near me be near be near me be near be near me be near be near me be nearwhats your reputation ecstasy whats your destination next to me whats your reputation ecstasy whats your destination next to mewhats your reputation ecstasy whats your destination next to me whats your reputation ecstasy ",1
72,"no more lonely nights","paul mccartney",1985," i can wait another day until i call you youve only got my heart on a string and everything aflutter but another lonely night might take forever weve only got each other to blame its all the same to me love cause i know what i feel to be rightno more lonely nights no more lonely nights youre my guiding light day or night im always theremay i never miss the thrill of being near you and if takes a couple of years to turn your tears to laughter i will do what i feel to be rightno more lonely nights never be another no more lonely nights youre my guiding light day or night im always there and i wont go away until you tell me so no ill never go awayyes i know i know what i feel i feel to be right no more lonely nights never be another no more lonely nights youre my guiding light day or night im always thereand i wont go away until you tell me so no ill never go away and i wont go away until you tell me so no ill never go awayno more lonely nights no no ",1
73,"i cant hold back","survivor",1985," theres a story in my eyes turn the pages of desire now its time to trade those dreams for the rush of passions firei can feel you tremble when we touch and i feel the hand of fate reaching out to both of usive been holding back the night ive been searching for a clue from you im gonna try with all my might to make this story line come truecan ya feel me tremble when we touch can ya feel the hands of fate reaching out to both of us this love affair cant waiti cant hold back im on the edge i cant hold back your voice explodes inside my head i cant hold back i wont back down girl its too late to turn back nowanother shooting star goes by and in the night the silence speaks to you and i and now the time has come at last dont let the moment run too fasti can feel you tremble when we touch and i feel the hand of fate reaching out to both of usand theres a story in my eyes turn the pages of desire now its time to trade those dreams for the rush of passions firei cant hold back im on the edge i cant hold back your voice explodes inside my head i cant hold back i wont back down girl its too late to turn back nowi can feel you tremble when we touch and i feel the hand of fate reaching out to both of us this love affair cant waiti cant hold back i cant hold back i cant hold back i cant hold back i cant hold back ",1
74,"summer of 69","bryan adams",1985," i got my first real sixstring bought it at the fiveanddime played it till my fingers bled was the summer of 69me and some guys from school had a band and we tried real hard jimmy quit jody got married i shoulda known wed never get faroh when i look back now that summer seemed to last forever and if i had the choice yeah id always want to be there those were the best days of my lifeaint no use in complainin when you got a job to do spent my evenings down at the drivein and thats when i met youstandin on your mamas porch you told me that youd wait forever oh and when you held my hand i knew that it was now or never those were the best days of my lifeoh yeah back in the summer of 69 ohhhman we were killin time we were young and restless we needed to unwind i guess nothin can last forever forever noand now the times are changin look at everything thats come and gone sometimes when i play that old sixstring think about you wonder what went wrongstandin on your mamas porch you told me it would last forever oh and when you held my hand i knew that it was now or never those were the best days of my lifeoh yeah back in the summer of 69 unhuh it was the summer of 69 oh yeah me and my baby in 69 oh ",1
75,"walking on sunshine","katrina and the waves",1985,"i used to think maybe you love me now baby im sure and i just cant wait till the day when you knock on my door now every time i go for the mail box gotta hold myself down cause i just cant wait till you write me youre coming around chorus im walking on sunshine whoa oh im walking on sunshine whoa oh im walking on sunshine whoa oh and dont it feel good hey alright now and dont it feel good hey alright now all right now yeah hey i used to think maybe you love me i know that its true and i dont wanna spend all of my life just waiting for you just waiting for you now i dont want you back for the weekend not back for a day no no no baby i just want you back and i want you to stay chorus walking on sunshine walking on sunshine i feel the love i feel the love i feel the love thats really real i feel the love i feel the love i feel the love thats really real im on sunshine baby yeah im on sunshine baby yeah chorus im walking on sunshine whoa im walking on sunshine whoa im walking on sunshine whoa and dont it feel good hey alright now and dont it feel good hey alright now and dont it feel good hey alright now and dont it feel good hey alright now im walking on sunshine im walking on sunshine im walking on sunshine im walking on sunshine im walking on sunshine",3
76,"freedom","wham",1985," everyday i hear a different story people say that youre no good for me so you love another and shes making a fool of you oh if you love me baby dont deny it but you left me and tell me i should try it tell me im a baby and i will understandbut to know that ill forgive you just this once twice forever cause baby you could take me to heaven and back just as long as were together and you doi dont want your freedom i dont want to play around i dont want nobodys baby parttime love just brings me down i dont need your freedom girl all i want right now is youlike a prisoner who has his own key but i cant escape until you love me i just go from day to day knowing all about the other boys you take my hand and tell me im a fool to give you all i do bet you someday baby someone says the same to youbut to know that ill forgive you just this once twice forever cause baby you could take me to heaven and back just as long as were together and you doi dont want your freedom i dont want to play around i dont want nobodys baby parttime love just brings me down i dont need your freedom girl all i want right now is youbut to know that ill forgive you just this once twice forever cause baby you could take me to heaven and back just as long as were together and you doi dont want your freedom i dont need to play around i dont want nobodys baby parttime love just brings me downi dont want your i dont want your i dont want your i dont want your i dont want your i dont want your i dont want your i dont want your oh ",1
77,"too late for goodbyes","julian lennon",1985," ever since youve been leaving me ive been wanting to cry now i know how it feels for you ive been wanting to diebut its much too late for goodbyes yes its much too late for goodbyestime has gone since ive been with you and weve been starting to lie now it seems you dont care for me and i dont understand whybut its much too late for goodbyes yes its much too late for goodbyesever since youve been far away ive been wanting to fly now i know what you meant to me im the one who should cryand its much too late for goodbyes yes its much too late for goodbyesever since youve been leaving me ive been wanting to cry and now i know how it feels for you ive been wanting to dieand its much too late for goodbyes yes its much too late for goodbyes ",1
78,"valotte","julian lennon",1985," sitting on the doorstep of the house i cant afford i can feel you there thinking of a reason well its really not very hard to love you even though you nearly lost my heart how can i explain the meaning of our love it fits so tight closer than a glovesitting on a pebble by the river playing guitar wondring if were really ever gonna get that far do you know theres something wrong cause ive felt it all alongi can see your face in the mirrors of my mind will you still be there were really not so clever as we seem to think we are weve always got our troubles so we solve them in the bar as the days go by we seem to drift apart if i could only find a way to keep hold of your heartsitting on a pebble by the river playing guitar wondring if were really ever gonna get that far do you know theres something wrong cause ive felt it all alongsitting in the valley as i watch the sun go down i can see you there thinking of a reason well its really not very hard to love you even though you nearly lost my heart when will we know when the change is gonna come ive got a good feeling and its coming from the sunsitting on a pebble by the river playing guitar wondring if were really ever gonna get that far do you know theres something wrong well stick together cause were strong ",1
79,"some like it hot","power station",1985,"we want to multiply are you gonna do it i know youre qualified are you gonna do it dont be so circumscribed are you gonna do it just get yourself untied are you gonna do it feel the heat pushing you to decide feel the heat burning you up ready or not some like it hot and some sweat when the heat is on some feel the heat and decide that they cant go on some like it hot but you cant tell how hot til you try some like it hot so lets turn up the heat til we fry the girl is at your side are you gonna do it she wants to be your bride are you gonna do it she wants to multiply are you gonna do it i know you wont be satisfied until you do it feel the heat pushing you to decide feel the heat burning you up ready or not some like it hot and some sweat when the heat is on some feel the heat and decide that they cant go on some like it hot but you cant tell how hot til you try some like it hot so lets turn up the heat til we fry feel the heat pushing you to decide feel the heat burning you up ready or not some like it hot and some sweat when the heat is on some feel the heat and decide that they cant go on some like it hot but you cant tell how hot til you try some like it hot so lets turn up the heat til we fry some like it hot some like it hot some like it hot some like it hot some like it hot some like it hot some like it hot some like it hot",3
80,"solid","ashford  simpson",1985,"and for loves sake each mistake ah you forgave and soon both of us learned to trust not run away it was no time to play we build it up and build it up and build it up and now its solid solid as a rock thats what this love is thats what weve got oh mmm solid oh solid as a rock and nothings changed it ooh the thrill is still hot hot hot hot hot hot hot hot oh oh oh ah you didnt turn away when the sky went gray somehow we managed we had to stick together ooh ooh ooh ooh you didnt bat an eye when i made you cry we knew down the line we would make it better ooh ooh ooh ooh and for loves sake each mistake ah you forgave and soon both of us learned to trust not run away it was no time to play we build it up and build it up and build it up now its solid solid as a rock ooh thats what this love is oh oh thats what weve got oh oh yes it is solid solid as a rock and nothings changed it oh the thrill is still hot hot hot hot hot hot hot hot oh oh oh ah gone with the wind another friend got in between tried to separate us ooh ooh ooh ooh oh knockknock on wood you understood love was so new we did what we had to ooh ooh ooh ooh and with that feeling we were willing to take a chance so against all odds we made a start we got serious this wouldnt turn to dust ooh we build it up and build it up and build it up and now its solid ooh solid as a rock thats what this love is oh thats what weve got oh oh oh solid yes it is solid as a rock ah and nothings changed it ooh the thrill is still hot hot hot hot hot hot  hot  hot solid oh solid as a rock you know it well you know it baby solid solid as a rock lovin me lovin me oh solid dont leave me baby solid as a rock well well why why oh solid solid as a rock every day it gets sweeter now ooh solid you know i like it solid as a rock good good well its good good good solid solid solid solid solid solid as a rock",3
81,"angel","madonna",1985," why am i standing on a cloud every time youre around and my sadness disappears every time you are nearyou must be an angel i can see it in your eyes full of wonder and surprise and just now i realizeooh youre an angel ooh youre an angel ooh youre an angel in disguise i can see it in your eyeswalking down a crowded avenue other faces seem like nothing next to you and i cant hear the traffic rushing by just the pounding of my heart and thats whyyou must be an angel i can see it in your eyes full of wonder and surprise and just now i realizeooh youre an angel ooh youre an angel ooh youre an angel in disguise i can see it in your eyesooh youre an angel ooh youre an angel ooh youre an angel in disguise i can see it in your eyesyoure an angel youre an angel baby youre an angel you must be an angelnow i believe that dreams come true cause you came when i wished for you this just cant be coincidence the only way that this makes sense is thatooh youre an angel ooh youre an angel ooh youre an angel in disguise i can see it in your eyesooh youre an angel ooh youre an angel ooh youre an angel in disguise i can see it in your eyesyoure an angel youre an angel baby youre an angel you must be an angel babyclouds just disappear ",1
82,"im on fire","bruce springsteen",1985," hey little girl is your daddy home did he go away and leave you all alone i got a bad desire im on firetell me now baby is he good to you can he do to you the things that i do i can take you higher im on firesometimes its like someone took a knife baby edgy and dull and cut a sixinch valley through the middle of my soulat night i wake up with the sheets soaking wet and a freight train running through the middle of my head only you can cool my desire im on fire ",1
83,"method of modern love","daryl hall  john oates",1985,"m e t h o d o f l o v e m e t h o d o f l o v e in the moonlite under starlite songs old as the night are what ive been dreaming of everybodys hard as iron locked in a modern world dreams are make of a different stuff i believe love will always be the same the ways and means are the parts subject to change m e t h o d o f l o v e its a method of modern love m e t h o d o f l o v e its a method of modern love i can call you got your number share my life with you a thousand miles away if youve hurt me i havent shown it times too tight to fight and were never face to face style is timeless and fashions only now weve got the ways no one needs to show us how m e t h o d o f l o v e its a method of modern love m e t h o d o f l o v e its a method of modern love m e t h o d o f l o v e m e t h o d o f l o v e m e t h o d o f l o v e m e t h o d o f l o v e its a method of modern love m e t h o d o f l o v e m e t h o d o f l o v e its a method of modern love m e t h o d o f l o v e m e t h o d o f l o v e its a method of modern love ",3
84,"lay your hands on me","thompson twins",1985," this old life seemed much too long little point in going on i couldnt think of what to say words just vanished in the hazei was feeling cold and tired yeah kinda sad and uninspired when it almost seemed too much i see your face and sense the grace and feel the magic in your touchoh lay your hands lay your hands on me oh lay your hands ooh oh lay your hands oh lay your hands on meback and forth across the sea i have chased so many dreams i have never felt the grace that i have felt in your embraceoh i was tired and i was cold yeah with a hunger in my soul when it almost seemed too much i see your face and sense the grace and feel the magic of your touchoh lay your hands oh lay your hands on me oh lay your hands ooh oh lay your hands oh lay your hands on me ohnow you made me feel so good yeah like i never ever thought i would you know you make me feel so strong and now our laughter just goes on and onso cmon lay your hands on me cause close to you is where i really wanna be and if it ever gets too much ill see your face and sense the grace and feel the magic in our touchoh lay your hands lay your hands on me oh lay your hands ooh oh lay your hands oh lay your hands on meoh lay your hands oh oh lay your hands on me oh lay your hands lay your hands on me oh lay your hands oohoh lay your hands i wanna lay your hands on me oh lay your hands oh lay your hands on me oh lay your hands oh lay your hands on me oh lay your hands on me ooh oh lay your hands ",1
85,"whos holding donna now","debarge",1985," sometimes a love wont get cold hard as i try i know for sure everybody is telling me youll be over her eventually but how am i suppose to feel so securechorus when i keep wondering whos holding donna now when i keep wondering whos heart shes knocking around theres nothing i wouldnt do to be in his shoes right now and i keep wondering whos holding donna now and i keep wondering what magic can be found to turn me back to the one whos holding donna nowher letter started with goodbye ive read it half a million times tell me this is just a dream when i wake up shell be her next to me tell me it will be just the way it waschorus ",1
86,"lonely ol night","john cougar mellencamp",1985,"john cougar mellencamp miscellaneous lonely ol night lonely ol night john mellencamp she calls me up and says baby its a lonely ol night i dont know im just so scared and lonely all at the same time nobody told us it was gonna work out this way no no no no no i guess they knew wed work it out in our own way chorus its a lonely ol night can i put my arms around you its a lonely ol night custom made for two lonely people like me and you radio playing softly some singers sad sad song hes singing about standing in the shadows of love i guess he feels awfully alone she says i know exactly what he means yeah yeah yeah yeah yeah and its a sad sad feeling when youre living on those inbetweens but its okay chorus she calls me baby she calls everybody baby its a lonely ol night but aint they all chorus",3
87,"what about love","heart",1985," ive been lonely ive been waitin for you im pretending and thats all i can do the love im sendin aint makin it through to your heartyouve been hidin never lettin it show always tryin to keep it under control you got it down and youre well on your way to the top but theres somethin that you forgotwhat about love dont you want someone to care about you and what about love dont let it slip away what about love i only want to share it with you you might need it somedayi cant tell you what youre feelin inside and i cant sell you what you dont want to buy somethings missing you got to look back on your life you know something here just aint rightwhat about love dont you want someone to care about you what about love dont let it slip away what about love i only want to share it with youwhat about love dont you want someone to care about you what about love dont let it slip away but what about love i only want to share it with youoh no ohh ohh oh what about love yeah ooh ooh hoo what about love love love love what about what about love ooh hoo hoo hoo ",1
88,"california girls","david lee roth",1985," well east coast girls are hip i really dig those styles they wear and the southern girls with the way they talk they knock me out when im down therethe midwest farmers daughters really make you feel alright and the northern girls with the way they kiss they keep their boyfriends warm at nighti dig them girls i wish they all could be california i wish they all could be california i wish they all could be california girlsthe west coast has the sunshine and the girls all get so tanned i dig a french bikini on hawaiian coast by a palm tree in the sandi been all around this great big world and ive seen all kinds of girls yeah but i couldnt wait to get back in the states back to the cutest girls in the worldi dig them girls i wish they all could be california i wish they all could be california i wish they all could be california girlsgirls girls girls girls i dig them girls i wish they all could be california girls girls girls girls i dig them girls i wish they all could be californiagirls girls girls girls i dig them girls i wish they all could be california girls girls girls girls i dig them girls i wish they all could be california ",1
89,"fresh","kool  the gang",1985,"shes fresh shes fresh conversation is going round people talkin bout the girl whos come to town lovely lady pretty as can be no one knows her name shes just a mystery i have seen her maybe once or twice one thing i can say is ooh shes very nice shes a lady one i really want to know somehow ive got to let my feelings show shes fresh exciting shes so exciting to me shes fresh exciting shes so inviting to me yeah ive been thinkin bout the way you walk baby uh i like the way you talk tell you somethin i really cant hide heaven must have sent you to be by my side fresh and lovely like a dream come true ill give anything to spend the night with you what a feelin and i cant stop it baby miss frisky lady take me away shes fresh exciting shes so exciting to me yeah shes fresh exciting so inviting to me yeah fresh as a summer breeze shell take you by the hand she means so much to me ill do whatever to make her mine ooh shes fresh shes so fresh shes so fresh shes so fresh shes so fresh shes fresh shes so fresh shes so fresh shes so fresh shes so fresh shes fresh shes so fresh shes so fresh shes so fresh shes so fresh fresh as a summer breeze she means so much to me i wanna take you by the hand and make you understand yes ive gone the way you walk and i uh baby i know the way you talk oh i tell you something and i hope you understand miss frisky lady whoa ooh youre so fresh and i love that lady oh how much i love her so yeah shes fresh shes so fresh shes so fresh shes so fresh shes so fresh shes fresh shes so fresh shes so fresh shes so fresh shes so fresh shes fresh shes so fresh shes so fresh shes so fresh shes so fresh ",3
90,"do what you do","jermaine jackson",1985," why dont you do what you do when you did what you did to me do what you do when you did what you did to mei was crazy for you you were crazy for me how could something so right go so wrong my love  sweet lovewhy dont you say what you say when you say what you said anymore your eyes couldnt lie so long goodbye close the door i was crazy for you you were crazy for me how could something so right go so wrong my love sweet lovewhy dont you do what you do when you did what you did to me do what you do when you did what you did to me do what you do when you did what you did to me ",1
91,"jungle love","the time",1985," i ive been watching you i think i wanna know ya said i im a little dangerous girl id love to show yamy jungle love yeah i think i wanna know ya jungle love girl id love to show yayou youve got a pretty car i think i wanna drive it i aint playin said i drive a little dangerous take you to my crib rip you offmy jungle love yeah i think i wanna know ya jungle love girl id love to show yacome on baby wheres your guts you wanna make love or whati wanna take you to my cage lock you up and hide the key you only get water baby cause if youre hungry take a bite of memy jungle love yeah i think i wanna know ya jungle love girl id love to show yai think i wanna i wanna file my nailsmy jungle love yeah i think i wanna know ya jungle love girl id love to show yajungle love thats right cant nobody fuck with me i got a bearskin rug i got a fireplace too and im all the way wild baby all the things i could do to youjungle love yes thats it ",1
92,"born in the usa","bruce springsteen",1985," born down in a dead mans town the first kick i took was when i hit the ground end up like a dog thats been beat too much till you spend half your life just covering upborn in the usa i was born in the usa i was born in the usa born in the usagot in a little hometown jam so they put a rifle in my hand sent me off to a foreign land to go and kill the yellow manborn in the usa i was born in the usa born in the usa born in the usacome back home to the refinery hiring man said son if it was up to me went down to see my va man he said son dont you understandi had a brother at khe sahn fighting off the viet cong theyre still there hes all gonehe had a woman he loved in saigon i got a picture of him in her arms nowdown in the shadow of the penitentiary out by the gas fires of the refinery im ten years burning down the road nowhere to run aint got nowhere to goborn in the usa i was born in the usa born in the usa im a long gone daddy in the usa born in the usa born in the usa born in the usa im a cool rocking daddy in the usa ",1
93,"private dancer","tina turner",1985," all the men come in these places and the men are all the same you dont look at their faces and you dont ask their names you dont think of them as human you dont think of them at all you keep your mind on the money keeping your eyes on the wallim your private dancer a dancer for money ill do what you want me to do im your private dancer a dancer for money and any old music will doi want to make a million dollars i want to live out by the sea have a husband and some children yeah i guess i want a family all the men come in these places and the men are all the same you dont look at their faces and you dont ask their namesim your private dancer a dancer for money ill do what you want me to do im your private dancer a dancer for money and any old music will doim your private dancer a dancer for money ill do what you want me to do just a private dancer a dancer for money and any old music will dodeutch marks or dollars american express will do nicely thank you let me loosen up your collar tell me do you want to see me do the shimmy againim your private dancer a dancer for money ill do what you want me to do im your private dancer a dancer for money and any old music will doim your private dancer a dancer for money ill do what you want me to do im your private dancer a dancer for money and any old music will doim your private dancer a dancer for money im your private dancer a dancer for money ",1
94,"whos zoomin who","aretha franklin",1985," ooh boy oh yeah yeah oh yeahyou walked in on the sly scopin for love in the crowd i caught your eye you cant hide your stuffyou came to catch you thought id be naive and tame you met your match but i beat you at your own game ohwhos zoomin who take another look and tell me baby whos zoomin who whos zoomin who whos zoomin who now the fish jumped off the hook didnt i baby whos zoomin who yeahwhos zoomin who take another look and tell me baby whos zoomin who whos zoomin who whos zoomin who the fish jumped off the hook baby whos zoomin who yeah yeahguess you believed the world played by your rules here stands an experienced girl i aint nobodys fool bump youdont speculate you thought you had me covered now boy ive got your bait but youre bound to be my lover ohwhos zoomin who take another look and tell me baby whos zoomin who whos zoomin who whos zoomin who now the fish jumped off the hook didnt i baby whos zoomin who yeah yeah ohwhos zoomin who take another look and tell me baby whos zoomin who whos zoomin who whos zoomin who now the fish jumped off the hook didnt i baby whos zoomin who hooyou think youre smooth and you can pick and choose when the time is right but just look behind youll be surprised to find im gonna make you mine tonight oh yeahwhos zoomin who take another look and tell me baby whos zoomin who now the fish jumped off the hook didnt i boy whos zoomin who take another look and tell me baby whos zoomin who didnt i didnt i didnt i oh yeahwhos zoomin who take another look and tell me baby whos zoomin who whos zoomin who whos zoomin who take another look and tell me baby whos zoomin who yeahwhos zoomin who fish in the sea within me whos zoomin who sure youre alright yeah yeah whos zoomin who take another look tell me boy whos zoomin who oh ohwhos zoomin who youll remember my name whos zoomin who im the one who beat you at your own gamewhos zoomin who take another look and tell me sweet thing whos zoomin who whos zoomin whos foolin whos zoomin whos foolin whos zoomin who ooh ooh boy whos zoomin who ",1
95,"fortress around your heart","sting",1985," NA ",1
96,"penny lover","lionel richie",1985," the first time i saw you oh you looked so fine and i had a feeling one day youd be mine honey you came along and captured my heart now my love is somewhere lost in your kiss when im all alone its you that i miss girl a love like yours is hard to resist oh oh ooh ooh ohpenny lover my loves on fire penny lover youre my one desire tell me baby could this be true that i could need someone like i need younights warm and tender lying next to you girl i surrender oh what more can i do ive spent all of my life in search of your love now theres one more thing id like to say dont you ever take your sweet love away girl ill do anything just please stay oh ohi dont understand it oh whats come over me but im not gonna worry no not anymore cause when a mans in love hes only got one story thats why my love is somewhere lost in your kiss when im lost and alone its you that i miss with a love like yours its hard to resist ooh ooh oh ",1
97,"all she wants to do is dance","don henley",1985," theyre pickin up the prisoners and puttin em in a pen and all she wants to do is dance dance rebels been rebels since i dont know when and all she wants to do is dancemolotov cocktail the local drink and all she wants to do is dance dance they mix em up right in the kitchen sink and all she wants to do is dancecrazy people walkin round with blood in their eyes and all she wants to do is dance dance dance wildeyed pistols wavers who aint afraid to die and all she wants to do is and all she wants to do is dance and make romance she cant feel the heat comin off the street she wants to party she wants to get down all she wants to do is all she wants to do is dancewell the government bugged the mens room in the local disco lounge and all she wants to do is dance dance to keep the boys from sellin all the weapons they could scrounge and all she wants to do is danceyeah but that dont keep the boys from makin a buck or two and all she wants to do is dance dance the still can sell the army all the drugs that they can do and all she wants to do is all she wants to do is dance and make romancewell we barely make the airport for the last plane out as we taxied down the runway i could hear the people shout they said dont come back here yankee but if i ever do ill bring more money cause all she wants to do is dance and make romance never mind the heat comin off the street she wants to party she wants to get down all she wants to do is all she wants to do is dance and make romance all she wants to do is dance ",1
98,"dress you up","madonna",1985," youve got style thats what all the girls say satin sheets and luxuries so fine all your suits are custom made in london ive got something that youll really likegonna dress you up in my love all over all over gonna dress you up in my love all over your bodyfeel the silky touch of my caresses they will keep you looking so brand new let me cover you with velvet kisses ill create a look thats made for yougonna dress you up in my love all over all over gonna dress you up in my love all over your bodygonna dress you up in my love in my love all over your body all over your body in my love all over all over from your head down to your toesgonna dress you up in my love all over all over gonna dress you up in my love all over your bodygonna dress you up in my love in my love all over your body all over your body in my love all over all over from your head down to your toesgonna dress you up in my love all over all over dress you up in my love in my love all over your bodygonna dress you up in my love all over all over dress you up in my love in my love all over your body ",1
99,"sentimental street","night ranger",1985," saw you walkin out on sentimental street whatcha doin out there who you tryin to beknow what youre thinkin cause ive been there myself ive been kicked so many times i dont know nothin elsestill i noticed your urgency and recognized the flair that ya got from chasin all those east coast daresand ive seen it before it happens time and again all cut up inside yet youre caught in a spinout on sentimental street in the avenues take a good hard look there aint nothin ever newout on sentimental street in the avenues will you ever find out guess ill leave it up to yousaw you dancin out at madame wong twos you did them same two steps that i taught you back in juneheard you dined last night at conte razors cafe did you get your fill did you think ya had to paystill i noticed your urgency and recognized the pain and im sure its the same you feel again and againand i wish i could get us that second chance but youre havin too much fun with your sudden romanceout on sentimental street in the avenues take a good hard look there aint nothin ever newout on sentimental street in the avenues will you ever find out guess ill leave it up to youout on sentimental street in the avenues take a good hard look there aint nothin ever newout on sentimental street in the avenues will you ever find out guess ill leave it up to yousentimental street in the avenues take a good hard look there aint nothin ever newout on sentimental street in the avenues will you ever find out guess ill leave it up to yousaw you walking out on sentimental street whatcha doing out there who you trying to beout on sentimental street in the avenues will you ever find us guess ill leave it up to you ",1
100,"sugar walls","sheena easton",1985," my sugar walls my sugar wallswhere i come from theres a place called heaven thats the place where all the good children go the houses are of silver the streets of gold but theres more where you come from my sugar wallsmy sugar walls my sugar wallsblood races to your private spots let me know theres a fire you cant fight passion when passion is hot temperatures rise inside my sugar walls    memory  byamandah   editor    sheena eastons sugar walls was a top ten hit in the us on the pop rb and dance single charts it was written by prince who was writing for other artists    see all   let me take you somewhere youve never been i could show you things youve never seen well i could make you never wanna fall in love again come spend the night inside my sugar wallstake advantage its alrighti feel so alive when im with you come and feel my presence its reigning tonight heaven on earth inside my sugar wallslet me take you somewhere youve never been well i could show you things youve never seen well i could make you never wanna fall in love again come spend the night inside my sugar wallsi can tell you want me its impossible to hide your bodys on fire admit it come insidemy sugar walls my sugar walls come inside my sugar walls my sugar wallsmy sugar walls come spend the night inside my sugar wallsmy sugar walls my sugar walls ",1
1,"thats what friends are for","dionne and friends dionne warwick gladys knight elton john and stevie wonder",1986,NA,NA
2,"say you say me","lionel richie",1986," say you say me say it for always thats the way it should be say you say me say it together naturallyi had a dream i had an awesome dream people in the park playing games in the dark and what they played was a masquerade and from behind of walls of doubt a voice was crying outsay you say me say it for always thats the way it should be say you say me say it together naturallyas we go down lifes lonesome highway seems the hardest thing to do is to find a friend or two that helping hand some one who understands and when you feel youve lost your way youve got some one there to say ill show yousay you say me say it for always thats the way it should be say you say me say it together naturallyso you think you know the answers oh no well the whole world has got you dancing thats right im telling you its time to start believing oh yes believing who you are you are a shining starsay you say me say it for always thats the way it should be say you say me say it together naturally say it together naturally ",1
3,"i miss you","klymaxx",1986," i thought i heard your voice yesterday when i turned around to say that i loved you then i realized and it was just my mind playing tricks on meit seems colder lately at night and i try to sleep with the lights on every time the phone rings i pray to god its you i just cant believe that were throughi miss you i miss you theres no other way to say it and i and i can deny it i miss you i miss you its so easy to see i miss you and meis it done and over this time have we really changed our minds but its all this love all the feelings that we used to share i refused to believe that you dont carei miss you i miss you theres no other way to say it and i and i can deny it i miss you i miss you its so easy to seeive got to gather my senses together ive been through worse kinds of weather if its over now be strong i cant believe that youre gone ive got carry oni miss you i miss you oh no other way to say it and i and i can deny it i miss you i miss you its so easy to see that youre part of me nowno other way to say it its so easy to see that youre part of me now its driving me crazy its so easy to see that youre part of me now that youre part of me nowi miss you i miss you its driving me crazy i dont want to live without you i miss you i miss you its so easy to see im missing me ",1
4,"on my own","patti labelle and michael mcdonald",1986," so many times said it was forever said our love would always be true something in my heart always knew id be lying here beside you on my own on my own on my ownso many promises never should be spoken now i know what loving you cost now were up to talking divorce and we werent even married on my own once again now one more time by myselfno one said it was easy but it once was so easy well i believed in love now here i stand i wonder whyim on my own why did it end this way on my own this wasnt how it was supposed to be on my own i wish that we could do it all againso many times i know i should have told you losing you it cut like a knife you walked out and there went my life i dont want to live without you on my own on my own on my ownim on my own why did it end this way on my own this wasnt how it was supposed to be on my own i wish that we could do it all againthis wasnt how it was supposed to end i wish that we could do it all again i never dreamed id spend one night alone on my own ive got to find where i belong again ive got to learn how to be strong again i never dreamed id spend one night alone by myself by myselfive got to find out what was mine again my heart is saying that its my time again and i have faith that i will shine again i have faith in me on my own on my own on my own ",1
5,"broken wings","mr mister",1986," baby dont understand why we cant just hold on to each others hands this time might be the last i fear unless i make it all too clear i need you so ohtake these broken wings and learn to fly again learn to live so free when we hear the voices sing the book of love will open up and let us in take these broken wingsbaby i think tonight we can take what was wrong and make it right baby its all i know that youre half of the flesh and blood that makes me whole i need you soso take these broken wings and learn to fly again learn to live so free when we hear the voices sing the book of love will open up and let us in yeah yeahlet us in let us inbaby its all i know that youre half of the flesh and blood that makes me whole yeah yeah yeah yeah yeahso take these broken wings and learn to fly again learn to live so free and when we hear the voices sing the book of love will open up and let us intake these broken wings you got to learn to fly learn to live and live so free when we hear the voices sing the book of love will open up for us and let us in yeah yeah yeah yeah oh ",1
6,"how will i know","whitney houston",1986," theres a boy i know hes the one i dream of looks into my eyes takes me to the clouds above mm mm oh i lose control cant seem to get enough uh huh when i wake from dreaming tell me is it really love ooohow will i know dont trust your feelings how will i know how will i know love can be deceiving how will i know how will i know if he really loves mei say a prayer with every heart beat i fall in love whenever we meet im asking you what you know about these things how will i know if hes thinking of me i try to phone but im too shy cant speak falling in love is so bitter sweet this love is strong why do i feel weakoh wake me im shaking wish i had you near me now uh huh said theres no mistaking what i feel is really love ooo tell mehow will i know dont trust your feelings how will i know how will i know love can be deceiving how will i knowhow will i know if he really loves me i say a prayer with every heart beat i fall in love whenever we meet im asking you what you know about these things how will i know if hes thinking of me i try to phone but im too shy cant speak falling in love is so bitter sweet this love is strong why do i feel weakif he loves me if he loves me not if he loves me ooo if he loves me not if he loves me if he loves me nothow will i know how will i know how will i know hey how will i know how will i knowhow will i know if he really loves me i say a prayer with every heart beat i fall in love whenever we meet im asking you cause you know about these things how will i know if hes thinking of me i try to phone but im too shy cant speak falling in love is so bitter sweet this love is strong why do i feel weakhow will i know how will i know how will i know how will i know ooo how will i know how will i know hey how will i know how will i know ",1
7,"party all the time","eddie murphy",1986," girl i cant understand it why you want to hurt me after all the things ive done for you i buy you champagne and roses and diamonds on your finger  diamonds on your finger  still you hang out all night what am i to domy girl wants to party all the timeparty all the time party all the time my girl wants to party all the time party all the timeshe parties all the time  party all the timeshe likes to party all the time  party all the timeparty all the time  she likes to party all the timeparty all the timegirl ive seen you in clubs just hanging out and dancing you give your number to every man you see you never come home at night because youre out romancing i wish you bring some of your love home to mebut my girl wants to party all the time    my girl wants to party all the time   party party party she likes to party all the time she likes to party all the time  she lets her hair down she lets her body down she lets her body she lets her body down party all the time  do you wanna get any party yeah party all the time  party all the time ",1
8,"burning heart","survivor",1986," two worlds collide rival nations its a primitive clash venting years of frustrations bravely we hope against all hope there is so much at stake seems our freedoms up against the ropes does the crowd understand is it east versus west or man against man can any nation stand alonein the burning heart just about to burst theres a quest for answers an unquenchable thirst in the darkest night rising like a spire in the burning heart the unmistakable firein the burning heartin the warrious code theres no surrender though his body says stop his spirit cries never deep in our soul a quiet ember know its you against you its the paradox that drives us on its a battle of wills in the heat of attack its the passion that kills the victory is yours alonein the burning heart just about to burst theres a quest for answers an unquenchable thirst in the darkest night rising like a spire in the burning heart the unmistakable firein the burning heart just about to burst theres a quest for answers an unquenchable thirst in the darkest night rising like a spire in the burning heart the unmistakable firein the burning heart just about to burst theres a quest for answers an unquenchable thirst in the darkest night rising like a spire in the burning heart the unmistakable firein the burning heart ",1
9,"kyrie","mr mister",1986," kyrie eleison kyrie eleison kyriethe wind blows hard against this mountain side across the sea into my soul it reaches into where i cannot hide setting my feet upon the roadmy heart is old it holds my memories my body burns a gemlike flame somewhere between the soul and soft machine is where i find myself againkyrie eleison down the road that i must travel kyrie eleison through the darkness of the night kyrie eleison where im going will you follow kyrie eleison on a highway in the lightwhen i was young i thought of growing old of what my life would mean to me would i have followed down my chosen road or only wished what i could bekyrie eleison down the road that i must travel kyrie eleison through the darkness of the night kyrie eleison where im going will you follow kyrie eleison on a highway in the light  ",1
10,"addicted to love","robert palmer",1986," your lights are on but youre not home your mind is not your own your heart sweats your body shakes another kiss is what it takesyou cant sleep you cant eat theres no doubt youre in deep your throat is tight you cant breathe another kiss is all you needwhoa you like to think that youre immune to the stuff oh yeah its closer to the truth to say you cant get enough you know youre gonna have to face it youre addicted to loveyou see the signs but you cant read youre running at a different speed your heart beats in double time another kiss and youll be mine a one track mindyou cant be saved oblivion is all you crave if theres some left for you you dont mind if you dowhoa you like to think that youre immune to the stuff oh yeah its closer to the truth to say you cant get enough you know youre gonna have to face it youre addicted to lovemight as well face it youre addicted to love might as well face it youre addicted to love might as well face it youre addicted to love might as well face it youre addicted to love might as well face it youre addicted to loveyour lights are on but youre not home your will is not your own youre heart sweats and teeth grind another kiss and youll be minewhoa you like to think that youre immune to the stuff oh yeah its closer to the truth to say you cant get enough you know youre gonna have to face it youre addicted to lovemight as well face it youre addicted to love might as well face it youre addicted to love might as well face it youre addicted to love might as well face it youre addicted to love might as well face it youre addicted to love ",1
11,"greatest love of all","whitney houston",1986," i believe the children are our are future teach them well and let them lead the way show them all the beauty they possess inside give them a sense of pride to make it easier let the childrens laughter remind us how we used to be everybody searching for a hero people need someone to look up to i never found anyone who fulfill my needs a lonely place to be so i learned to depend on mei decided long ago never to walk in anyones shadows if i fail if i succeed at least ill live as i believe no matter what they take from me they cant take away my dignity because the greatest love of all is happening to me i found the greatest love of all inside of me the greatest love of all is easy to achieve learning to love yourself it is the greatest love of alli believe the children are our future teach them well and let them lead the way show them all the beauty they possess inside give them a sense of pride to make it easier let the childrens laughter remind us how we used to bei decided long ago never to walk in anyones shadows if i fail if i succeed at least ill live as i believe no matter what they take from me they cant take away my dignity because the greatest love of all is happening to me i found the greatest love of all inside of me the greatest love of all is easy to achieve learning to love yourself it is the greatest love of all ",1
12,"secret lovers","atlantic starr",1986," here we are the two of us together taking this crazy chance to be all alone we both know that we should not be together cause if they found out it could mess up both our happy homesi hate to think about us all meeting up together cause soon as i looked at you it would show on my face yeah then theyll know that weve been loving each other we can never no no no no we cant leave a tracesittin at home i do nothing all day but think about you and hope that youre okay hoping youll call before anyone gets home ill wait anxiously alone by the phonehow could something so wrong be so right i wish we didnt have to keep our love out of sight yeah living two lives just aint easy at all but we gotta hang on and after fallsecret lovers yeah thats what we are trying so hard to hide the way we feel cause we both belong to someone else but we cant let it go cause what we feel is oh so real so real so realyou and me are we fair is this cruel or do we care can they tell thats in our minds maybe theyve had secret love all of the timein the middle of makin love we notice the time we both get nervous cause its way after nine even though we hate it we know its time that we go we gotta be careful so that no one will knowsecret lovers yeah thats what we are we shouldnt be together but we cant let it go cause what we feel is oh so real so real so real so real so real ",1
13,"friends and lovers","gloria loring and carl anderson",1986,"what would you say if i told you ive always wanted to hold you i dont know what were afraid of nothing would change if we made love so ill be your friend and ill be your lover cause i know in our hearts we agree we dont have to be one or the other oh no we could be both to each other and yes its a chance that were taking somebodys heart may be breaking but we cant stop whats inside us our love for each other will guide us so ill be your friend and ill be your lover cause i know in our hearts we agree we dont have to be one or the other ive been through you and youve been through me and sometimes a friend is the hardest to see but we always know when its laid on the line nobody else is as easy to find so ill be your friend and ill be your lover cause ill be your friend and ill be your lover cause i know in our hearts we agree we dont have to be one or the other oh no we could be both to each other",3
14,"glory of love","peter cetera",1986," tonight its very clear as were both lying here theres so many things i want to say i will always love you i would never leave you alonesometimes i just forget say things i might regret it breaks my heart to see you crying i dont wanna lose you i could never make it alonei am a man who will fight for your honor ill be the hero youre dreaming of well live forever knowing together that we did it all for the glory of loveyou keep me standing tall you help me through it all im always strong when youre beside me i have always needed you i could never make it alonei am a man who will fight for your honor ill be the hero youve been dreaming of well live forever knowing together that we did it all for the glory of lovejust like a knight in shining armor from a long time ago just in time i will save the day take you to my castle far awayi am a man who will fight for your honor ill be the hero that youre dreaming of were gonna live forever knowing together that we did it all for the glory of lovewell live forever knowing together that we did it all for the glory of lovewe did it all for love we did it all for love we did it all for love we did it all for love ",1
15,"west end girls","pet shop boys",1986," foreversometimes youre better off dead theres gun in your hand and its pointing at your head you think youre mad too unstable kicking in chairs and knocking down tablesin a restaurant in a west end town call the police theres a madman around running down underground to a dive bar in a west end townin a west end town a dead end world the east end boys and west end girls in a west end town a dead end world the east end boys and west end girls the west end girlstoo many shadows is whispering voices faces on posters too many choices if when or why what how much have you got have you got it do you get it if so how often which do you choose a hard or soft option how much do you needin a west end town a dead end world the east end boys and west end girls in a west end town a dead end world the east end boys and west end girls the west end girls the west end girlsin a west end town a dead end world the east end boys and west end girls west end town a dead end world east end boys west end girls the west end girlsyouve got a heart of glass or a heart of stone just you wait till i get you home weve got no future weve got no past here today built to last in every city and in every nation from lake geneva to the finland station how far have you beenand a west end town a dead end world the east end boys and west end girls a west end town a dead end world east end boys west end girlsthe west end girls the west end girls the west end girls how far have you beengirls east end boys ",1
16,"therell be sad songs to make you cry","billy ocean",1986," sometimes i wonder by the look in your eyes when im standing beside you theres a fever burning deep inside is there another in your memory do you think of that someone when you hear that special melodyi always stop and think of you especially when the words of a love song touch the very heart of metherell be sad songs to make you cry love songs often do they can touch the heart of someone new saying i love youi often wonder how it could be you loving me two hearts in perfect harmony i count the hours until that day a rhapsody plays a melody for you and meuntil the moment when you give your love to me youre the one i care for the one that i will wait fortherell be sad songs to make you cry love songs often do they can touch the heart of someone new saying i love youtherell be sad songs to make you cry love songs often do they can touch the heart of someone new saying i love youyoure my desire you take me higher my love is like a river running so deepi always stop and think of you especially when the words of a love song touch the very heart of metherell be sad songs to make you cry love songs often do they can touch the heart of someone new saying i love youtherell be sad songs to make you cry love songs often do they can touch the heart of someone new saying i love yousaying i love you i love you ",1
17,"alive and kicking","simple minds",1986," you turn me on you lift me up like the sweetest cup id share with you you lift me up dont you ever stop im here with you now its all or nothing cause you say youll follow through you follow me and i i i follow youwhat you gonna do when things go wrong what you gonna do when it all cracks up what you gonna do when the love burns down what you gonna do when the flames go upwho is gonna come and turn the tide whats it gonna take to make a dream survive whos got the touch to calm the storm inside whos gonna save youalive and kicking stay until your love is alive and kicking stay until your love is until your love is aliveoh you lift me up to the crucial top so i can see oh you lead me on till the feelings come and the lights that shine on but if that dont mean nothing like if someday it should fall through youll take me home where the magics from and ill be with youwhat you gonna do when things go wrong what you gonna do when it all cracks up what you gonna do when the love burns down what you gonna do when the flames go upwho is gonna come and turn the tide whats it gonna take to make a dream survive whos got the touch to calm the storm inside dont say goodbye dont say goodbye in the final seconds whos gonna save youoh alive and kicking stay until your love is love is alive and kicking oh alive and kicking stay until your love is love is alive and kickingalive and kicking stay until your love is alive and kicking stay until your love is alive and kicking ",1
18,"never","heart",1986," hey baby im talking to you stop yourself and listen somethings you can never choose even if you try yeahyoure bangin your head again cause somebody wont let you in one chance one love your chance to let me knowwe cant go on just running away if we stay any longer we will surely never get awayanything you want we can make it happen stand up and turn around never let them shoot us downnever never never never run awayhey baby you know its true why you bother lying when you know that you want it too dont you dare deny menow walk those legs right over here give me what im dying for one chance one love hold me down never let me gowe cant go on just running away if we wait any longer we will surely never get awayanything you want we can make it happen stand up and turn around never let them shoot us downnever never never never run awaynever never never never run awayhey baby im talking to you stop yourself and listen somethings you can never never choose even if you try yeahyoure bangin your head again cause somebody wont let you in one chance one love your chance to let me knowwe cant go on just running away if we stay any longer we will surely never get awaynever never we cant go on never we cant go on nevernever never we cant go on never we cant go on never ",1
19,"kiss","prince and the revolution",1986," you dont have to be beautiful to turn me on i just need your body baby from dusk till dawn you dont need experience to turn me out you just leave it all up to me im gonna show you what its all aboutyou dont have to be rich to be my girl you dont have to be cool to rule my world aint no particular sign im more compatible with i just want your extra time and yourkiss oh oh    meaning  byamandah   editor    fact prince did not intend to record kiss it was originally penned by him for funk band mazarati with more of a blues feel after putting their unique    see all   you got to not talk dirty baby if you want to impress me you cant be to flirty mama i know how to undress me yeah i want to be your fantasy maybe you could be mine you just leave it all up to me we could have a good timedont have to be rich to be my girl dont have to be cool to rule my world aint no particular sign im more compatible with i just want your extra time and yourkiss yes oh oh ohah i think i want to dance uhh ooohh gotta gotta oh little girl wendys parade gotta gotta gottawomen not girls rule my world i said they rule my world act your age mama not your shoe size not your shoe size maybe we could do the twirl you dont have to watch dynasty to have an attitude you just leave it all up to me my love will be your food yeahyou dont have to be rich to be my girl you dont have to be cool to rule my world aint no particular sign im more compatible with i just want your extra time and yourkiss ",1
20,"higher love","steve winwood",1986," think about it there must be higher love down in the heart or hidden in the stars above without it life is a wasted time look inside your heart ill look inside minethings look so bad everywhere in this whole world what is fair we walk blind and we try to see falling behind in what could bebring me a higher love bring me a higher loveoh bring me a higher love wheres that higher love i keep thinking ofworlds are turning and were just hanging on facing our fear and standing out there alone a yearning and its real to me there must be someone whos feeling for methings look so bad everywhere in this whole world what is fair we walk blind and we try to see falling behind in what could bebring me a higher love bring me a higher love oh bring me a higher love wheres that higher love i keep thinking ofbring me a higher love bring me a higher love oh bring be a higher love i could rise above on a higher lovei will wait for it im not too late for it until then ill sing my song to cheer the night along bringi could light the night up with my soul on fire i could make the sun shine from pure desire let me feel that love come over me let me feel how strong it could beoh bring me a higher love bring me a higher love oh bring me a higher love wheres that higher love i keep thinking ofbring bring oh whoa bring a higher love i say bring it i said bring it bring me a higher lovewhoa whoa whoa bring me higher love bring me higher love bring that love bring me higher love oh oh i said bring oh yeah bring me higher love higher higher higher oh yeah higher love bring me higher love ",1
21,"stuck with you","huey lewis and the news",1986,"weve had some fun and yes weve had our ups and downs been down that rocky road but here we are still around we thought about someone else but neither one took the bait you thought about breakin up now we know its much too late we are bound by all the rest like the same phone number all the same friends and the same address yes its true i am happy to be stuck with you yes its true ah im so happy to be stuck with you cause i can see that youre happy to be stuck with me weve had our doubts we never took them seriously and weve had our ins and outs but thats the way its supposed to be we thought about givin up but we could never stay away thought about breakin up but now we know its much too late and its no great mystery if we change our minds eventually its back to you and me yes its true i am happy to be stuck with you yes its true ah im so happy to be stuck with you cause i can see that youre happy to be stuck with me we are bound by all the rest like the same phone number all the same friends and the same address yes its true i am happy to be stuck with you yes its true ah im so happy to be stuck with you cause i can see that youre happy to be stuck with me o im so happy to be stuck with you im happy to be stuck with you happy to be stuck with you",3
22,"holding back the years","simply red",1986," holding back the years thinking of the fear ive had for so long when somebody hears listen to the fear thats gonestrangled by the wishes of pater hoping for the arm of mater get to me sooner or laterholding back the years chance for me to escape from all i know holding back the tears cause nothing here has grownive wasted all my tears wasted all those years nothing had the chance to be goodnothing ever could yeah ill keep holding on ill keep holding on ill keep holding on ill keep holding on so tightive wasted all my tears wasted all those years and nothing had the chance to be good nothing ever couldill keep holding on ill keep holding on ill keep holding on ill keep holding on holding holding holding yeahi say its all i have today its all i have to say ",1
23,"sledgehammer","peter gabriel",1986," you could have a steam train if youd just lay down your tracks you could have an aeroplane flying if you bring your blue sky backall you do is call me ill be anything you needyou could have a big dipper going up and down all around the bends you could have a bumper car bumping this amusement never endsi want to be your sledgehammer why dont you call my name oh let me be your sledgehammer this will be my testimony show me round your fruit cakes cause i will be your honey bee open up your fruit cakes where the fruit is as sweet as can bei want to be your sledgehammer why dont you call my name youd better call the sledgehammer put your mind at rest im going to bethe sledgehammer this can be my testimony im your sledgehammer let there be no doubt about itsledge sledge sledgehammeri kicked the habit i kicked the habit shed my skin shed my skin this is the new stuff this is the new stuff i go dancing in we could go dancing in oh wont you show for me show for me i will show for you show for you show for me show for me i will show for youyea yeah yeah yeah yeah yeah i do mean you only you youve been coming through going to build that power build build up that power hey ive been feeding the rhythm ive been feeding the rhythm going to feel that power build in youcome on come on help me do yeah yeah yeah yeah yeah yeah yeah yeah you ive been feeding the rhythm ive been feeding the rhythm its what were doing doing all day and night come on and help me do come on and help me do ",1
24,"sara","starship",1986," go now dont look back weve drawn the line move on its no good to go back in timeill never find another girl like you for happy endings it takes two were fire and ice the dream wont come truesara sara storms are brewin in your eyes sara sara no time is a good time for goodbyesdanger in the game when the stakes are high branded my heart was branded while my senses stood byill never find another girl like you for happy endings it takes two were fire and ice the dream wont come truesara sara storms are brewin in your eyes sara sara no time is a good time oh sara sara storms are brewin in your eyes sara sara no time is a good time for goodbyescause sara loved me like no one has ever loved me before and sara hurt me no one could ever hurt me more and sara sara nobody loved me anymoreill never find another girl like you no were fire and ice and a dreamsara sara sara no time is a good time ohsara sara storms are brewin in your eyes sara sara no time is a good time for good byes sara sara storms are brewin in your eyes sara sara no time like the first time sara sara ooh sara why did it why did it why did it all fall apart sara sara uh sara sara ",1
25,"human","the human league",1986,"put your hand in a party wave pass aroundbr  make a shroud pulling combs through a backwash framebr  find the copies in a carbon mount pass aroundbr  stroke a pocket with a print of a laughing soundbr  br  get around town get around townbr  where the people look good where the music is loudbr  get around town no need to stand proudbr  add your voice to the sound of the crowdbr  br  the shades from a pencil peer pass aroundbr  a fold in an eyelid brushed with fearbr  the lines on a compact guide pass aroundbr  the hat with alignment worn insidebr  br  get in line now get in line nowbr  stay in time with the rhythm and rhymebr  get around town get around townbr  where the people look good where the music is loudbr  get around town no need to stand proudbr  add your voice to the sound of the crowdbr  br  get in line now get in line nowbr  stay in time with the rhythm and rhymebr  get around town get around townbr  where the people look good where the music is loudbr  get around town no need to stand proudbr  add your voice to the sound of the crowdbr  br  get in line now get in line nowbr  stay in time with the rhythm and rhymebr  get around town get around townbr  where the people look good where the music is loudbr  get around town no need to stand proudbr  add your voice to the sound of the crowd",3
26,"i cant wait","nu shooz",1986,NA,NA
27,"take my breath away","berlin",1986," watching every motion in my foolish lovers game on this endless ocean finally lovers know no shame turning and returning to some secret place inside watching in slow motion as you turn around and saytake my breath away take my breath awaywatching i keep waiting still anticipating love never hesitating to become the fated ones turning and returning to some secret place to hide watching in slow motion as you turn to me and say my lovetake my breath awaythrough the hourglass i saw you in time you slipped away when the mirror crashed i called you and turned to hear you say if only for today i am unafraidtake my breath away take my breath awaywatching every motion in this foolish lovers game haunted by the notion somewhere theres a love in flames turning and returning to some secret place inside watching in slow motion as you turn my way and saytake my breath away my love take my breath away my love take my breath away my love take my breath away ",1
28,"rock me amadeus","falco",1986," ooh rock me amadeus rock me amadeus rock me amadeus rock me all the time to the toper war ein punker he was a punker und er lebte in der grossen stadt and he lived in the big cityes war in wien war vienna it was vienns was vienna wo er alles tat where he did everythinger hatte schulden denn er trank he had debts for he drank doch ihn liebten alle frauen but all the women loved himund jede rief and they shouted come and rock me amadeuser war superstar he was a superstar er war populr he was popularer war so exaltiert he was so exalted genau das war sein flair exactly that was his flairbecause er hatte flair because he had flair er war allen nur zu gross he was too big for aller war ein virtuose he was a virtuoso war ein rockidol was a rock idolund alles ruft noch heute and all still call today und alles rief and everyone shouted come and rock me amadeusamadeus amadeus amadeus amadeus amadeus amadeus amadeus amadeus oh oh oh amadeus come and rock me amadeusamadeus amadeus amadeus amadeus amadeus amadeus amadeus amadeus oh oh oh amadeuses war um 1780 it was around 1780 und es war in wien and it was in vienna no plastic money anymoredie banken gegen ihn the banks against him woher die schulden kamen from which his debt camewar wohl jedermann bekannt it was common knowledge er war ein mann der frauen he was a womans manfrauen liebten seinen punk women loved his punker war superstar he was a superstar er war populr he was popularer war so exaltiert he was so exalted because er hatte flair because he had flairer war ein virtuose he was a virtuoso war ein rockidol was a rock idolund alles rief and everyone shouted come and rock me amadeusamadeus amadeus amadeus amadeus amadeus amadeus amadeus amadeus oh oh oh amadeus come and rock me amadeusamadeus amadeus amadeus amadeus amadeus amadeus amadeus amadeus oh oh oh amadeus come and rock me amadeusbaby baby do it to me rock me baby baby do it to me rock me baby baby do it to me rock me yeah yeah yeah owbaby baby do it to me rock me baby baby do it to me rock me baby baby do it to me rock me come and rock me amadeus yowamadeus amadeus amadeus amadeus amadeus amadeus amadeus amadeus oh oh oh amadeusamadeus amadeus amadeus amadeus amadeus amadeus amadeus amadeus oh oh oh amadeus amadeusdeusdeusdeus ",1
29,"papa dont preach","madonna",1986," ",1
30,"you give love a bad name","bon jovi",1986," shot through the heart and youre to blame darlin you give love a bad namean angels smile is what you sell you promise me heaven then put me through hell chains of love got a hold on me when passions a prison you cant break freeoh youre a loaded gun yeah oh theres nowhere to run no one can save me the damage is doneshot through the heart and youre to blame you give love a bad name bad name i play my part and you play your game you give love a bad name bad name hey you give love a bad namepaint your smile on your lips blood red nails on your fingertips a school boys dream you act so shy your very first kiss was your first kiss goodbyewhoa youre a loaded gun whoa theres nowhere to run no one can save me the damage is doneshot through the heart and youre to blame you give love a bad name bad name i play my part and you play your game you give love a bad name bad name you give love ohoh shot through the heart and youre to blame you give love a bad name i play my part and you play your game you give love a bad name bad nameshot through the heart and youre to blame you give love a bad name bad name i play my part and you play your game you give love a bad name bad nameyou give love you give love bad name you give love oh oh oh oh oh you give love bad nameyou give love you give love bad name you give love you give love ",1
31,"when the going gets tough the tough get going","billy ocean",1986," when the going gets tough the tough get going tough tough when the going gets tough the tough get readyi got something to tell you i got something to say im gonna put this dream in motion never let nothing stand in my way when the going gets touch the tough get goingwell im gonna get myself cross the river thats the price im willing to pay im gonna make you stand and deliver and give me love in the oldfashion waydarlin ill climb any mountain darlin ill do anythingoh can i touch you and do the things that lovers do oh wanna hold you i gotta get it through to you ohwhen the going gets tough the tough get going when the going gets rough the tough get rough hey hey hey oh babyim gonna buy me a oneway ticket nothins gonna hold me back your loves like a slow train coming and i feel it coming down the trackdarlin ill climb any mountain darlin ill do anythingooh can i touch you and do the things that lovers do ooh wanna hold you i gotta get it through to youcos when the going gets tough the tough get going when the going gets rough the tough get roughdarlin ill climb any mountain darlin ill swim any sea darlin ill reach for the heaven darlin with you lovin meoh can i touch you and do the things that lovers do oh wanna hold you i gotta get it through to youwhen the going gets tough going get rough when the going gets tough going get rough when the going gets tough going get rough ",1
32,"when i think of you","janet jackson",1986," ooh baby anytime my world gets crazy all i have to do to calm it is just think of youcause when i think of you baby nothin else seems to matter cause when i think of you baby all i think about is our lovei just get my heart attached to you when you hold me in your arms and squeeze me and you leave me making me bluecause when i think of you baby nothin else seems to matter cause when i think of you baby all i think about is our loveso in love so in love ooh so in love with you so in love baby so in loveooh so in love hee so in lovewith you so in love so in lovewhen i think of youwhen i think of you when i think of you when i think of you bassimso in love i just think of you if youre not around ohwhen i think of you so in love ooh so in love so in love so in love with you so in love baby ooh so in love ooh so in love so in love so in love with you so in lovebreakah hahaha feels so good when i think of you yeah yeahamm ",1
33,"these dreams","heart",1986," spare a little candle save some light for me figures up ahead moving in the trees white skin in linen perfume on my wrist and the full moon that hangs over these dreams in the mistdarkness on the edge shadows where i stand i search for the time on a watch with no hands i want to see you clearly come closer than this but all i remember are the dreams in the mistthese dreams go on when i close my eyes every second of the night i live another life these dreams that sleep when its cold outside every moment im awake the further im awayis it cloak n dagger could it be spring or fall i walk without a cut through a stained glass wall weaker in my eyesight the candle in my grip and words that have no form are falling from my lipsthese dreams go on when i close my eyes every second of the night i live another life these dreams that sleep when its cold outside every moment im awake the further im awaytheres something out there i cant resist i need to hide away from the pain theres something out there i cant resistthe sweetest song is silence that ive ever heard funny how your feet in dreams never touch the earth in a wood full of princes freedom is a kiss but the prince hides his face from dreams in the mistthese dreams go on when i close my eyes every second of the night i live another life these dreams that sleep when its cold outside every moment im awake the further im awaythese dreams go on when i close my eyes every second of the night i live another life these dreams that sleep when its cold outside every moment im awake the further im away ",1
34,"dont forget me when im gone","glass tiger",1986," you take my breath away oh love thinks its here to stay oh theres still so much for me to do and i cant stop loving you oh can this be trueif you could see what i have seen oh the broken hearts and broken dreams oh then i wake up and youre not there pain finds me everywhere oh but you dont caredont forget me when im gone my heart would break i have loved you for so long its all i can takeyou you take my breath away oh love thinks its here to stay oh theres still so much for me to do and i cant stop loving you oh can this be truedont forget me when im gone my heart would break i have loved you for so long its all i can takethen i wake up and youre not there pain finds me everywhere oh but you dont caredont forget me when im gone for heavens sake i have loved you for so long its nothin wrongso dont forget me when im gone my heart would break i have loved you for so long its nothin wrong ",1
35,"live to tell","madonna",1986," i have a tale to tell sometimes it gets so hard to hide it well i was not ready for the fall too blind to see the writing on the walla man can tell a thousand lies ive learned my lesson well hope i live to tell the secret i have learned till then it will burn inside of mei know where beauty lives ive seen it once i know the warm she gives the light that you could never see it shines inside you cant take that from mea man can tell a thousand lies ive learned my lesson well hope i live to tell the secret i have learned till then it will burn inside of methe truth is never far behind you kept it hidden well if i live to tell the secret i knew then will i ever have the chance againif i ran away id never have the strength to go very far how would they hear the beating of my heart will it grow cold the secret that i hide will i grow old how will they hear when will they learn how will they knowa man can tell a thousand lies ive learned my lesson well hope i live to tell the secret i have learned till then it will burn inside of methe truth is never far behind you kept it hidden well if i live to tell the secret i knew then will i ever have the chance againa man can tell a thousand lies ive learned my lesson well hope i live to tell the secret i have learned till then it will burn inside of me ",1
36,"mad about you","belinda carlisle",1986," im mad about you youre mad about me babe couple of fools run wild arent wepushing the day into the night time somewhere between the two we start to seemad about you mad about you lost in your eyes reason aside mad about love mad about you you and isomething bout you right here beside me touches the touched part of me like i cant believepushing the night into the daytime watching the skys first light while the city sleepsmad about you mad about you lost in your eyes reason aside mad about love mad about you you and imad about you mad about you lost in your eyes reason aside mad about love mad about you you and iim mad about you youre mad about me babe couple of fools run wild arent wemad about you mad about you lost in your eyes reason aside mad about love mad about you you and i  ",1
37,"something about you","level 42",1986," ohhh ohhh ohhh ohhh ohhh ohhh ohhh ohhh ohhh ohhh ohhh ohhh ohhh ohhh ohhh ohhhhow how can it be that a love carved out of caring fashioned by fate could suffer so hard from the games played once too often but making mistakes is a part of lifes imperfections born of the years is it so wrong to be human after allohhh drawn into the stream of undefined illusion those diamond dreams they cant disguise the truththat there is somethin about you baby so right i wouldnt be without you baby tonightif ever our love was concealed no one can say that we didnt feel million things and a perfect dream of life gone fragile but free we remain tender together not so in love its not so wrong were only human after allthese changing years they add to your confusion oh and you need to hear the time that told the truthbecause theres somethin about you the way you are so right baby i couldnt live without you i couldnt live without you baby here tonightohhh ohhh ohhh ohhh ohhh ohhh ohhh ohhh ohhh ohhh ohhh ohhh ohhh ohhh ohhh ohhhand now theres somethin about you yea ohhh ohhh ohhh ohhh ohhh ohhh ohhh ohhh and i couldnt live without you tonight ohhh ohhh ohhh ohhh ohhh ohhh ohhh ohhh ",1
38,"venus","bananarama",1986," goddess on the mountain top burning like a silver flame the summit of beauty and love and venus was her nameshes got it yeah baby shes got it im your venus im your fire at your desire well im your venus im your fire at your desireher weapons were her crystal eyes making every man mad black as the dark night she was got what noone else had washes got it yeah baby shes got it im your venus im your fire at your desire well im your venus im your fire at your desiregoddess on the mountain top burning like a silver flame the summit of beauty and love and venus was her nameshes got it yeah baby shes got it im your venus im your fire at your desire well im your venus im your fire at your desire ",1
39,"dancing on the ceiling","lionel richie",1986," what is happening here somethings going on thats not quite clear somebody turn on the lights were gonna have a party its starting tonightoh what a feeling when were dancing on the ceiling oh what a feeling when were dancing on the ceilingthe room is hot and thats good some of my friends came by from the neighborhood the people startin a climb the walls ooh it looks like everybody is having a balloh what a feeling when were dancing on the ceiling oh what a feeling when were dancing on the ceilingoh what a feeling when were dancing on the ceiling oh what a feeling when were dancing on the ceilingcome oneverybody start to lose control when the music is right if you see somebody hangin around dont get uptight the only thing we want to do tonight is go round and round and turn upside down come on lets get downso come on lets get loose dont hold back cause aint no use hard to keep your feet on the ground cause when we like to party we only want to get downoh what a feeling when were dancing on the ceiling oh what a feeling when were dancing on the ceilingoh what a feeling when were dancing on the ceiling oh what a feeling when were dancing on the ceilingsay what cant stop now just getting started everybody clap your hands come on everybody lets danceoh oh oh ohoh what a feeling when were dancing on the ceiling oh what a feeling when were dancing on the ceilingoh what a feeling when were dancing on the ceiling baby baby we gonna dance all night ",1
40,"conga","miami sound machine",1986," come on shake your body baby do the conga i know you cant control yourself any longer come on shake your body baby do the conga i know you cant control yourself any longercome on shake your body baby do the conga i know you cant control yourself any longer feel the rhythm of the music getting stronger dont you fight it til you tried it do that conga beateverybody gather round now let your body feel the heat dont you worry if you cant dance let the music move your feet its the rhythm of the island and like the sugar cane so sweet if you want to do the conga youve got to listen to the beatcome on shake your body baby do the conga i know you cant control yourself any longer feel the rhythm of the music getting stronger dont you fight it til you tried it do that conga beatfeel the fire of desire as you dance the night away cause tonight were gonna party til we see the break of day better get yourself together and hold on to what youve got once the music hits your system theres no way your gonna stopcome on shake your body baby do the conga i know you cant control yourself any longer feel the rhythm of the music getting stronger dont you fight it til you tried it do that conga beatcome on shake your body baby do the conga i know you cant control yourself any longer feel the rhythm of the music getting stronger dont you fight it til you tried it do that conga beatcome on shake your body baby do the conga i know you cant control yourself any longer feel the rhythm of the music getting stronger dont you fight it til you tried it do that conga beat come on shake your body baby do the conga ",1
41,"true colors","cyndi lauper",1986," you with the sad eyes dont be discouraged oh i realize its hard to take courage in a world full of people you can lose sight of it all and the darkness inside you can make you feel so smallbut i see your true colors shining through i see your true colors and thats why i love you so dont be afraid to let them show your true colors true colors are beautiful like a rainbowshow me a smile then dont be unhappy cant remember when i last saw you laughing if this world makes you crazy and youve taken all you can bear you call me up because you know ill be thereand ill see your true colors shining through i see your true colors and thats why i love you so dont be afraid to let them show your true colors true colors are beautiful like a rainbowwhen i last saw you laughing if this world makes you crazy and youve taken all you can bear you call me up because you know ill be thereand ill see your true colors shining through i see your true colors and thats why i love you so dont be afraid to let them showyour true colors true colors true colors shining throughi see your true colors and thats why i love you so dont be afraid to let them show your true colors true colors are beautiful like a rainbow ",1
42,"danger zone","kenny loggins",1986," revvin up your engine listen to her howlin roar metal under tension beggin you to touch and gohighway to the danger zone ride into the danger zoneheadin into twilight spreadin out her wings tonight she got you jumpin off the deck and shovin into overdrivehighway to the danger zone ill take you right into the danger zoneyoull never say hello to you until you get it on the red line overload youll never know what you can do until you get it up as high as you can goout along the edges always where i burn to be the further on the edge the hotter the intensityhighway to the danger zone gonna take it right into the danger zone highway to the danger zone ride into the danger zonehighway to the danger zone gonna take it right into the danger zone highway to the danger zone ride into the danger zonehighway to the danger zone gonna take it right into the danger zone highway to the danger zone ride into the danger zone  ",1
43,"what have you done for me lately","janet jackson",1986," used to be a time when you would pamper me usta brag about it all the time your friends seem to think that youre so peachy keen but my friends say neglect is on your mind  whos rightwhat have you done for me lately ooh ooh ooh yeah what have you done for me lately ooh ooh ooh yeahused to go to dinner almost every night dancin til i thought id lose my breath now it seems your dancing feet are always on my couch good thing i cook or else wed starve to death  aint that a shamewhat have you done for me lately ooh ooh ooh yeah what have you done for me lately ooh ooh ooh yeahi never ask for more than i deserve you know its the truth you seem to think youre gods gift to this earth im tellin you no wayyou ought to be thankful for the little things but little things are all you seem to give youre always putting off what we could do today soap opera says youve got one life to live whos right whos wrongwhat have you done for me lately ooh ooh ooh yeahooh ooh ooh yeahget wit ituh what have you done for me lately ooh ooh ooh yeah ooh ooh ooh yeahthis is wild i swear ",1
44,"no one is to blame","howard jones",1986," you can look at the menu but you just cant eat you can feel the cushion but you cant have a seat you can dip your foot in the pool but you cant have a swim you can feel the punishment but you cant commit the sinand you want her and she wants you we want everyone and you want her and she wants you no one no one no one ever is to blame you can build a mansion but you just cant live in it youre the fastest runner but youre not allowed to win some break the rules and let you cut the cost the insecurity is the thing that wont get lostand you want her and she wants you we want everyone and you want her and she wants you no one no one no one ever is to blameyou can see the summit but you cant reach it its the last piece of the puzzle but you just cant make it fit doctor says youre cured but you still feel the pain aspirations in the clouds but your hopes go down the drainand you want her and she wants you we want everyone and you want her and she wants you no one no one no one ever is to blameno one ever is to blame no one ever is to blame ",1
45,"lets go all the way","sly fox",1986," sitting with the thinker trying to work it out its a traffic jam of the brain makes you want to scream and shoutpresidential party no one wants to dance looking for a new star to put you in a trancelets go all the way lets go all the way yeah yeah yeah yeah yeah lets go all the wayworkin in a factory eight days a week try to make dollar damn what a beatcartoon capers happen in reality rich man poor man livin in fantasylets go all the way lets go all the way lets go all the wayyeah yeah yeahlivin in new york looks like an apple core apple core asphalt jungle got to be a man of warcalifornia dreamers sinkin in the sand the sand the sand the hollywood squares are living in disney landlets go all the way lets go all the way lets go all the way lets go all the waywe can make a better way lets go all the way go all the way lets go all the way yeahna na na na na na na na na  ",1
46,"i didnt mean to turn you on","robert palmer",1986," when i took you out i knew what you were all about but when i did i didnt mean to turn you onnow i bring you home you told me goodnights not enough for you im sorry baby i didnt mean to turn you on no i didnt mean to turn you onyou read me wrong i wasnt trying to lead you on not like you think i didnt mean to turn you oni know you expecting a one night stand when i refused i knew you wouldnt understand im sorry baby i didnt mean to turn you oni told you twice i was only trying to be nice only trying to be nice ooh i didnt mean to turn you onbabe now why should i feel guilty cause i wont give guilty cause i wont give in i didnt mean to turn you on ooh i didnt mean to turn you onwhen i took you out i knew what you were all about but when i did i didnt mean to turn you on no i didnt mean to turn you oni didnt mean to turn you on i didnt mean to turn you on i didnt mean to turn you on  ",1
47,"words get in the way","miami sound machine",1986," i realize youre seein someone new i dont believe she knows you like i do your temperamental moody side the one you always try to hide from mebut i know when you have something on your mind youve been tryin to tell me for the longest time and before you break my heart in two theres something ive been trying to say to youbut the words get in the way theres so much i want to say but its locked deep inside and if you look in my eyes we might fall in love again wont even start to cry and before we say goodbye i tried to say i love you but the words got in the wayyour heart has always been an open door but baby i dont even know you anymore and despite the fact its hurting me i know the time has come to set you free ",1
48,"manic monday","the bangles",1986," six oclock already i was just in the middle of a dream i was kissin valentino by a crystal blue italian streambut i cant be late cause then i guess i just wont get paid these are the days when you wish your bed was already madeits just another manic monday i wish it was sunday cause thats my funday my i dont have to runday its just another manic mondayhave to catch an early train got to be to work by nine and if i had an airoplane i still couldnt make it on timecause it takes me so long just to figure out what im gonna wear blame it on the train but the boss is already thereits just another manic monday i wish it was sunday cause thats my funday my i dont have to runday its just another manic mondayall of the nights why did my lover have to pick last night to get down doesnt it matter that i have to feed the both of us employments downhe tells me in his bedroom voice cmon honey lets go make some noise time it goes so fast when youre having funits just another manic monday i wish it was sunday cause thats my funday my i dont have to runday its just another manic mondayi wish it was sunday cause thats my funday its just another manic monday ",1
49,"walk of life","dire straits",1986," here comes johnny singing oldies goldies be bop a lua baby what i say here comes johnny singing i gotta woman down in the tunnels trying to make it payhe got the action he got the motion oh yeah the boy can play dedication devotion turning all the night time into the dayhe do the song about the sweet lovin woman he do the song about the knife he do the walk do the walk of life yeah he do the walk of lifehere comes johnny gonna tell you the story hand me down my walkin shoes here come johnny with the power and the glory backbeat the talkin blueshe got the action he got the motion oh yeah the boy can play dedication devotion turning all the night time into the dayhe do the song about the sweet lovin woman he do the song about the knife then he do the walk do the walk of life yeah he do the walk of lifehere comes johnny singing oldies goldies be bop a lula baby what i say here comes johnny singing i gotta woman down in the tunnels trying to make it payhe got the action he got the motion oh yeah the boy can play dedication devotion turning all the night time into the dayand after all the violence and double talk theres just a song in all the trouble and the strife you do the walk yeah you do the walk of life you do the walk of life ",1
50,"amanda","boston",1986," babe tomorrows so far away theres something i just have to say i dont think i can hide what im feelin inside another day knowin i love youand i im getting too close again i dont want to see it end if i tell you tonight would you turn in the light walk away knowin i love youim gonna take you by surprise and make you realize amanda im gonna tell you right away i cant wait another day amanda im gonna say it like a man and make you understand amanda i love youi feel like todays the day im lookin for the words to say do you wanna be free are you ready for me to feel this way i dont wanna lose youso it may be too soon i know the feeling takes so long to grow if i tell you today will you turn me away and let me go i dont wanna lose youim gonna take you by surprise and make you realize amanda im gonna tell you right away i cant wait another day amanda im gonna say it like a man and make you understand amanda i love youyou and i i know that we cant wait and i swear i swear its not a lie girl tomorrow may be too lateyou you and i girl we can share the life together its now or never and tomorrow may be too lateand feelin feelin the way i do i dont wanna wait my whole life through to say im in love with you ",1
51,"two of hearts","stacey q",1986,"stacey q miscellaneous two of hearts two of hearts stacey q  i never said i wasnt gonna tell nobody no baby but desperate lover i cant keep it to myself oh no when were together its like hot coals in a fire oh baby my bodys burning so come on heat my desire come on come on two of hearts two hearts that beat as one two of hearts i need you i need you two of hearts two hearts that beat as one two of hearts come on come on people get jealous cuz we always stay together yeah baby i guess they really want a love like yours and mine together forever i never thought that i could ever be this happy yeah baby my prayers were answered boy you came in the nick of time ohhh i got this feeling that youre going to stay i never knew that it could happen this way before i met you i was falling apart but now at last i really know were made of chorus i never said i wasnt gonna tell nobody no baby but desperate lover i cant keep it to myself oh no when were together its like hot coals in a fire oh baby my bodys burning so come on heat my desire ohhh i got this feeling that youre going to stay i never knew that it could happen this way before i met you i was falling apart but now at last i really know were made of chorus repeat chorus from pulkkapixelgatenet",3
52,"crush on you","the jets",1986," how did you know cause i never told you found out ive got a crush on you no more charades my hearts been displayed you found out ive got a crush on youyou must have heard it from my best friend shes always talkin when she should be listenin cant keep a secret to save her life but still i trusted her with all i felt insidei never knew a rumor could spread so fast cause now the word is out all over town that im longing for youhow did you know cause i never told you found out ive got a crush on you no more charades my hearts been displayed you found out ive got a crush on youmaybe i was the one who left the trace was there a message written on my face one little emotion so easily read that you would know my love before a word was saidwas it my eyes that let you know you had control because the way you move it was so selfassured you knew i would surrenderhow did you know cause i never told you found out ive got a crush on you no more charades my hearts been displayed you found out ive got a crush on youhow did you know cause i never told you found out ive got a crush on you no more charades my hearts been displayed you found out ive got a crush on youyou found out ive got a crush on you you found out ive got a crush on you you found out ive got a crush on you you found out ive got a crush on you you found out ive got a crush on youcrush on you crush on you crush on you crush on you ",1
53,"if you leave","orchestral manoeuvres in the dark",1986," if you leave dont leave now please dont take my heart away promise me just one more night then well go our separate waysweve always had time on our sides but now its fading fast every second every moment weve got to weve gotta make it lasti touch you once i touch you twice i wont let go at any price i need you now like i needed you then you always said wed still be friends somedayif you leave i wont cry i wont waste one single day but if you leave dont look backill be running the other way seven years went under the bridge like time was standing still heaven knows what happens now youve got to youve gotta say you willi touch you once i touch you twice i wont let go at any price i need you now like i need you then you always said wed meet againi touch you once i touch you twice i wont let go at any price i need you now like i need you then you always said wed still be friendsi touch you once i touch you twice i wont let go at any price i need you now like i need you then you always said wed meet again somedayif you leave if you leave if you leave dont look back dont look back ",1
54,"invisible touch","genesis",1986," well ive been waiting waiting here so long but thinking nothing nothing could go wrong ooh now i know she has a built in ability to take everything she sees and now it seems im falling falling for hershe seems to have an invisible touch yeah she reaches in and grabs right hold of your heart she seems to have an invisible touch yeah it takes control and slowly tears you apartwell i dont really know her i only know her name but she crawls under your skin youre never quite the same and now i know shes got something you just cant trust its something mysterious and now it seems im falling falling for hershe seems to have an invisible touch yeah she seems to have an invisible touch yeah she seems to have an invisible touch yeah she reaches in and grabs right hold of your heart she seems to have an invisible touch yeah it takes control and slowly tears you apartshe seems to have an invisible touch yeah she reaches in and grabs right hold of your heart she seems to have an invisible touch yeah it takes control and slowly tears you apartso she dont like losing to her its still a game and though she will mess up your life youll want her just the same and now i know she has a built in ability to take everything she sees and now it seems ive fallen fallen for hershe seems to have an invisible touch yeah she reaches in and grabs right hold of your heart she seems to have an invisible touch yeah it takes control and slowly tears you apartshe seems to have an invisible touch she seems to have an invisible touch she seems to have an invisible touch  ",1
55,"the sweetest taboo","sade",1986," if i tell you if i tell you now will you keep on will you keep on lovin me if i tell you if i tell you how i feel will you keep bringin out the best in meyou give me you give me the sweetest taboo you give me youre giving me the sweetest taboo too good for metheres a quiet storm and it never felt like this before theres a quiet storm that is you theres a quiet storm and it never felt this hot before giving me something thats taboo sometimes i think youre just too good for meyou give me the sweetest taboo thats why im in love with you with you you give me the sweetest taboo too good for me sometimes i think youre just too good for meid do anything for you id stand out in the rain anything you want me to do dont let it slip away theres a quiet storm and it never felt like this before theres a quiet storm i think its you theres a quiet storm and i never felt this hot before givin me somethin thats tabooyou give me the sweetest taboo you give me you give me the thats why im in love with you with you you give me keep giving me the sweetest taboo too good for meyouve got the biggest heart sometimes i think youre just too good for me every day is christmas and every night is new years eve will you keep on loving me will you keep on will you keep on bringing out the best in me ",1
56,"what you need","inxs",1986," hey here is the story forget about the troubles in life dont you know its not easy when you gotta walk upon that linethats why you need thats why this is what you need ill give you what you needdont you get sad and lonely you need a change from what you do all day aint no sense in all your crying pick it up and throw it into shapethats why you need oh thats why this is what you need ill give you what you need this is what you need ill give you what you need this is what you need ill give you what you need ill give you what you need ",1
57,"talk to me","stevie nicks",1986," i can see were thinkin bout the same things yes i see your expression when the phone rings we both know theres something happenin heretheres no sense in dancing round the subject a wound gets worse when its treated with neglect well dont turn now theres nothing here to fearyou can talk to me talk to me you can talk to me you can set your secrets free babydusty words lying under carpets seldom heard well must you keep your secrets locked inside hidden deep from viewwas it all that hard is it all that tough now ive shown you all my cards well isnt that enough you can hide your hurt but theres something you can doyou can talk to me you can talk to me when youre down now you can talk to me tttalk to methough we lay face to face and cheek to cheek our voices stray from the common ground where they could meet the walls run high to veil a swelling tearoh let the walls burn down set your secrets free you can break their bounds cause youre safe with me you can lose your doubt cause youll find no danger hereyou can talk to me talk to me when youre down now you can talk to me you can set your secrets free babywell i can see that expression when the phone rings and i can see that were thinkin bout the same things is it all that hard is it all that tough well i know youve taken all that there is isnt that enoughwell i can see you baby i can see you runnin well i can see you baby well i can see you runnin talk to me ",1
58,"nasty","janet jackson",1986," gimme a beatsittin in the movie show thinkin nasty thoughts huh better be a gentleman or you turn me off huh thats right alet me tell itnasty nasty boys dont mean a thing huh oh you nasty boys nasty nasty boys dont ever change huh oh you nasty boysi dont like no nasty car i dont like a nasty food huh oh oh yeah the only nasty thing i like is the nasty groove huh will this one do uhuh i know singnasty nasty boys dont mean a thing huh oh you nasty boys nasty nasty boys dont ever change huh oh you nasty boys nastynasty boys give me your nasty groove huh oh you nasty boys nasty nasty boys let me see your nasty body move huh oh you nasty boysi could learn to like this listen upim not a prude no i just want some respect thats right so close the door if you want me to respond oh oh yeah cause privacy is my middle name my last name is control no my first name aint baby its janet miss jackson if youre nastynasty nasty boys dont mean a thing oh you nasty boys nasty nasty boys dont ever change huh oh you nasty boysnasty boys dont mean a thing oh you nasty boys dont mean a thing to me huh nasty dont mean a thing huh oh you nasty boys uhhi love this parthey whos that thinkin nasty thoughts nasty boys whos that in that nasty car nasty boys whos that eating that nasty food nasty boys whos jamming to my nasty groove nasty boysladies nasty boys dont mean a thing oh you nasty boys ",1
59,"take me home tonight","eddie money",1986," ohoh ohoh ohoh yeah yeah yeah yeah yeah yeahi feel a hunger  its a hunger that tries to keep a man awake at night are you the answer i shouldnt wonder when i feel you whet my appetitewith all the power youre releasing it isnt safe to walk the city streets alone anticipation is running through me lets find the key and turn this engine oni can feel you breathe i can feel your heart beat fastertake me home tonight i dont want to let you go til you see the light take me home tonight listen honey just like ronnie sang be my little baby ohohohi get frightened in all this darkness i get nightmares i hate to sleep alone i need some company a guardian angel to keep me warm when the cold winds blowi can feel you breathe i can feel your heart beat fastertake me home tonight i dont want to let you go til you see the light take me home tonight listen honey just like ronnie sang be my little baby be my little baby ohohjust like ronnie sang i say just like ronnie sang be my little baby baby my darling ohohohohohi feel a hunger its a hungertake me home tonight i dont want to let you go til you see the light take me home tonight listen honey just like ronnie sang ohohohohoh be my little babytake me home tonight i dont want to let you go til you see the light take me home tonight listen honey just like ronnie sang ohohohohoh be my little babytake me home tonight i dont want to let you go til you see the light ohohohohoh take me home tonight listen honey just like ronnie sang ohohohohoh be my little babytake me home tonight i dont want to let you go til you see the light take me home tonight ",1
60,"we dont have to take our clothes off","jermaine stewart",1986,"not a word from your lips you just took for granted that i want to skinny dip a quick hit thats your game but im not a piece of meat stimulate my brainnight is young so are we lets get to know each other better slow  easily take my hand lets hit the floor shake our bodies to the music maybe then youll score chorus so come on baby wont you show some class why you want to move so fast we dont have to take our clothes off to have a good time oh no we could dance  party all night and drink some cherry wine uh huh we dont have to take our clothes off to have a good time oh no we could dance  party all night and drink some cherry wine uh huh na na na na na na na  just slow down if you want me a man wants to be approached cool  romantically ive got needs just like you if the conversations good vibrations through  through so come on baby wont you show some class why you want to move so fast we dont have to take our clothes off to have a good time oh no we could dance  party all night and drink some cherry wine uh huh na na na na na na",5
61,"all cried out","lisa lisa and cult jam",1986,"lisa lisa miscellaneous all cried out all cried out lisa lisa  cult jam with full force girl all alone on a sunday morning outside i see the rain is falling whoa inside im slowly dying but the rain will hide my crying crying crying and you dont you know my tears will burn the pillow set this place on fire cause im tired of your lies all i needed was a simple hello but the traffic was so noisy that you could not hear my cry i i gave you my love in vain my body never knew such pleasure my heart never knew such pain and you you leave me so confused now im all cried out over you boy oh you all over you ooh never wanted to see things your way i had to go astray oh why was i such a fool now i see that the grass is greener girl why oh why is it too late for me to find my way home how could i be so wrong girl leaving me all alone dont you know the hurt will cause an inferno romance up in flames why should i take the blame you were the one who left me neglected boy oh no no noim so sorry apology not accepted add me to the broken hearts youve collected i i gave you all of me boy gave me all of you how was i to know you would weaken so easily i i dont know what to do now im all cried out boy im all over you boy all cried out toowhoa whao girl i i gave you my love in vain my body never knew such pleasure my heart never knew such pain and you boy i left you so confused now im all cried out girl now im all cried out over you",3
62,"your love","the outfield",1986," josies on a vacation far away come around and talk it over so many things that i wanna say you know i like my girls a little bit olderi just wanna use your love tonight i dont wanna lose your love tonighti aint got many friends left to talk to nowhere to run when im in trouble you know id do anything for you stay the night but keep it undercoveri just wanna use your love tonight i dont wanna lose your love tonighttry to stop my hands from shaking but something in my minds not making sense its been a while since we were all alone i cant hide the way im feelingas youre leaving please would you close the door and dont forget what i told you just cause youre right that dont mean im wrong another shoulder to cry uponi just wanna use your love tonight i dont wanna lose your love tonighti just wanna use your love tonight i dont wanna lose your love tonighti just wanna use your love tonight i dont wanna lose your love tonightuse your love lose your love  ",1
63,"im your man","wham",1986," call me good call me bad call me anything you want to baby but i know that youre sad and i know ill make you happy with the one thing that you never hadbaby im your man dont you know that baby im your man you bet if youre gonna do it do it right  right do it with meso good youre divine wanna take you wanna make you but they tell me its a crime everybody knows where the good people go but where were going baby aint no such word as nobaby im your man dont you know who i am baby im your man you bet if youre gonna do it do it right  right do it with mecome on baby ooh take me home please dont leave me here to do it on my ownfirst class information ill be your sexual inspiration and with some stimulation we can do it rightso why waste time with the other guys when you can have mine i aint askin for no sacrifice baby your friends do not need to know ive got a real nice place to golisten i dont need you to care i dont need you to understand all i want is for you to be there and when im turned on if you want me im your manif youre gonna do it do it right  right do it with menow listen if youre gonna do it  you know what i say if youre gonna do it dont throw it away dont throw it baby because ill be your boy ill be your man ill be the one who understands ill be your first ill be your last ill be the only one you ask ill be your friend ill be your toy ill be the one who brings you joy ill be your hope ill be your pearl ill take you halfway round the world ill make you rich  ill make you poor just dont use the door do it with me ",1
64,"perfect way","scritti politti",1986," i took a backseat a backhander i took her back to her room i better get back to the basics for you oh yeah you gotta conscience compassion you got a way with the word you gotta heart full of complacency tooi dont have a purpose omission im empty by definition i got a lack girl that youd love to be you wanna diva a deduction you wanna do what they do wanna do damage that you can undoapart from everyone away from your love a part of me belongs apart from all the hurt abovei got a perfect way to make a new proposition i got a perfect way to make a justification i got a perfect way to make a certain a maybe i got a perfect way to make the girls go crazyi took a day job amendment i took a liking to you i took a page out of my rulebook for you you wanna message a confession you wanna martyr me too you wanna margin of error for twomaybe tomorrow the next letter or when the weather gets better ive got to wait here for your moon to turn blue i made an offer an exception i made a sense out of you you took a good look at your book but i knewin times of tenderness in terms baby so true until such time as i can understand all the things you doi got a perfect way to make a new proposition i got a perfect way to make a justification i got a perfect way to make a certain a maybe i got a perfect way to make the girls go crazywant to forgive you for all the things that you do wanna forget how to remember with you maybe tomorrow the next letter or when the weather gets better ive got to wait here for your moon to turn blueapart from everyone away from your love a part of me belongs apart from all the hurt abovei got a perfect way to make a new proposition i got a perfect way to make a justification this is a perfect way to make a certain a maybe this is a perfect way to make the girls go crazya perfect way a perfect way i got a perfect way  ",1
65,"living in america","james brown",1986," yeah unh get up ow ow knock me out dead woosuperhighways coast to coast easy to get anywhere on the transcontinental overload just slide behind the wheel how does it feel when theres no destination thats too far and somewhere on the way you might find out who you are oooliving in america eye to eye station to station living in america hand in hand across the nation living in america i got to have a celebration rock my soul huh aw huhsmokestack fatback many miles of railroad track all night radio keep on runnin through your rock n roll soul all night diners keep you awake on black coffee and a hard roll woo you might have to walk a fine line say it you might take a hard line but everybodys workin overtimeliving in america unh eye to eye station to station living in america hand in hand across the nation living in america i got to have a celebration ohi live in america said i live in america wait a minuteyou may not be lookin for the promised land but you might find it anyway under one of those old familiar names like new orleans detroit city dallas pittsburgh pa new york city kansas city atlanta chicago and l aliving in america hit me living in america yeah living in americai live in america not yet i live in america hey i know what it means iliving in america eddie murphy eat your heart outto the bridge ehliving in america hit me i said now eye to eye station to station living in america oh so nice with your bad self living in america whoah i feel good ",1
66,"rock in the usa","john cougar mellencamp",1986,"they come from the cities and they come from the smaller towns beat up cars with guitars and drummers goin crack boom bam chorus r o c k in the u s a r o c k in the u s a r o c k in the u s a yeah yeah rockin in the u s a said goodbye to their families said goodbye to their friends with pipe dreams in their heads and very little money in their hands some are black and some are white aint to proud to sleep on the floor tonight with the blind faith of jesus you know that they just might be rockin in the u s a hey voices from nowhere and voices from the larger towns filled our head full of dreams turned the world upside down there was frankie lymanbobby fullermitch ryder they were rockin jackie wilsonshangralasyoung rascals they were rockin spotlight on martha reeves lets dont forget james brown rockin in the u s a rockin in the u s a hey chorus r o c k in the u s a r o c k in the u s a r o c k in the u s a yeah yeah rockin in the u s a",5
67,"whos johnny","el debarge",1986," there he goes he drives me crazy when he saysheeeeres johnny thats his job its so amazing all he says isheeeeres johnny i never miss a moment when hes on the tube his being there has made my life worth living the chills run down my spine each time he says that lineheres johnny he says and laughs in his special way johnny he says you know i love him heres johnny he says and second fiddle is his game ed mcmahons his nameall rightdressed so fine hes such a cool dude hear him sayheeeeres johnny watch him selling beer and dog food hear him sayheeeeres johnny i got a letter from him just the other day he said you may already be a winner a trooper to the end a clydesdales best friendheres johnny he says and laughs in his special way johnny he says you know i love him heres johnny he says and thats the way he gets his pay what a living ohheres johnny heres johnny wooo no heres johnny heres johnny no no no no no no i dont believe it heres johnny he says and everytime its just the same ed mcmahons his namea very special guyall right hes on every night cant change the channel when hes sitting on the panel heeeeres johnny there he goes he gives me goose bumps when he saysheyoheyheyoheres johnny he says and laughs in his special way johnny he says you know i love him heres johnny he says that seems to be his claim to fame ed mcmahons his name ",1
68,"word up","cameo",1986," yo pretty ladies around the world got a weird thing to show you so tell all the boys and girls tell your brother your sister and your mamma toocause were about to go down and you know just what to do wave your hands in the air like you dont care glide by the people as they start to look and staredo your dance do your dance do your dance quick mamma come on baby tell me whats the wordword up everybody say when you hear the call youve got to get it underway word up its the code word no matter where you say it you know that youll be heardnow all you sucker djs who think youre fly theres got to be a reason and we know the reason why you try to put on those airs and you act real cool got to realize that youre acting like foolsif theres music we can use it youre free to dance we dont have the time for psychological romance no romance no romance no romance for me mamma come on baby tell me whats the wordword up everybody say when you hear the call youve got to get it underwaydial l for lovecmon all you people sing word up word up word up word upword up word up ",1
69,"why cant this be love","van halen",1986," oh here it comes that funny feeling again winding me up inside every time we touch hey i dont know oh tell me where to begin cause i never ever felt so muchand i cant recall any love at all baby this blows em all awayits got what it takes so tell me why cant this be love straight from my heart oh tell me why cant this be lovei tell myself hey only fools rush in and only time will tell if we stand the test of time all i know youve got to run to win and ill be damned if ill get hung up on the lineheyno i cant recall anything at all oh baby this blows them all awaywooits got what it takes so tell me why cant this be love you want it straight from the heart oh tell me why cant this be loveits got what it takes so tell me why cant this be love straight from my heart oh tell me why cant this be lovebaby why cant this be love got to know why cant this be love i wanna know why cant this be love ",1
70,"silent running on dangerous ground","mike  the mechanics",1986,NA,NA
71,"typical male","tina turner",1986," tell me lawyer what to do i think im falling in love with you defend me from the way i feelwont you give me some advice on how to handle my private life im sure that we can make a deali confess im a fool for men with a clever mind but your intellect aint no match for this heart of mineall i want is a little reaction just enough of to tip the scales im just using my female attraction on a typical male on a typical maleyour sense of justice ill embrace but your defence dont help my case im deep in trouble with the lawsomething about authority seems to bring out the bad in me hey lawyer gotta catch me when i falloh they say that you match your wits with the best of them but i know when im close youre just like the rest of themall i want is a little reaction just enough of to tip the scales im just using my female attraction on a typical male on a typical maleso put your books aside loosen off the suit and tie and open up your heart and let me in now open up your heart and let me inall i want is a little reaction just enough of to tip the scales im just using my female attraction on a typical male on a typical malethe reaction im just using my feminine charm on a typical male on a typicalall i want is a little reaction just enough of to tip the scales im just using my female attraction on a typical male on a typicala little reaction im just using my female attraction ",1
72,"small town","john cougar mellencamp",1986," well i was born in a small town and i live in a small town probly die in a small town oh those small communitiesall my friends are so small town my parents live in the same small town my job is so small town provides little opportunityeducated in a small town taught the fear of jesus in a small town used to daydream in that small town another boring romantic thats mebut ive seen it all in a small town had myself a ball in a small town married an la doll and brought her to this small town now shes small town just like meno i cannot forget where it is that i come from i cannot forget the people who love me yeah i can be myself here in this small town and people let me be just what i want to begot nothing against a big town still hayseed enough to say look whos in the big town but my bed is in a small town oh and thats good enough for mewell i was born in a small town and i can breath in a small town gonna die in this small town and thats probly where theyll bury me ",1
73,"tarzan boy","baltimora",1986," jungle life im far away from nowhere on my own like tarzan boy hide and seek i play along while rushing cross the forest monkey business on a sunny afternoonjungle life im living in the open native beat that carries on burning bright a fire the blows the signal to the sky i sit and wonder does the message get to younight to night gimme the other gimme the other chance tonight gimme the other gimme the other night to night gimme the other gimme the other worldjungle life youre far away from nothing its all right you wont miss home take a chance leave everything behind you come and join me wont be sorry its easy to survivejungle life were living in the open all alone like tarzan boy hide and seek we play along while rushing cross the forest monkey business on a sunny afternoonnight to night gimme the other gimme the other chance tonight oh yeah night to night gimme the other gimme the other night to nightyou wont play night to night gimme the other gimme the other chance tonight oh yeah night to night night to night gimme the other gimme the other ",1
74,"all i need is a miracle","mike  the mechanics",1986,"i said go if you wanna go stay if you wanna stay i didnt care if you hung around me i didnt care if you went away and i know you were never right ill admit i was never wrong i could never make up my mind i made it up as i went along and though i treated you like a child im gonna miss you for the rest of my life all i need is a miracle all i need is you all i need is a miracle all i need is you all i need is a miracle all i need is you i never had any time and i never had any call but i went out of my way just to hurt you the one i shouldnt hurt at all i thought i was being cool yeah i thought i was being strong but its always the same old story you never know what youve got til its gone if i ever catch up with you im gonna love you for the rest of your life all i need is a miracle all i need is you all i need is a miracle all i need is you all i need is a miracle all i need is you and if i ever catch up with you im gonna love you for the rest of your life all i need is a miracle all i need is you all i need is a miracle all i need is you all i need is a miracle all i need is you all i need is a miracle all i need is you",3
75,"sweet freedom","michael mcdonald",1986," no more runnin down the wrong road dancin to a different drum cant you see whats goin on deep inside your heartalways searchin for the real thing livin like its far away just leave all the madness in yesterday youre holdin the key when you believe itshine sweet freedom shine your light on me you are the magic youre right where i wanna beoh sweet freedom carry me along well keep the spirit alive on and onwell be dancin in the moonlight smilin with the risin sun livin like weve never done goin all the wayreachin out to meet the changes touchin every shining star the light of tomorrow is right where we are theres no turnin back from what im feelingshine sweet freedom shine your light on me you are the magic youre right where i wanna beoh sweet freedom carry me along well keep the spirit alive on and oncoz therell be starlight all night when were close together share those feelings dancin in your eyes tonight theyre guiding us shinin till the mornin light ",1
76,"true blue","madonna",1986," ive had other guys ive looked into their eyes but i never knew love before til you walked through my door ive had other lips ive sailed a thousand ships but no matter where i go youre the one for me baby this i know cause itstrue love youre the one im dreaming of your heart fits me like a glove and im gonna be true blue baby i love youive heard all the lines ive cried oh so many times those tear drops they wont fall again im so excited cause youre my best friendso if you should ever doubt wonder what love was all about just think back and remember dear those words whispered in your ear i saidtrue love youre the one im dreaming of your heart fits me like a glove and im gonna be true blue baby i love youcause its true love this time i know its true love youre the one im dreaming of the one im dreaming of your heart fits me like a glove heart fits just like a glove and im gonna be true blue baby i love youno more sadness i kiss it goodbye the sun is bursting right out of the sky i searched the whole world for someone like you dont you know dont you know that itstrue love oh baby true love oh baby true love oh baby true love its true love baby true love oh baby true love oh baby true love oh baby true love its trueso if you should ever doubt wonder what love is all about just think back and remember dear those words whispered in your ear i saidno more sadness i kiss it goodbye the sun is bursting right out of the sky i searched the whole world for someone like you dont you know dont you know that itstrue love this time i know its true love youre the one im dreaming of the one im dreaming of your heart fits me like a glove heart fits just like a glove and im gonna be true blue baby i love youi love you this time i know its true love la la la la la la la the one im dreaming of la la la la la la la heart fits just like a glove and im gonna be true blue baby i love you cause itstrue love baby true love oh baby true love oh baby true love oh baby true love its true love baby true love oh baby true love oh baby true love oh baby true love its true true love babyla la la la la true love baby ",1
77,"rumors","timex social club",1986,"how do rumors get started theyre started by the jealous people and they get mad seeing something they had and somebody else is holding they tell me that temptation is very hard to resist but these wicked women ooh they just persist maybe you think its cute but girl im not impressed ill tell you one time only with my business please dont mess when you look at all these rumors surrounding me every day i just need some time some time to get away from from all these rumors i cant take it no more my best friend said theres one out now about me and the girl next door did you hear the one about tina some say shes much too loose that came straight from a guy who claims hes tasted her juice  did you hear the one about michael some say he must be gay i tried to argue but they said if he was straight he wouldnt move that way did you hear that one about susan some say shes just a tease in a camisole shes six feet tall shell knock you to your knees when you look at all these rumors surrounding me every day i just need some time some time to get away from from all these rumors i cant take it no more my best friend said theres one out now about me and the girl next door i cant go no place without somebody pointing a finger i cant show my face ̢cause when it comes to rumors im a dead ringer it seems from rumors i just cant get away ill bet therell even be rumors floating around on judgment day ill think ill write my congressman and tell him to pass a bill so the next time they catch somebody starting rumors shoot to kill when you look at all these rumors surrounding me every day i just need some time some time to get away from from all these rumors i cant take it no more my best friend said theres one out now about me and the girl next door whats mine is mine i aint got time for rumors in my life im a man who thinks not a man who drinks so please let me live my life whats mine is mine i aint got time for rumors in my life look at all these rumors im a man who thinks not a man who drinks so please let me live my life whats mine is mine i aint got time for rumors in my life look at all these rumors im a man who thinks not a man who drinks so please let me live my life when you look at all these rumors surrounding me every day i just need some time some time to get away from from all these rumors i cant take it no more my best friend said theres one out now about me and the girl next door when you look at all these rumors surrounding me every day i just need some time some time to get away from from all these rumors i cant take it no more my best friend said theres one out now about me and the girl next door stop stop spreading those rumors around stop stop spreading the lies stop stop spreading those rumors around stop stop spreading the lies stop stop spreading those rumors around stop stop spreading the lies stop stop spreading those rumors around stop stop spreading the lies stop stop spreading those rumors around stop stop spreading the lies",3
78,"life in a northern town","dream academy",1986," a salvation army band played and the children drank lemonade and the morning lasted all day all day and through an open window came like sinatra in a younger day pushing the town away ahah hey ma ma ma life in a northern townthey sat on the stony ground and he took a cigarette out and everyone else came down to listen he said in winter 1963 it felt like the world would freeze with john f kennedy and the beatlesah hey ma ma ma life in a northern town ah hey ma ma ma all the work shut downthe evening had turned to rain watch the water roll down the drain as we followed him down to the station and though he never would wave goodbye you could see it written in his eyes as the train rolled out of sight byebyeah hey ma ma ma life in a northern town ah hey ma ma ma life in a northern town ",1
79,"bad boy","miami sound machine",1986,"bad boy bad boy bad boy bad boy boys will be boys bad boy bad boy  boys will be boys bad boy bad boy boys will be boys always get so restless bad boy bad boy boys will be boys nothin but trouble bad boy bad boy boys will be boys if youre feelin breathless bad boy bad boy boys will be boys nothin but trouble bad boy bad boy bad bad bad bad boy you make me feel so good you naughty bad bad bad bad boy you make me feel so good knew you would the way you hold me tight you get me so excited you do me oh so right my heart goes beat beat beat beat beat beat bad bad bad bad boy you make me feel so good i want you bad bad bad bad boy you make me feel so good knew you would and when he drives me home i feel safe at night you call me on the phone it goes ring ring ring ringaring ring boys will be boys bad boy bad boy  boys will be boys bad boy bad boy boys will be boys always get so restless bad boy bad boy boys will be boys nothin but trouble bad boy bad boy boys will be boys if youre feelin breathless bad boy bad boy boys will be boys nothin but trouble bad boy bad boy",3
80,"sleeping bag","zz top",1986," when its cold outside and you want to sleep in go for a pallet thats nice and thin zip it on around while its on the ground spread it out and lay it on downslip inside my sleeping bag slip inside my sleeping bagyoure afraid of the dark baby dont be shy well talk about some lovin while we look at the sky dont be hesitating itll be alright well tuck it in until its clean out of sightslip inside my sleeping bag slip inside my sleeping baglets go out to egypt cause its in the plan sleep beside the pharaohs in the shifting sand well look at some pyramids and check out some heads oh well whip out our mattress cause there aint no bedsslip inside my sleeping bag slip inside my sleeping bag ",1
81,"tonight she comes","the cars",1986," i know tonight she comes shes takin a swipe at fun she gives me a reason for sighting my sights well i know tonight she comesshe jangles me up she does it with ease and sometimes she passes through me just like a breeze she gives me a reason for feelin all rightoh well know tonight i know tonight i know tonight know tonight i know tonight i know tonight know tonight i know tonight she comesand i know shes gonna do it to me one more time one more time i know shes gonna stay implanted in my mind why does she keep me hanging on the line ohah yeah i know shes gonna do it to me one more time one more time i know shes gonna stay implanted in my mind oh why does she keep me hanging on the line oh yeahi know the way she feels and all of the hearts that she steals she tells me its easy when you do it rightoh well i know tonight she comesshe tells me its easy when you do it right know tonight i know tonight i know tonight know tonight i know tonight i know tonight know tonight i know tonight she comesi know tonight oh yeah know tonight i know tonight i know tonight well i know tonight know tonight i know tonight tonight she comes ",1
82,"love touch","rod stewart",1986," oh baby i dont know why but somehow i always seem to get tangled up in my pride but oh baby were not that blind deep down inside you know this loves worth one more try dont push it all asidecos i wanna be good for you i didnt mean to be bad but darlin im still the best that you ever had just give me a chance to let me show you how much i wanna give you my love touch love touchwhy cant i climb your walls and find somewhere to hide cant i knock down your door and drag myself inside ill light your candles baby and maybe ill light your life i wanna feel the breathless end you come to every night this ever changing love is pushing me too far i feel the need to reach you right now wherever you are these empty arms are getting strongerevery day believe me baby they wont let you get away no they wont let you get awaycos i wanna be good for you i didnt mean to be bad but darlin im still the best that you ever had just give me a chance to let me show you how much i wanna give you my love touch love touchyou know it dont matter whos right whos wrong think were gonna find out if the love is strong just give me a chance to win back your trust i wanna give you my love touch love touch oh youre gonna get a oh youre gonna get a big love touch ",1
83,"a love bizarre","sheila e",1986," the moon up above it shines down upon our skin whispering words that scream of outrageous sin we all want the stuff thats found in our wildest dreams it gets kinda rough in the back of our limousinethats what we are we all want a love bizarre thats what we are we all want a love bizarrea strawberry mind a body thats built for two a kiss on the spine we do things we never do swallow the pride and joy of the ivory towerwell dance on the roof make love on a bed of flower thats what we are we all want a love bizarrethe moon up above it shines on upon our skin whispering words that scream of outrageous sin we all want the stuff thats found in our wildest dreams it gets kinda rough in the back of our limousinethats what we are we all want a love bizarre thats what we are we all want a love bizarre ",1
84,"throwing it all away","genesis",1986," need i say i love you need i say i care need i say that emotions something we dont sharei dont want to be sitting here trying to deceive you cause you know i know baby that i dont wanna gowe cannot live together we cannot live apart and thats the situation ive known it from the startevery time that i look at you and i can see the future cause you know i know babe that i dont wanna gothrowing it all away throwing it all away is there nothing that i can say to make you change your mind i watch the world go round and round and see mine turning upside down throwing it all awaynow who will light up the darkness and who will hold your hand who will find you the answers when you dont understandwhy should i have to be the one who has to convince you cause you know i know baby that i dont wanna gosomeday youll be sorry someday when youre free memories will remind you that our love was meant to bebut late at night when you call my name the only sound youll hear is the sound of your voice calling calling after mejust throwing it all away throwing it all away and theres nothing that i can say were throwing it all away yes were throwing it all away yes were throwing it all away ",1
85,"baby love","regina",1986,"boy theres no one home tonight the timing could be right to forget the rules were out of school until tomorrow now if only you would stay theres so many games wed play why should we pretend to be just friends when we could be so much more baby love you are my baby love just call it baby love you are my baby love just call it words dont mean so much to me id rather wait and see see what happens when the lights go down with your arms around me time to leave the world behind save it for another time cause i dont remember where i am when you start to love me baby love you are my baby love just call it baby love you are my baby love just call it baby baby love sweet and tasty baby baby love boy i want you by my side theres no reason we should hide how we feel when we are near each other under covers warm i hold you close to me youre protection first degree cause i dont remember where i am when you start to move me baby love you are my baby love just call it baby love you are my baby love baby baby baby just call it baby love baby baby baby you are my you are my baby love just call it baby love baby you are my repeat to fade",3
86,"election day","arcadia",1986," wild kind of look to the day opening eyes impale neon flickers she moon she turning away the citys her slave but hes cheating his mistress shes moody and gray shes mean and shes so restless so restless all over you as they say rumours or rivals yell at the strike force hi guys by the way are you aware youre being illegal its making your saviour behaviour look evil scuse my timing but say how dyou fit in with this flim flam and judymaximum big surprise your smile is something new i pull my shirt off and pray were sacred and bound to suffer the heatwave pull off my shirt and pray were coming up on reelection day  meaning  bybennie7765     i believe it is a song about the election of god ir the devil    see all   stretching my luck down the way to your invitation stretching my body use your intuitive play cause maybe we have more play time than moneymaximum big surprise she knows something new i pull my shirt off and pray im saving myself to suffer the heatwave pull off my shirt and pray were coming up on reelection dayby roads and backways a lovers chance downwind cut open murmurs and sounds becalm hands on the skin carry further oh entangled strands all sing saving some time to slip away we could die ohshouldnt be asking wild and scheming could be my election daymaximum big surprise your smile is something new i pull my shirt off and pray were sacred and bound to suffer the heatwave pull off my shirt and pray were coming up on reelection dayreelection day ",1
87,"nikita","elton john",1986," hey nikita is it cold in your little corner of the world you could roll around the globe and never find a warmer soul to knowoh i saw you by the wall ten of your tin soldiers in a row with eyes that looked like ice on fire the human heart a captive in the snowoh nikita you will never know anything about my home ill never know how good it feels to hold you nikita i need you so oh nikita is the other side of any given line in time counting ten tin soldiers in a row oh no nikita youll never knowdo you ever dream of me do you ever see the letters that i write when you look up through the wire nikita do you count the stars at nightand if there comes a time guns and gates no longer hold you in and if youre free to make a choice just look towards the west and find a friendoh nikita you will never know anything about my home ill never know how good it feels to hold you nikita i need you so oh nikita is the other side of any given line in time counting ten tin soldiers in a row oh no nikita youll never knowoh nikita you will never know anything about my home ill never know how good it feels to hold you nikita i need you so oh nikita is the other side of any given line in time counting ten tin soldiers in a row oh no nikita youll never knownikita counting ten tin soldiers in a row nikita counting ten tin soldiers in a row nikita counting ten tin soldiers in a row nikita ",1
88,"take me home","phil collins",1986," take that look of worry im an ordinary man they dont tell me nothing so i find out what i can theres a fire thats been burning right outside my door i cant see but i feel it and it helps to keep me warm so i i dont mind no i i dont mindseems so long ive been waiting still dont know what for theres no point escaping i dont worry anymore i cant come out to find you i dont like to go outside they cant turn off my feelings like theyre turning off a light but i i dont mind no i i dont mind oh i i dont mind no i i dont mindso take take me home cause i dont remember take take me home cause i dont remember take take me home oh lord cause ive been a prisoner all my life and i can say to youtake that look of worry mines an ordinary life working when its daylight and sleeping when its night ive got no far horizons and i wish upon a star they dont think that i listen oh but i know who they are and i i dont mind no i i dont mind oh i i dont mind no i i dont mindso take take me home cause i dont remember take take me home cause i dont remember take take me home cause i dont remember take take me home oh lord well ive been a prisoner all my life and i can say to youbut i dont remember take take me home cause i dont remember take take me home cause i dont remember take take me home cause i dont remember take take me home cause i dont remember take take me home cause i dont remember take take me home cause i dont remember take take me home cause i dont remember take take me home cause i dont remember take take me home cause i dont remember ",1
89,"walk this way","rundmc",1986,NA,NA
90,"sweet love","anita baker",1986," with all my heart i love you baby stay with me and you will see my arms will hold you baby never leave causei believe im in love sweet love hear me calling out your name i feel no shame im in love sweet love dont you ever go away itll always be this wayoh your heart has called me closer to you i will be all that you need just trust in what were feeling never leave cause babyi believe in this love sweet love hear me calling out your name i feel no shame im in love sweet love dont you ever go away itll always be this waytheres no stronger love in this world oh baby no youre my man im your girl ill never go wait and see cant be wrong dont you know this is where you belongoh the sweetest dream a lovely baby stay right here never fear i will be all that you need never leave cause baby baby i believein this love sweet love hear me calling out your name i feel no shame im in love sweet love dont you ever go away itll always be this waysweet love oh no no no no no no no sweet love oh with all my heart i love you so sweet so sweet ooh so sweet oh oh love sweet love love loveoh baby no sweeter lovesweet love oh sweeter love oh no no no no no no no no sweet love dont nobody know dont nobody know how sweet it is sweet love ah how sweet it is love me sweetly baby just love me sweetly baby sweet love dont nobody know sweet love ",1
91,"your wildest dreams","moody blues",1986," once upon a time once when you were mine i remember skies reflecting in your eyesi wonder where you are i wonder if you think about me once upon a time in your wildest dreamsonce the world was new our bodies felt the morning dew that greets the brand new day we couldnt tear ourselves awayi wonder if you care i wonder if you still remember once upon a time in your wildest dreamsand when the music plays and when the words are touched with sorrow when the music plays i hear the sound i had to follow once upon a timeonce beneath the stars the universe was ours love was all we knew and all i knew was youi wonder if you know i wonder if you think about it once upon a time in your wildest dreamsand when the music plays and when the words are touched with sorrow when the music plays and when the music plays i hear the sound i had to follow once upon a timeonce upon a time once when you were mine i remember skies mirrored in your eyesi wonder where you are i wonder if you think about me once upon a time in your wildest dreams in your wildest dreams in your wildest dreams in your wildest dreams ",1
92,"spies like us","paul mccartney",1986," ohh ooh what do you do no one else can dance like you so whats all the fuss there aint nobody that spies like ushey hey what do you say someone took your plans away so whats all the fuss there aint nobody that spies like ushey dont feel afraid of an undercover aid theres no need to fuss aint nobody that spies like us spies like uswe dont know the meaning of fear we play every minute by ear one for all and all for one everybodys on the run especially at this time of the yearooh ooh what do you do no one else can dance like you so whats all the fuss there aint nobody got spies like ushey hey what do you say no one else can look that way so whats all the fuss there aint nobody that spies like uswe get there by hook or by crook we dont do a thing by the book never needed special clothes how we did it no one knows i guess we must have had what it tookooh ooh ooh oh when things get tough oh when things get tough guys like us act rough guys like us act roughhey hey what do you say someone took your plans away so whats all the fuss there aint nobody that spies like us spies like usspies like us spies like us spies like us  ",1
93,"object of my desire","starpoint",1986,"you glance my way i almost lost control anxiety has taken hold my body quivers you flash every night in my sleep gazing deep into my eyes you spoke these words i was hypnotized let me share a night in your fantasy turn on emotions so strong tensions fire burns on and on my body screams please make love to me youre the object of my desire come on baby light my fire when i go to sleep at night visions of you here by my side fireworks explode deep inside of me i pinch myself as youre lying there we kiss each other now im really scared too much to ask even for a fantasy turn on emotions so strong passions fire burns on and on my body screams please make love to me youre the object of my desire come on baby light my fire cuz your the object of my desire hey you really turn me on youre the object of my desire wont you ignite my fire hey you really turn me on and on and on and on i need your love",3
94,"dreamtime","daryl hall",1986," i saw you standing and i felt your rage like a dark cloud on a crowded stage you were talking through the smoke in your fantasy i know you girl i know what to believemaybe things aint been so good at home and the people that you love never cared at all you wanna run away dont care where you go you wanna run away run away thats all you knowbelieve its alright to fantasize and say the words you think will satisfy me but you know better than that cause you know whats a lieyoure living in dreamtime baby its time to wake up youre living in dreamtime baby its time to shape upin your dream its overcast rain comes down movin your way fast you wanna run away dont care where you go you wanna run away run away thats all you knowyou turn a corner then you see a door walk on through throw lay yourself on the floor when youre looking up its no surprise standing there is a man with movie star eyesyou think hes gonna take care of you the man with the plan thatll see you through i say there aint no way cause i know hes a lieyoure living in dreamtime baby its time to wake up youre living on dreamtime baby its time to shape up shape upyoure living in dreamtime youre living in dreamtime wanna run away run awayyoure living in dreamtime baby shape up youre living on dreamtime baby its time to wake upi never saw anybody fall apart so fast living in dreamtime you know it aint gonna last never saw anybody think shes so right and be so wrong living in dreamtime its hard to carry on yeahyou wanna run away run away baby you wanna run away run awayi never saw anybody fall apart so fast i hope it wont last never saw anybody think shes so right and be so wrong dreamtime its hard to carry ondreamtime dreamtime run away dreamtime dreamtime run away ",1
95,"tender love","force mds",1986," here i lay all alone tossin turning longing for some of your tender love im waiting for the right moment to come so i can thank you for all the tender love youve given to metender love love so tender pulling me close to you baby i surrender candles they light the dark now i see how lovely the feelings are all the tender love youve given to mei want you more and more cant resist you ooh and then i feel your touch tender love 0120 loving me straight from the heart hold me nearer please let me be a part of the tender love youre giving to metender love love so tender holding me close to you baby i surrender ooh yeah surrender baby ",1
96,"king for a day","thompson twins",1986," so listen love is all we need love is allif i was king for just one day i would give it all away for loving youi know you well and i can tell somethings on your mind cos in your dreams the demon screams i know hes going to hurt you blindsome people hunger for fame and fortune all their lives saddest fools in paradiseif i was king for just one day i would give it all away i would give it all away for loving you if i was king for just one daydiamond rings and all those things they never sparkle like your smile and as for fame its just a name only satisfies you for a whilesome people hunger for fame and fortune all their lives the saddest fools in paradiseive heard it said or maybe read only money makes the world go round but all the gold wont heal your soul if your world should tumble to the groundoh some people hunger for fame and fortune all their lives the saddest fools in paradiseso listen love is all love is all love is all we need love is all love is all love is all we need love is all love is all love is all we need love is all love is all love is all we needlove is all love is all love is all we need love is all love is all love is all we need love is all love is all love is all we need love is all love is all love is all we needif i was king for just one day i would give it all away i would give it all away for loving youif i was king for just one day i would give it all away i would give it all away for loving you if i was king for just one day just one thing to say love ",1
97,"love will conquer all","lionel richie",1986," here we are out here me and you reaching out to each other is all that we can do here we stand trying not to fall theres no need to worry love will conquer alldo you really want to know just how long love will last will all of the bad times pass how can we make things right ooh and why why is the world so unkind we surely can find peace of mind if we only see the light cant you see thathere we are out here me and you reaching out to each other is all that we can do here we stand trying not to fall theres no need to worry love will conquer allcan somebody tell me why why do our dreams go wrong why cant we all belong ooh where did we start ohh and tell me when when will we ever learn theres nowhere else we can turn the truth is in our hearts here we are togethersometimes the road gets hard to travel sometimes the pains too much to bear sometimes when life seems to unravel thats the time ohh to say were gonna make it anyway cant you see thathere we are out here me and you reaching out to each other is all that we can do here we stand trying not to fall theres no need love will conquer all ",1
98,"a different corner","george michael",1986," id say love was a magical thing id say love would keep us from pain had i been there had i been therei would promise you all of my life but to lose you would cut like a knife so i dont dare no i dont darecause ive never come close in all of these years you are the only one to stop my tears and im so scared im so scaredtake me back in time maybe i can forget turn a different corner and we never would have met would you carei dont understand it for you its a breeze little by little youve brought me to my knees dont you careno ive never come close in all of these years you are the only one to stop my tears and im so scared of this loveand if all that there is is this fear of being used i should go back to being lonely and confused if i could i would i swearif i could i would i swear ",1
99,"ill be over you","toto",1986," some people live their dreams some people close their eyes some peoples destiny passes bythere are no guarantees there are no alibis thats how our love must be dont ask whyit takes some time god knows how long i know that i can forget youas soon as my heart stops breakin anticipating as soon as forever is through ill be over youremembering times gone by promises we once made what are the reasons why nothing stays the samethere were the nights holding you close someday ill try to forget them someday ill be over youas soon as my heart stops breakin anticipating as soon as forever is through ill be over youas soon as my heart stops breakin anticipating someday ill be over you as soon as my heart stops breakin anticipating someday ill be over you as soon as my heart anticipating ",1
100,"go home","stevie wonder",1986," her parents said girl dont leave home but her heart kept cheering her on she had a real good man steady job but the two of them just werent in her heartshe only wanted to be close to me to give me the love she knew someday id need but i kept saying girl youre wrong go homelong days short nights when youre on the road for a pretty girl its a heavy load and even so wholl pay your fare she said ill make it on a wing and a prayershe only wanted to be close to me to give me the love she knew someday id need but i kept saying girl youre wrong go homeshe said ive no right to tell her how life should be especially when the only one she ever cared about in life was me but she agreed to go along with my final wordas fate would have life come around my world started tumbling down i lost my family my friends and job and set free the only one who stuck with me from the startshe only wanted to be close to me to give me the love she knew someday id need but i kept saying girl youre wrong go homeshe said ive no right to tell her how life should be especially when the only one she ever cared about in life was me but she agreed to go along with my final word my final word yeahas fate would have life come around my world started tumbling down i lost my family my friends and job and set free the only one who stuck with me from the startshe only wanted to be close to me to give me the love she knew someday id need but i kept saying girl youre wrong go homeshe only wanted to be close to me to give me the love she knew someday id need but i kept saying girl youre wrong go homego home baby you better go home right now go home little girl you better go home oh go home little girl you better go home oh  ",1
1,"walk like an egyptian","the bangles",1987," all the old paintings on the tombs they do the sand dance dont you know if they move too quick oh whey oh theyre falling down like a dominoall the bazaar men by the nile they got the money on a bet gold crocodiles oh whey oh they snap their teeth on your cigaretteforeign types with the hookah pipes say ay oh whey oh ay oh whey oh walk like an egyptianblond waitresses take their trays they spin around and they cross the floor theyve got the moves oh whey oh you drop your drink and they give you moreall the school kids so sick of books they like the punk and the metal band when the buzzer rings oh whey oh theyre walking like an egyptianall the kids in the marketplace say ay oh whey oh ay oh whey oh walk like an egyptianslide your feet up the street bend your back shift your arm then you pull it back life is hard you know oh whey oh so strike a pose on a cadillacif you want to find all the cops theyre hanging out in the donut shop they sing and dance oh whey oh spin the clubs cruise down the blockall the japanese with their yen the party boys call the kremlin and the chinese know oh whey oh they walk the line like egyptianall the cops in the donut shop say ay oh whey oh ay oh whey oh walk like an egyptian walk like an egyptian ",1
2,"alone","heart",1987," i hear the ticking of the clock im lying here the rooms pitch dark i wonder where you are tonight no answer on the telephone and the night goes by so very slow oh i hope that it wont end though alonetill now i always got by on my own i never really cared until i met you and now it chills me to the bone how do i get you alone how do i get you aloneyou dont know how long i have wanted to touch your lips and hold you tight oh you dont know how long i have waited and i was going to tell you tonight but the secret is still my own and my love for you is still unknown alonetill now i always got by on my own i never really cared until i met you and now it chills me to the bone how do i get you alone how do i get you alonehow do i get you alone how do i get you alonealone alone ",1
3,"shake you down","gregory abbott",1987," oh yeah girl ive been watching you from so far across the floor now baby thats nothing new ive watched you so many times before now baby i see that look in your eyes and what its telling me and you know oh girl that im not shy im glad you picked up all my telepathy now babyyou read my mind you know girl i wanna shake you down well well i can give you all the loving you need im gonna love you come on let me take you down oh oh well go all the way to heavenoh ive been missing you and the way you make me feel inside what can i do i can tell youve got your pride now baby come to me  well well let me ease your mind oh baby ive got the remedy yes i do now give me just a little timeyou read my mind girl i wanna shake you down i can give you all the loving you need im gonna love you come on let me take you down well well well go all the way to heavengirl ive been missing you and you know its funny everytime i get to feel in this way i wish i had you near me i wanna reach out and touch youi cant stop thinking of the things you do the way you call me baby when im holding you i shake and i shiver when i know you near then you whisper in my ears oh baby well wellyou read my mind girl i wanna shake you down i can give you all the loving you need im gonna love you come on let me take you down well well well go all the way to heaven ",1
4,"i wanna dance with somebody who loves me","whitney houston",1987," clock strikes upon the hour and the sun begins to fade still enough time to figure out how to chase my blues away ive done alright up to now its the light of day that shows me how and when the night falls loneliness callsoh i wanna dance with somebody i wanna feel the heat with somebody yeah i wanna dance with somebody with somebody who loves me oh i wanna dance with somebody i wanna feel the heat with somebody yeah i wanna dance with somebody with somebody who loves meive been in love and lost my senses spinning through the town sooner or later the fever ends and i wind up feeling down i need a man wholl take a chance on a love that burns hot enough to last so when the night falls my lonely heart callsoh i wanna dance with somebody i wanna feel the heat with somebody yeah i wanna dance with somebody with somebody who loves me oh i wanna dance with somebody i wanna feel the heat with somebody yeah i wanna dance with somebody with somebody who loves mesomebody oo somebody oo somebody who loves me yeah somebody oo somebody oo to hold me in his arms oh i need a man wholl take a chance on a love that burns hot enough to last so when the night falls my lonely heart callsoh i wanna dance with somebody i wanna feel the heat with somebody yeah i wanna dance with somebody with somebody who loves me oh i wanna dance with somebody i wanna feel the heat with somebody yeah i wanna dance with somebody with somebody who loves medontcha wanna dance with me baby dontcha wanna dance with me boy hey dontcha wanna dance with me baby with somebody who loves medontcha wanna dance say you wanna dance dontcha wanna dance dontcha wanna dance say you wanna dance dontcha wanna dance dontcha wanna dance say you wanna dance with somebody who loves me dance ",1
5,"nothings gonna stop us now","starship",1987," looking in your eyes i see a paradise this world that i found is too good to be true standing here beside you want so much to give you this love in my heart that im feeling for youlet them say were crazy i dont care about that put your hand in my hand baby dont ever look back let the world around us just fall apart baby we can make it if were heart to heartand we can build this dream together standing strong forever nothings gonna stop us now and if this world runs out of lovers well still have each other nothings gonna stop us nothings gonna stop us nowim so glad i found you im not gonna lose you whatever it takes i will stay here with you take it to the good times see it through the bad times whatever it takes is what im gonna dolet them say were crazy what do they know put your arms around me baby dont ever let go let the world around us just fall apart baby we can make it if were heart to heartand we can build this dream together standing strong forever nothings gonna stop us now and if this world runs out of lovers well still have each other nothings gonna stop us nothings gonna stop us nowall that i need is you all that i ever need and all that i want to do is hold you forever forever and everand we can build this dream together standing strong forever nothings gonna stop us now and if this world runs out of lovers well still have each other nothings gonna stop us nothings gonna stop usand we can build this dream together standing strong forever nothings gonna stop us now and if this world runs out of lovers well still have each other nothings gonna stop usand we can build this dream together standing strong forever nothings gonna stop us now and if this world runs out of lovers well still have each other nothings gonna stop us nothings gonna stop us now ",1
6,"cest la vie","robbie nevil",1987," got a job thats okay but theyve got me workin night and day punchin in punchin out is this really what lifes all aboutwhatcha gonna do whatcha gonna feel i dont know whatcha gonna feel whatcha gonna do wont someone tell mewhatcha wanna say whatcha wanna do theres only one thing left to say whatcha wanna do whatcha wanna saycest la vie cest la vie thats just the way it goes thats life cest la vie cest la vie thats just the way it goes thats lifebabys gone all alone are you sad because youre on your own get back up party down theres so many good ones still aroundwhatcha gonna do whatcha gonna feel i dont know whatcha gonna feel whatcha gonna do wont someone tell mewhatcha wanna say whatcha wanna do i guess theres just one thing to say whatcha gonna do whatcha wanna saycest la vie cest la vie thats just the way it goes thats life cest la vie cest la vie thats just the way it goes thats lifehey its jj what you been doin you say your car broke down the thing just isnt movin say jj dont you know when youre down theres just one way to go and thats singincest la vie cest la vie thats just the way it goes thats life cest la vie cest la vie thats just the way it goes thats lifecest la vie cest la vie thats just the way it goes thats life cest la vie cest la vie thats just the way it goes thats lifecest la vie cest la vie thats just the way it goes thats life cest la vie cest la vie thats just the way it goes thats life  ",1
7,"here i go again","whitesnake",1987," i dont know where im goin but i sure know where ive been hanging on the promises in songs of yesterday an ive made up my mind i aint wasting no more time here i go again here i go againtho i keep searching for an answer i never seem to find what im looking for oh lord i pray you give me strength to carry on cause i know what it means to walk along the lonely street of dreamshere i go again on my own goin down the only road ive ever known like a drifter i was born to walk alone an ive made up my mind i aint wasting no more timejust another heart in need of rescue waiting on loves sweet charity an im gonna hold on for the rest of my days cause i know what it means to walk along the lonely street of dreamsand here i go again on my own goin down the only road ive ever known like a drifter i was born to walk alone an ive made up my mind i aint wasting no more time but here i go again here i go again here i go again here i gocause i know what it means to walk along the lonely street of dreams here i go again on my own goin down the only road ive ever known like a drifter i was born to walk alone an ive made up my mind i aint wasting no more time here i go again on my own goin down the only road ive ever known like a drifter i was born to walk alone cause i know what it means to walk along the lonely street of dreamshere i go again on my own goin down the only road ive ever known like a drifter i was born to walk alone ",1
8,"the way it is","bruce hornsby and the range",1987," standing in line marking time waiting for the welfare dime cause they cant buy a job the man in the silk suit hurries by as he catches the poor ladies eyes just for fun he says get a jobthats just the way it is some things will never change thats just the way it is ah but dont you believe themsaid hey little boy you cant go where the others go cause you dont look like they do said hey old man how can you stand to think that way did you really think about it before you made the ruleshe said son thats just the way it is some things will never change thats just the way it is ah but dont you believe themthats just the way it is thats just the way it iswell they passed a law in 64 to give those who aint got a little more but it only goes so far because the law dont change anothers mind when all it sees at the hiring time is the line on the color bar no no nothats just the way it is some things will never change thats just the way it is thats just the way it is it is it is it is ",1
9,"shakedown","bob seger",1987," no matter what you think you pull youll find its not enough no matter who you think you know you wont get through its a given la law someones faster on the draw no matter where you hide im comin after you yeahno matter how the race is run it always ends the same another room without a view awaits downtown you can shake me for a while live it up in style no matter what you do im gonna take you downshakedown breakdown takedown everybody wants into the crowded line breakdown takedown youre busted let down your guard honey just about the time youre thinkin its alright breakdown takedown youre bustedthis is a town where everyone is reachin for the top this is a place where second best will never do its okay to want to shine but once you step across that line no matter where you hide im comin after youshakedown breakdown takedown everybody wants into the crowded line breakdown takedown youre busted shakedown breakdown honey just about the time youre thinkin its alright breakdown takedown youre bustedah busted aw aw shakedown breakdown takedown everybody wants into the crowded line breakdown takedown youre busted shakedown breakdown honey just about the time youre thinkin its alright breakdown takedown youre bustedshakedown breakdown takedown everybody wants into the crowded line breakdown takedown youre busted let down your guard honey just about the time youre thinkin its alright breakdown takedown ah youre bustedshakedown breakdown takedown everybody wants into the crowded line breakdown takedown youre busted let down your guard honey just about the time youre thinkin its alright ",1
10,"livin on a prayer","bon jovi",1987," once upon a time not so long ago tommy used to work on the docks unions been on strike hes down on his luck its tough so tough gina works the diner all day working for her man she brings home her pay for love for loveshe says weve got to hold on to what weve got it doesnt make a difference if we make it or not weve got each other and thats a lot for love well give it a shotwoah were half way there woah livin on a prayer take my hand well make it i swear woah livin on a prayertommys got his sixstring in hock now hes holding in what he used to make it talk so tough its tough gina dreams of running away when she cries in the night tommy whispers baby its okay somedayweve got to hold on to what weve got it doesnt make a difference if we make it or not weve got each other and thats a lot for love well give it a shotwoah were half way there woah livin on a prayer take my hand well make it i swear woah livin on a prayer livin on a prayeroh weve got to hold on ready or not you live for the fight when its all that youve got woah were half way there woah livin on a prayer take my hand well make it i swear woah livin on a prayerwoah were half way there woah livin on a prayer take my hand well make it i swear woah livin on a prayerwoah were half way there woah livin on a prayer take my hand well make it i swear woah livin on a prayer ",1
11,"la bamba","los lobos",1987," para bailar la bamba para bailar la bamba se necesita una poca de gracia una poca de gracia pa mi pa ti y arriba y arriba ah y arriba y arriba por ti ser̩ por ti ser̩ por ti ser̩yo no soy marinero yo no soy marinero soy capit��n soy capit��n soy capit��nbamba bambapara bailar la bamba para bailar la bamba se necesita una poca de gracia una poca de gracia pa mi pa ti ah y arriba y arribapara bailar la bamba para bailar la bamba se necesita una poca de gracia una poca de gracia pa mi pa ti ah y arriba y arriba ah y arriba y arriba por ti ser̩ por ti ser̩ por ti ser̩bamba bamba ",1
12,"everybody have fun tonight","wang chung",1987," ill drive a million miles to be with you tonight so if youre feeling low turn up your radio the words we use are strong they make reality but now the musics on oh baby dance with me yeahrip it up move down rip it up move it down to the ground rip it up cool down rip it up and get the feeling not the wordeverybody have fun tonight everybody have fun tonight everybody wang chung tonight everybody have fun tonight everybody wang chung tonight everybody have fundeep in the world tonight our hearts beat safe and sound ill hold you so close just let yourself go downrip it up move down rip it up move it down to the ground rip it up cool down rip it up get out whats inside of youeverybody have fun tonight everybody have fun tonight everybody wang chung tonight everybody have fun tonight everybody have fun tonight everybody wang chung tonight everybody have funon the edge of oblivion all the world is babylon and all the love and evryone a ship of fools sailing on everybody everybody have fun tonight everybody everybody have fun tonightacross the nation around the world everybody have fun tonight a celebration so spread the wordeverybody have fun tonight everybody have fun tonight everybody wang chung tonight everybody have fun tonight everybody wang chung tonight everybody have fun tonight everybody have funeverybody everyone ",1
13,"dont dream its over","crowded house",1987," there is freedom within there is freedom without try to catch the deluge in a paper cup theres a battle ahead many battles are lost but youll never see the end of the road while youre traveling with mehey now hey now dont dream its over hey now hey now when the world comes in they come they come to build a wall between us we know they wont winnow im towing my car theres a hole in the roof my possessions are causing me suspicion but theres no proof in the paper today tales of war and of waste but you turn right over to the tv pagehey now hey now dont dream its over hey now hey now when the world comes in they come they come to build a wall between us we know they wont winnow im walking again to the beat of a drum and im counting the steps to the door of your heart only shadows ahead barely clearing the roof get to know the feeling of liberation and releasehey now hey now dont dream its over hey now hey now when the world comes in they come they come to build a wall between us we know they wont windont let them win hey now hey now hey now hey now hey now hey now dont let them win they come they come dont let them win hey now hey now hey now hey now ",1
14,"always","atlantic starr",1987," girl you are to me all that a woman should be and i dedicate my life to you always the love like yours is grand it must have been sent from up above and i know youll stay this way for alwaysand we both know that our love will grow and forever it will be you and me hey ooh your life is sun chasing all the rain away when you come around you bring brighter day youre the perfect one for me and you forever well be and i will love you so for alwayscome with me my sweet lets go make a family and they will bring us joy for always oh boy i love your soul i cant find enough ways to let you know but you can be sure of course for alwaysand we both know that our love will grow and forever it will be you and me hey ooh your life is sun chasing all the rain away when you come around you bring brighter day youre the perfect one for me and you forever well be and i will love you so for always ",1
15,"with or without you","u2",1987," see the stone set in your eyes see the thorn twist in your side i wait for you sleight of hand and twist of fate on a bed of nails she makes me wait and i wait without youwith or without you with or without youthrough the storm we reach the shore you give it all but i want more and im waiting for youwith or without you with or without you i cant live with or without youand you give yourself away and you give yourself away and you give and you give and you give yourself awaymy hands are tied my body bruised shes got me with nothing to win and nothing left to loseand you give yourself away and you give yourself away and you give and you give and you give yourself awaywith or without you with or without you i cant live with or without you ohwith or without you with or without you i cant live with or without youwith or without you ",1
16,"looking for a new love","jody watley",1987," hasta la vista babyyou gave me love you did me wrong didnt know what to do but baby im strong gonna get over you a new boy im gonna choose  youll seemy love was true still you threw it all away now other guys will have me theyll appreciate my love tell me how does it feelyou know that i needed you you know that you meant the world to me you know i had to have you now im gonna find somebody newim looking for a new love baby a new love yeah yeah yeah im looking for a new love baby a new love yeah yeah yeahwas she hot did she turn you out curiosity rules my brain was she worth my heart its torn all apart are you going back again tell memy love was true still you threw it all away but now youre like the rest unworthy of my best hasta la vista babyyou know that i needed you you know that you meant the world to me you know i had to have you now im gonna find somebody newim looking for a new love baby a new love yeah yeah yeah im looking for a new love baby a new love yeah yeah yeahim looking for a new love baby a new love yeah yeah yeah im looking for a new love baby a new love yeah yeah yeahyou know that i needed you you know that you meant the world to me i had to have you now im gonna find somebody newim looking for a new love baby a new love yeah yeah yeah im looking for a new love baby a new love yeah yeah yeahim looking for a new love baby a new love yeah yeah yeah im looking for a new love baby a new love yeah yeah yeahother guys will have me theyll appreciate my love tell me how does it feel now youre like the rest unworthy of my best hasta la vista babyim looking for a new love baby other guys will have me theyll appreciate my love im looking for a new love baby tell me how does it feel im looking for a new love baby now youre like the rest unworthy of my bestim looking for a new love baby a new love im looking for a new love baby a new love im looking for a new love baby a new love hasta la vista baby ",1
17,"head to toe","lisa lisa and cult jam",1987,"lisa lisa miscellaneous head to toe head to toe lisa lisa and cult jam full force head to toe i know today started with a crazy kiss on our way home we were in for a surprise who would have known who would have thought that we would become lovers as friends we were so so tight cant help myself you make me feel so right i got to got to got to tell you darlinds are forever top to bottom i love you i will leave you never i got to got to got to tell you darlinbaby i want to kiss you from head to toe ooh baby i think i love you you got to know ooh baby i think i love you from head to toe transcribed by char star",3
18,"i think were alone now","tiffany",1987," children behave thats what they say when were together and watch how you play they dont understand and so wererunning just as fast as we can holding on to one another hands trying to get away into the night and then you put your arms around me and we tumble to the ground and then you sayi think were alone now there doesnt seem to be anyone around i think were alone now the beating of our hearts is the only soundlook at the way we gotta hide what were doin cause what would they say if they ever knew and so wererunning just as fast as we can holding on to one another hands trying to get away into the night and then you put your arms around me and we tumble to the ground and then you sayi think were alone now there doesnt seem to be anyone around i think were alone now the beating of our hearts is the only soundi think were alone now there doesnt seem to be anyone around i think were alone now the beating of our hearts is the only soundrunning just as fast as we can holding on to one another hands trying to get away into the night and then you put your arms around me and we tumble to the ground and then you sayi think were alone now there doesnt seem to be anyone around i think were alone now the beating of our hearts is the only soundi think were alone now there doesnt seem to be anyone around i think were alone now the beating of our hearts is the only soundi think were alone now there doesnt seem to be anyone around i think were alone now the beating of our hearts is the only soundi think were alone now there doesnt seem to be anyone around i think were alone now the beating of our hearts is the only sound ",1
19,"mony mony","billy idol",1987," here she comes now sayin mony mony shoot em down turn around come on mony hey she give me love and i feel all right nowturn it in you gotta toss and turn and feel all right yeah i feel all right i said yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yeahcause you make me feel like a pony so good like a pony so good like a pony so good mony monyso fine mony mony so fine mony mony its all mine mony mony well i feel all right mony mony i said yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yeahwell you could shake it mony mony shotgun dead and ill come on mony dont stop cookin cause i feel all right now heybut dont stop now come on mony come on yeah i said yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yeahcause you make me feel like a pony so good like a pony so good like a pony well i feel all right mony monyyou so fine mony mony you so fine mony mony you so fine mony mony well i feel all right mony mony i said yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yeahooh i love you mony momomony ooh i love you mony momomony said i do ooh i love you mony momomony said i do ooh i love you mony momomony said i doooh i love you mony momomony said i do ooh i love you mony momomony said i do ooh i love you mony momomony said i do ooh i love you mony momomonyyeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yeahcome on come on come on come on come on come on come on come on come on come on feel all right come on i said yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yeahwake it shake it mony mony up down turn around come on mony hey she give me love and i feel all right nowi said dont stop now come on mony come on mon i said yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yeahcause you make me feel like a pony so good like a pony so good like a pony so good like a ponyfeel alright mony mony all right mony mony so fine mony mony well i feel all right mony mony i said yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yeahi wanna ride your pony ride your pony ride your pony come on come on come on mony mony mony mony feel all right mony mony mony mony i said yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yeahcause you make me feel like a pony so good like a pony so good like a pony so good come onmony mony yeah mony mony all right mony mony well i feel so good mony mony i said yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah ",1
20,"at this moment","billy vera and the beaters",1987,"  ",1
21,"the lady in red","chris de burgh",1987,"ive never seen you looking so lovely as you did tonight ive never seen you shine so bright ive never seen so many men ask you if you wanted to dance theyre looking for a little romance given half a chance and i have never seen that dress youre wearing or the highlights in your hair that catch your eyes i have been blind the lady in red is dancing with me cheek to cheek theres nobody here its just you and me its where i want to be but i hardly know this beauty by my side ill never forget the way you look tonight ive never seen you looking so gorgeous as you did tonight ive never seen you shine so bright you were amazing ive never seen so many people want to be there by your side and when you turned to me and smiled it took my breath away and i have never had such a feeling such a feeling of complete and utter love as i do tonight the lady in red is dancing with me cheek to cheek theres nobody here its just you and me its where i want to be but i hardly know this beauty by my side ill never forget the way you look tonight i never will forget the way you look tonight the lady in red the lady in red the lady in red my lady in red i love you",3
22,"didnt we almost have it all","whitney houston",1987," remember when we held on in the rain the night we almost lost it once again we can take the night into tomorrow living on feelings touching you i feel it all againdidnt we almost have it all when love was all we had worth giving the ride with you was worth the fall my friend loving you makes life worth living didnt we almost have it all the night we held on till the morning you know youll never love that way again didnt we almost have it allthe way you used to touch me felt so fine we kept our hearts together down the line a moment in the soul can last forever comfort and keep us help me bring the feeling back againdidnt we almost have it all when love was all we had worth giving the ride with you was worth the fall my friend loving you makes life worth living didnt we almost have it all the night we held on till the morning you know youll never love that way again didnt we almost have it alldidnt we have the best of times when love was young and new couldnt we reach inside and find the world of me and you well never lose it again cause once you know what love is you never let it enddidnt we almost have it all when love was all we had worth giving the ride with you was worth the fall my friend loving you makes life worth livingdidnt we almost have it all the night we held on till the morning you know youll never love that way again didnt we almost have it all ",1
23,"i still havent found what im looking for","u2",1987," i have climbed the highest mountains i have run through the fields only to be with you only to be with youi have run i have crawled i have scaled these city walls these city walls only to be with you but i still havent found what im looking for but i still havent found what im looking fori have kissed honey lips felt the healing in the fingertips it burned like fire this burning desire i have spoke with the tongue of angels i have held the hand of a devil it was warm in the night i was cold as a stone but i still havent found what im looking for but i still havent found what im looking fori believe in the kingdom come then all the colors will bleed into one bleed into one but yes im still running you broke the bonds and you you loosened the chains you carried the cross of my shame oh my shame you know i believe it but i still havent found what im looking for but i still havent found what im looking for ",1
24,"i want your sex","george michael",1987," theres things that you guess and things that you know theres boys you can trust and girls that you donttheres little things you hide and little things that you show sometimes you think youre gonna get it but you dont and thats just the way it goesi swear i wont tease you wont tell you no lies i dont need no bible just look in my eyes ive waited so long baby now that were friends every mans got his patience and heres where my endsi want your sex i want your love i want your sex i want your sexits playing on my mind its dancing on my soul its taken so much time so why dont you just let me goid really like to try oh id really love to know when you tell me youre gonna regret it then i tell you that i love you but you still say noi swear i wont tease you wont tell you no lies i dont need no bible just look in my eyes ive waited so long baby out in the cold but i cant take it much more girl im losing controli want your sex i want your love i want your sex i want your sex sexits natural its chemical lets do it its logical habitual can we do itits sensual but most of all sex is something that we should do sex is something for me and yousex is natural sex is good not everybody does it but everybody should sex is natural sex is fun sex is best when its one on one one on onesex im not your father sex im not your brother sex talk to your sister sex i am a lover sex come onwhats your definition of dirty baby what do you consider pornography dont you know i love it til it hurts me baby dont you think its time you had sex with mewhats your definition of dirty baby what do you call pornography dont you know i love it til it hurts me baby dont you think its time you had sex with mesex with me sex with me have sex with me come oni want you babyoh so much love that youve never seen lets make love put your trust in me dont you listen to what they told you because i love you let me hold youoh im not your brother im not your father oh will you ever change your mind im a gentle lover with a heart of gold baby youre not so unkind ohcome on i want your sex come on i want your sex thats right all night oh i want your sex i want your sexsexy babys sexy body keeps me guessing with a promise well i know we can come together but the question is will we ever eversexy babys sexy body keeps me guessing with a promise oh i know we can come together but the question is will we ever evertogether you and mei want to hold ",1
25,"notorious","duran duran",1987," no no notorious no no notoriousi cant read about it burns the skin from your eyes ill do fine without it heres one you dont compromise lies come hard to disguise let me to fight it out not wild about it lay your seedy judgments who says theyre part of our livesyou own the money you control the witness i hear youre lonely dont monkey with my business you pay the profits to justify the reasons i heard your promise but i dont believe it thats why ill do it againno no notoriousgirls will keep the secrets so long as boys make the noise fools run rings to break up something theyll never destroy grand notorious slam and who really gives a damn for a flaky bandit dont ask me to bleed about it i need this blood to surviveyou own the money you control the witness i hear youre lonely dont monkey with my business you pay the profits to justify the reasons i heard your promise but i dont believe it thats why ill do it againnotorious notorious notoriousyou own the money you control the witness i hear youre lonely dont monkey with my business you pay the profits to justify the reasons i heard your promise but i dont believe ityou own the money you control the witness i hear youre lonely dont monkey with my business you pay the profits to justify the reasons i heard your promise but i dont believe it thats why ill do it againno no no thats why ill do it again no notorious yeah thats why ill do it again no no notorious yeah thats why ill do it again no notorious no no notorious yeah thats why ill do it again no notorious no no notorious ",1
26,"only in my dreams","debbie gibson",1987," everytime im tellin secrets i remember how it used to be and i realized how much i miss you and i realize how it feels to be freenow i see im up to no good no no no and i wanna start again cant remember when i felt good baby no i cant remember whenno only in my dreams as real as it may seem it was only in my dreamscouldnt see how much i missed you now i do couldnt see how much it meant ah ah now i see my world come tumbling down tumbling down my world now i see the road is bentif i only once could hold you no no no and remember how it used to be if only i could scold you and forget how it feels to be freeno only in my dreams as real as it may seem it was only in my dreamsno no no no only in my dreams as real as it may seem it was only in my dreamsno only in my dreams as real as it may seem it was only in my dreamsno no  no no only in my dreams as real as it may seem it was only in my dreamsno no no only in my dreams as real as it may seem it was only in my dreams ",1
27,"ive had the time of my life","bill medley and jennifer warnes",1987," now ive had the time of my life no i never felt like this before yes i swear its the truth and i owe it all to youcause ive had the time of my life and i owe it all to youive been waiting for so long now ive finally found someone to stand by me we saw the writing on the wall and we felt this magical fantasy now with passion in our eyes theres no way we could disguise it secretly so we take each others hand cause we seem to understand the urgencyjust remember youre the one thing i cant get enough of so ill tell you something this could be lovebecause ive had the time of my life no i never felt this way before yes i swear its the truth and i owe it all to you cause ive had the time of my life and ive searched through every open door till i found the truth and i owe it all to youhey baby oh yeah yeah yeahwith my body and soul i want you more than youll ever know so well just let it go dont be afraid to lose control noyes i know whats on your mind when you say stay with me tonight stay with me just remember youre the one thing i cant get enough of so ill tell you something this could be lovebecause ive had the time of my life no i never felt this way before yes i swear its the truth and i owe it all to you cause ive had the time of my life and ive searched through every open door never felt this way till i found the truth and i owe it all to youyeah yeah yeah yeah oh whoa oh ohnow ive had the time of my life no i never felt this way before never felt this way yes i swear its the truth and i owe it all to youive had the time of my life no i never felt this way before never felt this way yes i swear its the truth and i owe it all to you cause now ive had the time of my life and ive searched through every open door till i found the truth and i owe it all to you ",1
28,"the next time i fall","peter cetera and amy grant",1987,"peter cetera miscellaneous the next time i fall love like a road that never ends how it leads me back again to heartache ill never understand darling i put my heart up on a shelf till the moment was right and i told myself  next time i fall in love ill know better what to do next time i fall in love ooo ooo ooo ooo ooo ooo the next time i fall in love the next time i fall in love it will be with you  now as i look into your eyes well i wonder if its wise to hold you like ive wanted to before tonight ooo i was thinking that you might be the one who breathes life in this heart of mine  next time i fall in love ill know better what to do next time i fall in love ooo ooo ooo the next time i fall in love the next time i fall in love it will be with you  next time im gonna follow through and if it drives me crazy i will know better why the next time i try  next time i fall in love ill know better what to do next time i fall in love ooo ooo ooo the next time i fall in love the next time i fall in love  repeat",3
29,"lean on me","club nouveau",1987," sometimes in our lives we all have pain we all have sorrow but if we are wise we know that theres always tomorrowlean on me when youre not strong and ill be your friend ill help you carry on for it wont be long til im gonna need somebody to lean onplease swallow your pride if i have things you need to borrow for no one can fill those of your needs that you dont let showlean on me when youre not strong and ill be your friend ill help you carry on for it wont be long til im gonna need somebody to lean onjust call on me brother when you need a hand we all need somebody to lean on i just might have a problem that youd understand we all need somebody to lean onlean on me when youre not strong and ill be your friend ill help you carry on for said it wont be long til im gonna need somebody to lean onif there is a low you have to bear that you cant carry ill ride up the road ill share your load if you just call melean on me when youre not strong and ill be your friend ill help you carry on for said it wont be long til im gonna need somebody to lean onjust call on me ah when you need a friend call on me oh baby nowcall on me ah when you need a friend call me oh baby nowcall on me ah when you need a friend call on me oh baby nowcall on me lean on me ",1
30,"open your heart","madonna",1987," watch outi see you on the street and you walk on by you make me want to hang my head down and cry if you gave me half a chance youd see my desire burning inside of me but you choose to look the other way ive had to work much harder than this for something i want dont try to resist meopen your heart to me baby i hold the lock and you hold the key open your heart to me darlin ill give you love if you you turn the keyi think that youre afraid to look in my eyes you look a little sad boy i wonder why i follow you around but you cant see youre too wrapped up in yourself to notice so you choose to look the other way well ive got something to say dont try to run i can keep up with you nothing can stop me from trying youve got toopen your heart to me baby i hold the lock and you hold the key open your heart to me darlin ill give you love if you you turn the keyopen your heart with the key one is such a lonely numberah ah ah ah open your heart ill make you love me its not that hard if you just turn the keydont try to run i can keep up with you nothing can stop me from trying youve got toopen your heart to me baby i hold the lock and you hold the key open your heart to me darlin ill give you love if you you turn the keyopen your heart with the keyopen your heart ill make you love me cmon baby its not that hard if you just turn the key im gonna give it to you open your heart ill make you love me ow cmon baby its not that hard if you just turn the key watch out watch out watch out watch out open your heart ill make you love me ow cmon baby its not that hard if you just turn the key watch out watch out watch out watch out open your heart ill make you love me im gonna give it to you its not that hard if you just turn the key hm cmon baby ",1
31,"lost in emotion","lisa lisa and cult jam",1987,"lisa lisa miscellaneous lost in emotion lost in emotion lisa lisa  cult jam hit the beat now lost in emotion some guys will promise you a marriage made in heaven but im gonna stick to my guns like waitin for their love that i might be gettin my dreams have just begun am i awful to think of love are you free and love for you oh my and come to see you oh oh lost in emotion telling you things you really shouldnt know oh baby im lost in emotion am i fool at least my friends think so que sera sera baby whenever were free que sera sera between you and me just how true are the rumors i am hearing about this crush you have on me maybe im blind but i just dont see it but i want to believe what they say i find myself telling you things i dont even tell my best friend i cant show it the emotions overflowin just wear it ill dance around sometimes i wonder if i am in your heart even though i dont live there yet im afraid itll be cold and dark im lost in emotion telling you things you really shouldnt know im lost in emotion am i a fool at least my friends think so que sera sera between you and me a boy couldnt go baby am i a fool cause i dont know just how you feel ill be there for you all the time hit the beat now when im feelin i hate this feelin lost in emotion",3
32,"i just died in your arms","cutting crew",1987," oh i i just died in your arms tonight it must have been something you said i just died in your arms tonighti keep looking for something i cant get broken hearts theyre all around me and i dont see an easier way to get out of this her diary sits by the bedside table the curtains are closed the cats in the cradle who would have thought that a boy like me could come to thisoh i i just died in your arms tonight it must have been something you said i just died in your arms tonight oh i i just died in your arms tonight it must have been some kind of kiss i should have walked away i should have walked awayis there any just cause for feeling like this on the surface im a name on a list i try to be discreet but then blow it again ive lost and found its my final mistake shes loving by proxy no give and all take cause ive been thrilled to fantasy one too many timesoh i i just died in your arms tonight it must have been something you said i just died in your arms tonight oh i i just died in your arms tonight it must have been some kind of kiss i should have walked away i should have walked awayit was a long hot night she made it easy she made it feel right but now its over the moment has gone i followed my hands to my head i know i was wrongoh i i just died in your arms tonight it must have been something you said i just died in your arms tonight oh i i just died in your arms tonight it must have been some kind of kiss i should have walked away i should have walked away ",1
33,"heart and soul","tpau",1987,"more than an ocean keeps us apart i feel a tearing in half of my heart a walk on the water is all that i need but miracles are not happening youre not even listening to me leaving you aint easy now but loving yous the harder part you never want me for myself and ive needed you right from the very start oh wont you stay and try to give a little bit of heart and soul give a little bit of love to grow give a little bit of heart and soul and dont you make me beg for love give a sign cos i need to know give a little bit of heart and soul now listen to me i wish that i was wrong but you dont feel that way we drift apart with each passing day you never seem to notice any more living in a fantasy theres never any room to breath hoping every waking hour youll turn around and say that we can stay wont you even try to give a little bit of heart and soul give a little bit of love to grow give a little bit of heart and soul and dont you make me beg for love give a sign cos i need to know give a little bit of heart and soul somehow i lost my way looking to see something in your eyes but lover will never compromise there is the politics of life give a little bit of heart and soul give a little bit of love to grow give a little bit of heart and soul and dont you make me beg for love give a sign cos i need to know give a little bit of heart and soul",5
34,"you keep me hangin on","kim wilde",1987," set me free why dont cha babe get out my life why dont cha babe cause you dont really love me you just keep me hangin on you dont really need me but you keep me hangin onwhy do you keep a comin around playing with my heart why dont cha get out of my life and let me make a new start let me get over you the way you gotten over me yeahset me free why dont cha babe let me be why dont you babe cause you dont really love me you just keep me hangin on no you dont really want me you just keep me hangin onyou say although we broke up you still wanna be just friends but how can we still be friends when seeing you only breaks my heart again and there aint nothing i can do about itwhoa ooh whoa ooh whoa set me free why dont you babe get out get out of my life why dont you babe set me free why dont you babe get out of my life why dont you babeyou claim you still care for me but your heart and soul needs to be free and now that youve got your freedom you wanna still hold on to me you dont want me for yourself so let me find somebody elsewhy dont cha be a man about it and set me free now you dont care a thing about me youre just using mego home get out get out of my life and let me sleep at night cause you dont really love me you just keep me hangin onyou dont really need me ",1
35,"keep your hands to yourself","georgia satellites",1987," i got a little change in my pocket goin jingalingaling wants to call you on the telephone baby agive you a ring but each time we talk i get the same old thing always no hugee no kissee until i get a weddin ring my honey my baby dont put my love upon no shelf she said dont hand me no lines and keep your hands to yourselfbbbbaby baby baby why you wan treat me this way you know im still your lover boy i still feel the same way thats when she told me a story bout free milk and a cow and said no hugee no kissee until i get a weddin vow my honey my baby dont put my love upon no shelf she said dont hand me no lines and keep your hands to yourselfgo man gohold it here see i wanted her real bad and i was about to give in but thats when she started talking about true love started talking about sin and i said honey ill live with you for the rest of my life she said no hugee no kissee until you make me your wifea my honey my baby dont put my love upon no shelf she said dont hand me no lines and keep your hands to yourself ",1
36,"i knew you were waiting for me","aretha franklin and george michael",1987," like a warrior that fights and wins the battle i know the taste of victorythough i went through some nights consumed by the shadows i was crippled emotionallysomehow i made it through the heartache yes i did i escaped i found my way out of the darkness i kept my faith kept my faithwhen the river was deep i didnt falter when the mountain was high i still believed when the valley was low it didnt stop me no no i knew you were waiting knew you were waiting for mewith and endless desire i i kept on searching sure in time our eyes would meetlike the bridge is on fire the hurt is over one touch and you set me freeno i dont regret a single moment no i dont looking back when i think of all those disappointments i just laugh i just laughwhen the river was deep i didnt falter when the mountain was high i still believed when the valley was low it didnt stop me i knew you were waiting knew you were waiting for meso we were drawn together through destiny i know this love we share was meant to beknew you were waiting knew you were waiting i knew you were waiting knew you were waiting for mei didnt falter i still believed when the valley was low it didnt stop me knew you were waiting knew you were waiting for mei didnt falter i still believed when the valley was low it didnt stop me knew you were waiting knew you were waiting for mei didnt falter i still believed it didnt stop me knew you were waitingi didnt falter i still believed it didnt stop me ",1
37,"control","janet jackson",1987," this is story about control my control control of what i say control of what i do and this time im gonna do it my way i hope you enjoy this as much as i do are we ready i am cause its all about control and ive got lots of itwhen i was 17 i did what people told me did what my father said and let my mother mold me but that was a long agoim in control  never gonna stop control  to get what i want control  i like to have a lot control  now im all grown upfirst time i fell in love i didnt know what hit me so young and so naive i thought it would be easy now i know i got to takecontrol  now ive got a lot control  to get what i want control  im never gonna stop control  now im all grown upjam woo woo rebel thats right im on my own ill call my own shots thank yougot my own mind i want to make my own decisions when it has to do with my life my life i wanna be the one in controlso let me take you by the hand and lead you on this dance control is what ive got because i do with chance i dont wanna rule the world just wanna run my life ooh so make your life a little easier  when you get the chance just take controlcontrol  now ive got a lot ooh control  to get what i want oww control  im never gonna stop control  now im all grown up ohhfreeat last out here on my own ooh ooh ooh yeah hee now control thisuh control  thats right control  career moves control  i do whats right for me control  and me wants to groove is that ok yeahoooh controlive got own mind ooh baby yeah yeah yeah yeah ive got my own mind wanna make my own decisions when it has to do with my life i wanna be the one in controlhop to it im in control and i love it hahaha thats right control now ive got a lot control now im all grown up aahh im in control  uhhh im in control  ahhhh im in control uhhh dont make me lose it ",1
38,"u got the look","prince",1987," here we are folks the dream we all dream of boy versus girl in the world series of love tell me have you got the lookyou walked in i woke up ive never seen a pretty girl look so tough baby you got that lookcolor you peach and black color me takin aback crucial i think i want yayouve got the look youve got the hook you shonuf do be cookin in my book your face is jammin your bodys heckaslammin if love is good lets get to ramminyou got the look you got the looklook here you got the look you got the look you musta took you musta took a whole hour just to make up your face baby closin time ugly lights everybodys inspected everybodys inspected but you are a natural beauty unaffected unaffected did i say an hour my face is red i stand corrected i stand correctedyouve got the look youve got the hook you shonuf do be cookin in my book your face is jammin your bodys heckaslammin if love is good lets get to ramminyou got the look you got the look theres no girl to do well here we are ladies and gentlemen the dream we all dream of oh please boy versus girl in the world series of love slamminyou walked in i walked in i woke up you woke up i never seen such a pretty girl look so tough i never seen such a pretty girl look so toughbaby baby you got that look you got that look yes you do yes you do color you peach and black color me takin aback baby crucial i think i want yayouve got the look youve got the hook you shonuf do be cookin in my book your face is jammin your bodys heckaslammin if your love is good lets get to rammin nowyou got the look you got the lookhere we are folks the dream we all dream ofyou got the look you got the look you got the look you got the look you got the look ",1
39,"somewhere out there","linda ronstadt and james ingram",1987," somewhere out there beneath the pale moon light someones thinking of me and loving me tonightsomewhere out there someones saying a prayer that well find one another in that big somewhere out thereand even though i know how very far apart we are it helps to think we might be wishing on the same bright starand when the night wind starts to sing a lonesome lullaby it helps to think were sleeping underneath the same big skysomewhere out there if love can see us through then well be together somewhere out there out where dreams come trueand even though i know how very far apart we are it helps to think we might be wishing on the same bright starand when the night wind starts to sing a lonesome lullaby it helps to think were sleeping underneath the same big skysomewhere out there if love can see us through then well be together somewhere out there out where dreams come true ",1
40,"land of confusion","genesis",1987," i mustve dreamed a thousand dreams been haunted by a million screams but i can hear the marching feet theyre moving into the streetnow did you read the news today they say the dangers gone away but i can see the fires still alight there burning into the nighttheres too many men too many people making too many problems and not much love to go round cant you see this is a land of confusionwell this is the world we live in and these are the hands were given use them and lets start trying to make it a place worth living inooh superman where are you now when everythings gone wrong somehow the men of steel the men of power are losing control by the hourthis is the time this is the place so we look for the future but theres not much love to go round tell me why this is a land of confusionthis is the world we live in and these are the hands were given use them and lets start trying to make it a place worth living ini remember long ago when the sun was shining yes and the stars were bright all through the night and the sound of your laughter as i held you tight so long agoi wont be coming home tonight my generation will put it right were not just making promises that we know well never keeptoo many men theres too many people making too many problems and not much love to go round cant you see this is a land of confusionnow this is the world we live in and these are the hands were given use them and lets start trying to make it a place worth fighting for this is the world we live inthis is the world we live in and these are the names were given stand up and lets start showing just where our lives are going to ",1
41,"jacobs ladder","huey lewis and the news",1987,"i met a fan dancer down in south side birmingham she was running from a fat man selling salvation in his hand now hes trying to save me well im doing alright the best that i can just another fallen angel trying to get through the night step by step one by one higher and higher step by step rung by rung climbing jacobs ladder coming over the airwaves the man says im overdue sing along send some money join the chosen few hey mister im not in a hurry and i dont want to be like you and all i want from tomorrow is to get it better than today step by step one by one higher and higher step by step rung by rung climbing jacobs ladder all i want from tomorrow is to get it better than today step by step one by one higher and higher step by step rung by rung climbing and climbing step by step one by one step by step rung by rung step by step step by step step by step",3
42,"whos that girl","madonna",1987," whos that girl whos that girlwhen you see her say a prayer and kiss your heart goodbye shes trouble in a word get closer to the fire run faster her laughter burns you up inside youre spinning round and round you cant get up you try but you cantquien es esa nina whos that girl senorita mas fina whos that girl quien es esa nina whos that girl senorita mas fina whos that girlyou try to avoid her fate is in your hands shes smiling an invitation to the dance her heart is on the street tu corazon es suyo now youre falling at her feet you try to get away but you cantquien es esa nina whos that girl senorita mas fina whos that girl quien es esa nina whos that girl senorita mas fina whos that girllight up my life so blind i cant see light up my life no one can help me nowrun faster her laughter burns you up inside youre spinning round and round you cant get up you try but you cantquien es esa nina whos that girl senorita mas fina whos that girl quien es esa nina whos that girl senorita mas fina whos that girllight up my life so blind i cant see light up my life no one can help me nowwhos that girl now whos that girl now whos that girl now whos that girlquien es esa nina whos that girl senorita mas fina whos that girl quien es esa nina whos that girl senorita mas fina whos that girlquien es esa nina whos that girl senorita mas fina whos that girl quien es esa nina whos that girl senorita mas fina whos that girlquien es esa nina whos that girl senorita mas fina whos that girl ",1
43,"you got it all","the jets",1987," i i was a game he would play he brought the clouds to my day then like a ray of light you came my way one night just one look and i knewyou would make everything clear make all the clouds disappear put all your fears to rest who do i love the best dont you know dont you knowyou got it all over him you got me over him honey its true theres just you you must have been heaven sent hearing me call you went out on a limb and youre all that hes not just look what i got cause you got it all over himno dont let him worry you so once i met you i let go oh you can surely see youre so much more to me just one look and i knewyou would make everything clear make all the clouds disappear youre better than all the rest who do i love the best dont you know dont you knowyou got it all over him you got me over him honey its true theres just you you must have been heaven sent hearing me call you went out on a limb and youre all that hes not all that hes not just look what i got look what i got cause you got it all you got it all all over himyou got it all over him you got me over him honey its true theres just you you must have been heaven sent hearing me call you went out on a limb and youre all that hes not all that hes not just look what i got look what i got cause you got it all you got it all all over himyou got it all over him you got me over him honey its true theres just you you must have been heaven sent ",1
44,"touch me i want your body","samantha fox",1987," ah touch me this is the night ah touch mei want to feel your body ah ahfull moon in the city and the night was young i was hungry for love i was hungry for fun i was hunting you down and i was the bait when i saw you there i didnt need to hesitatechorus this is the night this is the night this is the time weve got to get it right this is the night touch me touch me i want to feel your body your heartbeat next to mine this is the night touch me touch me nowquick as a flash you disappeared into the night did i hurt you boy didnt i treat you right you made me feel so good made me feel myself now im alone and youre with somebody elsechorustouch me touch me now touch me touch me nowhot and cold emotion confusing my brain i could not decide between pleasure and pain like a tramp in the night i was begging for you to treat my body like you wanted tooh oh oh oh oh i was begging for youthis is the night touch me touch me i want to feel your body your heartbeat next to mine this is the night cause i want your body all the timeah touch me touch me touch me this is the night touch me touch mei want to feel your body this is the night i want to feel your body this is the night ",1
45,"i just cant stop loving you","michael jackson with siedah garrett",1987," each time the wind blows i hear your voice so i call your name whispers at morning our love is dawning heavens glad you cameyou know how i feel this thing cant go wrong im so proud to say i love you your loves got me high i long to get by this time is forever love is the answeri hear your voice now you are my choice now the love you bring heavens in my heart at your call i hear harps and angels singyou know how i feel this thing cant go wrong i cant live my life without youi just cant hold oni feel we belong my life aint worth living if i cant be with youi just cant stop loving you i just cant stop loving you and if i stop then tell me just what will i docause i just cant stop loving youat night when the stars shine i pray in you ill find a love so truewhen morning awakes me will you come and take me ill wait for youyou know how i feel i wont stop until i hear your voice saying i doi do this thing cant go wrongthis feelings so strongwell my life aint worth livingif i cant be with you i just cant stop loving you i just cant stop loving you and if i stop then tell me just what will i doi just cant stop loving youwe can change all the world tomorrow we can sing songs of yesterday i can say hey farewell to sorrow this is my life and i want to see you for alwaysi just cant stop loving you i just cant stop loving you if i cant stop and if i stop then tell me just what will i doi just cant stop loving you i just cant stop loving you you know i do then tell me just what will i do ",1
46,"causing a commotion","madonna",1987," ive got the moves baby youve got the motion if we got together wed be causing a commotion ive got the moves baby youve got the motion if we got together wed be causing a commotionyou met your match when you met me i know that you will disagree its crazy but opposites attract youll see and i wont let you get away so easythe love you save may be your own cant fight this feeling arent you tired of being alone you wont admit it but you know its true its not a secret how i feel when i stand next to youive got the moves baby youve got the motion if we got together wed be causing a commotion ive got the moves baby youve got the motion if we got together wed be causing a commotionsomeday youll see my point of view you cant keep wishing on the stars baby what works for me can work for you youve got to make a compromise and maybethen we can keep our love alive and when it falls we wont let it die it doesnt matter if you win or lose its how you play the game so get into the grooveive got the moves baby youve got the motion if we got together wed be causing a commotion ive got the moves baby youve got the motion if we got together wed be causing a commotioncausing a commotion causing a commotion causing a commotion causing a commotioni hope you find what youre looking for is it mine walk through that door were wasting time make up your mind and get into the groovethen we can keep our love alive and when it falls we wont let it die it doesnt matter if you win or lose its how you play the game so get into the groovei hope you find what youre looking for is it mine walk through that door were wasting time make up your mind and get into the grooveive got the moves baby youve got the motion if we got together wed be causing a commotion ive got the moves baby youve got the motion if we got together wed be causing a commotioncausing a commotion causing a commotion causing a commotion causing a commotionive got the moves baby youve got the motion if we got together wed be causing a commotion ive got the moves baby youve got the motion if we got together wed be causing a commotion ",1
47,"in too deep","genesis",1987," all that time i was searching nowhere to run to it started me thinking wondering what i could make of my life and whod be waiting asking all kinds of questions to myself but never finding the answers crying at the top of my voice and no one listening all this time i still remember everything you said theres so much you promised how could i ever forgetlisten you know i love you but i just cant take this you know i love you but im playing for keeps although i need you im not gonna make this you know i want to but im in too deepso listen listen to me ooh you must believe me i can feel your eyes go thru me but i dont know whyooh i know youre going but i cant believe its the way that youre leaving its like we never knew each other at all it may be my fault i gave you too many reasons being alone when i didnt want to i thought youd always be there i almost believed you all this time i still remember everything you said oh theres so much you promised how could i ever forgetlisten you know i love you but i just cant take this you know i love you but im playing for keeps although i need you im not gonna make this you know i want to but im in too deepso listen listen to me i can feel your eyes go thru me it seems ive spent too long only thinking about myself  oh now i want to spend my life just caring bout somebody elselisten you know i love you but i just cant take this you know i love you but im playing for keeps although i need you im not gonna make this you know i want to but im in too deeplisten you know i love you but i just cant take this you know i love you but im playing for keeps although i need you im not gonna make this you know i want to but im in too deep ",1
48,"lets wait awhile","janet jackson",1987," theres something i want to tell you theres something i think that you should know its not that i shouldnt really love you lets take it slow when we get to know each other and were both feeling much stronger then lets try to talk it over lets wait awhile longerlets wait awhile before its too late lets wait awhile before we go too farremember that special night when all of the stars were shining bright we made our first endeavor to stay together we made our very first promise to love to share and be real honest but on that very first night it wasnt quite rightlets wait awhile before its too late lets wait awhile our love will be great lets wait awhile before we go too fari didnt really know not to let all my feelings show to save some for later so our love can be greater you said you would always love me remember i said the same thing to you you dont have to be frightened with my love because ill never give up on you lets wait awhile ah well before its too late you know you cant rush love lovelets wait awhile ooh hoo hoo before its too late lets wait awhile wait awhile our love will be great lets wait awhile before we go too far oh oh oohlets wait awhile lets just take our time before its too late lets wait awhile your loves so good we shouldnt rush in lets wait awhile slow it down before we go too far oohla da lee de da da de de de da da da da la da la da lee de da da de de de da da da da la da da la da lee de da da de de dei promise ill be worth the wait ",1
49,"hip to be square","huey lewis and the news",1987,"i used to be a renegade i used to fool around but i couldnt take the punishment and had to settle down now im playin it real straight and yes i cut my hair you might think im crazy but i dont even care cause i can tell whats goin on its hip to be square its hip to be square i like my bands in business suits i watch them on tv im workin out most everyday and watchin what i eat they tell me that its good for me but i dont even care i know that its crazy i know that its nowhere there is no denyin that its hip to be square its hip to be square its hip to be square so hip to be square its not too hard to figure out you see it everyday and those that were the farthest out have gone the other way you see them on the freeway it dont look like a lot of fun but dont you try to fight it an idea whos time has come dont tell me that im crazy dont tell me im nowhere take it from me its hip to be square its hip to be square its hip to be square so hip to be square turn on boy",3
50,"will you still love me","chicago",1987," take me as i am put your hand in mine now and forever darling here i stand stand before you now deep inside i always knew it was you you and me two hearts drawn together bound by destiny it was you and you for me every road leads to your door every step i take forever morejust say youll love me for the rest of your life i gotta lot of love and i dont want to let go will you still love me for the rest of my life cause i cant go on no i cant go on i cant go on if im on my owntake me as i am put your heart in mine stay with me forever cause i am just a man who never understood i never had a thing to prove till there was you you and me then it all came clear so suddenly how close to you that i want to bejust say youll love me for the rest of your life i gotta lot of love and i dont want to let go will you still love me for the rest of my life cause i cant go on no i cant go on i cant go on if im on my owndo you believe a love could run so stong do you believe a love could pass you by there was no special one for me i was the lovely one you see but then my heart lost all control now youre all that i knowjust say youll love me for the rest of your life i gotta lot of love and i dont want to let go will you still love me for the rest of my life cause i cant go on no i cant go on i cant go on if im on my own ",1
51,"little lies","fleetwood mac",1987," if i could turn the page in time then id rearrange just a day or two close my close my close my eyes but i couldnt find a way so ill settle for one day to believe in you tell me tell me tell me liestell me lies tell me sweet little lies tell me lies tell me tell me lies oh no no you cant disguise you cant disguise no you cant disguise tell me lies tell me sweet little liesalthough im not making plans i hope that you understand theres a reason why close your close your close your eyes no more broken hearts were better off apart lets give it a try tell me tell me tell me liestell me lies tell me sweet little lies tell me lies tell me tell me lies oh no no you cant disguise you cant disguise no you cant disguise tell me lies tell me sweet little liesif i could turn the page in time then id rearrange just a day or two close my close my close my eyes but i couldnt find a way so ill settle for one day to believe in you tell me tell me tell me liestell me lies tell me sweet little lies tell me lies tell me tell me lies oh no no you cant disguise you cant disguise no you cant disguisetell me lies tell me sweet little lies tell me lies tell me tell me lies oh no no you cant disguise you cant disguise no you cant disguisetell me lies tell me sweet little lies tell me tell me lies ",1
52,"luka","suzanne vega",1987," my name is luka i live on the second floor i live upstairs from you yes i think youve seen me beforeif you hear something late at night some kind of trouble some kind of fight just dont ask me what it was just dont ask me what it was just dont ask me what it wasi think its cause im clumsy i try not to talk too loud maybe its because im crazy i try not to act too proudthey only hit until you cry after that you dont ask why you just dont argue anymore you just dont argue anymore you just dont argue anymoreyes i think im okay i walked into the door again if you ask thats what ill say and its not your business anywayi guess id like to be alone with nothing broken nothing thrown just dont ask me how i am just dont ask me how i am just dont ask me how i ammy name is luka i live on the second floor i live upstairs from you yes i think youve seen me beforeif you hear something late at night some kind of trouble some kind of fight just dont ask me what it was just dont ask me what it was just dont ask me what it wasthey only hit until you cry after that you dont ask why you just dont argue anymore you just dont argue anymore you just dont argue anymore ",1
53,"i heard a rumour","bananarama",1987," who needs friends who never show ill tell you what you wanna know i could have saved a broken heart if id found out long agoim just thinking about those lonely nights when i waited for your call til i found out all my friends were right oh oh i didnt know you at alli heard a rumour oh oh i heard a rumour they say you got a broken heart i heard a rumour oh oh yes i did boy i heard a rumour ohnow it seems theyre telling me youve changed your wicked ways but should i give you a second chance baby im too afraidso you realize what hurt you made and the love you threw away how can i forgive or soon forget its never gonna be the samei heard a rumour oh oh i heard a rumour they say you got a broken heart i heard a rumour oh oh yes i did boy i heard a rumour ohi heard a rumour oh oh i heard a rumour they say you got a broken heart i heard a rumour oh oh yes i did boy i heard a rumour ohim just thinking about those lonely nights when i waited for your call til i found out all my friends were right oh oh i didnt know you at alli heard a rumour oh oh i heard a rumour they say you got a broken heart i heard a rumour oh oh yes i did boy i heard a rumour ohi heard a rumour oh oh i heard a rumour they say you got a broken heart i heard a rumour oh oh yes i did boy i heard a rumour ohi heard a rumour oh oh i heard a rumour they say you got a broken heart i heard a rumour oh oh yes i did boy i heard a rumour oh ",1
54,"dont mean nothing","richard marx",1987," welcome to the big time youre bound to be a star and even if you dont go all the way i know that youll go far this race is for rats it can turn you upside down aint no one you can count on in this sleazy little townoh no lots of promises in the dark dont you open your heartcause it dont mean nothin the words that they say no dont mean nothin these games that people play no it dont mean nothin no victim no crime no dont mean nothin till you sign it on that dotted linethe director smiles as you walk in the door he says i love your work babe but youre just not what were looking for its never what but who it is you know so easy to get stuck in all that california snowoh no take a good look around and youll find people tryin to mess with your mindbut it dont mean nothin the words that they say no dont mean nothin these games that people play no it dont mean nothin no victim no crime no dont mean nothin till you sign it on that dotted linehollywood can be so lonely make you the winner of a losing fight but the party is never over cause stars are always shining doesnt matter if its day or nightthe producer says let me change a line or two and a little bit of something can look awfully good to you and you want to scream but you gotta keep it all inside when youre trying to make a living there aint no such thing as prideoh no lots of promises in the dark dont you open your heartcause it dont mean nothin the words that they say no i dont mean nothin these games that people play no it dont mean nothin no victim no crime no i dont mean nothin till you sign it on that dotted linedont mean nothing dont mean nothing dont mean nothingdont mean nothing dont mean nothing dont mean nothing  ",1
55,"songbird","kenny g",1987,"  ",1
56,"carrie","europe",1987," when lights go down i see no reason for you to cry weve been through this before in every time in every season god knows ive tried so please dont ask for morecant you see it in my eyes though this might be our last goodbye carrie carrie things they change my friend woh ohh carrie carrie maybe well meet again somewhere againi read your mind with no intentions of being unkind i wish i could explain it all takes time a whole lot of patience if its a crime how can i feel no paincant you see it in my eyes though this might be our last goodbye ohh ho ho carrie carrie oh things they change my friend woh ohh carrie carrie maybe well meet againohh cant you see it in my eyes though this might be our last goodbye ohh ho ho ohh carrie carrie ohh things they change carrie carrie carrie ohh ho ho carrie carrie maybe well meet again oh somewhere againwhen lights go down ",1
57,"dont disturb this groove","the system",1987," pay attention are you listening youre my favorite girl excuse me for the moment im in another world on a mountain by a fountain flowers blooming everywhere with venus and cupid the pictures very clearhang the sign upon the door say dont disturb this groove just a way to say that im so into you and the feelings so real so dont disturb this grooveerotic whispers for the listener let the music fill the air excuse me for a moment im at a loss for words by election sheer perfection and as if these eyes would care your heart is in the right place so dont you go and changebaby over and over the passion starts again youre my lollipops and everything and a little taste of sin causing fire and desire in this mortal soul to live till the angels fall from heaven and the day the earth stands stillhang a sign upon the door say dont disturb this groove just a way to say that im so into you and the feelings so real so dont disturb this groove just a way to tell you that im so into youclose your eyes and let the music put you in the groove lock the door and turn the phone off its time for me and you hang the sign upon the door say dont disturb this groove ",1
58,"la isla bonita","madonna",1987," como puede ser verdadlast night i dreamt of san pedro just like id never gone i knew the song a young girl with eyes like the desert it all seems like yesterday not far awaytropical the island breeze all of nature wild and free this is where i long to be la isla bonita and when the samba played the sun would set so high ring through my ears and sting my eyes your spanish lullabyi fell in love with san pedro warm wind carried on the sea he called to me te dijo te amo i prayed that the days would last they went so fasttropical the island breeze all of nature wild and free this is where i long to be la isla bonita and when the samba played the sun would set so high ring through my ears and sting my eyes your spanish lullabyi want to be where the sun warms the sky when its time for siesta you can watch them go by beautiful faces no cares in this world where a girl loves a boy and a boy loves a girllast night i dreamt of san pedro it all seems like yesterday not far awaytropical the island breeze all of nature wild and free this is where i long to be la isla bonita and when the samba played the sun would set so high ring through my ears and sting my eyes your spanish lullabytropical the island breeze all of nature wild and free this is where i long to be la isla bonita and when the samba played the sun would set so high ring through my ears and sting my eyes your spanish lullabyla la la la la la la te dijo te amo la la la la la la la el dijo que te ama ",1
59,"bad","michael jackson",1987," your butt is mine gonna tell you right just show your face in broad daylight im telling you on how i feel gonna hurt your mind dont shoot to kill come oncome on lay it on me all rightim giving you on count of three to show your stuff or let it be im telling you just watch your mouth i know your game what youre aboutwell they say the skys the limit and to me thats really true but my friend you have seen nothin just wait til i get throughbecause im bad im bad come on you know im bad im bad come on you know you know im bad im bad come on you know and the whole world has to answer right now just to tell you once again whos badthe word is out youre doin wrong gonna lock you up before too long your lyin eyes gonna tell you right so listen up dont make a fight your talk is cheap youre not a man youre throwin stones to hide your handsbut they say the skys the limit and to me thats really true and my friends you have seen nothin just wait til i get throughbecause im bad im bad come on you know im bad im bad come on you know you know im bad im bad come on you know and the whole world has to answer right now just to tell you once again whos badwe can change the world tomorrow this could be a better place if you dont like what im sayin then wont you slap my facebecause im bad im bad come on you know im bad im bad come on you know you know im bad im bad come on you know and the whole world has to answer right now just to tell you once again whos badbecause im bad im bad come on you know im bad im bad come on you know you know im bad im bad come on you know and the whole world has to answer right now just to tell you once again whos badwhos bad ",1
60,"sign o the times","prince",1987," oh yeah in france a skinny man died of a big disease with a little name by chance his girlfriend came across a needle and soon she did the same at home there are seventeenyearold boys and their idea of fun is being in a gang called the disciples high on crack and totin a machine guntime timeshurricane annie ripped the ceiling of a church and killed everyone inside you turn on the telly and every other story is tellin you somebody died a sister killed her baby cause she couldnt afford to feed it and yet were sending people to the moon in september my cousin tried reefer for the very first time now hes doing horse  its june unhtimes timesits silly no when a rocket ship explodes and everybody still wants to fly but some say a man aint happy unless a man truly dies oh whytime timebaby make a speech star wars fly neighbors just shine it on but if a night falls and a bomb falls will anybody see the dawntime mm timesis it silly no when a rocket blows and and everybody still wants to fly some say man aint happy truly until a man truly dies oh why oh why sign o the times unhtime timesign o the times mess with your mind hurry before its too late lets fall in love get married have a baby well call him nate if its a boytime times ",1
61,"change of heart","cyndi lauper",1987," here i am just like i said i would be im your friend just like you think it should be did you think i would stand here and lie while our moment was passing us by oh i am herewaiting for your change of heart it just takes a beat to turn it around yes im waiting for your change of heart at the edge of my seat please turn it arounddays go by leaving me with a hunger i could fly back to when we were younger when adventures like cars we would ride and the years lied ahead still untried while i stand herewaiting for your change of heart it just takes a beat to turn it around yes im waiting for your change of heart at the edge of my seat please turn it aroundblind leading blind never feel the laughter search through time nothing reveals the answer if its truth that youre looking to find it is nowhere outside of your mind i bide my timewaiting for your change of heart it just takes a beat to turn it around yes im waiting for your change of heart at the edge of my seat please turn it aroundyes im waiting for your change of heart it just takes a beat to turn it around yes im waiting for your change of heart at the edge of my seat please turn it aroundand im waiting for your change of heart waiting for your change of heart ",1
62,"come go with me","expose",1987," feels the same every day come home from work late again work so hard and never play i cant wait to take you far awaydont you know dont you know gotta go gotta go pressure builds from everyone every dayget away get away come my way come my way when the day begins to end then youre minecome go with me make you feel alive this night will last everlasting through the time come go with me have no fearsbring back the memories i can take away the misery take my hand well fly away to our world that we can find todaycan you feel can you feel im for real im for real can i hold you by the fire in the nightis it right is it right hold me tight hold me tight when you look into my eyes in the lightcome go with me make you feel alive this night will last everlasting through the time come go with me come go with me have no fears two hearts in one eternal through the nightdont worry bout tomorrow just come go with me dont let it end in sorrow love is our destinycome go with me come go with me ill take you by the hand and well find another land come go with me come go with me oh leave the world behind the world from nine to fivecome go with me come go with mecome go with me make you feel alive this night will last everlasting through the time come go with me have no fears two hearts in one eternal through the nightcome go with me make you feel alive this night will last everlasting through the time come go with me have no fears two hearts in one eternal through the nightcome go with me make you feel alive this night will last everlasting through the time come go with me have no fears two hearts in one eternal through the night ",1
63,"cant we try","dan hill featuring vonda shepard",1987," i see your face cloud over like a little girls and your eyes have lost their shine you whisper something softly im not meant to hear baby tell me whats on your mindi dont care what people say about the two of us from different worlds i love you so much that it hurts inside are you listening please listen to me girlcant we try just a little bit harder cant we give just a little bit more cant we try to understand that its love were fighting forcant we try just a little more passion cant we try just a little less pride i love you so much baby that it tears me up insidei hear you on the telephone with god knows who spilling out your heart for free everyone needs someone they can talk to girl that someone should be meso many times ive tried to tell you you just turn away how did i knowmy life is changing so fast now leaves me lonely and afraid dont be afraid nocant we try just a little bit harder cant we give just a little bit more cant we try to understand that its love were fighting foroh cant we try just a little more passion cant we try just a little less pride i love you so much baby that it tears me up insidedont let our love fade away dont let our love fade away no matter what people say no matter no matter what they sayi need you more and more each day oh dont let our love fade away no matter what people say no matter no matter what they sayoh cant we try just a little bit harder cant we give just a little bit more cant we try just a little bit harder cant we give just a little bit morecant we try just a little more passion cant we try just a little less pride love you so much baby it tears me up inside ohcant we give a little bit a little bit just a little bit harder cant we give oh oh ohcant we try cant we give a little bit more cant we try baby cant we give oh oh cant we try just a little bit harder cant we give just a little bit more ",1
64,"to be a lover","billy idol",1987," have i told you lately that i love you if i didnt darlin you see im so sorry didnt i reach out and hold you in these lovin arms well if i didnt oh baby well im so sorrywhen i realized that you need love too gonna spend my life makin love to you got to be a lover have mercy forgot to be a lover babe forgot to be a lover forgot to be a lover make it on through to you somehow got to be a lover babe forgot to be a loverwell did i ask you yes would you come and share oh share oh the burden and the task thats at loves command didnt i say all those lovin special things that you long to hear to show how much i carewell when i realize that you need love too gonna spend my life makin love to you forgot to be a lover have mercywell well i worked all day hard as i can worked all night didnt make me a man forgot to be a lover have mercywhen i realized that you need love too gonna spend my life makin love to you forgot to be a lover got to be a lover babe mercy have mercy baby im gonna make it on through to you somehow so have mercyhave i told you yes lately that i love you if i didnt oh baby yes im so sorry ah but you know i really love you baby i really love you baby i really need you baby i really want you babywhen i realized that you need love too im gonna spend my life makin love makin love makin love to you well i worked all day as hard as i can worked all night it didnt make me a man babe forgot to be a lover have mercy baby have mercy baby have mercy baby make it throughwell when i realized that you need love too im gonna spend my life gotta spend my life makin love to you forgot to be a lover forgot to be a lover have mercy have mercy have mercy baby have mercy baby forgot to be a lover have mercy have mercy have mercy baby ",1
65,"mandolin rain","bruce hornsby and the range",1987," the song came and went like the times that we spent hiding out from the rain under the carnival tent i laughed and shed smile it would last for awhile you dont know what you got till you lose it all againlisten to the mandolin rain listen to the music on the lake listen to my heart break every time she runs away listen to the banjo wind sad song drifting low listen to the tears roll down my face as she turns to goa cool evening dance listening to the bluegrass band takes the chill from the air till they play the last song ill do my time oh keeping you off my mind but theres moments that i find im not feeling so stronglisten to the mandolin rain listen to the music on the lake listen to my heart break every time she runs away listen to the banjo wind sad song drifting low listen to the tears roll down my face as she turns to gorunning down by the lake shore she did love the sound of a summer storm it played on the lake like a mandolin now its washing her away once again againwhoa oh oh yeah listen to do do dothe boats steaming in i watch the side wheel spin and i think about her when i hear that whistle blow i cant change my mind oh i knew all the time that shed go but thats a choice i made long agolisten to the mandolin rain listen to the music on the lake listen to my heart break every time she runs away listen to the banjo wind sad song drifting low listen to the tears roll down my face as she turns to go as she turns to golisten to the listen to the mandolin rain listen to the tears roll down my face as she turns to go listen to the tears roll down my face as she turns to go listen to the mandolin rain ",1
66,"breakout","swing out sister",1987," breakoutdont start to ask and now youve found a way to make it last youve got to find a way say what you want to say breakoutdont start to ask and now youve found a way to make it last youve got to find a way say what you want to say breakoutwhen explanations make no sense youre fighting with less confidence the time has come to make or break breakoutdont start to ask and now youve found a way to make it last youve got to find a way say what you want to say breakoutthe situations never change tomorrow looks unsure dont leave your destinated trains what are you waiting for the time has come to make or break breakoutdont start to ask and now youve found a way to make it last youve got to find a way say what you want to say breakoutdont start to ask and now youve found a way to make it last youve got to find a way say what you want to say breakoutsome people stop at nothing if youre searching for somethinglay down the law shout out for more breakout and shout day in day out breakoutdont start to ask and now youve found a way to make it last youve got to find a way say what you want to say and breakoutlay down the law shout out for more breakout and shout day in day out breakout and breakout and breakoutlay down the law shout out for more breakout and shout day in day out youve got to find a way breakout and breakout and breakout ",1
67,"stand by me","ben e king",1987," when the night has come and the land is dark and the moon is the only light well see no i wont be afraid no i wont be afraid just as long as you stand stand by meso darlin darlin stand by me oh stand by me oh stand by me stand by meif the sky that we look upon should tumble and fall or the mountains should crumble to the sea i wont cry i wont cry no i wont shed a tear just as long as you stand stand by meand darlin darlin stand by me oh stand by me oh stand now by me stand by me stand by mee yeahand darlin darlin stand by me oh stand by me oh stand now by me stand by me stand by mee yeahwhenever youre in trouble wont you stand by me oh now now stand by me oh stand by me stand by me oh stand by me stand by me ",1
68,"tonight tonight tonight","genesis",1987," im coming down coming down like a monkey but its alright like a load on your back that you cant see but its alright try to shake it loose cut it free just let it go get it away from mecos tonight tonight tonight oh im gonna make it right tonight tonight tonight ohim going down going down like a monkey but its alright try to pick yourself up carry that weight that you cant see dont you know its alright its like a helter skelter going down and down round and round but just get it away from me ohbecause tonight tonight tonight oh were gonna make it right tonight tonight tonight ohi got some money in my pocket about ready to burn i dont remember where i got it i gotta get it to you so please answer the phone cos i keep calling but youre never home what am i gonna dotonight tonight tonight oh im gonna make it right tonight tonight tonight ohyou keep telling me ive got everything you say ive got everything i want you keep telling me youre gonna help me youre gonna help me but you dontbut now im in too deep you see its got me so that i just cant sleep oh get me out of here please get me out of here just help me ill do anything anything if youll just help me get out of hereim coming down coming down like a monkey but its alright its like a load on your back that you cant see dont you know that its alright just try to shake it loose cut it free let it go but just get it away from mecos tonight tonight tonight oh maybe well make it right tonight tonight tonight ohplease get me out of here someone get me out of here just help me ill do anything anything if youll just help get me out of heretonight oh im gonna make it right tonight tonight tonight oh yes tonight tonight tonight oh yes im gonna make it right tonight tonight tonight oh ",1
69,"someday","glass tiger",1987," ohhhhhwhen i come homeyou telephoneand say your waiting for mei ask you why i hear you crycause your still waiting for me ",1
70,"when smokey sings","abc",1987," debonair lullabies in melodies revealed in deep despair on lonely nights he knows just how you feel the slyest rhymes the sharpest suits in miracles made reallike a bird in flight on a hot sweet night you know youre right just to hold her tight he soothes it right makes it outtasite and every things good in the world tonightwhen smokey sings i hear violins when smokey sings i forget everything yeah as shes packing her things as shes spreading her wings the front door might slam but the back door it rings and smokey sings yeah he singselegance in eloquence for sale or rent or hire should i say yes i match his best then i would be a liar symphonies that soothe the rage when lovers hearts catch firelike a bird in flight on a hot sweet night you know youre right just to hold her tight he soothes it right makes it outtasite and every things good in the world tonightwhen smokey sings i hear violins yeah when smokey sings i forget everything yeah as shes packing her things as shes spreading her wings smashing the hell with the heaven she brings then smokey sings well he sings who you been true to sayluther croons slys the original originator james screams marvin was the only innovator but nothing can compare nothing can compare when smokey singswhen smokey sings i hear violins yeah when smokey sings i forget everything yeah as shes packing her things as shes spreading her wings she threw back the ring when smokey sings smokey sings smokey sings ",1
71,"casanova","levert",1987,"i aint much on casanova me and romeo aint never been friends cant you see how much i really love you gonna sing it to you time and time again oh casanova casanova oh casanova casanova every man deserves a good woman and i want you to be my wife time is so much better spent with you baby with a woman just like you in my life so let me love you fill you up inside i want to hold you baby so let me squeeze you dont you know that ill get down on my knees for you baby you see i aint much on casanova me and romeo aint never been friends cant you see how much i really love you gonna sing it to you time and time again oh casanova casanova oh casanova casanova every time i want to see you i cant find the words to tell you so but i love i love i love i love i love you baby and i just got to let you know how much i need you show you what you mean to me each day baby so let me hold you keep you safe and warm ill be your sweetheart baby baby baby baby and when i told you girl im an average guy you seem to know just how i really feel cause i cannot let go i need and want you to stay right here with me but baby i never knew love until you came along oh casanova tell me what to say casanova i cant let you get away oh casanova tell me what to do i aint no casanova i just wanna be with you listen baby i wanna hold i wanna squeeze you too i wanna make sweet love to you i wanna be there when you feeling low never let you go no casanova just a man thing and i want to love you love you love you love you baby oh casanova i aint much on casanova me and romeo aint never been friends cant you see how much i really love you im gonna sing it to you time and time again i love you ill get down on my knees for you baby no i aint no i aint no casanova no casanova im just a man baby casanova cant you understand casanova ill get down on my knees for you baby i wanna hold i wanna squeeze you too i wanna make sweet love to you i wanna be there when youre feeling low got to let you know no casanova i aint no romeo casanova im just a man baby i wanna be a part of your life i want you to be my wife i want you there in the day and night make it right i aint no casanova i just wanna be your lover baby casanova casanova casanova",3
72,"rhythm is gonna get you","gloria estefan and miami sound machine",1987," o eh o eh o eh o eh o eh oo aah o eh oo aah o eh o eh o eh o eh yah ya goh o eh oo aah o eh oo aah yah ya gohat night when you turn off all the lights theres no place that you can hide no no the rhythm is gonna get youin bed throw the covers on your head you pretend like you are dead but i know it the rhythm is gonna get yourhythm is gonna get you rhythm is gonna get you rhythm is gonna get you the rhythm is gonna get you tonightno way you can fight it every day no matter what you say you know it the rhythm is gonna get youno clue of whats happening to you and before this night is through ooh baby the rhythm is gonna get yourhythm is gonna get you rhythm is gonna get you rhythm is gonna get you the rhythm is gonna get you tonighto eh o eh o eh o eh o eh oo aah o eh oo aah o eh o eh o eh o eh o eh oo aah o eh oo aah o eh o eh yah yeh goh yah yeh goh yah yeh gohrhythm is gonna get you rhythm is gonna get you rhythm is gonna get you the rhythm is gonna get yourhythm is gonna get you rhythm is gonna get youna na na na na na na na na na na na na na na rhythm is gonna get you na na na na na na na na na na na na na na nao eh o eh rhythm is gonna get you na na na na na na na na o eh oo aah rhythm is gonna get you na na na na na na nao eh o eh o eh o eh na na na na na na na na o eh oo aah o eh oo aah na na na na na na nao eh o eh o eh o eh na na na na na na na na o eh oo aah o eh oo aah na na na na na na nao eh o eh the rhythm is gonna get you tonight ",1
73,"rock steady","the whispers",1987," i looked at you you stole my heart you were all that i anticipated i wanted you every part but i knew love would be complicatedi began to touch but you wouldnt let it it never seemed to be the right time i started to give up down to the limit and then you changed your mind ohand we begin to rock steady steady rockin all night long and we begin to rock steady rockin till the break of dawn rock steady steady rockin all night long rock steady rockin till the break of dawnyou looked at me to my surprise you were through anticipating i should have known it was in your eyes that you were gettin tired of waitingyou wanted me so much but i didnt get it how could a fellow be so blind i started to give up but love wouldnt let it then you walked into my lifeand we begin to rock steady steady rockin all night long and we begin to rock steady rockin till the break of dawn rock steady steady rockin all night long rock steady rockin till the break of dawnrock steady baby rock steady baby ooh rock rock steady baby rock steady baby rock ooh rock rockyou wanted me so much i didnt get it how could a fellow be so blind i started to give up but love wouldnt let it and you walked into my life ohand we begin to rock steady steady rockin all night long and we begin to rock steady rockin till the break of dawn rock steady steady rockin all night long rock steady rockin till the break of dawnrock steady steady rockin all night long rock steady rockin till the break of dawn everybody start rockin ",1
74,"wanted dead or alive","bon jovi",1987," its all the same only the names will change everyday it seems were wastin away another place where the faces are so cold i drive all night just to get back homeim a cowboy on a steel horse i ride im wanted dead or alive wanted dead or alivesometimes i sleep sometimes its not for days the people i meet always go their separate ways sometimes you tell the day by the bottle that you drink and times when youre all alone all you do is thinkim a cowboy on a steel horse i ride im wanted wanted dead or alive wanted wanted dead or aliveoh and i rideyeahoh and im a cowboy on a steel horse i ride im wanted dead or alivei walk these streets a loaded sixstring on my back i play for keeps cause i might not make it back i been everywhere still im standing tall ive seen a million faces and ive rocked them allim a cowboy on a steel horse i ride im wanted wanted dead or alive im a cowboy i got the night on my side im wanted wanted dead or alive and i ride dead or alive i still drive i still drive dead or alive dead or alive dead or alive dead or alive dead or alive ",1
75,"big time","peter gabriel",1987," im on my way im making it ive got to make it show yeah so much larger than life im going to watch it growingthe place where i come from is a small town they think so small they use small words but not me im smarter than that i worked it out ive been stretching my mouth to let those big words come right outive had enough im getting out to the city the big big city ill be a big noise with all the big boys theres so much stuff i will own and i will pray to a big god as i kneel in the big churchbig time im on my wayim making it big time big time ive got to make it show yeah big time big time so much larger than life big time im going to watch it growing big timemy parties all have big names and i greet them with the widest smile tell them how my life is one big adventure and always theyre amazed when i show them round my house to my bed i had it made like a mountain range with a snowwhite pillow for my big fat head and my heaven will be a big heaven and i will walk through the front doorbig time im on my wayim making it big time big time ive got to make it showyeah big time big time so much larger than life im going to watch it growing big time big time my car is getting bigger big time my house is getting bigger big time my eyes are getting bigger big time and my mouth big time my belly is getting bigger big time and my bank account big time look at my circumstance big time and the bulge in my big big big big big big big ",1
76,"the finer things","steve winwood",1987," while there is time lets go out and feel everything if you hold me i will let you into my dreams for time is a river rolling into nowhere we must live while we can and well drink our cup of laughterthe finer things keep shining through the way my soul gets lost in you the finer things i feel in me the golden dance life could beive been sad and have walked bitter streets alone and come morning theres a good wind to blow me home so time be a river rolling into nowhere i will live while i can i will have my ever afterthe finer things keep shining through the way my soul gets lost in you the finer things i feel in me the golden dance life could bewe go so fast why dont we make it last life is glowing inside you and me please take my hand right here where i stand wont you come out and dance with me oh come seeand lovers try til they get the best of the night and come morning they are tangled up in the light so time be a river rolling into nowhere and they love while they can and they think about the night so sweetthe finer things keep shining through the way my soul gets lost in you the finer things i feel in me the golden dance life could bethe finer things keep shining through the way my soul gets lost in you the finer things i feel in me the golden dance life could be ",1
77,"let me be the one","expose",1987," sometimes people play with love falling in love is just a game dont think i dont know love youll never be alone againlet me show you how i feel be the one that i need so muchlet me give you what is real be the one that i long to touchonly you can make me feel this way ill give you all come on lets get away this love i feel will never ever fade ill give you more and more solet me be the one hold onto the dream let me be the one you can trust me at any timelet me be the one give you all the love let me be the one to feel your tender touchfirst time that i saw you there thought i knew you from before promise me you will never leave cause i will never let you golet me hold you close to me be the one because our love is stronglet me feel the need in me be the one together we belongonly you can make me feel brand new i can feel it in my heart your love is true together we are one instead of two i want you more and more solet me be the one to hold onto the dream let me be the one you can trust me at any timelet me be the one i want to give you all the love let me be the one and be the oneonly you can make me feel this way ill give you all come on lets get away this love i feel will never ever fade ill give you more and more solet me be the one hold onto the dream let me be the one you can trust me at any timelet me be the one i want to give you all the love let me be the one and be the onelet me be the one to hold onto the dream let me be the one you can trust me at any timelet me be the one i want to give you all the love let me be the one and be the onelet me be the one to hold onto the dream ",1
78,"is this love","survivor",1987," ive heard talk of blind devotion lovers through thick and thin lives touched with real emotion faithful til the bitter endnow i must admit that the storys attractive ive lost in far too many affairs ive seen all the pain that the morning can bring i need to prove to myself this is more than a crush can you convince me its not just the physical rushis this love that im feelin is this love thats been keepin me up all night is this love that im feelin is this loveso many nights in blind confusion ive walked the line of love we reach out in disillusion when one night isnt nearly enoughnow id like to know that for once in my life im sure of what tomorrow may bring ive heard all your talk can i take it to heart now look me straight in the eye cause tonight is the night weve got to ask each other if the moment is rightis this love that im feelin is this love thats been keepin me up all night is this love that im feelin is this loveive tread those mean streets blind alleys where the currency of love changes hands all touch no feeling just another one night stand i need to know that theres someone who cares could you be the angel to answer my prayersis this love that im feelin is this love thats been keepin me up all night is this love that im feelin is this loveis this love that im feelin is this love thats been keepin me up all night is this love that im feelin is this love is this love ",1
79,"diamonds","herb alpert",1987,"you told me you love me you told me you care but when im around you its like im not there i need a reminder something i can see something on my finger shines so brightly dont you know diamonds are a girls best friend when you go they stay with me until the end dont you know diamonds are a girls best best friend when you go they stay with me until the end dont want your money dont want your key diamonds love dont come for free dont want your money dont want your key diamonds love dont come for free they say you need some roses but roses do die you gave me some candy it melted nice try im not that demanding i have simple taste i just want a token that cant go to waste diamonds dont want your money dont want your key dont you know diamonds are a girls best friend dont want your money dont want your key dont want your money dont want your key diamonds love dont come for free",3
80,"point of no return","expose",1987," the common road seems just like a dream its a mystery to me fills me within when were together oh baby cant you seei id like to feel the passion to the point of no return i will be in full reaction im gonna take you in my armsyoure taking me to the point of no return youre taking me to the point of no returnit took so long well i treasure now the love you gave to me and when you smile it warms my heart in need oh baby cant you seei id like to feel the passion to the point of no return oh baby i will be in full reaction im gonna take you in my armsyoure taking me to the point of no return youre taking me to the point of no returni wanna be with you baby im gonna be by your side i wanna be with you baby im gonna love you every nightyoure taking me to the point of no return youre taking me to the point of no returnyoure taking me to the point of no return youre taking me to the point of no returnyoure taking me to the point of no return ",1
81,"big love","fleetwood mac",1987," looking out for love in the night so still oh ill build you a kingdom in that house on the hill looking out for love big big loveyou said that you love me and that you always will oh you begged me to keep you in that house on the hill looking out for love big big lovei wake up alone with it all i wake up but only to falllooking out for love big big love just looking out for love big big love ",1
82,"midnight blue","lou gramm",1987," aint got no regrets i aint losin track of which way im going i aint gonna double back dont want no misplay put on no display an angel no but i know my way oh yeah ohi used to follow yeah thats true but my following days are over now i just gotta follow through and i remember what my father said he said son life is simple its either cherry red ormidnight blue oh midnight blue ohyou were the restless one and you did not care that i was the trouble boy lookin for a double dare i wont apologize for the things ive done and said but when i win your heart im gonna paint it cherry redi dont want to talk about it what you do to me i cant live without it and you might think that its much too soon for us to go this far into themidnight blue oh its midnight blue ohnow things could be different thatd be a shame cause im the one who can feel the sun right in the pouring rain i wont say where and i dont know when but soon theres gonna come a day baby ill be back again yeah ill be back for you you see im savin up my lovemidnight blue oh into the midnight blue oh into the midnight blue oh cant leave this midnight blue oh into the midnight blue oh midnight blue oh midnight blue oh ",1
83,"something so strong","crowded house",1987," love can make you weep can make you run for cover roots that spread so deep bring life to frozen groundsomething so strong could carry us away something so strong could carry us todayturning in my sleep love can leave you cold the taste of jealousy is like a lust for goldsomething so strong could carry us away something so strong could carry us todayive been feeling so much older frame me and hang me on the wall ive seen you fall into the same trap this thing is happening to us all yeahsomething so strong could carry us away something so strong could carry us today yeahsomething so strong something so strong something so strong something so so strong ",1
84,"heat of the night","bryan adams",1987," NA ",1
85,"nothings gonna change my love for you","glenn medeiros",1987," if i had to live my life without you near me the days would all be empty the nights would seem so long with you i see forever oh so clearly i might have been in love before but it never felt this strong our dreams are young and we both know theyll take us where we want to go hold me now touch me now i dont want to live without younothings gonna change my love for you you ought to know by now how much i love you one thing you can be sure of ill never ask for more than your lovenothings gonna change my love for you you ought to know by now how much i love you the world may change my whole life through but nothings gonna change my love for youif the road ahead is not so easy our love will lead the way for us like a guiding star ill be there for you if you should need me you dont have to change a thing i love you just the way you are so come with me and share the view ill help you see forever too hold me now touch me now i dont want to live without younothings gonna change my love for you you ought to know by now how much i love you one thing you can be sure of ill never ask for more than your lovenothings gonna change my love for you you ought to know by now how much i love you the world may change my whole life through but nothings gonna change my love for younothings gonna change my love for you you ought to know by now how much i love you one thing you can be sure of ill never ask for more than your love my lovenothings gonna change my love for you you ought to know by now how much i love you one thing you can be sure of ill never ask for more than your lovenothings gonna change my love for you you ought to know by now how much i love you the world may change my whole life through but nothings gonna change my love for younothings gonna change my love for you you ought to know by now how much i love you one thing you can be sure of sure of ill never ask for more than your love my love ",1
86,"brilliant disguise","bruce springsteen",1987," i hold you in my arms as the band plays what are those words whispered baby just as you turn away i saw you last night out on the edge of town i wanna read your mind to know just what ive got in this new thing ive found so tell me what i see when i look in your eyes is that you baby or just a brilliant disguisei heard somebody call your name from underneath our willow i saw something tucked in shame underneath your pillow well ive tried so hard baby but i just cant see what a woman like you is doing with me so tell me who i see when i look in your eyes is that you baby or just a brilliant disguisenow look at me baby struggling to do everything right and then it all falls apart when out go the lights im just a lonely pilgrim i walk this world in wealth i want to know if its you i dont trust cause i damn sure dont trust myselfnow you play the loving woman ill play the faithful man but just dont look too close into the palm of my hand we stood at the alter the gypsy swore our future was right but come the wee wee hours well maybe baby the gypsy lied so when you look at me you better look hard and look twice is that me baby or just a brilliant disguise ",1
87,"just to see her","smokey robinson",1987," just to see her just to touch her just to hold her in my arms again one more time if i could feel her warm embrace see her smiling face cant find anyone to take her place ive got to see her againi would do anything i would go anywhere theres nothing i wouldnt do just to see her againi cant hide it i cant fight it its so hard to live without the love she gave to me doesnt she know it i tried hard not to show it cant i make her realize that she really needs me againi would do anything i would go anywhere theres nothing i wouldnt do just to see her again she brightened up my everyday made me feel so good in every way if i could have her back to stay ive got to see her again ",1
88,"who will you run to","heart",1987," youre not sure what you want to do with your life but you sure dont want me in it yeah youre sure the life youre living with me cant go on one single minute and theres a new one waiting outside this door and nows its time to begin ityou found a new world and you want to taste it but that world can turn cold and you better face itwho will you run to when it all falls down whos gonna pick your world up off from the ground whos gonna take away the tears you cry whos gonna love you baby as good as iyou dont know what its like to live on your own youve always had me there beside you you think its easy finding someone out there whos gonna care as much as i do whats gonna happen baby when you find out theres no one there to cry toyou can tell the whole world how youre gonna make it you can follow your heart what you do when someone breaks itwho will you run to when it all falls down whos gonna pick your world up off from the ground whos gonna take away the tears you cry whos gonna love you baby as good as iyou found a new world and you want to taste it but that world can turn cold and you better face itwho will you run to when it all falls down whos gonna pick your world up off from the ground whos gonna take away the tears you cry whos gonna love you baby as good as iwho will you run to when it all falls down whos gonna pick your world up off from the ground whos gonna take away the tears you cry whos gonna love you baby as good as i ",1
89,"respect yourself","bruce willis",1987,"if you disrespect everybody that you run into how in the world do you think anybody sposed to respect you if you dont give a heck about the man with a bible in his hand just get out the way and let the gentleman do his thing youre the kind of gentleman that wants everything their way take the sheet off yur face boy its a brand new day respect yourself respect yourself if you dont respect yourself aint nobody gonna give a good cahoot na na na oh oh respect yourself if youre walking around thinking that the world owes you something cause youre here youre going out the world backward like you did when you first came here keep talking about the president wont stop air pollution put your hand over your mouth when you cough thatll help the solution you cuss around women folk you dont even know their name then youre dumb enough to think that it makes you a big ol man respect yourself respect yourself if you dont respect yourself aint nobody gonna give a good cahoot na na na oh oh respect yourself",3
90,"cross my broken heart","the jets",1987," cross my broken heart boy cross my broken heart for you im going to stay this timecross my broken heart boy swear ill never part from you i want you to be minei know you think im not your picture perfect jewel and let us break apart when everything was cooli needed to explore and open up the door but now i need you moreim sending out a message a message so sincere when i close my eyes i need to feel you nearcant get you off my mind for leaving me this time im still in love with youcross my broken heart boy cross my broken heart for you im going to stay this timecross my broken heart boy swear ill never part from you i want you to be mineif i had your attention id tell you what i learned despite of good intentions its easy to get burnedi learned my lesson well its you i need to tell this time im all for youi need for you to trust me to give you all my best ill prove just what your love means just put me to the testthis time i need to stay dont need to go away im still in love with youcross my broken heart boy cross my broken heart for you im going to stay this timecross my broken heart boy swear ill never part from you i want you to be mineyoure my morning sun youre my shining star youre my number one cross my broken heartin your eyes i see what you mean to me youre my destinyim sending out a message a message so sincere when i close my eyes i need to feel you nearcant get you off my mind for leaving me this time im still in love with youyoure my morning sun youre my shining star youre my number one cross my broken heartin your eyes i see what you mean to me youre my destinycross my broken heart boy cross my broken heart for you im going to stay this timecross my broken heart boy swear ill never part from you i want you to be minecross my broken heart boy cross my broken heart for you im going to stay this timecross my broken heart boy swear ill never part from you i want you to be minecross my broken heart boy cross my broken heart for you im going to stay this timecross my broken heart boy swear ill never part from you i want you to be mine ",1
91,"victory","kool  the gang",1987,"people get ready its time to show what you got players take your places its only one way to the top you must feel the victory release that energy and ride like the wind with fire in your eyes shake those butterflies and do the best you can victory victory let the party begin victory victory lets do it again you are the best you seem to stand out from the rest your intentions to be more than a honorable mention you must feel that victory release that energy and ride like the wind fire in your eyes shake those butterflies and go ahead and go for the win now victory victory let the party begin victory victory everybody can win cause its the same way in life same way in life inside the tunnel see the light see the light the perfect balance you must find its the same way in life victory victory victory victory sweet victory sweet victory sweet can you feel it victory sweet so sweet so sweet theres only one way to the top if you really want it you can never stop pushing for the victory go ahead players take your places go ahead feel that victory release that energy so sweet to the top go ahead go ahead players take your places to the top victory",3
92,"dont get me wrong","the pretenders",1987," dont get me wrong if im looking kind of dazzled i see neon lights whenever you walk bydont get me wrong if you say hello and i take a ride upon a sea where the mystic moon is playing havoc with the tide dont get me wrongdont get me wrong if im acting so distracted im thinking about the fireworks that go off when you smiledont get me wrong if i split like light refracted im only off to wander across a moonlit mileonce in awhile two people meet seemingly for no reason they just pass on the street suddenly thunder showers everywhere who can explain the thunder and rain but theres something in the airdont get me wrong if i come and go like fashion i might be great tomorrow but hopeless yesterdaydont get me wrong if i fall in the mode of passion it might be unbelievable but lets not say so long it might just be fantastic dont get me wrong ",1
93,"doing it all for my baby","huey lewis and the news",1987,"early in the morning im still in bed she comes to me with sweet affection wakes me with kisses hello sleepyhead gets me moving in the right direction i do my best to give her love that lasts forever it seems like everythiung i do im doing better doing it all for my baby because shes as fine as she can be doing it all for my baby for everything she does for me later in the evening its been a busy day she lays her head upon my weary shoulder listen to her laughing snuggle up and say now im with you baby the loneliness is over i do my best to give her love that lasts forever it seems like everything i do im doing better doing it all for my baby because shes as fine as she can be doing it all for my baby for everything she does for me",3
94,"right on track","breakfast club",1987," gonna make a move that knocks you over watch this turn ones gonna put you away but im doing my very best dancing every time youre looking the other wayi could move out to the left for a while i could slide to the right for a while i could get up and back right on track but is right on track is that gonna get you backive been trying to get your attention and im very very close to thinking of a way i could be big and tough and other funny stuff but you just keep looking the other wayi could move out to the left for a while i could slide to the right for a while i could get up and back right on track but is right on track is that gonna get you backhow far away can you go and still be dancing with me would you mind staying in the vicinity ive not been faring badly but i would gladly take you backthere must be some kind of bad connection cause this music does not sound the way it did i got to get up and back cause ive been off track and that may be just why you disappeared but now ive got you in the corner of my eyeand ive got one more move i can try and ive got one more move i can try ",1
95,"ballerina girl","lionel richie",1987," ballerina girl you are so lovely with you standing there im so aware of how much i care for youyou are more than now you are for always i can see in you my dreams come true dont you ever go awayyou make me feel like theres nothing i cant do and when i hold you i only want to say i love youballerina girl the joy you bring me every day and night holding you tight how ive waited for your lovesometimes ive wondered if youd ever come my way now that ive finally found you this is where my heart will stayim never gonna break your heart never will we drift apart cause all i want to do is share my whole life with youcause you make me feel like theres nothing i cant do i guess i finally realized theres nothing else like loving youballerina girl you are so lovely i can see in you my dreams come true dont you ever go away ballerina girl ",1
96,"meet me half way","kenny loggins",1987," in a lifetime made of memories i believe in destiny every moment returns again in time when ive got the future on my mind know that youll be the only onemeet me halfway across the sky out where the world belongs to only you and i meet me halfway across the sky make this a new beginning of another lifein a lifetime there is only love reachin for the lonely one we are stronger when we are given love when we put emotions on the line know that we are the timeless onesmeet me halfway across the sky out where the world belongs to only you and i meet me halfway across the sky make this a new beginning of another life ",1
97,"ive been in love before","cutting crew",1987," catch my breath close my eyes dont believe a word things she said overheard something wrong insideits you and admit it then you know youre in itive ive been in love before ive been in love before the hardest part is when youre in it ive been in love before ive been in love beforejust one touch just one look a dangerous dance one small word can make me feel like running awayyou cant say youre in it no until you reach the limitive been in love before ive been in love before the hardest part is when youre in it ive been in love before ive been in love beforeive been in love before ive been in love before the hardest part is when youre in it ive been in love before ive been in love beforeive been in love the hardest part is when youre in it ive been in love ive been in love before ",1
98,"you gotta fight for your right to party","beastie boys",1987," kick ityou wake up late for school man you dont want to go you ask you mom please but she still says no you missed two classes and no homework but your teacher preaches class like youre some kind of jerkyou gotta fight for your right to partyyour pop caught you smoking and he said no way that hypocrite smokes two packs a day man living at home is such a drag now your mom threw away your best porno mag bust ityou gotta fight for your right to party you gotta fightdont step out of this house if thats the clothes youre gonna wear ill kick you out of my home is you dont cut that hair your mom busted in and said whats that noise aw mom youre just jealous its the beastie boysyou gotta fight for your right to party you gotta fight for your right to partyparty party ",1
99,"funkytown","pseudo echo",1987,"gotta make a move to a town thats right for me town to keep me movin keep me groovin with some energy well i talk about it talk about it talk about it talk about it talk about talk about talk about movin gotta move on gotta move on gotta move on wont you take me to funkytown wont you take me to funkytown wont you take me to funkytown wont you take me to funkytown unverified",3
100,"love you down","ready for the world",1987,"it never really mattered to much to me you were just too damned old for me all that really mattered was you were my girlfriend and baby thats all that mattered to me let me love you down even if it takes all night let me love you down you know its got to be so right remember when i drove you home from work i love the way when you kissed me bye all of your friends think im just too young for you you tell em i can what guys their age can do oh babe let me love you down even if it takes all night let me love you down you know its got to be so right let me love you down even if it takes all night let me love you down you know its got to be so right it never really mattered to much to me you were just too damned old for me all that really mattered was you were my girlfriend and baby thats all that mattered to me oh baby let me love you down let me love you down you know its got to be so right let me love you down let me love you down you know its got to be so right i can love you down let me love you let me love you let me love you down i know i know i could let me love you down i know its gonna take all night let me love you down no no no no let me love you down let me love come on take the house and the car i love like you are love you down down down baby love you down down down i know i know i could yeah let me love you down its just me and you the whole night through let me love you baby i know i know i could love you down down let me love you i know i could baby youre so sweet to me let me love you down ooh baby its just you and me baby the whole night through wont you let me love down i cant take this too much longer you know",3
1,"faith","george michael",1988," well i guess it would be nice if i could touch your body i know not everybody has got a body like you uhhbut ive got to think twice before i give my heart away and i know all the games you play because i play them toooh but i need some time off from that emotion time to pick my heart up off the floor oh when that love comes down without devotion well it takes a strong man baby but im showing you the doorcause i gotta have faith i gotta faith because i gotta to have faith faith i gotta to have faith faith faithbaby i know youre asking me to stay say please please please dont go away you say im giving you the blues maybe you mean every word you say cant help but think of yesterday and another who tied me down to lover boy rulesbefore this river becomes an ocean before you throw my heart back on the floor oh baby i reconsider my foolish notion well i need someone to hold me but i wait for something moreyes ive gotta have faith unh i gotta faith because i gotta to have faith faith faith i gotta to have faith faith faithi just got to wait because i got to have faith i gotta have faith i gotta gotta gotta have faithbefore this river becomes an ocean before you throw my heart back on the floor oh baby i reconsider my foolish notion well i need someone to hold me but i wait for something morecause ive gotta have faith unh i gotta faith because i gotta to have faith faith faith i gotta to have faith faith faith ",1
2,"need you tonight","inxs",1988," come over hereall you got is this moment the twentyfirst centurys yesterday you can care all you want everybody does yeah thats okayso slide over here and give me a moment your moves are so raw ive got to let you know ive got to let you know youre one of my kindi need you tonight cause im not sleeping theres something about you girl that makes me sweathow do you feel im lonely what do you think cant take it all what ya gonna do gonna live my lifeso slide over here and give me a moment your moves are so raw ive got to let you know ive got to let you know youre one of my kindi need you tonight cause im not sleeping theres something about you girl that makes me sweatso how do you feel im lonely what do you think cant think at all whatcha gonna do gonna live my lifeso how do you feel im lonely what do you think cant think at all whatcha gonna do gonna live my lifeso slide over here and give me a moment your moves are so raw ive got to let you know ive got to let you knowso slide over here and give me a moment ive got to let you know ive got to let you knowyoure one of my kind ",1
3,"got my mind set on you","george harrison",1988," i got my mind set on you i got my mind set on you i got my mind set on you i got my mind set on youbut its gonna take money a whole lotta spending money its gonna take plenty of money to do it right childits gonna take time a whole lot of precious time its gonna take patience and time umm to do it to do it to do it to do it to do it to do it right childi got my mind set on you i got my mind set on you i got my mind set on you i got my mind set on youand this time i know its for real the feelings that i feel i know if i put my mind to it i know that i really can do iti got my mind set on you set on you i got my mind set on you set on youbut its gonna take money a whole lotta spending money its gonna take plenty of money to do it right childits gonna take time a whole lot of precious time its gonna take patience and time umm to do it to do it to do it to do it to do it to do it right childi got my mind set on you i got my mind set on you i got my mind set on you i got my mind set on youand this time i know its for real the feelings that i feel i know if i put my mind to it i know that i really can do itbut its gonna take money a whole lotta spending money its gonna take plenty of money to do it right childits gonna take time a whole lot of precious time its gonna take patience and time umm to do it to do it to do it to do it to do it to do it rightset on you set on youset on you set on youset on you set on you ",1
4,"never gonna give you up","rick astley",1988," ooh oohwere no strangers to love you know the rules and so do i a full commitments what im thinking of you wouldnt get this from any other guy i just wanna tell you how im feeling gotta make you understandnever gonna give you up never gonna let you down never gonna run around and desert you never gonna make you cry never gonna say goodbye never gonna tell a lie and hurt youweve known each other for so long your hearts been aching but youre too shy to say it inside we both know whats been going on we know the game and were gonna play it and if you ask me how im feeling dont tell me youre too blind to seenever gonna give you up never gonna let you down never gonna run around and desert you never gonna make you cry never gonna say goodbye never gonna tell a lie and hurt younever gonna give you up never gonna let you down never gonna run around and desert you never gonna make you cry never gonna say goodbye never gonna tell a lie and hurt youooh give you up ooh give you up ooh never gonna give never gonna give give you up ooh never gonna give never gonna give give you upweve know each other for so long your hearts been aching but youre too shy to say it inside we both know whats been going on we know the game and were gonna play iti just wanna tell you how im feeling gotta make you understandnever gonna give you up never gonna let you down never gonna run around and desert you never gonna make you cry never gonna say goodbye never gonna tell a lie and hurt younever gonna give you up never gonna let you down never gonna run around and desert you never gonna make you cry never gonna say goodbye never gonna tell a lie and hurt younever gonna give you up never gonna let you down never gonna run around and desert you never gonna make you cry never gonna say goodbye never gonna tell a lie and hurt you ",1
5,"sweet child o mine","guns n roses",1988," shes got a smile it seems to me reminds me of childhood memories where everything was as fresh as the bright blue sky now and then when i see her face she takes me away to that special place and if id stare too long id probably break down and cryoh oh oh sweet child o mine oh oh oh oh sweet love of mineshes got eyes of the bluest skies as if they thought of rain i hate to look into those eyes and see an ounce of pain her hair reminds me of a warm safe place where as a child id hide and pray for the thunder and the rain to quietly pass me byoh oh oh sweet child o mine oh oh oh oh sweet love of mineoh oh oh oh sweet child o mine oh oh oh oh sweet love of mineoh oh oh oh sweet child o mine oh sweet love of minewhere do we go where do we go now where do we go oh oh where do we go oh where do we go now where do we go oh sweet child where do we go now oh where do we go now oh where do we go oh where do we go now oh where do we go where do we go now where do we go oh where do we go now no no no no no no sweet child sweet child of mine ",1
6,"so emotional","whitney houston",1988," ive been hearing your heartbeat inside of me i keep your photo right beside my bed livin in a world of fantasies i cant get you out of my headive been waiting for the phone to ring all night why you want to make me feel so good i got a love of my own shouldnt get so hung up on youi remember the way that we touched i wish i didnt like it so much i get so emotional baby every time i think of you i get so emotional babyaint it shocking what love can do aint it shocking what love can doi gotta watch you walk in the room baby i gotta watch you walk out i like the animal way you move and when you talk i just watch your mouthi remember the way that we touched i wish i didnt like it so much i get so emotional baby every time i think of you i get so emotional baby ",1
7,"heaven is a place on earth","belinda carlisle",1988," ooh baby do you know what thats worth ooh heaven is a place on earth they say in heaven love comes first well make heaven a place on earth ooh heaven is a place on earthwhen the night falls down i wait for you and you come around and the worlds alive with the sound of kids on the street outsidewhen you walk into the room you pull me close and we start to move and were spinning with the stars above and you lift me up in a wave of loveooh baby do you know what thats worth ooh heaven is a place on earth they say in heaven love comes first well make heaven a place on earth ooh heaven is a place on earthwhen i feel alone i reach for you and you bring me home when im lost at sea i hear your voice and it carries mein this world were just beginning to understand the miracle of living baby i was afraid before but im not afraid anymoreooh baby do you know what thats worth ooh heaven is a place on earth they say in heaven love comes first well make heaven a place on earth ooh heaven is a place on earthin this world were just beginning to understand the miracle of living baby i was afraid before but im not afraid anymoreooh baby do you know what thats worth ooh heaven is a place on earth they say in heaven love comes first well make heaven a place on earth ooh heaven is a place on earth ooh heaven is a place on earth ooh heaven is a place on earth ooh heaven is a place on earth ooh heaven is a place on earth ",1
8,"couldve been","tiffany",1988," the flowers you gave me are just about to die when i think about what couldve been it makes me want to crythe sweet words you whispered didnt mean a thing i guess our song is over as we begin to singcouldve been so beautiful couldve been so right couldve been my lover every day of my life couldve been so beautiful couldve been so right ill never hold what couldve been on a cold and lonely nightthe memorys of our lovin still linger in the air like the faded scent of your roses they stay with me everywhereevery time i get my hopes up they always seem to fall still what couldve been is better than what could never be at allcouldve been so beautiful couldve been so right couldve been my lover every day of my life couldve been so beautiful couldve been so rightyou could love what couldve been on a cold and lonely night ",1
9,"hands to heaven","breathe",1988," as i watch you move across the moonlit room theres so much tenderness in your loving tomorrow i must leave the dawn knows no reprieve god give me strength when i am leavingso raise your hands to heaven and pray that well be back together somedaytonight i need your sweet caress hold me in the darkness tonight you calm my restlessness you relieve my sadnessas we move to embrace tears run down your face i whisper words of love so softly i cant believe this pain its driving me insane without your touch life will be lonelyso raise your hands to heaven and pray that well be back together somedaytonight i need your sweet caress hold me in the darkness tonight you calm my restlessness you relieve my sadnesstonight i need your sweet caress hold me in the darkness tonight you calm my restlessness you relieve my sadnessmorning has come another day i must pack my bags and say goodbye goodbyetonight i need your sweet caress hold me in the darkness tonight you calm my restlessness you relieve my sadnesstonight i need your sweet caress hold me in the darkness tonight you calm my restlessness you relieve my sadness ",1
10,"roll with it","steve winwood",1988," when life is too much roll with it baby dont stop and lose your touch oh no baby hard times knocking on your door ill tell them you aint there no more get on through it roll with it babyluckll come and then slip away youve gotta move bring it back to stayyou just roll with it baby come on and just roll with it baby you and me roll with it baby hang on and just roll with it babythe way that you love is good as money i swear by stars above sweet as honey people think youre down and out you show them what its all about you can make it roll with it babywhen this world turns its back on you hang in and do that sweet thing you doyou just roll with it baby you just roll with it baby come on and just roll with it baby you and me just roll with it babyyou just roll with it baby you just roll with it baby come on and just roll with it baby you and me just roll with it babynow therell be a day youll get there baby youll hear the music play youll dance baby youll leave bad times way behind nothing but good times on your mind you can do it roll with it babythen youll see life will be so nice its just a step up to paradiseyou just roll with it baby you just roll with it baby you and me just roll with it baby come on and just roll with it babycome on you just roll with it baby just roll with it baby you just roll with it baby  ",1
11,"one more try","george michael",1988," ive had enough of danger and people on the streets im looking out for angels just trying to find some peace now i think its time that you let me know so if you love me say you love me but if you dont just let me gocause teacher there are things that i dont want to learn and the last one i had made me cry so i dont want to learn to hold you touch you think that youre mine because it aint no joy for an uptown boy whose teacher has told him goodbye goodbye goodbyewhen you were just a stranger and i was at your feet i didnt feel the danger now i feel the heat that look in your eyes telling me no so you think that you love me know that you need me i wrote the song i know its wrong just let me goand teacher there are things that i dont want to learn oh the last one i had made me cry so i dont want to learn to hold you touch you think that youre mine because it aint no joy for an uptown boy whose teacher has told him goodbye goodbye goodbyeso when you say that you need me that youll never leave me i know youre wrong youre not that strong let me goand teacher there are things that i still have to learn but the one thing i have is my pride oh so i dont want to learn to hold you touch you think that youre mine because there aint no joy for an uptown boy who just isnt willing to tryim so cold inside maybe just one more try ",1
12,"wishing well","terence trent darby",1988," kissing like a bandit stealing time underneath a sycamore tree cupid by the hour sends valentines to my sweet lover and me slowly but surely your appetite is more than i knew sweetly softly im falling in love with youwish me love a wishing well to kiss and tell a wishing well of butterfly tears wish me love a wishing well to kiss and tell a wishing well of crocodile tears singhugging like a monkey see monkey do right beside a riverboat gambler erotic images float through my head i wanna be your midnight rambler quickly but quickly the blood races through my veins quickly loudly i wanna hear those sugar bells ringwish me love a wishing well to kiss and tell a wishing well of butterfly tears wish me love a wishing well to kiss and tell a wishing well of crocodile tears ",1
13,"anything for you","gloria estefan and miami sound machine",1988," anything for you though youre not here since you said were through it seems like years time keeps draggin on and on and forevers been and gone still i cant figure what went wrongid still do anything for you ill play your game you hurt me through and through but you can have your wayi can pretend each time i see you that i dont care and i dont need you and though youll never see me cryin you know inside i feel like dyingand id do anything for you in spite of it all ive learned so much from you you made me strongbut dont you ever think that i dont love you that for one minute i forgot you but sometimes things dont work out right and you just have to say goodbyei hope youd find someone to please you someone wholl care and never leave you but if that someone ever hurts you you just might need a friend to turn toand id do anything for you ill give you up if thats what i should do to make you happyi can pretend each time i see you that i dont care and i dont need you and though inside i feel like dying you know youll never see me cryingdont you ever think that i dont love you that for one minute i forgot you but sometimes things dont work out right and you just have to say goodbye dont want to say goodbye ",1
14,"the flame","cheap trick",1988," another night slowly closes in and i feel so lonely touching heat freezing on my skin i pretend you still hold meim going crazy im losing sleep im in too far im in way too deep over you i cant believe youre gone you were the first youll be the lastwherever you go ill be with you whatever you want ill give it to you whenever you need someone to lay your heart and head upon remember after the fire after all the rain i will be the flame i will be the flamewatching shadows move across the wall it feels so frightening i wanna run to you i wanna call but ive been hit by lightningjust cant stand up for fallin apart cant see through this veil across my heart over you youll always be the one you were the first youll be the lastwherever you go ill be with you whatever you want ill give it to you whenever you need someone to lay your heart and head upon remember after the fire after all the rain i will be the flame i will be the flameim going crazy im losing sleep im in too far im in way too deep over you youll always be the one you were the first youll be the lastwherever you go ill be with you whatever you want ill give it to you whenever you need someone to lay your heart and head upon remember after the fire after all the rain i will be the flame i will be the flamewhatever you want ill give it to you wherever you go ill be with you and whatever you want ill give it to you oh whatever you want ill give it to you ",1
15,"get outta my dreams get into my car","billy ocean",1988," hey you get in to my car who me yes you get in to my car woooooooooh wah heywhos that lady coming down the road whos that lady whos that woman walking through my door whats the score ill be the sun shining on you hey cinderella step in your shoe ill be your nonstop lover get it while you can your nonstop miracle im your manget outta my dreams get in to my car get outta my dream get in to the back seat baby get in to my car beep beep yeah get outta my mind get in to my life ooooooh oh i said hey hey you you get in to my caroh babylady driver let me take your wheel smooth operator touch my bumper bumper hey lets make a deal make it real like a road runner coming after you just like a hero outta the blue ill be your nonstop lover get it while you can your nonstop miracle im your manget outta my dreams get in to my car get outta my dreams get in the back seat baby get in to my car beep beep yeah get outta my mind get in to my life ooooh oh i said hey hey you you get in to my caroh baby lets goi said open the door get in the back tread on the floor get on the trackyeah yeah yeah yeah yeah yeah yeah yeahlets gooooh wooow yeahill be the sun shining on you hey cinderella step in your shoe ill be your nonstop lover get it while you can your nonstop miracle im your manget outta my get outta my woooooooooh get out my dreams ",1
16,"seasons change","expose",1988," some dreams are in the night time and some seem like yesterday but leaves turn brown and fade ships sail away you long to say a thousand words but seasons changeit feels like its forever no reason for emptiness but time just runs away no more day by day you dream again it seems in vain when seasons changei want you i want to feel you by my side i need you dont you know i need you babyseasons change feelings change its been so long since i found you yet it seems like yesterday seasons change people change ill sacrifice tomorrow just to have you here todayforever seems so far away theres time for love and for play you dream about today feeling slips away the winds that blow they go away and seasons changei want you dont hide your feelings from inside i need you ive got to have your love now babyseasons change feelings change its been so long since i found you yet it seems like yesterday seasons change people changei want you i want to feel you by my side i need you ive got to have your love now babyseasons change feelings change its been so long since i found you yet it seems like yesterday seasons change people change ill sacrifice tomorrow just to have you here today just to have you here todayseasons change feelings change its been so long since i found you yet it seems like yesterday seasons change people change change the season ",1
17,"is this love","whitesnake",1988," i should have known better than to let you go alone its times like these i cant make it on my own wasted days and sleepless nights an i cant wait to see you againi find i spend my time waiting on your call how can i tell you babe my backs against the wall i need you by my side to tell me its alright cause i dont think i can take anymoreis this love that im feeling is this the love that ive been searching for is this love or am i dreaming this must be love cause its really got a hold on me a hold on mei cant stop the feeling ive been this way before but with you ive found the key to open any door i can feel my love for you growing stronger day by day an i cant wait too see you again so i can hold you in my armsis this love that im feeling is this the love that ive been searching for is this love or am i dreaming this must be love cause its really got a hold on me a hold on meis this love that im feeling is this the love that ive been searching foris this love or am i dreaming is this the love that ive been searching for is this love or am i dreaming is this the love that ive been searching for is this love or am i dreaming is this the love that ive been searching for is this love or am i dreaming is this the love that ive been searching for is this love or am i dreaming is this the love that ive been searching for ",1
18,"wild wild west","the escape club",1988,"the escape club miscellaneous wild wild west wild wild west escape club forty seven dead beats living in the back street north east west south all in the same house sitting in a back room waiting for the big boom im in a bedroom waitng for my baby chorus shes so mean but i dont care i love her eyes and her wild wild hair dance to the beat that we love best heading for the nineties living in the wild wild west the wild wild west mandys in the backroom handing out valium sheriffs on the airwaves talking to the djs forty seven heartbeats beating like a drum got to live it up live it up ronnies got a new gun chorus now put your flags in the air and march them up and down you can live it up live it up all over the town and turn to the left turn to the right i dont care as long as she comes tonight chorus heading for the nineties living in the eighties screaming in a back room waiting for the big boom give me give me wild west give me give me safe sex give me love give me love give me time to live it up",3
19,"pour some sugar on me","def leppard",1988," hey hey heylove is like a bomb baby cmon get it on livin like a lover with a radar phone lookin like a tramp like a video vamp demolition woman can i be your man your manrazzle n a dazzle n a flash a little light television lover baby go all night sometime anytime sugar me sweet little miss ah innocent sugar me yeah yeah so cmon take a bottle shake it up break the bubble break it uppour some sugar on me ooh in the name of love pour some sugar on me cmon fire me up pour your sugar on me ooh i cant get enough im hot sticky sweet from my head to my feet yeahlisten red light yellow light greenalight go crazy little woman in a one man show mirror queen mannequin rhythm of love sweet dream saccharine loosen up loosen up loosen upyou gotta squeeze a little tease a little please a little more easy operator come a knockin on my door sometime anytime sugar me sweet little miss innocent sugar me yeah yeah give a little more take a bottle shake it up break the bubble break it uppour some sugar on me ooh in the name of love pour some sugar on me cmon and fire me up pour your sugar on me oh i cant get enough im hot sticky sweet from my head to my feet yeahyou got the peaches i got the cream sweet to taste saccharine cause im hot say what sticky sweet from my head my head to my feet do you take sugar one lump or twotake a bottle take a bottle shake it up shake it up break the bubble break it up break it up break it up pour some sugar on me ooh in the name of love pour some sugar on me cmon fire me up pour your sugar on me ooh i cant get enough pour some sugar on me ooh in the name of love pour some sugar on me get it come get it pour your sugar on me oh pour some sugar on me yeah sugar me ",1
20,"ill always love you","taylor dayne",1988," ill always love you for the rest of my days you have won my heart and my soul with your sweet sexy ways you gave me hope when i needed someone near you bring me happiness every day of every yearill always love you for all that you are you have made my life complete youre my lucky star you are the one that ive been searching for you are my everything tell me who could ask for moreand ill always love you honey this will never end i need you by my side baby youre my lover my friend my friendinstrumental 1st part of verse you gave my world a thrill ive never known and filled my eager heart with a love to call my ownand ill always love you you must know how much i do you can count on me forever and i will take good care of youill always love you im so happy that youre mine ill always love you yes till the end of time ",1
21,"man in the mirror","michael jackson",1988," im gonna make a change for once in my life its gonna feel real good gonna make a difference gonna make it rightas i turn up the collar on my favorite winter coat this wind is blowing my mind i see the kids in the streets with not enough to eat who am i to be blind pretending not to see their needsa summer disregard a broken bottle top and a one man soul they follow each other on the wind ya know cause they got nowhere to go thats why i want you to knowim starting with the man in the mirror im asking him to change his ways and no message could have been any clearer if you want to make the world a better place take a look at yourself and then make a changeive been a victim of a selfish kind of love its time that i realize that there are some with no home not a nickel to loan could it be really me pretending that theyre not alonea willow deeply scarred somebodys broken heart and a washedout dream they follow the pattern of the wind ya see cause they got no place to be thats why im starting with meim starting with the man in the mirror im asking him to change his ways and no message could have been any clearer if you want to make the world a better place take a look at yourself and then make a changeim starting with the man in the mirror im asking him to change his ways and no message could have been any clearer if you want to make the world a better place take a look at yourself and then make that changeim starting with the man in the mirror oh yeah im asking him to change his ways better change no message could have been any clearer if you want to make the world a better place take a look at yourself and then make the change you gotta get it right while you got the time you cant close your your mindthen you close your mind that man that man that man that man with the man in the mirror man in the mirror oh yeah that man that man that man im asking him to change his ways better change no message could have been any clearer if you want to make the world a better place take a look at yourself and then make the changeoh no no noim gonna make a change its gonna feel real good chime on change just lift yourself you know youve got to stop it yourself yeah make that change ive got to make that change today hoo man in the mirror you got to you got to not let yourself brother hoo yeah make that change you know ive got to get that man that man man in the mirror youve got to move chime on chime on you got to stand up stand up stand up yeah make that change stand up and lift yourself now man in the mirror you know it you know it you know it you know it change make that change ",1
22,"shake your love","debbie gibson",1988," chorus shake your love i just cant shake your love shake your love i just cant shake your love shake your love i just cant shake shake your love i just cant shake your loveverse 1 im under a spell again boy im wondering why this is not a game of love but an emotional tie im trying to figure out my heart heart but i cant offer you proof of why we should never be apart and that is the that is the that is the truth ohchorus shake your love i just cant shake your love shake your love i just cant shake your love shake your love i just cant shake your love shake your love i just cant shake your loveverse 2 do you know why i stop and stare and smile when you walk by and how i call you up at night i hang up the phone and i cry if i never got to know you so well i knew you well maybe i would be fine baby you know that i cant tell why you should be you should be you should be mine ohchorus shake your love i just cant shake your love shake your love i just cant shake your love shake your love i just cant shake shake your love i just cant shake your lovebridge ooh i know what youre thinking i see it in your eyes you want to give our love another try im so glad you realize i cantchorus shake your love i just cant shake your love shake your love i just cant shake your love shake your love i just cant shake your love shake your love i just cant shake your loverap shake it your love cant shake just cant shake your lovechorus shake your love i just cant shake your love shake your love i just cant shake your love shake your love i just cant shake shake your love i just cant shake your loveshake your love shake your love i just cant shake your love shake your love i just cant shakesay shake it shake your love i just cant shake your loveshake your love i just cant shake shake your love i just cant shake your love shake your love i just cant shake shake your love i just cant shake your love ",1
23,"simply irresistible","robert palmer",1988," how can it be permissible she compromise my principle yeah yeah that kind of love is mythical shes anything but typicalshes a craze youd endorse shes a powerful force youre obliged to conform when theres no other course she used to look good to me but now i find hersimply irresistible simply irresistibleher loving is so powerful huh its simply unavoidable the trend is irreversible the woman is invincibleshes a natural law and she leaves me in awe she deserves the applause i surrender because she used to look good to me but now i find hersimply irresistible simply irresistiblesimply irresistible shes so fine theres no tellin where the money went simply irresistible shes all mine theres no other way to goshes unavoidable im backed against the wall she gives me feelings like i never felt before im breaking promises shes breaking every law she used to look good to me but now i find hersimply irresistible shes so fine theres no tellin where the money went simply irresistible shes all mine theres no other way to goher methods are inscrutable the proof is irrefutable oohoohoohoohoohoohooh shes so completely kissable huh our lives are indivisibleshes a craze youd endorse shes a powerful force youre obliged to conform when theres no other course she used to look good to me but now i find hersimply irresistible simply irresistibleshes so fine theres no tellin where the money went simply irresistible shes all mine theres no other way to go shes so fine theres no tellin where the money went simply irresistible shes all mine theres no other way to gosimply irresistible ",1
24,"hold on to the nights","richard marx",1988," just when i believed i couldnt ever want for more this ever changing world pushes me through another door i saw you smile and my mind could not erase the beauty of your face just for awhile wont you let me shelter youhold on to the nights hold on to the memories i wish that i could give you something more that i could be yourshow do we explain something that took us by surprise promises in vain love that is real but in disguise what happens now do we break another rule let our lovers play the fool i dont know how to stop feeling this wayhold on to the nights hold on to the memories i wish that i could give you something more that i could be yourswell i think that ive been true to everybody else but me and the way i feel about you makes my heart long to be free every time i look into your eyes im helplessly aware that the someone ive been searching for is right therehold on to the nights hold on to the memories i wish that i could give you more hold on to the nights ",1
25,"hungry eyes","eric carmen",1988," ive been meaning to tell you ive got this feelin that wont subside i look at you and i fantasize youre mine tonight now ive got you in my sightswith these hungry eyes one look at you and i cant disguise ive got hungry eyes i feel the magic between you and ii want to hold you so hear me out i want to show you what loves all about darling tonight now ive got you in my sightswith these hungry eyes one look at you and i cant disguise ive got hungry eyes i feel the magic between you and i ",1
26,"shattered dreams","johnny hates jazz",1988," so much for your promises they died the day you let me go caught up in a web of lies but it was just too late to knowi thought it was you who would stand by my sideand now youve given me given me nothing but shattered dreams shattered dreams feel like i could run away run away from this empty heartyou said youd die for mewoke up to reality and found the future not so bright i dreamt the impossible but maybe things could work out righti thought it was you who would do me no wrongand now youve given me given me nothing but shattered dreams shattered dreams feel like i could run away run away from this empty heartyouve given me given me nothing but shattered dreams shattered dreams feel like i could run away run away from this empty heart from this empty hearti thought it was you then you said youd die for loveand now youve given me given me nothing but shattered dreams shattered dreams feel like i could run away run away from this empty heartyouve given me given me nothing but shattered dreams shattered dreams feel like i could run away run away from this empty heartoh no no no you said youd die for me oh oh die for me so much for your promises ",1
27,"father figure","george michael",1988," thats all i wanted something special something sacred in your eyes for just one moment to be bold and naked at your side sometimes i think that youll never understand me maybe this time is forever say it can be whohthats all you wanted something special someone sacred in your life just for one moment to be warm and naked at my sidesometimes i think that youll never understand me but something tells me together wed be happy oh ohbaby i will be your father figure oh baby put your tiny hand in mine id love to i will be your preacher teacher be your daddy anything you have in mind it would make me i will be your father figure very happy i have had enough of crime please let me i will be the one who loves you til the end of timethats all i wanted but sometimes love can be mistaken for a crime thats all i wanted just to see my babys blue eyes shine this time i think that my lover understands me if we have faith in each other then we can be strong babyi will be your father figure put your tiny hand in mine i will be your preacher teacher anything you have in mind i will be your father figure i have had enough of crime i will be the one who loves you til the end of timeif you are the desert ill be the sea if you ever hunger hunger for me whatever you ask for thats what ill beso when you remember the ones who have lied who said that they cared but then laughed as you cried beautiful darling dont think of mebecause all i ever wanted its in your eyes baby and love cant lie no greet me with the eyes of a child my love is always tellin me so heaven is a kiss and a smile just hold on hold on i wont let you go my babyi will be your father figure put your tiny hand in mine i will be your preacher teacher anything you have in mind baby i will be your father figure i have had enough of crime so i am gonna love you til the end of time i will be your father i will be your preacher i will be your daddy whoa i will be the one who loves you til the end of time ",1
28,"naughty girls need love too","samantha fox",1988,"maybe just maybe naughty girls need love too ive been told time and time again that you cant treat love like a game but i play rough with hearts that never mend cause some guys like you do the same love was just a four letter word never heard how absurd how it could be but now i cant believe this is real how i feel now you steal my heart away from me used to be so good and so bad sex was just something i had used to always know what to do now youve got me confused baby dont let me be misunderstood temporary loves so bad but if feels so good then along came you now i know its true naughty girls need love too then came you then came you yes its true im in love with you and believe it baby this time your love wont get away stay here in the place to be we can get busy my way for six forevers and a day ooh its only you i adore so much more than my body was asking for yes your love is breaking my chill even still theres a thrill in my heart samantha fox was such a wild dame huh but whats in a name sssamantha sssamantha fox no more fun and games of the mind lets get busy one more time baby dont let me be misunderstood temporary loves so bad but if feels so good then along came you now i know its true naughty girls need love naughty girls need love baby dont let me be misunderstood temporary loves so bad but if feels so good then along came you now i know its true naughty girls need love too so moving like youre forty this groove is much too naughty cant you see i want you just for me boys make some noise girl i want to shower you with diamonds and please dont tease if you lie my heart will freeze freeze freeze freeze dont let me baby temporary loves so bad temporary loves so bad then along came you then along came you dont dont dont dont temporary temporary temporary temporary came along came along came along came along naughty girls need love baby baby dont let me temporary loves so bad then along came you",3
29,"a groovy kind of love","phil collins",1988," when im feelin blue all i have to do is take a look at you then im not so blue when youre close to me i can feel you heart beat i can hear you breathing in my earwouldnt you agree baby you and me got a groovy kind of loveany time you want to you can turn me on to anything you want to any time at all when i kiss your lips oh i start to shiver cant control the quivering insidewouldnt you agree baby you and me got a groovy kind of lovewhen im feelin blue all i have to do is take a look at you then im not so blue when im in your arms nothing seems to matter my whole world could shatter i dont carewouldnt you agree baby you and me got a groovy kind of love we got a groovy kind of love we got a groovy kind of love oh wow we got a groovy kind of love ",1
30,"love bites","def leppard",1988," if youve got love in your sights watch out love bites when you make love do you look in your mirror who do you think of does he look like me do you tell lies and say that its forever do you think twice or just touch and see ooh babe ooh yeah when youre alone do you let go are you wild and willing or is it just for show ooh come oni dont want to touch you too much baby cause making love to you might drive me crazy i know you think that love is the way you make it so i dont want to be there when you decide to break it nolove bites love bleeds its bringing me to my knees love lives love dies its no surprise love begs love pleadsits what i need when im with you are you somewhere else am i getting through or do you please yourself when you wake up will you walk out it cant be love if you throw it about ooh babe i dont want to touch you too much baby cause making love to you might drive me crazy ohlove bites love bleeds its bringing me to my knees love lives love dies its no surprise love begs love pleads its what i needoh yeah i dont want to touch you too much baby cause making love to you might drive me crazy i know you think that love is the way you make it so i dont want to be there when you decide to break it nolove bites love bleeds its bringing me to my knees love lives love dies love bites love bleeds its bringing me to my knees love lives love dies its no surprise love begs love pleads its what i need if youve got love in your sights watch out love bites yes it does it will be hell ",1
31,"endless summer nights","richard marx",1988," summer came and left without a warning all at once i looked and you were gone and now youre looking back at me searching for a way that we can be like we were beforenow im back to what i knew before you somehow the city doesnt look the same id give my life for one more night of having you here to hold me tight oh please take me there again oh ohand i remember how you loved me time was all we had until the day we said goodbye i remember every moment of those endless summer nightsi still recall the walks along the beaches and the way your hair would glisten in the sun rising in the afternoon making love to you under the moon ohdo you remember all the nights we spent in silence every single breath you took was mine we can have it all again say that youll be with me when the sun brings your heart to mine oh ohand i remember how you loved me time was all we had until the day we said goodbye i remember every moment of those endless summer nightstheres only so much i can say so please dont run away from what we have together its only you and me tonight so lets stay lost in flight oh wont you please surrenderand i remember how you loved me time was all we had until the day we said goodbye i remember every moment of those endless summer nights oh i rememberand i remember how you loved me time was all we had until the day we said goodbye i remember every moment of those endless summer nights ",1
32,"foolish beat","debbie gibson",1988," there was a time when broken hearts and broken dreams were over there was a place where all you could do was wish on a four leaf clover but now is a new time there is a new place where dreams just cant come true it started the day when i left you ohi could never love again the way i loved you oh i could never cry again like i did when i left you and when we said goodbye oh the look in your eyes just left me beside myself without your heart without your heart i could never love again now that were apartoh when i was sorry it was too late to turn around turn around and tell you so there was no reason there was no reason just a foolish beat of my hearti could never love again the way i loved you i could never cry again like i did when i left you and when we said goodbye oh the look in your eyes just left me beside myself without your heart without your heart i could never love again now that were apartoh cant you see im not fooling nobody dont you see the tears are falling down my face since you went away break my heart you slipped away didnt know i was wrong never meant to hurt you now youre gonei could never love again now that were apart now that were apart i could never love again now that were apart ",1
33,"where do broken hearts go","whitney houston",1988," i know its been some time but theres something on my mind you see i havent been the same since that cold november day we said we needed space but all we found was an empty place and the only things i learned is that i need you desperatelyso here i am and can you please tell me ohwhere do broken hearts go can they find their way home back to the open arms of a love thats waiting there and if somebody loves you wont they always love you i look in your eyes and i know that you still care for meive been around enough to know that dreams dont turn to gold and that there is no easy way no you just cant run away and what we have is so much more than we ever had before and no matter how i try youre always on my mindso here i am and can you please tell me ohwhere do broken hearts go can they find their way home back to the open arms of a love thats waiting there and if somebody loves you wont they always love you i look in your eyes and i know that you still care for meand now that i am here with you ill never let you go i look into your eyes and now i know now i knowwhere do broken hearts go can they find their way home back to the open arms of a love thats waiting there and if somebody loves you wont they always love you i look in your eyes and i know that you still carewhere do broken hearts go can they find their way home back to the open arms of a love thats waiting there and if somebody loves you wont they always love you i look in your eyes and i know that you still care for me for me you still care for me ",1
34,"angel","aerosmith",1988," im alone yeah i dont know if i can face the night im in tears and the cryin that i do is for you i want your love  lets break the walls between us dont make it tough  ill put away my pride enoughs enough ive suffered and ive seen the lightchorus baby youre my angel come and save me tonight youre my angel come and make it all rightdont know what im gonna do about this feeling inside yes its true  loneliness took me for a ride without your love  im nothing but a begger without your love  a dog without a bone what can i do im sleeping in this bed alonechorus come and save me tonightyoure the reason i live youre the reason i die youre the reason i give when i break down and cry dont need no reason whybaby  baby chorusyoure my angel come and save me tonight youre my angel come and take me allright come and save me tonight come and save me tonight come and save me tonight come and save me tonight come and save me tonight ",1
35,"a hazy shade of winter","the bangles",1988,"time time time see whats become of me while i looked around for my possibilities i was so hard to please look around leaves are brown and the sky is a hazy shade of winter hear the salvation army band down by the riversides bound to be a better ride than what youve got planned carry your gun in your hand look around leaves are brown and the sky is a hazy shade of winter hang on to your hopes my friend thats an easy thing to say but if your hopes should pass away simply pretend that you can build them again look around the grass is high the fields are ripe its the springtime of my life seasons change with the scenery weaving time in a tapestry wont you stop and remember me look around leaves are brown and the sky is a hazy shade of winter look around leaves are brown theres a patch of snow on the ground 3x",5
36,"the way you make me feel","michael jackson",1988," go on girlhey pretty baby with the high heels on you give me fever like ive never ever known youre just a product of loveliness i like the groove of your walk your talk your dress i feel your fever from miles around ill pick you up in my car and well paint the town just kiss me baby and tell me twice that youre the one for methe way you make me feel the way you make me feel you really turn me on you really turn me on you knock me off of my feet you knock me off of my feet my lonely days are gone my lonely days are gonei like the feelin youre givin me just hold me baby and im in ecstasy oh ill be workin from nine to five to buy you things to keep you by my side i never felt so in love before just promise baby youll love me forevermore i swear im keepin you satisfied cause youre the one for methe way you make me feel the way you make me feel you really turn me on you really turn me on you knock me off of my feet now baby you knock me off of my feet my lonely days are gone my lonely days are gonego on girl go on hee hee aaow go on girli never felt so in love before promise baby youll love me forevermore i swear im keepin you satisfied cause youre the one for methe way you make me feel the way you make me feel you really turn me on you really turn me on you knock me off of my feet now baby you knock me off of my feet my lonely days are gone my lonely days are gonethe way you make me feel the way you make me feel you really turn me on you really turn me on you knock me off of my feet now baby you knock me off of my feet my lonely days are gone my lonely days are goneaint nobodys business aint nobodys business the way you make me fell aint nobodys business aint nobodys business but mine and my baby you really turn me on you knock me off of my feet oh my lonely days are gonegive it to me give me some time the way you make me feel come on be my girl i want to be with mine you really turn me on aint nobodys business you knock me off of my feet aint nobodys business but mine and my babys go on girl aaow my lonely days are gonehee hee aaow chika chika chika chika chika go on girl hee hee the way you make me feel hee hee hee you really turn me on you knock me off of my feet my lonely days are gonethe way you make me feel you really turn me on you knock me off of my feet my lonely days are gone ",1
37,"dont worry be happy","bobby mcferrin",1988," heres a little song i wrote you might want to sing it note for note dont worry be happy in every life we have some trouble when you worry you make it double dont worry be happy dont worry be happy nowoo oooooo oooooo oooooooooooo dont worry oooooooooooooo be happy oooooooooo dont worry be happyaint got no place to lay your head somebody came and took your bed dont worry be happy the landlord say your rent is late he may have to litigate dont worry be happy look at me im happyoo oooooo oooooo oooooooooooo dont worry oooooooooooooo be happy oooooooooo dont worry be happygive you my phone number when you worry call me i make you happyoo oooooo oooooo oooooooooooo dont worry oooooooooooooo be happy oooooooooo dont worry be happyaint got no cash aint got no style aint got no girl to make you smile but dont worry be happy cause when you worry your face will frown and that will bring everybody down so dont worry be happy dont worry be happy nowoo oooooo oooooo oooooooooooo dont worry oooooooooooooo be happy oooooooooo dont worry be happynow there is this song i wrote i hope you learned it note for note like good little children dont worry be happy listen to what i say in your life expect some trouble when you worry you make it double dont worry be happy be happy nowoo oooooo oooooo oooooooooooo dont worry oooooooooooooo be happy oooooooooo dont worry be happyoo oooooo oooooo oooooooooooo dont worry oooooooooooooo be happy oooooooooo dont worry be happy ",1
38,"make me lose control","eric carmen",1988," i run a comb through my hair and step out in the street and the citys the color of flame in the midsummer heat oh yeahjennifers got her daddys car shes playing uptown on the stereo we go cruisin so close the way they did long ago my darlinturn the radio up for that sweet sound hold me close never let me go keep this feelin alive make me lose control baby babywhen i look in your eyes i go crazy fevers high with the lights down low take me over the edge make me lose controlwe put the top down and park neath the moon in the sky and the wind is so hot in our hair like a fire in july oh yeahjennifers singin stand by me and she knows every single word by heart was love always this good or could this be just the start oh darlinturn the radio up for that sweet sound hold me close never let me go keep this feelin alive make me lose control baby babywhen i look in your eyes i go crazy fevers high with the lights down low take me over the edge make me lose controlbe my baby comes on and were movin in time and the heat from your touch makes me feel like im losing my mind oh yeahand then they played back in my arms again we close our eyes we start rememberin when we start to kiss and now the feelings intense and we just pray that this night never ends oh my darlinturn the radio up for that sweet sound hold me close never let me go keep this feelin alive make me lose control babywhen i look in your eyes i go crazy fevers high with the lights down low take me over the edge make me lose control baby babyturn the radio up for that sweet sound hold me close never let me go keep this feelin alive make me lose controlwhen i look in your eyes i go crazy fevers high with the lights down low take me over the edge make me lose control baby babyturn the radio up for that sweet sound hold me close never let me go keep this feelin alive make me lose control ",1
39,"red red wine","ub40",1988," red red wine goes to my head makes me forget that istill need her sored red wine its up to you all i can do ive done memories wont go memories wont goid have sworn that with time thoughts of you would leave my head i was wrong now i find just one thing makes me forgetred red wine stay close to me dont let me be alone its tearing apartmy blue heartid have sworn that with time thoughts of you would leave my head i was wrong now i find just one thing makes me forgetred red wine stay close to me dont let me be alone its tearing apartmy blue blue heartred red wine you make me feel so fine you keep me rockin all of the time red red wine you make me feel so grand i feel a million dollar when youre just in my hand red red wine you make me feel so sad any time i see you go it make me feel bad red red wine you make me feel so fine monkey back and ease up on the sweet deadlinered red wine red red wine you give me whole heap of zing whole heap of zing you make me do my own thing its up to you red red wine you give enough of love youre a kind of lovin like a blessing from above red red wine i loved you right from the start right from the start with all of my heart red red wine in an eighties style red red wine in a modern beat style yeahid have sworn give me a little time let me clear out my mind that with time give me a little time let me clear out my mind thoughts of you would leave my head give me red wine the kind make me feel fine you make me feel fine all of the time red red wine you make me feel so fine monkey pack him rizla pon the sweet dep line the line broke the monkey get choked bunbah ganjapani little rubber boatred red wine red red wine im gonna hold on to you hold on to you cause i know you love truth stay close to me red red wine im gonna love you til i die love you til i die and thats no lie dont let me be alone red red wine cant get you off my mind wherever you may be ill surely find its tearing apart ill surely find make no fuss my blue heart  just stick with usid have sworn give me a little time let me clear out my mind that with time give me a little time let me clear out my mind thoughts of you would leave my head give me red wine the kind make me feel fine you make me feel fine all of the time red red wine you make me feel so fine monkey back and ease up on the sweet deadline the line broke the monkey get choked bunbah ganjapani little rubber boatred red wine red red wine you give me not awful love youre a kind of lovin like a blessing from above stay close to me red red wine i loved you right from the start right from the start with all of my heart dont let me be alone red red wine you give me whole heap of zing whole heap of zing you make me do my own thing red red wine in an eighties style red red wine in a modern beat style yeahred red wine you make me feel so fine you keep me rockin all of the time red red wine red red wine you make me feel so grand i feel a million dollars when you just in my hand stay close to me red red wine you make me feel so sad any time i see you go ",1
40,"shes like the wind","patrick swayze featuring wendy fraser",1988," shes like the wind through my dreams she rides the night next to me she leads me through moonlight only to burn me with the sun shes taken my heart but she doesnt know what shes donei feel her breath on my face her body close to me cant look in her eyes shes out of my leaguejust a fool to believe i have anything she needs shes like the windi look in the mirror and all i see is a young old man with only a dream am i just fooling myself that shell stop the pain living without her id go insanei feel her breath on my face her body close to me cant look in her eyes shes out of my leaguejust a fool to believe i have anything she needs shes like the windi feel your breath on my face your body close to me cant look in your eyes youre out of my leaguejust a fool to believe just a fool to believe shes like the windjust a fool to believe just a fool to believe shes like the windjust a fool to believe just a fool to believe shes like the windjust a fool to believe just a fool to believe shes like the windjust a fool shes like the wind shes like the windjust a fool shes like the wind just a fool ",1
41,"bad medicine","bon jovi",1988," your love is like bad medicine bad medicine is what i need whoa shake it up just like bad medicine there aint no doctor that can cure my disease bad medicinei aint got a fever got a permanent disease and itll take more than a doctor to prescribe a remedy i got lots of money but it isnt what i need gonna take more than a shot to get this poison out of me and i got all the symptoms count em 123 first you need then you bleed and when youre on your knees thats what you get for falling in love you get a little but its never enough that what you get for falling in love now this boys addicted cause your kiss is the drug whoayour love is like bad medicine bad medicine is what i need whoa shake it up just like bad medicine there aint no doctor that can cure my disease bad bad medicinei dont need no needle to be givin me a thrill and i dont need no anesthesia or a nurse to bring a pill i got a dirty down addiction that doesnt leave a track i got a jones for your affection like a monkey on my back there aint no paramedic gonna save this heart attack when you need then you bleed on you knees thats what you get for falling in love you get a little but its never enough that what get for falling in love this boys addicted cause your kiss is the drug whoayour love is like bad medicine bad medicine is what i need whoa shake it up just like bad medicine so lets play doctor baby bad medicineits what i want bad bad medicine ow its what i need i need a respirator cause im running out of breath youre an all night generator wrapped in stockings and a dress when you find your medicine you take what you can get cause if theres something better baby well they havnt found it yet whoayour love is like bad medicine bad medicine is what i need whoa shake it up just like bad medicine there aint no doctor that can cure my diseaseyour love is like bad medicine bad medicine is what i need whoa shake it up just like bad medicine there aint no doctor that can cure my disease bad bad medicine is what i want bad bad medicine oo baby oo babe i gotta go i gotta i gotta go i gotta medicine i got i gotta do it again wait a minute wait a minute hold on im not done one more time with feeling come on allright help me out nowyour love is like bad medicine bad medicine is what i need whoa shake it up just like bad medicine there aint no doctor that can cure my diseaseyour love is like bad medicine bad medicine is what i need whoa shake it up just like bad medicine there aint no doctor that can cure my disease bad bad medicine is what i want bad bad medicine oo baby oo babe i gotta go i gotta i gotta go i gotta medicine i got i gotta do it again wait a minute wait a minute hold on im not done one more time with feeling come on allright help me out nowyour love is like bad medicine bad medicine is what i need whoa shake it up just like bad medicine you got the potion that can cure my diseaseyour love is like bad medicine bad medicine is what i need whoa shake it up just like bad medicine you got the potion that can cure my diseaseyour love is like bad medicine bad medicine is what i need whoa shake it up just like bad medicine you got the potion that can cure my disease ",1
42,"kokomo","the beach boys",1988,"aruba jamaica ooo i wanna take you bermuda bahama come on pretty mama key largo montego baby why dont we go jamaica off the florida keys theres a place called kokomo thats where you wanna go to get away from it all bodies in the sand tropical drink melting in your hand well be falling in love to the rhythm of a steel drum band down in kokomo aruba jamaica ooo i wanna take you to bermuda bahama come on pretty mama key largo montego baby why dont we go ooo i wanna take you down to kokomo well get there fast and then well take it slow thats where we wanna go way down to kokomo to martinique that monserrat mystique well put out to sea and well perfect our chemistry by and by well defy a little bit of gravity afternoon delight cocktails and moonlit nights that dreamy look in your eye give me a tropical contact high way down in kokomo aruba jamaica ooo i wanna take you to bermuda bahama come on pretty mama key largo montego baby why dont we go ooo i wanna take you down to kokomo well get there fast and then well take it slow thats where we wanna go way down to kokomo port au prince i wanna catch a glimpse everybody knows a little place like kokomo now if you wanna go and get away from it all go down to kokomo aruba jamaica ooo i wanna take you to bermuda bahama come on pretty mama key largo montego baby why dont we go ooo i wanna take you down to kokomo well get there fast and then well take it slow thats where we wanna go way down to kokomo aruba jamaica ooo i wanna take you to bermuda bahama come on pretty mama key largo montego baby why dont we go ooo i wanna take you down to kokomo",3
43,"i dont wanna go on with you like that","elton john",1988," ive always said that ones enough to love now i hear youre bragging one is not enough well someone told me youre not satisfied you got plans to make me one of four or fivei guess this kind of things just in your blood but you wont catch me carving up my love i aint no puzzle piece that needs to fit if it takes more than me lets call it quitscause i dont wanna go on with you like that dont wanna be a feather in your cap i just dont wanna tell you honey i aint mad but i dont wanna go on with you like that woah woah woah oh yeahit gets so hard sometimes to understand this vicious circles getting out of hand dont need an extra eye to see that the fire spreads a faster in a breezeand i dont wanna go on with you like that dont wanna be a feather in your cap i just dont wanna tell you honey i aint mad but i dont wanna go on with you like thatno i dont wanna go on with you like that one more set of boots on your welcome mat youll just have to quit them if you want me back cause i dont wanna go on with you like that oh oh oh oh yeahoh if you wanna spread it around sister thats just fine but i dont want no second hand feeding me lines if you wanna hold someone in the middle of the night call out the guards turn out the lightand i dont wanna go on with you like that dont wanna be a feather in your cap i just dont wanna tell you honey i aint mad but i dont wanna go on with you like thatno i dont wanna go on with you like that one more set of boots on your welcome mat youll just have to quit them if you want me back no i dont wanna go on with you like that oh oh oh oh yeah oh oh oh oh yeahi dont wanna i dont wanna ",1
44,"together forever","rick astley",1988," if theres anything you need all you have to do is say you know you satisfy everything in me we shouldnt waste a single dayso dont stop me falling its destiny calling a power i just cant deny its never changing cant you hear me im saying i want you for the rest of my lifetogether forever and never to part together forever we two and dont you know i would move heaven and earth to be together forever with youif they ever get you down theres always something i can do because i wouldnt ever wanna see you frown ill always do whats best for youthere aint no mistaking its true love were making something to last for all time its never changing cant you hear me im saying i want you for the rest of my lifetogether forever and never to part together forever we two and dont you know i would move heaven and earth to be together forever with youso dont stop me falling its destiny calling a power i just cant deny its never changing cant you hear me im saying i want you for the rest of my lifetogether forever and never to part together forever we two and dont you know i would move heaven and earth to be together forever with youtogether forever and never to part together forever we two and dont you know i would move heaven and earth to be together forever with youtogether forever and never to part together forever we two and dont you know i would move heaven and earth to be together forever with you together forever ",1
45,"monkey","george michael",1988," why cant you do it why cant you set your monkey free always giving into it do you love your monkey or do you love mewhy cant you do it why do i have to share my baby with a monkey monkey monkey monkey yeah yyeahoh i count to ten but i dont know how and i dont know when to open my eyesbaby if you kiss me again like you did just now like you did just then then then then just just just do it againive had the rest now its time i had the best so you tell me that you wont do anymorewell id write your heart a letter but i think you know me better if i keep on asking baby maybe ill get what im asking forwhy cant you do it why cant you set your monkey free always giving in to it do you love your monkey or do you love mewhy cant you do it why do i have to share my baby with a monkey monkey with a monkey monkey yeah yyeahoh i hate your friends but i dont know how and i dont know when to open your eyes yes your monkeys back again do you want him now like you did back then back then back then ddo it againi tried my best but your head is such a mess so i guess that i dont want you anymore well you say you care about me that you just cant do without me but you keep on dancin baby til that monkey has you on the floorwhy cant you do it why cant you set your monkey free always giving into it do you love the monkey or do you love mewhy cant you do it why do i have to share my baby with a monkey monkey with a monkey monkey yeah yyeahmonkey monkeymonkey monkey monkeymonkey monkey monkeymonkey monkey monkeymmmmonkeydont look now theres a monkey on your back dont look now theres a monkey on you dont look now theres a monkey on your back dont look now theres a monkey on youso you tell me that you wont do anymore if i keep on askin baby maybe ill get what im askin forwhy cant you do it why cant you set your monkey free always giving into it do you love the monkey or do you love mewhy cant you do it why do i have to share my baby with a monkey monkey with a monkey monkey yeah yyeahwhy cant you do it why cant you set your monkey free always giving into it do you love the monkey or do you love mewhy cant you do it why do i have to share my baby with a monkey monkey with a monkey monkey yeah yyeahmonkey monkeymonkey monkey monkeymonkey monkey monkeymonkey monkey monkeymmmmonkey ",1
46,"devil inside","inxs",1988," here come the woman with the look in her eye raised on leather with flesh on her mindwords as weapons sharper than knives makes you wonder how the other half die how the other half die makes you wonder wonder wonderhere come the man with the look in his eye fed on nothing but full of pride look at them go look at them kick makes you wonder how the other half livedevil inside the devil inside every single one of us the devil insidedevil inside every single one of us the devil insidehere come the world with the look in its eye future uncertain but certainly slight look at the faces listen to the bells its hard to believe we need a place called hell a place called hellthe devil inside the devil inside every single one of us the devil insidedevil inside the devil inside every single one of ushere comes the woman with the look in her eye shes raised on leather with flesh on her mind words are weapons sharper than knives makes you wonder how the other half diedevil inside the devil inside every single one of us the devil insidedevil inside devil inside every single one of us the devil insidedevil inside devil inside every single one of us the devil insidedevil inside devil inside every single one of us the devil insidethe devil inside yeah yeah yeah the devil inside yeah yeah yeah ",1
47,"shouldve known better","richard marx",1988," another sleepless night i cant explain somebody said they heard me call your name the radio wont let you leave my mind i know its over but i dont know whyshouldve known better than to fall in love with you now love is just a faded memory shouldve known better now im a prisoner to this pain and my heart still aches for youthere was no risk that i wouldnt take and not a promise that i didnt make all i asked was that you just hold on and now im wondering what i did wrongshouldve known better than to fall in love with you now love is just a faded memory shouldve known better now im a prisoner to this pain and my heart still aches for youi gave you all of my body and soul never believing we might lose control i took my hands off the wheeli cant remember if the lies were true its been a million years since i touched you i thought time might help me win this game but being away from you is slowly driving me insaneshouldve known better than to fall in love with you now love is just a faded memory shouldve known better now im a prisoner to this pain and my heart still aches for you ",1
48,"i dont wanna live without your love","chicago",1988," thought it wouldnt matter if we didnt stay together and if it was over maybe it was for the better i was thinking id be alright til i thought it all through now i know that i aint really living if i have to live without youi dont wanna live without your love i dont wanna face the night alone i could never make it through my life if i had to make it on my owni dont wanna love nobody else i dont wanna find somebody new i dont wanna live without your love i just wanna live my life with you with youguess i had to go away so much i had to go through guess i had to lose you to realize how much i love you can we make the fire burn again burn a little stronger cause ive been alone and baby i cant be alone now any longeri dont wanna live without your love i dont wanna face the night alone i could never make it through my life if i had to make it on my owni dont wanna love nobody else i dont wanna find somebody new i dont wanna live without your love i just wanna live my life with youoh if i had to make it on my own my life would never be the same my love would never be the same i dont wanna live without your lovei dont wanna live without your love i dont wanna face the night alone i could never make it through my life if i had to make it on my owni dont wanna love nobody else i dont wanna find somebody new i dont wanna live without your love i just wanna live my life with youi dont wanna live without your love i dont wanna face the night alone i could never make it through my life if i had to make it on my owni dont wanna love nobody else i dont wanna find somebody new i dont wanna live without your love i just wanna live my life with you ",1
49,"the locomotion","kylie minogue",1988,"everybodys doin a brand new dance now come on baby do the locomotion i know youll get to like it if you give it a chance now come on baby do the locomotion my little baby sister can do it with ease its easier than learning your a b cs so come on come on do the locomotion with me you gotta swing your hips now come on baby jump up jump back well i think you got the knack ohh now that you can do it lets make a chain now come on baby do the locomotion chuga chuga motion like a railway train now come on baby do the locomotion do it nice and easy now dont lose control a little bit of rhythm and a lot of soul so come on come on do the locomotion with me the locomotion come on come on the locomotion come on come on the locomotion come on come on come on come on come on move around the floor in a locomotion come on baby do the locomotion do it holding hands if you got the notion come on baby do the locomotion theres never been a dance thats so easy to do it even makes you happy when youre feeling blue so come on come on do the locomotion with me you gotta swing your hips now come on baby jump up jump back well i think you got the knack ohh do the loc do the loc do the loco locomotion come on baby do the locomotion do the loc do the loc do the loco locomotion come on baby do the locomotion do it nice and easy now dont lose control a little bit of rhythm and a lot of soul so come on come on do the locomotion come on come on do the locomotion come on come on do the locomotion with me do the locomotion come on come on do the locomotion come on come on do the locomotion come on come on do the locomotion come on come on do the locomotion come on come on do the locomotion",3
50,"what have i done to deserve this","pet shop boys with dusty springfield",1988," you always wanted a lover i only wanted a job ive always worked for my living how am i gonna get through how am i gonna get throughi come here looking for money got to have it and end up living with love oh now you left me with nothing cant take it how am i gonna get through how am i gonna get throughi bought you drinks i brought you flowers i read you books and talked for hours every day so many drinks such pretty flowers so tell mewhat have i what have i what have i done to deserve this what have i what have i what have i done to deserve this what have i what have i what have isince you went away ive been hanging around ive been wondering why im feeling down went away it should make me feel better but i dont know oh how im gonna get through how im gonna get throughyou always wanted me to be something i wasnt you always wanted too much oh now i can do what i want to forever how am i gonna get through how am i gonna get throughat night the people come and go they talk too fast and walk too slow chasing time from hour to hour i pour the drinks and crush the flowerswhat have i what have i done to deserve this what have i what have i what have i done to deserve this what have i what have i what have isince you went away ive been hanging around ive been wondering why im feeling down you went away it should make me feel better i dont know oh how im gonna get through how im gonna get throughhow im gonna get through how im gonna get through how im gonna get through how im gonna get throughgonna get through gonna get throughwhat have i what have i what have i done to deserve this what have i what have i what have i done to deserve this what have i what have i what have i done to deserve this what have i what have i what have i done to deserve this  ",1
51,"make it real","the jets",1988," tonight its been a year we met each other here here i am all alone as thoughts of you go onhear me cryin out to you you said never never would i leave heres a tear from me to you and maybe it will make you hear mei loved you you didnt feel the same though were apart youre in my heart give me one more chance to make it realin a dream you are here you smile and hold me near and in my heart ill pretend that you are here againhear me cryin out to you you said never never would i leave heres a tear from me to you and maybe it will make you hear megive me one more chance to make it real ",1
52,"whats on your mind pure energy","information society",1988,"  ",1
53,"tell it to my heart","taylor dayne",1988," i feel the night explode when were together emotion overload in the heat of pleasuretake me im yours into your arms never let me go tonight i really need to knowtell it to my heart tell me im the only one is this really love or just a game tell it to my heart i can feel my body rock every time you call my namethe passions so complete its never ending as long as i receive the message youre sendingbody to body soul to soul always feel you near so say the words i long to heartell it to my heart tell me im the only one is this really love or just a game tell it to my heart i can feel my body rock every time you call my namelove love on the run breakin us down though we keep holdin on i dont want to lose no i cant let you gotell it to my heart tell me im the only one is this really love or just a game tell it to my heart i can feel my body rock every time you call my nametell it to my heart tell me from the start tell it to my heart tell it to my heart tell me from the start tell it to my heart never make it stop oh take it to the hearttell it to my heart tell me im the only one is this really love or just a game tell it to my heart i can feel my body rock every time you call my name tell it to my heart tell me im the only one is this really love or just a game tell it to my heart ",1
54,"out of the blue","debbie gibson",1988," without you without you i always thought that everything was fine without you never knowing youd be mine suddenly my world has changed and i just wonder why all it took was just one smilenow with you out of the blue love appeared before my eyes with you a dream come true i never thought id realize what love was what love was what love wasi need you oh i need you and everyday i love you more and more without you i know what its all for suddenly i see you there and everythings okay dont know why i feel this waynow with you out of the blue love appeared before my eyes with you a dream come true i never thought id realize what love was what love was what love was here with youwe are together now never take my heart away all the love i found is here to stayits like a dream come true i never thought id fall in love with you out of the blue love appeared before my eyes with youa dream come true i never thought here with you out of the out of the out of the out of the clear blue oh its like a dream come true i never thought i never thoughtout of the blue before my eyes with you a dream come true i never thought id fall in love with you out of the out of the out of the out of the clear blue ",1
55,"dont you want me","jody watley",1988," when i first laid my eyes upon you i knew right then and there you were the one eyes so deep you send me melting and then you smiled as if to say oh yeahbut then you seemed to change your mind you looked away like you were oh so shy is the game youre playing hard to get wont you tell me oh ohhwant me dont you want me to touch you and to hold you tight dont you want me like i want you to kiss and love all through the nightid like to know more than just your name did you come here alone or with someone if only you would open up and let me know just where youre comin fromare you lookin for a new love or does commitment seem to bring you down is that a look of yes or is it no please dont tease me ohhwant me dont you want me to touch you and to hold you tight dont you want me like i want you to kiss and love all through the nightohh whoa yeah dont you want me ohh whoa yeah dont you want mewant me dont you want me to touch you and to hold you tight dont you want me like i want you to kiss and love all through the nightare you lookin for a new love or does commitment seem to bring you down is that a look of yes or is it no please dont tease me ohhwant me dont you want me to touch you and to hold you tight dont you want me like i want you to kiss and love all through the nightwant me dont you want me to touch you and to hold you tight dont you want me like i want you to kiss and love all through the nightwant me dont you want me dont you want me want me dont you want me dont you want me ",1
56,"desire","u2",1988," yeah lover im off the streets gonna go where the bright lights and the big city meet with a red guitar on fire desireshes the candle burning in my room im like the needle needle and spoon over the counter with a shotgun pretty soon everybody got one and the fever when im beside her desire desiredesire desireburning burning ",1
57,"i get weak","belinda carlisle",1988," when im with you i shake inside my hearts all tangled up my tongue is tied its crazycant walk cant talk cant eat cant sleep oh im in love oh im in deep cause babywith a kiss you can strip me defenseless with a touch i completely lose control all thats left of my strength is a memoryi get weak when i look at you weak when we touch i cant speak when i look in your eyes i get weak when youre next to me weak from this love i cant speak when i look in your eyes i get weak i get weakconvincing eyes persuasive lips the helpless heart just cant resist their power you know youve got a hold over me you know youve got me where i want to be cause loverlike a wave you keep pulling me under how id ever get out of this i dont know i just know theres just no way to fight iti get weak when i look at you weak when we touch i cant speak when i look in your eyes i get weak when youre next to me weak from this love im in deep when i look in your eyes i get weak i get weak i get weakjust a kiss you can strip me defenseless just a touch i completely lose control all thats left of my strength is a memoryi get weak when i look at you weak when we touch i cant speak when i look in your eyes iiii get weak when youre next to me weak from this love i cant speak when i look in your eyesiiii get weak when youre next to me weak from this love i cant speak when i look in your eyes ",1
58,"sign your name","terence trent darby",1988," fortunately you have got someone who relies on youwe started out as friends but the thought of you just caves me in the symptoms are so deep it is much too late to turn away we started out as friends sign your name across my heart i want you to be my babysign your name across my heart i want you to be my ladytime im sure will bring disappointments in so many thingsit seems to be the way when youre gambling cards on love you play id rather be in hell with you baby than in cool heaven it seems to be the way sign your name across my heart i want you to be my baby   birds never look into the sun before the day is doneoh the light shines brighter on a peaceful day stranger blue leave us alone we dont want to deal with youwell shed our stains showering in the room that makes the rainaii alone with you makes the butterflies in me ariseslowly we make love and the earth rotates to our dictates slowly we make love  sign your name across my heart i want you to be my baby    sign your name across my heart i want you to be my baby    sign your name across my heart i want you to be my baby    ",1
59,"i want to be your man","roger troutman",1988,NA,NA
60,"girlfriend","pebbles",1988," to believe or not to believe that is the question it just takes a street degree youve lied your last lie and ive cried my last cry im out the door babe theres other fish in the seagirl make a list go out and find yourself a new bad thing girl you need a trip cause hes not worth the misery and pain just remember how he would tell you lies and then pretend that everything is so sweet why should you sacrifice if youre not satisfied hes just a canine runnin round in heatgirlfriend how could you let him treat you so bad oh girlfriend you know you were the best he ever had oh oh oh girlfriend how could you let him treat you so bad oh girlfriend you know you were the best he ever had oh oh ohgirl you must resist dont let him squirm his way into your heart no girl i must insist youve got to stop the fool before he starts just remember how he was so untrue with all the tacky things he did to you no need to signify cause hes not worth your time you need to find someone thats true to yougirlfriend how could you let him treat you so bad oh girlfriend you know you were the best he ever had oh oh oh girlfriend how could you let him treat you so bad baby dont be sad no girlfriend you know you were the best he ever had oh oh ohto believe or not to believe that is the question it just takes a street degree youve lied your last lie and ive cried my last cry im out the door babe theres other fish in the seacute cute cute cute hey deele singto believe or not to believe that is the question it just takes a street degree youve lied your last lie and ive cried my last cry im out the door babe theres other fish in the seagirlfriend how could you let him treat you so bad girlfriend you know you were the best he ever hadgirlfriend how could you let him treat you so bad oh girlfriend you know you were the best he ever had oh oh oh girlfriend how could you let him treat you so bad oh girlfriend you know you were the best he ever had oh oh ohgirlfriend how could you let him treat you so bad oh girlfriend you know you were the best he ever had oh oh oh girlfriend how could you let him treat you so bad oh baby dont be sad no girlfriend you know you were the best he ever had oh oh ohdont let him put you down girlfriend girl hes been messing around how could you let him treat you so bad oh youve been used abused baby make your move youve learned your lesson now girlfriend so turn this hurt around you know you were the best he ever had oh oh oh you aint no fool cause youve got to bust loosegirlfriend how could you let him treat you so bad oh girlfriend you know you were the best he ever had oh oh ohdont let him put you down girl hes been messing around youve been used abused baby make your move youve learned your lesson now so turn this hurt around dont be no fool cause youve got to bust loosegirlfriend how could you let him treat you so bad oh ",1
61,"dirty diana","michael jackson",1988," you never make me stay so take your weight off of me i know your every move so wont you just let me be ive been here times before but i was too blind to see that you seduce every man this time you wont seduce meshes saying thats okay hey baby do what you please i have the stuff the you want i am the thing that you need she looked me deep in the eyes shes touchin me so to start she says theres no turnin back she trapped me in her heartdirty diana nah dirty diana nah dirty diana nah dirty diana let me beoh no oh no oh noshe likes the boys in the band she knows when they come to town every musicians fan after the curtain comes down she waits at backstage doors for those who have prestige who promise fortune and fame a life thats so carefreeshes says thats okay hey baby do what you want ill be your night lovin thing ill be the freak you can taunt and i dont care what you say i want to go too far ill be your everything if you make me a stardirty diana nah dirty diana nah dirty diana nah dirty diana dirty diana nah dirty diana nah dirty diana nah dirty diana diana diana dirty diana its diana yeah yeahshe said i have to go home cause im real tired you see but i hate sleppin alone why dont you come with me i said my babys at home shes probably worried tonight i didnt call on the phone to say that im alrightdiana walked up to me she said im all yours tonight at that i ran to the phone sayin baby im alright i said but unlock the door because i forgot the key she said hes not coming back because hes sleeping with medirty diana nah dirty diana nah dirty diana nah dirty diana nah dirty diana nah dirty diana nah dirty diana nah dirty diana come on come on come on come on ",1
62,"123","gloria estefan and miami sound machine",1988," they tell me youre shy boy but i want you just the same dont play innocent with me you know its not just fun and gameswhen i look into your eyes so much passion burns inside but if you need some coaxing i will do it step by step theres nothing to it1234 come on baby say you love me 567 times 891011 im just gonna keep on counting until you are minecome out of your shell boy you know we go like hand in glove youre afraid of giving in but i am never giving up on your loveand no matter what it takes i will steal your heart away take a chance for once you wont regret it want my love just come and get it1234 come on baby say you love me 567 times 891011 im just gonna keep on counting until you are mineso no matter what it takes i will steal your heart away take a chance for once you wont regret it take my love just come and get it1234 come on baby say you love me 567 times 891011 im just gonna keep on counting until you are mine1234 come on baby 567 times 891011 im just gonna keep on counting baby until you are mine1234 567 times 891011 1234 567 times 891011 ",1
63,"mercedes boy","pebbles",1988," do you wanna ride baby let me tell you ive been watching you see you dancing in my dreams feel you heartbeat inside of me so if you feel it coming on catch me getting in the moodboy ill give you anything cruisings all you have to dodo you wanna ride in my mercedes boy tell me what youre gonna do with me cause if you wanna ride in my mercedes boy there are so many things that im gonna do to youbaby let me tell you ive been wanting you always on the scene good looks and more possessing all of me so when it starts to coming on catch me getting in the moodboy ill give you anything cruisings all you have to dodo you wanna ride in my mercedes boy tell me what youre gonna do with me cause if you wanna ride in my mercedes boy there are so many things that im gonna do to youdo you wanna ride in my mercedes boy tell me what youre gonna do with me cause if you wanna ride in my mercedes boy there are so many things that im gonna do to youdo you wanna ride ride ride what are you gonna with me me me ride ride what are you gonna with me me medo you wanna ride in my mercedes boy  tell me what youre gonna do with me me me cause if you wanna ride in my mercedes boy there are so many things that im gonna do to youdo you wanna ride in my mercedes boy tell me what youre gonna do with me me me cause if you wanna ride in my mercedes boy there are so many things that im gonna do to youdo you wanna ride in my mercedes boy tell me what youre gonna do with me me me cause if you wanna ride in my mercedes boy there are so many things that im gonna do to youdo you wanna ride in my mercedes boy tell me what youre gonna do with me me me cause if you wanna ride in my mercedes boy there are so many things that im gonna do to youdo you wanna ride ",1
64,"perfect world","huey lewis and the news",1988," everybodys looking for the perfect world where you could have everything your heart desires the perfect boy will meet the perfect girl and the perfect love will set the world on firewell what you gonna do when one and one makes three and a vision of the future is impossible to see nobodys perfect not even a perfect fool if youll have faith in me ill keep faith with youaint no livin in a perfect world there aint no perfect world anyway aint no livin in a perfect world but well keep on dreamin of livin in a perfect world keep on dreamin of livin in a perfect worldeverybodys got secrets now you know that its true they talk about me and theyll talk about you something happens to the pledges of trust down through the years they begin to rustnow here we are amid the tears and the laughter still waiting for our happily ever after well keep on dreamin as long as we can try to remember and youll understandaint no livin in a perfect world there aint no perfect world anyway aint no livin in a perfect world but well keep on dreamin of livin in a perfect world keep on dreamin of livin in a perfect world ",1
65,"new sensation","inxs",1988," live baby live now that the day is over i gotta new sensation in perfect moments well so impossible to refusesleep baby sleep now that the night is over and the sun comes like a god into our room all perfect light and promisesgotta hold on you a new sensation a new sensation right now gonna take you over a new sensation a new sensationdream baby dream of all thats come and going and you will find out in the end there really is there really is no differencecry baby cry when you got to get it out ill be your shoulder you can tell me all dont keep it in yawell thats the reason why im here hey hey are you ready for a new sensation new sensation right now gonna take you on a new sensation new sensation a new sensation a new sensation a new sensationhate baby hate when theres nothing left for you youre only human what can you do itll soon be over dont let your pain take over youlove baby love its written all over your face theres nothing better we could do than live forever well thats all weve got to do hey now im gonna take a new sensation a new sensation right now gotta hold on you a new sensation a new sensation a new sensation a new sensation a new sensation ",1
66,"catch me im falling","pretty poison",1988,"are you ready boy here i come catch me im falling you came into my life the look in your eyes took me by suprise its you and nobody else the love that made me so blind i cant see i am descending from heaven above so catch me im falling baby hold on to my love chorus catch me im falling catch me now im falling catch me im falling catch me now im falling falling in love two hearts beating in time with or as one im yours your mine for you i surrender myself each night everyday always felling this way falling in motion as though i had wings with your sweet love and devotion baby its magic a magical thing chorus catch me im falling catch me now im falling oh ow oh ow oh catch me im falling catch me now im falling falling in love oooooo catch me i am descending from heaven above so catch me im falling hold on to my love chorus catch me im falling catch me now im falling catch me im falling catch me now im falling ooo catch me im falling catch me now im falling catch me im falling catch me now im falling falling love ooooo im falling repeat and fade",5
67,"if it isnt love","new edition",1988," i dont love her i tried to tell myself but you can see it in my eyes so dont deny i cant fool no one else the truth is in the tears i crycause if it isnt love why do i feel this way why does she stay on my mind and if it isnt love why does it hurt so bad make me feel so sad insideif it isnt love i told her id never fall in love but now i know betterhow does it feel i cant describe this feelin that came when i saw her last night how she got to me ill let you know the reason i saw her with another guyso if it isnt love why do i feel this way why does she stay on my mind and if it isnt love why does it hurt so bad make me feel so sad insideand if it isnt love why do i feel this way why does she stay on my mind and if it isnt love why does it hurt so bad make me feel so sad insideif it isnt lovemaybe shell take me back hey girl hes beggin i made a big mistake wont you forgive him girl now i can feel it hes never felt before i really love her you love her whatit took my heart to shatter in a thousand pieces before id ever drop my pride losing love worryin about my image really helped me realizeif it isnt love why do i feel this way why does she stay on my mind if it isnt love why does it hurt so bad make me feel so sad insideif it isnt loveif it isnt love why do i feel this way why does she stay on my mind if it isnt love why does it hurt so bad make me feel so sad insideif it isnt love why do i feel this way why does she stay on my mind if it isnt love why does it hurt so bad make me feel so sad insideif it isnt love why do i feel this way why does she stay on my mind if it isnt love why does it hurt so bad make me feel so sad insideif it isnt love if it isnt love ",1
68,"rocket 2 u","the jets",1988,"  ",1
69,"one good woman","peter cetera",1988," i am so in love with you i just cant deny it everybody knows i cant deny it everybody knowsyou can read me like a book just like a fortune teller everybody needs a fortune teller telling you the very truthyou bring me feelin you bring me fire you give me love thats taking me higher just goes to prove what one good woman can doyou bring out the best in me with love and understanding anytime i need some understanding you are always thereif i ever lose my way youre always there to guide me anyone can see youre here inside me anyone can see ityou bring me feelin you bring me fire you give me love thats taking me higher just goes to prove what one good woman can doyou fill me with hope love and devotion you taught me how to show my emotion just goes to prove what one good woman can dothis is our time we have it all we have a way of knowing if were heading for a fallwell work it out and get it right when i get home to you youre such a sight for my poor eyesthis is our time we have it all when i come home at night youre such a sight for my poor eyesyou bring me feelin you bring me fire you give me love thats taking me higher just goes to prove what one good woman can doyou fill me with hope love and devotion you taught me how to show my emotion just goes to prove what one good woman can doyou bring me feelin you bring me fire you give me love thats taking me higher just goes to prove what one good woman can doyou fill me with hope love and devotion you taught me how to show my emotion just goes to prove what one good woman can do ",1
70,"dont be cruel","cheap trick",1988," well you know i can be found sitting all alone if you cant come around at least please telephonedont be cruel to a heart thats truebaby if i made you mad for something i might have said please forget my past the future looks bright aheaddont be cruel to a heart thats true i dont want no other love baby its just you im thinkin ofdont stop thinkin of me dont make me feel this way come on over and love me you know i want you to staydont be cruel to a heart thats truelets walk up to the preacher lets say hey i do and then i know youll want me and youll know i want you toodont be cruel to a heart thats true i dont want no other love baby its just you im thinkin ofdont be cruel to a heart thats true dont be cruel to a heart thats true i dont want no other love baby its just you im thinkin ofdont stop thinkin of me dont make me feel this way come on over and love me you know i want you to staydont be cruel to a heart thats true why should we be apart baby you know i love you cross my heartdont be cruel to a heart thats true dont be cruel to a heart thats true dont be cruel to a heart thats true dont be cruel to a heart thats true i dont want no other love baby its just you im thinkin of ",1
71,"candle in the wind","elton john",1988," goodbye norma jean though i never knew you at all you had the grace to hold yourself while those around you crawled they crawled out of the woodwork and they whispered into your brain they set you on the treadmill and they made you change your nameand it seems to me you lived your life like a candle in the wind never knowing who to cling to when the rain set in and i would liked to have known you but i was just a kid your candle burned out long before your legend ever didloneliness was tough the toughest role you ever played hollywood created a superstar and pain was the price you paid even when you died oh the press still hounded you all the papers had to say was that marilyn was found in the nudeand it seems to me you lived your life like a candle in the wind never knowing who to cling to when the rain set in and i would liked to have known you but i was just a kid your candle burned out long before your legend ever didgoodbye norma jean though i never knew you at all you had the grace to hold yourself while those around you crawledgoodbye norma jean from the young man in the twenty second row who sees you as something as more than sexual more than just our marilyn monroeand it seems to me you lived your life like a candle in the wind never knowing who to cling to when the rain set in and i would liked to have known you but i was just a kid your candle burned out long before your legend ever didthe candle burned out long before your legend ever did ",1
72,"everything your heart desires","daryl hall  john oates",1988,"you say you cant stand to be tied so close to a lover ooh you feel like a prisoner and you wanna find someone who will let you out cant you see the heartbeat that you know so well is better than some strange one youre looking for say you never know that strange one just might be me cant you see you have everything your heart desires so why dyou want more if you had everything your heart desired would you still want more you have everything your heart desires why dyou want more if you have everything your heart desires oh baby will you still want more you tell me your best friends world seems beautiful but dont be fooled its nice work if you can get it what goes on behind closed doors you dont know maybe she cries herself to sleep every night sorry that the heartbeat that she knows so well aint what shes looking for say you never know that strange heart just might be me cant you see you have everything your heart desires so why dyou want more if you had everything your heart desired would you still want more you have everything your heart desires why dyou want more if you have everything your heart desires will you still want more maybe youll confess girl youll see if you want the world think of me no words can help dont be sad cause baby what you want is what you have",3
73,"say you will","foreigner",1988," say you will say you wont make up your mind tonight say you do say you dont want to be mine say you will say you wont make up your mind this time say you will say you will be mine tonighti cant sleep i keep dreaming of losing you i feel so alone in the night scared to open my eyes im in too deep im in over my head this timecant get you out of my mind no matter how hard i try so wont you say you will say you wont make up your mind tonight say you will say you wont be my guide light say you will say you wont make up your mind this time say you do say you do you want to be mine i get the feeling ive never been here beforecause no one ive knowns ever moved me the way that you do and i know this is the real thing its all ive been searching for i put it all on the line now im hoping you feel that way too and if you do why dont you say you will say you wont make up your mind tonight say you do say you dont want to be mine now will you say you will say you wont make up your mind this time say you will say you will youll be mine tonight will you tell me how much i mean to you will you say you always will be true i need more than a come on sign so wont you say you will be mine now wont you say you will say you wont make up your mind tonight ",1
74,"i want her","keith sweat",1988," seen you last night saw you standin there and couldnt picture the color of your hair and all i wanted to know were you really therei wanna know was it my imagination ooh you know it was a sweet sensation lookin at you from a distance ooh it seems so realyou and i together dream that seemed for real if its a dream please dont wake me up it feels so real all i know isi want her i want that baby i want her get it get it get it get it i want her i wanna do it like this do it like that i want her once i get it aint no turnin backyou turn me on and on this feelin girl is so strong my heart girl is on fire ooh youre my desireive got a thing for you dreams of you and me baby shes bad shes bad shes bad all i know isi want her i want i want i want i want i want her i want her dont misunderstand me i want her i wish this dream was for real i want her you you know the deali want her yeah yeah i want her i want that girl so bad i want her i had a dream of her last night i want her yeah yeah yeahand i i give it to me give it to me give it to me ooh baby all night long girli want her ooh baby i want her i want that girl so bad i want her all night long i want her let me let me tell you somethin i wanna do it like this babyi want her i wanna do it like that sugar i want her you know what i need girl you know what i like girl like this baby i want her i wanna do it like that sugar i want her you turn me on and on and on and oni want her i wanna do it like this baby i wanna do it like that sugar i want her you know what i mean girl you know what i like girl i want her i wanna do it like this baby i wanna do it like that sugar i want her oh i want you so bad girli want her i need you right now baby i want her give it to me give it to me all night long girl i want her i just want you so bad i want her i just need you so bad come on girl come on girli want her shes so bad i want her hey baby i want her dont let this be a dream girl just think about tonight baby i want her i want you so bad ooh babyi want her give it to me tonight girl love me love me i want her love me love me love me love me down ooh baby i want her i want her heyi want her the feelin girl is so so so so so so so so strong i want you so bad baby was it was it a dream last night girl was it was it a dream last night baby ",1
75,"pink cadillac","natalie cole",1988," you may think im fooling for the foolish things i do you may wonder how come i love you when you get on my nerves like you do well baby you know you bug me there aint no secret about that well come on over here and hug me and baby ill spill the facts well honey it aint your money cause baby i got plenty of thati love you for your pink cadillac crushed velvet seats riding in the back oozing down the street waving to the girls peeling out of sight spending all my money on a saturday night honey i just wonder what you do there in back of your pink cadillac pink cadillacwell now way back in the bible temptations always come along theres always somebody tempting you into doing something they know is wrong well they tempt you man with silver and they tempt you sir with gold and they tempt you with the pleasures that the flesh does surely hold they say eve tempted adam with an apple man i aint going for thati know it was her pink cadillac crushed velvet seats riding in the back oozing down the street waving to the girls peeling out of sight spending all my money on a saturday night honey i just wonder what you do there in back of your pink cadillac pink cadillac yeahnow some folks say its too big and uses too much gas some folks say that its too old and that it goes too fast but my love is bigger than a honda its bigger than a subaru hey man theres only one thing and one car that will do anyway we dont have to drive it honey we can park it out in back and have a party in yourpink cadillac crushed velvet seats riding in the back oozing down the street waving to the girls peeling out of sight spending all my money on a saturday night honey i just wonder what you do there in back of your pink cadillacyou know the one i mean le car ",1
76,"fast car","tracy chapman",1988," you got a fast car i want a ticket to anywhere maybe we make a deal maybe together we can get somewhere anyplace is better starting from zero got nothing to lose maybe well make something me myself i got nothing to proveyou got a fast car i got a plan to get us out of here i been working at the convenience store managed to save just a little bit of money wont have to drive too far just cross the border and into the city you and i can both get jobs and finally see what it means to be livingyou see my old mans got a problem he live with the bottle thats the way it is he says his bodys too old for working his bodys too young to look like his my mama went off and left him she wanted more from life than he could give i said somebodys got to take care of him so i quit school and thats what i didyou got a fast car is it fast enough so we can fly away we gotta make a decision leave tonight or live and die this wayso remember we were driving driving in your car speed so fast i felt like i was drunk city lights lay out before us and your arm felt nice wrapped round my shoulder i had a feeling that i belonged i had a feeling i could be someone be someone be someoneyou got a fast car we go cruising to entertain ourselves you still aint got a job i work in a market as a checkout girl i know things will get better youll find work and ill get promoted well move out of the shelter buy a bigger house and live in the suburbsi remember we were driving driving in your car speed so fast i felt like i was drunk city lights lay out before us and your arm felt nice wrapped round my shoulder i had a feeling that i belonged i had a feeling i could be someone be someone be someoneyou got a fast car i got a job that pays all our bills you stay out drinking late at the bar see more of your friends than you do of your kids id always hoped for better thought maybe together you and me would find it i got no plans i aint going nowhere so take your fast car and keep on drivingi remember we were driving driving in your car speed so fast i felt like i was drunk city lights lay out before us and your arm felt nice wrapped round my shoulder i had a feeling that i belonged i had a feeling i could be someone be someone be someoneyou got a fast car but is it fast enough so you can fly away you gotta make a decision leave tonight or live and die this way ",1
77,"electric blue","icehouse",1988," electric bluei just freeze every time you see through me help me baby tell me what can i do electric blueif a boy had a chance a chance with someone like you are you gonna break his heart let him cry for the moon are you hiding somewhere behind those eyesi just freeze every time you see through me and its all over you electric blueon my knees help me baby tell me what can i do electric bluei just freeze every time you see through me and its all over you electric blueon my knees help me baby tell me what can i do electric blueoh i had a dream for a moment i believed it was true oh id have given anything just to be there with you are you hiding somewhere behind those eyesi just freeze every time you see through me and its all over you electric bluein too deep standing here waiting as im breaking into electric bluei can see can see that it may be just a vision of you electric blueon my knees help me baby tell me what can i doi just freezei just freeze every time you see through me and its all over you electric bluein too deep standing here waiting as im breaking into electric bluei can see can see that it may be just a vision of you electric blueon my knees help me baby tell me what can i do electric blueelectric blue electric blue electric blue ",1
78,"the valley road","bruce hornsby and the range",1988," sometimes i lead sometimes i follow this time ill go where she wants me to go she said maybe today maybe tomorrow go deep in the woods down the low valley roadwhile no one was lookin on the old plantation he took her all the way down the long valley road they sent her away not too much later and left him walking down the old valley road walk on walk on walk on alone walk on walk on walk on walk on aloneout in the hall they were talking in a whisper everybody noticed she was gone awhile somebody said shes gone to her sisters everybody knew what they were talking aboutwhile no one was lookin on the old plantation he showed her what they do down the long valley road she came back around like nothing really happened and left him standing on the old valley road walk on walk on walk on alone walk on walk on walk on walk on the old valley road ",1
79,"dont be cruel","bobby brown",1988," girl the only thing that matters in my life is that im down for you and treat you right youve got no call to treat me cold as ice oh oh girl as long as ive been givin my love to you you should be givin me your love too but you just keep on actin just like a fool you know it aint cooluh dont be cruel cause i would never be that cruel to you uh no oh oh no uh dont be cruel uh girl you need to change your attitude uh no oh uh dont be cruelhey yo kimmy whats up with this attitude i thought i was bein real good to you i treat you sweet take you out at night but you never say thanks girl that aint right i bought you diamonds even gave you pearls i took you for a cruise all around the world i treat you high post but you play me close if i want to drink up you wont even toastgirl i work so hard for you from 9 to 5 so you could have the finer things in life since youre the kind thats never satisfied oh oh girl as long as ive been givin my heart to you you should be givin me your heart too but you just keep on actin just like a fool you know it aint cooluh dont be cruel cause i would never be that cruel to you uh no oh oh no uh dont be cruel uh girl you need to change your attitude uh no oh uh dont be cruelfrom fancy cars to diamond rings ive just about given you everything theres really not much i wont do for you i bought you 12 yellow roses and candy too i like be up front and never play the back but the way you treat me girl is like a heart attack im real troop trooper and with all the times that you were by my side diggin dollars outta crockoh oh girl as long as ive been givin my love to you you should be givin me your love too but you just keep on actin just like a fool you know it aint cool it just aint coolow dont be crueluh uh uh uh uh uhwe used to hang out tough just kickin around we discovered a love that had never been found you gave me your heart i gave you my mind but a true love affair we could never find although i want you bad i could let you go cause theres a lot of girls out there that wont say no but due to fact that i want you jackie i want you more than human eyes can see but you had to start givin tryin to make a killin thought about the dollars i make and you were willin to be with me bobby b but with a bad attitude i cant compete now you know my name now i know your game you want to be with me you got to be the same way that another girl would be and if you want to be with meuh dont be cruel cause i would never be that cruel to you uh no oh oh no uh dont be cruel uh girl you need to change your attitude uh no oh uh dont be cruelcause i would never be that cruel to you uh no oh oh no uh dont be cruel uh girl you need to change your attitude uh no ohwe used to hang out tough just kickin around we discovered a love that had never been found you gave me your heart i gave you my mind but a true love affair we could never find although i want you bad i could let you go cause theres a lot of girls out there that wont say no but due to fact that i want you jackie i want you more than human eyes can see but you had to start givin tryin to make a killin thought about the dollars i make and you were willin to be with me bobby b but with a bad attitude i cant compete now you know my name now i know your game you want to be with me you got to be the same way that another girl would be and if you want to be with meuh dont be cruel cause i would never be that cruel to you uh no oh oh no uh dont be cruel uh girl you need to change your attitude uh no oh uh dont be cruel ",1
80,"always on my mind","pet shop boys",1988," maybe i didnt treat you quite as good as i should maybe i didnt love you quite as often as i could little things i should have said and done i never took the timeyou were always on my mind you were always on my mindmaybe i didnt hold you all those lonely lonely times and i guess i never told you i am so happy that youre mine if i made you feel second best im so sorry i was blindyou were always on my mind you were always on my mindtell me tell me that your sweet love hasnt died give me one more chance to keep you satisfied satisfiedlittle things that i should have said and done i never took the time you were always on my mind you were always on my mindtell me tell me that your sweet love hasnt died give me one more chance to keep you satisfied you were always on my mind you were always on my mind you were always on my mind you were always on my mind you were always on my mind you were always on my mindmaybe i didnt treat you quite as good as i should maybe i didnt love you quite as often as i could maybe i didnt hold you all those lonely lonely times i guess i never told you i am so happy that youre mine ",1
81,"piano in the dark","brenda russell featuring joe esposito",1988," when i find myself watching the time i never think about all the funny things you said i feel like its dead where is it leading me nowi turn around in the still of the room knowing this is when im gonna make my move cant wait any longer and im feeling stronger but ohjust as i walk through the door i can feel your emotion its pulling me back back to love youi know caught up in the middle i cry just a little when i think of letting go oh no gave up on the riddle i cry just a little when he plays piano in the darkhe holds me close like a thief of the heart he plays a melody born to tear me all apart the silence is broken and no words are spoken but ohjust as i walk through the door i can feel your emotion its pulling me back back to love youi know caught up in the middle i cry just a little when i think of letting go oh no gave up on the riddle i cry just a little when he plays piano in the dark in the darkoh the silence is broken and no words are spoken but ohjust as i walk through the door i can feel your emotion oh baby pulling me back back to love youi know im caught up in the middle i cry just a little when i think of letting go oh no gave up on the riddle i cry just a little i cry i cryi know im caught up in the middle i cry just a little when i think of letting go oh no gave up on the riddle i cry just a little when he plays piano in the dark in the darki cant let go no no no no no i cant let go no no cant let go no no no no ",1
82,"when its love","van halen",1988," everybodys lookin for somethin somethin to fill in the holes we think a lot but dont talk much about it til things get out of control oh how do i know when its love i cant tell you but it lasts forever how does it feel when its love its just something you feel together when its love you look at every face in a crowd some shine and some keep you guessin waiting for someone to come into focus teach you your final love lesson how do i know when its love i cant tell you but it lasts forever how does it feel when its love its just something you feel togetheroh oh oh oh oh when its love oh oh oh oh you can feel it yeah oh oh oh oh nothings missing yeahoh oh oh oh yeah you can feel it oh oh oh oh oh when its love oh oh oh ohnothings missing how do i know when its love i cant tell you but it lasts forever uh how does it feel when its love its just something you feel together hey how do i know when its love i cant tell you but it lasts forever when its love uh when its love hey it lasts forever na na na na na when its love na na na na na na na na na na na na na na na give it upwere gonna feel this thing together na na na na na when its love oh na na na na na when its love baby na na na na na na na na na na you can feel it yeah na na na na na na na na na nawell make it last forever na na na na na na na na na na oh its love ",1
83,"dont shed a tear","paul carrack",1988," cab fare to nowhere is what you are a white line to an exit sign is what you are all that i saw in you now i see through dont shed a tear for me my life wont end without you long as the night will be the sun will rise without you a locked door on a candy store is what you are a slim chance in tight pants is what you are all that i loved you for i want it more dont shed a tear for me my life wont end without you long as the night will be the sun will rise without you you aint giving well im not taking im not missing what we aint making all that i saw in you now i see through dont shed a tear for me my life wont end without you long as the night will be the sun will rise without you dont shed a tear for me my life wont end without you long as the night will be the sun will rise without you dont shed no tears i dont need a thing ",1
84,"well be together","sting",1988," chorus 1 i see me with you and all the things you do keep turning round and round in my mind forget the weather we should always be together and any other thought is unkindchorus 2 to have you with me i would swim the sevens seas to have you as my guide and my light my love is a flame that burns in your name well be together well be together tonightchorus 3 well be together yeahx3chorus 1chorus 2chorus 3bridge call me baby you can call me anything you want call me baby call me just call mechorus 1 i see you with me and baby makes three i see me with you and all the things we do forget the weather we should always be together i need you as my guide and my light my love is a flame that burns in your name well be together well be together tonightchorus 3x3 ",1
85,"i hate myself for loving you","joan jett and the blackhearts",1988," midnight gettin uptight where are you you said youd meet me now its quarter to two i know im hangin but im still wantin youhey jack its a fact theyre talkin in town i turn my back and youre messin around im not getting jealous dont i like lookin like a clowni think of you every night and day you took my heart then you took my pride awayi hate myself for loving you cant break free from the the things that you do i wanna walk but i run back to you thats why i hate myself for loving youdaylight spent the night without you but ive been dreamin bout the lovin you do im not being angry bout the hell you put me throughhey man bet you can treat me right you just dont know what you was missin last night i wanna see you begging say forget it just from spitei think of you every night and day you took my heart then you took my pride awayi hate myself for loving you cant break free from the the things that you do i wanna walk but i run back to you thats why i hate myself for loving youi think of you every night and day you took my heart then you took my pride awayi hate myself for loving you cant break free from the things that you do i wanna walk but i run back to you thats why i hate myself for loving youi hate myself for loving you cant break free from the the things that you do i wanna walk but i run back to you thats why i hate myself for loving youi hate myself for loving you i hate myself for loving you i hate myself for loving you i hate myself i hate myself for loving you ",1
86,"i dont want to live without you","foreigner",1988," i find myself in a strange situation and i dont know howwhat seemed to be an infatuation is so different now i cant get by if were not together ooh cant you see girl i want you now and forever close to meim longing for the time im longing for the dayhoping that you will promise to be mine and never go awayi dont wanna live without you dont wanna live without youi could never live without you live without your lovei asked myself but theres no explanation for the way i feeli know ive reached the right destination and i know its real im longing for the time im longing for the daywhen ill be giving you this heart of mine believe me when i sayi dont wanna live without i dont wanna live without you  no i dont wanna live without you i dont wanna live without you now i dont wanna live without you i dont wanna live without youi could never be without you be without your love i dont wanna live without you live without your lovelive without your love live without your loveyou see im lost without your love ",1
87,"nite and day","al b sure",1988," can you feel it baby i can excuse me do you think that i might be able to touch youi can tell you how i feel about you nite and day how i feel about you no no i can tell you how i feel about you nite and day how i feel about youill love you more in the rain or shine and makin love in the rain is fine a love so good and i call it mine love is blindi can tell you how i feel about you nite and day how i feel about you no no no i can tell you how i feel about you nite and day how i feel about youbelieve me when i say that i do care i can tell you id like to run my fingers through your hair i can tell you baby if you left i could not bear i can tell you please dont sharedo you love me please let me know i can tell you dont hide the feeling just let it show i can tell you a feeling so deep that comes within i can tell you what kind of love am i ini can tell you how i feel about you nite and day how i feel about you no no no i can tell you how i feel about you nite and day how i feel about youif you and i were one girl the love wed share would be so fun just take my hand and youll see girl that wed take off into another worldi can tell you how i feel about you nite and day i can tell you how i feel about you nite and day ill love you more in the rain or shinei can tell you how i feel about you nite and day night and day night and day night and day i can tell you how i feel about you nite and day making love in the rain is finei can tell you how i feel about you nite and day i can tell you how i feel about you nite and day ",1
88,"dont you know what the night can do","steve winwood",1988," hear the night music playing dont you know what its saying we should feel it together foreverfeel the beat and just hold on to the sweet midnight flowing feel the music inside you ill be there toonows the time our dreams are finally coming true feels so good were crying nows the time when its down to me and you spread these wings well be flyingdont you know what the night can do dont you know when its touching you dont you know what the night can dotime to show all your feelings all the night is revealing let the rhythm enfold you let me hold younow we turn into music now we never will lose it when the rhythm and night ride no heart can hidethere are times that never ever come again memories there for the making when the night calls we better let it in all this love for the takingdont you know what the night can do dont you know when its touching you wont you help me to let it through dont you know what the night can dodont you know what the night can do know what the night can do dont you know what the night can dodont you know what the night can do know what the night can do dont you know what the night can dodont you know what the night can do know what the night can do dont you know what the night can do dont you know what the night can do ",1
89,"one moment in time","whitney houston",1988," each day i live i want to be a day to give the best of me im only one but not alone my finest day is yet unknowni broke my heart for every gain to taste the sweet i faced the pain i rise and fall yet through it all this much remainsi want one moment in time when im more than i thought i could be when all of my dreams are a heartbeat away and the answers are all up to megive me one moment in time when im racing with destiny then in that one moment of time i will feel i will feel eternityive lived to be the very best i want it all no time for less ive laid the plans now lay the chance here in my handsgive me one moment in time when im more than i thought i could be when all of my dreams are a heartbeat away and the answers are all up to megive me one moment in time when im racing with destiny then in that one moment of time i will feel i will feel eternityyoure a winner for a lifetime if you seize that one moment in time make it shinegive me one moment in time when im more than i thought i could be when all of my dreams are a heartbeat away and the answers are all up to megive me one moment in time when im racing with destiny then in that one moment of time i will be i will be i will be free i will be i will be free ",1
90,"cant stay away from you","gloria estefan and miami sound machine",1988," time flies when youre having fun i heard somebody say but if all ive been is fun then baby let me go dont wanna be in your wayand i dont wanna be your second choice dont wanna be just your friend you keep telling me that youre not in love you wanna throw it all awaybut i cant stay away form you i dont wanna let you go and though its killing me thats true theres just some things i cant controlyour love is slipping through my hands and though ive heard it all before i know youre telling me the truth i know its just no use but i cant stay away from youhold on to every bit of hope thats all i ever do hoping you might change your mind and call me up to say how much you need me tooand though youre leaving me no other choice that to turn and walk away look over your shoulder ill be there you can count on me to staycause i cant stay away from you i dont wanna let you go and though its killing me thats true theres just some things i cant controlyour love slipping through my hands and though ive heard it all before i know youre telling me the truth i know its just no use but i cant stay away from youi know youre telling me the truth i know its just no use but i cant stay away from you ",1
91,"kissing a fool","george michael",1988," you are far when i could have been your star you listened to people who scared you to death and from my heart strange that you were strong enough to even make a start but youll never find peace of mind til you listen to your heartpeople you can never change the way they feel better let them do just what they will for they will if you let them steal your heart from you people will always make a lover feel a fool but you knew i loved you we could have shown them all we should have seen love throughfooled me with the tears in your eyes covered me with kisses and lies so goodbye but please dont take my heartyou are far im never gonna be your star ill pick up the pieces and mend my heart maybe ill be strong enough i dont know where to start but ill never find peace of mind while i listen to my heartpeople you can never change the way they feel better let them do just what they will for they will if you let them steal your heartand people will always make a lover feel a fool but you knew i loved you we could have shown them allbut remember this every other kiss that you ever give long as we both live when you need the hand of another man one you really can surrender with i will wait for you like i always do theres something there that cant compare with any otheryou are far when i could have been your star you listened to people who scared you to death and from my heart strange that i was wrong enough to think youd love me too i guess you were kissing a fool you must have been kissing a fool ",1
92,"cherry bomb","john cougar mellencamp",1988,"well i lived on outskirts of town in a eight room farmhouse baby when my brothers and friends were around there was always somethin doin had me a couple of real nice girlfriends stopped by to see me every once in while when i think back about those days all i can do is sit and smile thats when a smoke was a smoke and groovin was groovin and dancin meant everything we were young and we were improvin laughin laughin with our friends holdin hands meant somethin baby outside the club cherry bomb our hearts were really thumpin say yeah yeah yeah say yeah yeah yeah the winter days they last forever but the weekends went by so quick went ridin around this little country town we were goin nuts girl out in the sticks one night me with my big mouth a couple guys had to put me in my place when i see those guys these days we just laugh and say do you remember when thats when a smoke was a smoke and groovin was groovin and dancin meant everything we were young and we were improvin laughin laughin with our friends holdin hands meant somethin baby outside the club cherry bomb our hearts were really thumpin say yeah yeah yeah say yeah yeah yeah say yeah yeah yeah say yeah yeah yeah seventeen has turned thirtyfive im suprised that were still livin if weve done any wrong i hope that were forgiven got a few kids on my own and some days i still dont know what to do i hope that theyre not laughin too loud when they hear me talkin like this to you thats when a smoke was a smoke and groovin was groovin and dancin meant everything we were young and we were improvin laughin laughin with our friends holdin hands meant so much baby outside the club cherry bomb our hearts were really thumpin say yeah yeah yeah say yeah yeah yeah",3
93,"i still believe","brenda k starr",1988," you look in my eyes and i get emotional inside i know its crazy but you still can touch my heart and after all this time youd think that i wouldnt feel the same but time melts into nothing and nothings changedi still believe someday you and me will find ourselves in love again i had a dream someday you and me will find ourselves in love againeach day of my life im filled with all the joy i could find you know that i im not the desperate type if theres one spark of hope left in my grasp ill hold it with both hands its worth the risk of burning to have a second chanceno no no no no no i need you baby i still believe that we can be together no no if we believe that true love never has to end then we must know that we will love againi still believe someday you and me will find ourselves in love again i had a dream you and me will find ourselves in love againi still believe someday you and me will find ourselves in love again i had a dream someday you and me will find ourselves in love again ",1
94,"i found someone","cher",1988," dont you know so many things they come and go like your words that once rang true just like the love i thought i found in youand i remember the thunder talkin bout the fire in your eyes but you walked away when i needed you most now maybe baby maybe babyi found someone to take away the heartache to take away the loneliness ive been feelin since youve been gone since youve been gonedry your eyes i never could bear to see you cry someday your love will shine through and show you the feelings if you never really knewbaby dont you lose that thunder talkin bout the fire in your eyes youre lookin at me but you still dont believe that maybe baby maybe babyi found someone to take away the heartache to take away the loneliness ive been feelin since youve been gone since youve been gonetoo long on the borderline wonderin if your love was really mine but you left me with open eyes and when i realizedbaby i found someone to take away the heartache to take away the loneliness ive been feelin since youve been gonebaby i found someone to take away the heartache to take away the loneliness ive been feelin since youve been gone since youve been gone ",1
95,"never tear us apart","inxs",1988," dont ask me what you know is true dont have to tell you i love your precious hearti i was standing you were there two worlds collided and they could never tear us apartwe could live for a thousand years but if i hurt you id make wine from your tearsi told you that we could fly cause we all have wings but some of us dont know whyi was standing you were there two worlds collided and they could never ever tear us aparti i was standing you were there two worlds collided and they could never tear us apartyou were standing i was there two worlds collided and they could never tear us aparti i was standing you were there two worlds collided ",1
96,"valerie","steve winwood",1988," so wild standing there with her hands in her hair i cant help remember just where she touched me theres still no face here in her placeso cool she was like jazz on a summers day music high and sweet then she just blew away now she cant be that warm with the wind in her armsvalerie call on me call on me valerie come and see me im the same boy i used to belove songs fill the night but they dont tell it all not how lovers cry out just like theyre dying her cries hang there in time somewheresomeday some good wind may blow her back to me some night i may hear her like she used to be no it cant be that warm with the wind in her armsvalerie call on me call on me valerie come and see me im the same boy i used to beso cool she was like jazz on a summers day music high and sweet then she just blew away now she cant be that warm with the wind in her armsvalerie call on me call on me valerie come and see me im the same boy i used to beim the same boy i used to be ",1
97,"just like paradise","david lee roth",1988," rockin steady in her daddys car she got the stereo with the big guitars and thats all righti got the itch and a restless soul she gone with the wind gonna go for broke tonight yeah and thats all nightgirl weve been meant for this since we were born no problems now the coast is clear its just the calm before the stormthis must be just like livin in paradise just like paradise and i dont want to go home and i dont wanted to gothis must be just like livin in paradise and i dont want to go homesuzy suzy girl for cryin out loud you got all the right moves you make me eat my heart out nightly thats all right with meno special favors make it out to cash well spend it later got to make this romance last thats it thats itsome folks say easy come is easy go and some folks say but one night aint enough for me girl hang on tight and dont let gothis must be just like livin in paradise its just like paradise and i dont want to go home and i aint never goin homethis must be just like livin in paradise just like just like paradise and i dont want to go home incomprehensiblethis must be just like livin in paradise in paradise paradise and i dont want to go home and i dont i dont want to go homethis must be just like livin in paradise just like just like paradise and i dont want to go homethis must be just like livin in paradise just like just like paradise and i dont want to go home just like just like paradisethis must be just like livin in paradise ",1
98,"nothin but a good time","poison",1988," now listen not a dime i cant pay my rent i can barely make it through the week saturday night id like to make my girl but right now i cant make ends meetim always workin slavin every day gotta get a break from that same old same old i need a chance just to get away if you could hear me think this is what id saydont need nothin but a good time how can i resist aint lookin for nothin but a good time and it dont get better than thisthey say i spend my money on women and wine but i couldnt tell you where i spent last night im really sorry about the shape im in i just like my fun every now and thenim always workin slavin every day gotta get a break from that same old same old i need a chance just to get away if you could hear me think this is what id saydont need nothin but a good time how can i resist aint lookin for nothin but a good time and it dont get better than thisyou see i raise a toast to all of us who are breakin our backs every day if wantin the good life is such a crime lord then put me away heres to yadont need nothin but a good time how can i resist aint lookin for nothin but a good time and it dont get better than thisdont need nothin but a good time how can i resist aint lookin for nothin but a good time and it dont get better than this it dont get better ",1
99,"wait","white lion",1988," wait wait i never had a chance to love you now i only wanna say i love you one more timewait just a moment before our love will die cause i must know the reason why we say goodbye wait just a moment and tell me why cause i can show you lovin that you wont denyi said wait and show your lovin like it was before cause i wont let that feelin walk out through the door i said wait just a moment and try once more cause babe i need to hold you like i did beforeso if you go away i know that i will follow cause theres a place inside my heart that tells me hold out hold out hold out oh babywait wait i never had a chance to love you wait wait if only our love could show you wait wait i never wanna be without you wait wait no i never had a chance to love you now i only wanna say i love you one more timeso if you go away i know that i will follow cause theres a place inside my heart that tells me hold out hold out hold out oh oh babywait wait i never had a chance to love you wait wait if only our love could show you wait wait i never wanna be without you wait wait no i never had a chance to love you now i only wanna say i love youno i never had a chance to love you ",1
100,"prove your love","taylor dayne",1988," prove your love got to prove your love ooh yeahi hear all about what you can do but ive got to know is it true youre telling me to trust what should i believe you promised so much but talk is cheapyou told me that youre serious but i got to know for sure you say how much you want me but ive heard it all beforeprove your love got to prove your love if you want to be with me tonight show your stuff  cause words are not enough i wanna hear your body talk to mineboy i can feel a love is on the rise a message revealed in your eyes you know i cant wait to know your passion its not to late so take some actioncan you say that when youre through ill know what love is all about well baby ive been patient now im ready to find outprove your love got to prove your love if you want to be with me tonight show your stuff cause words are not enough i wanna hear your body talk to mineyou can tell me that youre serious but i got to know for sure you say that you want me but ive heard it all beforeprove your love got to prove your love if you want to be with me tonight show your stuff cause words are not enough i wanna hear your bodyprove your love got to prove your love if you want to be with me tonight show your stuff cause words are not enough i wanna hear your body talk to mineprove your love got to prove your love if you want to be with me tonight show your stuff cause words are not enough i wanna hear your bodyprove your love got to prove your love if you want to be with me tonight show your stuff cause words are not enough i wanna hear your body ",1
1,"look away","chicago",1989," when you called me up this mornin told me bout the new love you found i said im happy for you im really happy for youfound someone else i guess i wont be comin round i guess its over baby its really over baby whoaand from what you said i know youve gotten over me itll never be the way it used to be so if its gotta be this way dont worry baby i can take the news okaybut if you see me walkin by and the tears are in my eyes look away baby look awayif we meet on the streets someday and i dont know what to say look away baby look away dont look at me i dont want you to see me this waywhen we both agreed as lovers we were better off as friends thats how it had to be yeah thats how it had to bei tell you im fine but sometimes i just pretend wish you were holdin me wish you were still holdin me whoai just never thought that i would be replaced so soon i wasnt prepared to hear those words from you i know i wanted to be free yeah baby this is how we wanted it to bebut if you see me walkin by and the tears are in my eyes look away baby look awayand if we meet on the streets someday and i dont know what to say look away baby look away dont look at me i dont want you to see me this wayif you see me walkin by and the tears are in my eyes look away baby look up awayand if we meet on the streets someday and i dont know what to say look away baby look away dont look at me i dont want you to see me this wayif you see me walkin by and the tears are in my eyes look away baby look away dont look at me i dont want you to see me this waywhen you called me up this mornin told me bout the new love you found i said im happy for you im really happy for you ",1
2,"my prerogative","bobby brown",1989," get busy everybodys talkin all this stuff about me now now why dont they just let me live oh oh oh i dont need permission make my own decisions oh thats my prerogativethey say im crazy i really dont care thats my prerogative they say im nasty but i dont give a damn gettin girls is how i live some ask me questions why am i so real but they dont understand me i really dont know the deal about a brother trying hard to make it right not long ago before i win this fight singeverybodys talkin all this stuff about me why dont they just let me live tell me why i dont need permission make my own decisions oh thats my prerogative its my prerogative its my prerogativeits the way that i wanna live its my prerogative i can do just what i feel its my prerogative no one can tell me what to do its my prerogative cause what im doin im doin for you nowdont get me wrong im really not zooped ego trips is not my thing all these strange relationships really gets me down i see nothin wrong with spreadin myself around singeverybodys talkin all this stuff about me yeah why dont they just let me live tell me why i dont need permission i dont need make my own decisions my own decisions thats my prerogative its my prerogative its my prerogativei can do what i wanna do its my prerogative truly live my life its my prerogative im doin it just for you its my prerogative tell me tell mewhy cant i live my life live my life without all of the things that people say oh ohyo tell it kick it like this oh no noi can do what i wanna do me and you together together together together togethereverybodys talkin all this stuff about me everybodys talkin why dont they just let me live why why dont they just let me live girl i dont need permission i dont need permission make my own decisions thats my prerogativeeverybodys talkin all this stuff about me everybodys talkin why dont they just let me live i dont need permission i dont need make my own decisions my own decisions thats my prerogativewhat is this a bizzit that i cant have money in my pocket and people not talk about me this world is a trip i dont know whats going on these days got this person over here talking about me this person hey listen lemme tell you something this is my prerogative i can do what i want to doi made this money you didnt right ted we outta hereits my its my its my its my its my my my my my my my my my my my my my my my myits my prerogative ",1
3,"every rose has its thorn","poison",1989," we both lie silently still in the dead of the night although we both lie close together we feel miles apart inside was it something i said or something i did did my words not come out right though i tried not to hurt you though i tried but i guess thats why they sayevery rose has its thorn just like every night has its dawn just like every cowboy sings his sad sad song every rose has its thornyeah it does i listen to your favorite song playing on the radio hear the dj say loves a game of easy come and easy go but i wonder does he know has it ever felt like this and i know that youd be here right now if i could have let you know somehow i guessevery rose has its thorn just like every night has its dawn just like every cowboy sings his sad sad song every rose has its thornthough its been a while now i can still feel so much pain like the knife that cuts you the wound heals but the scar that scar remains i know i could have saved our love that night if id known what to say instead if making love we both made our separate ways now he found somebody new and that i never meant that much to you to hear that tears me up inside and to see you cuts me like a knifei guess every rose has its thorn just like every night has its dawn just like every cowboy sings his sad sad song every rose has its thorn ",1
4,"straight up","paula abdul",1989," straight up now tell me straight up now tell me straight up now tell me straight up now tell mestraight up now tell me do you really want to love me forever oh oh oh or am i caught in a hit and run straight up now tell me is it gonna be you and me together oh oh oh are you just having fun straight up now tell medo do you love me do do you love me do do you love me cmon now do do you love melost in a dream i dont know which way to go if you are all that you seem then baby im movin way too slowive been a fool before wouldnt like to get my love caught in the slammin door how about some information pleasestraight up now tell me do you really want to love me forever oh oh oh or am i caught in a hit and run straight up now tell me is it gonna be you and me together oh oh oh are you just having funstraight up now tell me straight up now tell me straight up now tell me straight up now tell metimes standin still waitin for some small clue i keep getting chills when i think your love is trueive been a fool before wouldnt like to get my love caught in the slammin door are you more than hot for meor am i a page in your history book i dont mean to make demands but the word and the deed go hand in hand how about some information pleasestraight up now tell me straight up now tell me straight up now tell me straight up now tell mestraight up now tell me straight up now tell me do you really want to love me forever oh oh oh or am i caught in a hit and run straight up now tell me is it gonna be you and me together oh oh oh are you just having funyou are so hard to read you play hide and seek with your true intentions if youre only playin games ill just have to say bye bye bye bye bye bye bye byedo do you love me do do you love me do do you love me do do you love mestraight up now tell me straight up now tell me straight up now tell me straight up now tell mestraight up now tell me straight up now tell me do you really want to love me forever oh oh oh or am i caught in a hit and run straight up now tell me is it gonna be you and me together oh oh oh are you just having funstraight up now tell me ",1
5,"miss you much","janet jackson",1989," shot like an arrow through my heart thats the pain i feel i feel whenever were apart not to say that im in love with you but whos to say that im not i just know that it feels wrong when im away too long it makes my body hot so let me tell ya baby ill tell your mama ill tell your friends ill tell anyone whos heart can comprehend send it in a letter baby tell you on the phone im not the kinda girl who likes to be alone i miss ya much i really miss you much i miss ya much baby i really miss ya muchim rushing home just as soon as i can im rushing home to see your smiling face and feel your warm embrace it makes me feel so ggggood so ill tell ya baby ill tell your mama ill tell your friends ill tell anyone whos heart can comprehend send it in a letter baby tell you on the phone im not the kinda girl who likes to be alone i miss ya much i really miss you much i miss ya much baby i really miss ya much i miss ya much i really miss you much i miss ya much baby i really miss ya much miss you much i miss you much i really miss you much miss you much i miss you muchill tell your mama ill tell your friends ill tell anyone whos heart can comprehend send it in a letter baby tell you on the phone im not the kinda girl who likes to be alone i miss ya much i really miss you much i miss ya much baby i really miss ya much i miss ya much i really miss you much i miss ya much baby i really miss ya much thats the end ",1
6,"cold hearted","paula abdul",1989," hes a cold hearted snake girl look into his eyes oh oh hes been tellin lies hes a lover boy at play though he dont play by rules oh oh girl dont play the fool noyoure the one givin up the love anytime he needs it but you turn your back and then hes off and runnin with the crowd youre the one to sacrifice anything to please him do you really think he thinks about you when hes outhes a cold hearted snake girl look into his eyes oh oh hes been tellin lies hes a lover boy at play though he dont play by rules oh oh girl dont play the fool noit was only late last night he was out there sneakin then he called you up to check that you were waiting by the phone all the worlds a candy store hes been trick or treatin when it comes to true love girl with him theres no one homehes a cold hearted snake girl look into his eyes oh oh hes been tellin lies hes a lover boy at play though he dont play by rules oh oh girl dont play the fool noyou could find somebody better girl he could only make you cry you deserve somebody better girl hes ccold as ice cold as ice hes cold as ice hes cold as ice stay away from him girlcccold hearted cccold hearted snake cccold hearted cccold hearted snakehes a cold hearted snake girl look into his eyes oh oh hes been tellin lies hes a lover boy at play though he dont play by rules oh oh girl dont play the fool nolook into his eyes hes been tellin lies he dont play by rules girl dont play the foolhes a cold hearted snake girl look into his eyes oh oh hes been tellin lies hes a lover boy at play though he dont play by rules oh oh girl dont play the foolhes a cold hearted snake girl look into his eyes oh oh hes been tellin lies hes a lover boy at play though ",1
7,"wind beneath my wings","bette midler",1989," oh oh oh ohit must have been cold there in my shadow to never have sunlight on your face you were content to let me shine thats your way you always walked a step behindso i was the one with all the glory while you were the one with all the strength a beautiful face without a name for so long a beautiful smile to hide the paindid you ever know that youre my hero and everything i would like to be i can fly higher than an eagle for you are the wind beneath my wingsit might have appeared to go unnoticed but ive got it all here in my heart i want you to know i know the truth of course i know it i would be nothing without youdid you ever know that youre my hero youre everything i wish i could be i could fly higher than an eagle for you are the wind beneath my wingsdid i ever tell you youre my hero youre everything everything i wish i could be oh and i i could fly higher than an eagle for you are the wind beneath my wings cause you are the wind beneath my wingsoh the wind beneath my wings you you you you are the wind beneath my wings fly fly fly away you let me fly so high oh you you you the wind beneath my wings oh you you youyou the wind beneath my wingsfly fly so high against the sky so high i almost touch the sky thank you thank you thank god for you the wind beneath my wings ",1
8,"girl you know its true","milli vanilli",1989," im in love with you girl cause youre on my mind youre the one i think about most every time and when you pack a smile in everything you do dont you understand girl this love is trueyoure soft succulent so sweet and thin thats kind of like a vision upon your skin it lightens up my day and thats oh so true together were one separated were twoto make you all mine all mine is my desire cause you contain a quality you that i admire youre pretty plain and simple you rule my world so try to understand im in love girl im in so love girl im just in love girl and this is truegirl you know its true ooh ooh ooh i love you yes you know its true ooh ooh ooh i love you girl you know its true my love is for you girl you know its true my love is for youthis is some sort of thing girl i cant explain my emotions starts up when i hear your name maybe your sweet sweet voice would ring in my ear then delay my system when you are nearcome with your positive emotion love making enjoyin thats for me to bust its like a girl and a boy these feelings i get i often wonder why so i thought i might discuss this girl just youand i now what youre wearing i dont care as ive said before no reason that i like you girl just for what you are if i said id think about it you rule my world so try to understand im in love girl im in so love girl im just in love girl and this is truegirl you know its true ooh ooh ooh i love you yes you know its true ooh ooh ooh i love you girl you know its true my love is for you girl you know its true my lovegirl you know its true ooh ooh ooh i love you yes you know its true ooh ooh ooh i love you ",1
9,"baby i love your wayfreebird medley","will to power",1989," shadows grow so long before my eyes and theyre moving across the page suddenly the day turns into night far away from the citybut dont hesitate cause your love your love wont wait hononoooh baby i love your way every day ooh wanna tell you i love your way every day ooh wanna be with you night and dayhey yeah i love your wayif i leave here tomorrow will you still remember me for i must be traveling on now theres so many places i gotta seebut if i stayed here with you girl things just wouldnt be the same cause im as free as a bird now and this bird will never change and this bird will never changeshadows grow so long before my eyes with the help of some fireflies i wonder how they have the power to shine i can see them under the pinesbut dont hesitate cause your love wont waitooh baby i love your way ooh wanna tell you i love your way ooh baby i love your way every day now ooh wanna tell you i love your way i love your way ooh baby i love your way give me you way wanna tell you i love your way ooh baby i love your wayooh baby i love your way ooh wanna tell you i love your way ooh baby i love your way ooh wanna tell you i love your way ooh baby i love your way ",1
10,"giving you the best that i got","anita baker",1989," aint there something i can give you in exchange for everything you give to me read my mind and make me feel just fine when i think my peace of mind is out of reachthe scales are sometimes unbalanced and you bear the weight of all that has to be i hope you see that you can lean on me and together we can calm a stormy seawe love so strong and so unselfishly and i tell you now that i made a vow im giving you the best that i got baby yes i tell you now that i made a vow im giving you the best that i got honeyeverybodys got opinions bout the way they think our storys gonna end some folks feel its just a superficial thrill everybodys gonna have to think againwe love so strong and so unselfishly they dont bother me so im gonna keep on giving you the best that i got baby they dont bother me said im gonna keep on giving you the best that i got listen babysomebody understands me somebody gave his heart to me i stumbled my whole life long always on my own now im homemy weary mind is rested and i feel as if my home is in your arms fears are all gone i like the sound of your song and i think i wanna sing it foreverwe love so strong and so unselfishly and i made a vow so i tell you now im giving you the best that i got listen baby i bet everything on my wedding ring im giving you the best that i got givin it to you babygiving you the best that i got giving you the best that i got giving you the best that i got ",1
11,"right here waiting","richard marx",1989," oceans apart day after day and i slowly go insane i hear your voice on the line but it doesnt stop the painif i see you next to never how can we say foreverwherever you go whatever you do i will be right here waiting for you whatever it takes or how my heart breaks i will be right here waiting for youi took for granted all the times that i thought would last somehow i hear the laughter i taste the tears but i cant get near you nowoh cant you see it baby youve got me going crazywherever you go whatever you do i will be right here waiting for you whatever it takes or how my heart breaks i will be right here waiting for youi wonder how we can survive this romance but in the end if im with you ill take the chanceoh cant you see it baby youve got me going crazywherever you go whatever you do i will be right here waiting for you whatever it takes or how my heart breaks i will be right here waiting for you waiting for you ",1
12,"waiting for a star to fall","boy meets girl",1989," i hear your name whispered on the wind its a sound that makes me cry i hear a song blow again and again through my mind and i dont know why i wish i didnt feel so strong about you like happiness and love revolve around youtrying to catch your heart is like trying to catch a star so many people love you baby that must be what you arewaiting for a star to fall and carry your heart into my arms thats where you belong in my arms baby yeahive learned to feel what i cannot see but with you i lose that vision i dont know how to dream your dream so im all caught up in superstition i want to reach out and pull you to me who says i should let a wild one go freetrying to catch your heart is like trying to catch a star but i cant love you this much baby and love you from this farwaiting for a star to fall and carry your heart into my arms thats where you belong in my arms baby yeahwaiting however long i dont like waiting ill wait for youits so hard waiting dont be too long seems like waiting makes me love you even morewaiting for a star to fall and carry your heart into my arms thats where you belong in my arms baby yeah ",1
13,"lost in your eyes","debbie gibson",1989," verse 1 i get lost in your eyes and i feel my spirits rise and soar like the wind is it love that i am ini get weak in a glance isnt this whats called romance and now i know cause when im lost i cant let gochorus i dont mind not knowing what im headed for you can take me to the skies its like being lost in heaven when im lost in your eyesverse 2 i just fell dont know why somethings there we cant deny and when i first knew was when i first looked at youand if i cant find my way if salvation seems worlds away oh ill be found when i am lost in your eyeschorus i dont mind not knowing what im headed for you can take me to the skies oh its like being lost in heaven when im lost in your eyesverse 3 i get weak in a glance isnt this whats called romance oh ill be found when i am lost in your eyes ",1
14,"dont wanna lose you","gloria estefan",1989," sometimes its hard to make things clear i know when to face the truth and i know when the moment is here ill open my heart and show you inside my love has no pride i feel with you ive got nothing to hide so open your eyes and see who i am and not who you want for me to be i am only myself myselfi dont wanna lose you now were gonna get through somehow i dont wanna lose you now forever baby i finally found the courage to stand my ground but if you want me ill be around foreverwe all make mistakes we all lose our way but we stood the test of time and i hope thats the way it will stay its all up to you to tell me to go cause it wont be me to walk away when youre all that i know and i know thati dont wanna lose you now were gonna get through somehow i dont wanna lose you now forever never baby i finally found the courage to stand my ground but if you want me ill be around forever forever yea yea ",1
15,"heaven","warrant",1989," got a picture of your house and youre standing by the door its black and white and faded and its looking pretty worn i see the factory that i worked silhouetted in the back the memories are gray but man theyre really coming back i dont need to be the king of the world as long as im the hero of this little girlheaven isnt too far away closer to it every day no matter what your friends might say we will find our wayhow i love the way you move and the sparkle in your eyes theres a color deep inside them like a blue suburban sky when i come home late at night and youre in bed asleep i wrap my arms around you so i can feel you breath i dont need to a superman as long as you will always be my biggest fanheaven isnt too far away closer to it every day no matter what your friends might say well find our way yeahnow the lights are going out along the boulevard memories come rushing back and it makes it pretty hard ive got nowhere left to go no one really cares i dont know what to do but im never giving up on youheaven isnt too far away closer to it every day no matter what your friends might say yeahfind our way heaven far away heaven far away heaven isnt too far away is not far away is not too far way is not too far way is not too far ",1
16,"girl im gonna miss you","milli vanilli",1989," i knew it from the start you would break my heart but you still i had to play this painful part you rapped me round your itty bitty finger with your magic smile you kept me hangin on a lovers cross a while you put your spell on me took my breath away but there was nothin i could do to make you stay im gonna miss you all the love i feel for you nothing could make me change my point of view oh girl im gonna miss you babychorus giving all the love i feel for you couldnt make you change your point of view youre leavin now im sittin here im wastin my time i just dont know what i should doits a tragedy for me to see the dream is over and i never will forget the day we met girl im gonna miss youlike a honey bee you took the best of me now i cant erase those memories like a fairy tale you are so unreal you left a scar thats so hard to heal when you had a taste of paradise back on earth can feel as cold as ice im gonna miss you i miss you ",1
17,"the look","roxette",1989," one two three four walking like a man hitting like a hammer shes a juvenile scam never was a quitter tasty like a raindrop shes got the lookheavenly bound cause heavens got a number when shes spinning me around kissing is a color her loving is a wild dog shes got the lookshes got the look shes got the look shes got the look shes got the look what in the world can make a browneyed girl turn blue when everything ill ever do ill do for you and i go la la la la la shes got the lookfire in the ice naked to the tbone is a lovers disguise banging on the head drum shaking like a mad bull shes got the lookswaying to the band moving like a hammer shes a miracle man loving is the ocean kissing is the wet sand shes got the lookshes got the look shes got the look shes got the look shes got the look what in the world can make a browneyed girl turn blue when everything ill ever do ill do for you and i go la la la la la shes got the lookwalking like a man hitting like a hammer shes a juvenile scam never was a quitter tasty like a raindrop shes got the lookshe goes na na na na na na shes got the lookshes got the look shes got the look shes got the look shes got the look what in the world can make a browneyed girl turn blue when everything ill ever do ill do for you and i go la la la la la shes got the lookwhat in the world can make you so blue when everything ill ever do ill do for you and i go la la la la la na na na na na na shes got the look she goes na na na na na na shes got the look shes got the look she goes na na na na na na shes got the look shes got the look she goes na na na na na na ",1
18,"she drives me crazy","fine young cannibals",1989," i cant stop the way i feel things you do dont seem real tell me what youve got in mind cause were running out of time wont you ever set me free this waiting rounds killing meshe drives me crazy like no one else she drive me crazy and i cant help myselfi cant get any rest people say im obsessed everything you say is lies but to me thats no surprise what i had for you was true things go wrong they always doshe drives me crazy like no one else she drive me crazy and i cant help myselftell me what youve got in mind cause were running out of time wont you ever set me free this waiting rounds killing meshe drives me crazy like no one else she drive me crazy and i cant help myselfi wont make it on my own no one likes to be a loneshe drives me crazy like no one else she drive me crazy and i cant help myself she drives me crazy like no one else ",1
19,"on our own","bobby brown",1989," too hot to handle too cold to hold theyre called the ghost busters and theyre in control had em throwin a party for a bunch of children while all of the while the slime was under the buildingso they packed up their group got a grip came equipped grabbed they proton packs off their back and they split found about vigo the master of evil try to battle my boys thats not legaldance dance dance dance dance dance dance yeah i think this is gonna be another one of those funky ones heart soul dance yeah i think this is gonna be another one of those funky onesif i was you and you were me youd wanna be winnin if you want somethin bad yo you gotta wanna give your all cause i believe so much in we and know were not kiddin if you feel the same as me yo you gotta want to take the ballnow i find out that nothin is given dont know where the cards may fall all i know is that weve gotta get it weve gotta make it on our ownwell i guess were gonna have to take control all on our own if its up to us weve got to take it home all on our ownnow cant you see that all we need to be a go getter gotta make your own decisions you gotta go for what you know dance it comes a time in our lives you wanna be bigger gotta keep keep on pushing you gotta learn to take control yeahnow i find out that nothin is given dont know where the cards may fall all i know is that weve gotta get it weve gotta make it on our ownwell i guess were gonna have to take control all on our own if its up to us weve got to take it home all on our own gotta gotta take it home gotta gotta gotta take it homeit comes a time in our lives you wanna be bigger take control yeahohweoh ohweoh all on our own ohweoh ohweoh all on our ownwell i guess were gonna have to take control all on our own we got we got we got we got we got we gotif its up to us weve got to take it home all on our own too hot to handle too cold to hold theyre the ghost busters and theyre in controlwell i guess were gonna have to take control all on our own gotta gotta take it home gotta gotta take it homeif its up to us weve got to take it home all on our own gotta gotta take it home gotta gotta gotta take it home ",1
20,"two hearts","phil collins",1989," well there was no reason to believe shed always be there but if you dont put faith in what you believe in its getting you nowhere cos it hurts you never let go dont look down just look up cos shes always there to behind you just to remind youtwo hearts believing in just one mind you know were two hearts believing in just one mindcos theres no easy way to to understand it theres so much of my life in her and its like im blinded and it teaches you to never let go theres so much love youll never know she can reach you no matter how far wherever you aretwo hearts believing in just one mind beating together till the end of time you know were two hearts believing in just one mind together forever till the end of timeshe knows she knows therell always be a special place in my heart for her she knows she knows she knows yeah she knows she knows no matter how far apart we are she knows im always right there beside herwere two hearts believing in just one mind beating together till the end of time you know were two hearts believing in just one mind together forever till the end of timeyou know were two hearts believing in just one mind together forever til the end of time two hearts two hearts believing in just one mind beating together til the end of time ",1
21,"blame it on the rain","milli vanilli",1989," you said you didnt need her you told her goodbye goodbye you sacrificed a good love to satisfy your pride now you wished that you should have her have her and you feel like such a fool you let her walk away now it just dont feel the same gotta blame it on something gotta blame it on somethingblame it on the rain rain blame it on the stars stars whatever you do dont put the blame on you blame it on the rain yeah yeah you can blame it on the rain get ooh ooh ooh i cant i cant i cant cant stand the rain i cant i cant i cant cant stand the rain yeah yeah shouldve told her you were sorry sorry huh could have said you were wrong but no you couldnt do that no no you had to prove you were strong ooh if you hadnt been so blinded blinded she might still be there with you you want her back again but she just dont feel the same gotta blame it on something gotta blame it on somethingblame it on the rain that was falling falling blame it on the stars that did shine at night whatever you do dont put the blame on you blame it on the rain yeah yeahyou can blame it on the rain cos the rain dont mind and the rain dont care you got to blame it on something blame it on the rain blame it on the stars whatever you do dont put the blame on you blame it on the rain yeah yeah you can blame it on the rain girlooh ooh ooh girl i cant i cant i cant cant stand the rain i cant i cant i cant cant stand the rainget girl whatever you do blame it on the rain yeah yeah x 3 you can blame it on the rain blame it on the rain blame it on the rain baby blame it on the rain yeah yeah blame it on the stars that did shine that night blame it on the rain yeah yeah blame it blame it on the rain woo im walking im walkingwalking in the rain walking in the rainrain rain stars stars whatever you do dont put the blame on you blame it on the rain yeah yeah blame it on the rain that keeps falling falling blame it on the stars that did shine that night whatever you do dont put the blame on you blame it on the rain yeah yeah blame it on the rain rain rain ",1
22,"listen to your heart","roxette",1989," i know theres something in the wake of your smile i get a notion from the look in your eyes yea youve built a love but that love falls apart your little piece of heaven turns too dark listen to your heart when hes calling for you listen to your heart theres nothing else you can do i dont know where youre going and i dont know why but listen to your heart before you tell him goodbye sometimes you wonder if this fight is worthwhile the precious moments are all lost in the tide yea theyre swept away and nothing is what is seems the feeling of belonging to your dreams listen to your heart when hes calling for you listen to your heart theres nothing else you can do i dont know where youre going and i dont know why but listen to your heart before you tell him goodbye and there are voices that want to be heard so much to mention but you cant find the words the sense of magic the beauty thats been when love was wilder than the wind listen to your heart when hes calling for you listen to your heart theres nothing else you can do i dont know where youre going and i dont know why but listen to your heart before listen to your heart when hes calling for you listen to your heart take a listen theres nothing else you can do i dont know where youre going and i dont know why but listen to your heart before you tell him goodbye listen to your heart listen to your heart take a listen to it listen to your heart take a listen to it listen to your heart yeah listen to your heart listen to your heart listen to your heart listen to your heart listen to your heart listen to your heart listen to your heart listen to your heart listen to your heart ",1
23,"ill be there for you","bon jovi",1989," i guess this time youre really leaving i heard your suitcase say goodbye and as my broken heart lies bleeding you say true love is suicideyou say youve cried a thousand rivers and now youre swimming for the shore you left me drowning in my tears and you wont save me anymorenow im praying to god youll give me one more chanceill be there for you these five words i swear to you when you breathe i want to be the air for you ill be there for youid live and id die for you id steal the sun from the sky for you words cant say what a love can do ill be there for youi know you know weve had some good times now they have their own hiding place i can promise you tomorrow but i cant buy back yesterdaybaby you know my hands are dirty i wanted to be your valentine ill be the water if you get thirsty baby when you get drunk ill be the wineill be there for you these five words i swear to you when you breathe i want to be the air for you ill be there for youid live and id die for you id steal the sun from the sky for you words cant say what a love can do ill be there for youi wasnt there when you were happy i wasnt there when you were down i didnt mean to miss your birthday baby i wish id seen you blow those candles outill be there for you these five words i swear to you when you breathe i want to be the air for you ill be there for youid live and id die for you id steal the sun from the sky for you words cant say what a love can do ill be there for you ",1
24,"if you dont know me by now","simply red",1989," NA ",1
25,"like a prayer","madonna",1989," life is a mystery everyone must stand alone i hear you call my name and it feels like homewhen you call my name its like a little prayer im down on my knees i wanna take you there in the midnight hour i can feel your power just like a prayer you know ill take you therei hear your voice its like an angel sighing i have no choice i hear your voice feels like flying i close my eyes oh god i think im falling out of the sky i close my eyes heaven help mewhen you call my name its like a little prayer im down on my knees i wanna take you there in the midnight hour i can feel your power just like a prayer you know ill take you therelike a child you whisper softly to me youre in control just like a child now im dancing its like a dream no end and no beginning youre here with me its like a dream let the choir singwhen you call my name its like a little prayer im down on my knees i wanna take you there in the midnight hour i can feel your power just like a prayer you know ill take you therewhen you call my name its like a little prayer im down on my knees i wanna take you there in the midnight hour i can feel a power just like a prayer you know ill take you therelife is a mystery everyone must stand alone i hear you call my name and it feels like homejust like a prayer your voice can take me there just like a muse to me you are a mystery just like a dream you are not what you seem just like a prayer no choice your voice can take me therejust like a prayer ill take you there its like a dream to me just like a prayer ill take you there its like a dream to me just like a prayer ill take you there its like a dream to me just like a prayer ill take you there its like a dream to mejust like a prayer your voice can take me there just like a muse to me you are a mystery just like a dream you are not what you seem just like a prayer no choice your voice can take me therejust like a prayer your voice can take me there just like a muse to me you are a mystery just like a dream you are not what you seem just like a prayer no choice your voice can take me there your voice can take me there just like a prayer ",1
26,"ill be loving you forever","new kids on the block",1989," yeah im not that kind of guy who can take a broken heart so dont ever leave i dont want to see us part the very thought of losing you means that everything would go down under chorus ill be loving you forever just as long as you want me to be ill be loving you forever all this loves for you and me yeah ill be loving you ill be ill be loving you loving you the things you do yeah its forever ill be loving you ill be ill be loving you loving you yeah i count the blessings that keep our love new theres one for me and a million for you theres just so much that i want to say but when i look at you all my thoughts get in the way chorus weve learned to fall to every turn by now this love will last forever i can see it all now ill be loving you ill be ill be loving you loving you the things you do yeah its forever ill be loving you ill be ill be loving you loving only you girl oh girl ill be loving only you ill be loving you ill be loving you be loving you girl ",1
27,"how can i fall","breathe",1989," give me time to care the moments here for us to share still my heart is not always there what more can i say to youcould i lie to you im just too weak to face the truth now i know i should make a move what more can i sayhow can i fall how can i fall when you just wont give me reasons when you just wont give me reasons at allwhen all faith is gone i fight myself to carry on yet i know of the harm i do what more can i say to younow i hold this line i know the choice to leave is mine i cant help what i feel inside what more can i sayhow can i fall how can i fall how can i fall when you just wont give me reasons when you just wont give me reasons at allill follow through ill say i do when the time is far more right for you ill make that move and when i do will i doubt again the way i dohow can i fall how can i fall how can i fall when you just wont give me reasons when you just wont give me reasons at allhow can i fall how can i fall how can i fall when you just wont give me reasons when you just wont give me reasonshow can i fall how can i fall how can i fall when you just wont give me reasons when you just wont give me reasonsjust wont give me reasons just wont give me reasons at all how can i fall i fall i fall how can i fall for youhow can i fall how can i fall how can i fall when you just wont give me reasons when you just wont give me reasons ",1
28,"baby dont forget my number","milli vanilli",1989," babe dont be shy when youre holding my hand cause this time goes back you got to understand its youba ba ba baby in your eyes i see it so clearly that our love its so strong and you never go wrong i got the best for youso when youre in doubt in need of someone baby call my line call me anytime ill be there for you you youive been searching high high high ive been searching low low lowba ba ba ba baby dont forget my number baby love is stronger than a thunder ba ba ba ba baby dont forget my number love will see you throughive been searching high ive been searching lowwant to spend spend my life with you ba ba ba ba ba ba ba ba my desper youth ba ba ba ba ba ba ba ba love will see you throughba ba baby in your eyes i see it so clearly  ",1
29,"toy soldiers","martika",1989," step by step heart to heart left right left we all fall down like toy soldiersit wasnt my intention to mislead you it never should have been this way what can i say its true i did extend the invitation i never knew how long youd staywhen you hear temptation call its your heart that takes takes the fall wont you come out and play with mestep by step heart to heart left right left we all fall down like toy soldiersbit by bit torn apart we never win but the battle wages on for toy soldiersits getting hard to wake up in the morning my head is spinning constantly how can it be how could i be so blind to this addiction if i dont stop the next ones gonna be meonly emptiness remains it replaces all all the pain wont you come out and play with mestep by step heart to heart left right left we all fall down like toy soldiersbit by bit torn apart we never win but the battle wages on for toy soldierswe never winonly emptiness remains it replaces all all the pain wont you come out and play with mestep by step heart to heart left right left we all fall down like toy soldiersbit by bit torn apart we never win but the battle wages on for toy soldiersstep by step heart to heart left right left we all fall down like toy soldiersbit by bit torn apart we never win but the battle wages on for toy soldiers ",1
30,"forever your girl","paula abdul",1989," hey baby you gotta remember im forever your girl baby forever and ever and ever you know i ambaby pick your head up come on and look me in the face cause i can tell that somethin is bringin you down why are you downis it the rumor that another boy wants to take your place i hear hes after your heart have you been hearin the stories theyre goin around all of my friends are talkinbaby just remember i gave you my heart aint no one gonna tear us apart he could promise the moon and the stars above even if he promised me the worldjust remember im forever your girl he could promise the world you gotta remember im forever your girlhoney listen to me your love is all i need you should know that i dont need nothin that money can buy its no lieso if a boy were to come along and try to make me leave you girl id go out of my mind thered be no need to worry im tellin you why i need to hear that you really love mebaby dont you know that i love you and id never put nobody above you he could promise the moon and the stars above even if he promised me the worldjust remember im forever your girl he could promise the world you gotta remember im forever your girlim forever your baby just remember im forever your girl he could promise the world you gotta remember im forever your girlwhen the mountains crumble into the sea thats the day someonell come between you and mebaby just remember i gave you my heart tell me aint no one gonna tear us apart baby he could promise me diamonds even if he promised me pearls honey you know i aint lyin listen as i tell it to the worldyou gotta remember baby remember you gotta remember im forever your girl baby forever and ever and ever well be together im forever your girlbaby forever and ever and ever you gotta remember im forever hey baby he could promise the worldgirl you know i love you and i always will if we live til forever baby ill be lovin you ill be lovin you stilljust remember im forever your girl im forever your girl ill be lovin you ill be lovin you still just remember im forever your girl im forever your girl ",1
31,"the living years","mike  the mechanics",1989,"every generation blames the one before and all of their frustrations come beating on your door i know that im a prisoner to all my father held so dear i know that im a hostage to all his hopes and fears i just wish i could have told him in the living years crumpled bits of paper filled with imperfect thought stilted conversations im afraid thats all weve got you say you just dont see it he says its perfect sense you just cant get agreement in this present tense we all talk a different language talking in defense say it loud say it clear you can listen as well as you hear its too late when we die to admit we dont see eye to eye so we open up a quarrel between the present and the past we only sacrifice the future its the bitterness that lasts so dont yield to the fortunes you sometimes see as fate it may have a new perspective on a different day and if you dont give up and dont give in you may just be okay say it loud say it clear you can listen as well as you hear its too late when we die to admit we dont see eye to eye i wasnt there that morning when my father passed away i didnt  get to tell him all the things i had to say i think i caught his spirit later that same year im sure i heard his echo in my babys new born tears i just wish i could have told him in the living years say it loud say it clear you can listen as well as you hear its too late when we die to admit we dont see eye to eye",3
32,"eternal flame","the bangles",1989," close your eyes give me your hand darling do you feel my heart beating do you understand do you feel the same am i only dreaming is this burning an eternal flamei believe its meant to be darling i watch you when you are sleeping you belong with me do you feel the same am i only dreaming or is this burning an eternal flamesay my name sun shines through the rain a whole life so lonely and then you come and ease the pain i dont want to lose this feeling ohsay my name sun shines through the rain a whole life so lonely and then you come and ease the pain i dont want to lose this feeling ohclose your eyes give me your hand do you feel my heart beating do you understand do you feel the same am i only dreaming or is this burning an eternal flameclose your eyes give me your hand darling do you feel my heart beating do you understand do you feel the same am i only dreaming is this burning an eternal flameclose your eyes give me your hand darling do you feel my heart beating do you understand do you feel the same am i only dreaming an eternal flameclose your eyes give me your hand darling do you feel my heart beating do you understand do you feel the same am i only dreaming is this burning an eternal flame close your eyes give me your hand darling ",1
33,"wild thing","tone loc",1989," lets do itworkin all week 9 to 5 for my money so when the weekend comes i go get live with the honeysrollin down the street i saw this girl and she was pumpin i winked my eye she got into the ride went to a club was jumpinintroduce myself as loc she said youre a liar i said i got it goin on baby doll and im on firetook her to the hotel she said youre the king i said be my queen if you know what i mean and lets do the wild thingwild thing wild thingshoppin at the mall looking for some gear to buy i saw this girl she cool rocked my world and i had to adjust my flyshe looked at me and smiled and said you have plans for the night i said hopefully if things go well ill be with you tonightso we journeyed to her house one thing led to an other i keyed the door i cold hit the floor looked up and it was her motheri didnt know what to say i was hanging by a string she said hey you two i was once like you and i liked to do the wild thingwild thing she loved to do the wild thing wild thing please baby pleaseposse in effect hangin out is always hype and when me and the crew leave the shindig i want a girl whos just my typesaw this luscious little frame i aint lyin fellas she was fine the sweet young miss go gave me a kiss and i knew that she was minetook her to the limousine still parked outside i tipped the chauffeur when it was over and i gave her my own ridecouldnt get her off my jock she was like static cling but thats what happens when bodies start slappin from doin the wild thingwild thing she like to do the wild thing please baby pleasewild thingdoin a little show at the local discotheque this fine young chick was on my jock so i say what the heck she want to come on stage and do her little dance so i said chill for now but maybe later youll get your chanceso when the show was finished i took her around the way and what do you know she was good to go without a word to say we was all alone and she said tone let me tell you one thing i need 50 dollars to make you holler i get paid to do the wild thingsay what yo love you must be kidding youre walkin babe just break out of here hasta la vista babywild thing ",1
34,"when i see you smile","bad english",1989," sometimes i wonder how id ever make it through through this world without having you i just wouldnt have a cluecause sometimes it seems like this worlds closing in on me and theres no way of breaking free and then i see you reach for mesometimes i wanna give up i wanna give in i wanna quit the fight and then i see you baby and everythings alright everythings alrightwhen i see you smile i can face the world oh oh you know i can do anything when i see you smile i see a ray of light oh oh i see it shining right through the rainwhen i see you smile baby when i see you smile at me oh yeahbaby theres nothing in this world that could ever do what a touch of your hand can do its like nothing that i ever knewand when the rain is falling i dont feel it cause youre here with me now and one look at you baby is all ill ever need is all ill ever needwhen i see you smile i can face the world oh oh you know i can do anything when i see you smile i see a ray of light oh oh i see it shining right through the rainwhen i see you smile baby baby when i see you smile at mesometimes i wanna give up i wanna give in i wanna quit the fight then one look at you baby and everythings alright everythings alright so rightwhen i see you smile i can face the world oh oh you know i can do anything yeah when i see you smile i see a ray of light oh oh i see it shining right through the rain yeahwhen i see you smile yeah i can face the world oh oh you know i can do anything when i see you smile oh yeah baby when i see you smile smile at me ",1
35,"if i could turn back time","cher",1989," if i could turn back time if i could find a way id take back those words thatll hurt you and youd stay i dont know why i did the things i did i dont know why i said the things i said loves like a knife it can cut deep inside words are like weapons they wound sometimesi didnt really mean to hurt you i didnt want to see you go i know i made you cry but babyif i could turn back time if i could find a way id take back those words thatd hurt you and youd stay if i could reach the stars id give em all to you then youd love me love me like you used to do if i could turn back timemy world was shattered i was torn apart like someone took a knife and drove it deep in my heart you walked out that door i swore that i didnt care but i lost everything darling then and theretoo strong to tell you i was sorry too proud to tell you i was wrong i know that i was blind and darlingif i could turn back time if i could find a way id take back those words thatll hurt you and youd stay if i could reach the stars id give them all to you then youd love me love me like you used to do ohif i could turn back time if i could turn back time if i could turn back time whoa babyi didnt really mean to hurt you i didnt want to see you go i know i made you cry but babyif i could turn back time if i could find a way id take back those words that hurt you if i could reach the stars id give em all to you then youd love me love me like you used to doif i could turn back time if i could find a way then maybe maybe maybe youd stay if i could reach the stars id give em all to you ",1
36,"buffalo stance","neneh cherry",1989," whos that gigolo on the street with his hands in his pockets and his crocadile feet hanging off the curb looking all disturbed at the boys from home they all came running they were making noise manhandling toys thats the girls on the block with the nasty curls wearing padded bras sucking beers through straws dropping down their drawers where did you get yoursgigolo huh sucka gigolo gigolo huh suckawhos looking good today whos looking good in every way no style rookie you better watch dont mess with meno moneyman can win my love its sweetness that im thinking of we always hang in a buffalo stance we do the dive every time we dance ill give you love baby not romance ill make a move nothing left to chance so dont you get fresh with meget funky yeah timmy tell it like it is check out this djso you say you wanted money but you know its never funny when your shows worn through and theres a rumble in your tummy but you had to have style get a gold tooth smile put a girl on the corner so you can make a pile committed a crime and went inside it was coming your way but you had to survive when you lost your babe you lost the race now youre looking at me to take her placewhos looking good today whos looking good in every way no style rookie you better watch dont mess with mesmokin not cokin get funky sax looking good hanging with the wild bunch looking good in a buffalo stance looking good when it comes to the crunch looking goods a state of mind state of mind dont look behind you state of mind or youll be dead state of mind may i remind you bomb the bass rock this place what is he like whats he like anway yo man what do you expect the guys a giggolo man you know i meanno moneyman can win my love its sweetness that im thinking of we always hang in a buffalo stance we do the dive every time we dance ill give you love baby not romance ill make a move nothing left to chance so dont you get fresh with meno moneyman can win my love its sweetness that im thinking of we always hang in a buffalo stance we do the dive every time we dance ill give you love baby not romance ill make a move nothing left to chance so dont you get fresh with mewind on my face sound in my ears water from my eyes and you on my mind as i sink diving down deep deeper into your soulno moneyman can win my love its sweetness that im thinking of we always hang in a buffalo stance we do the dive every time we dance ill give you love baby not romance ill make a move nothing left to chance so dont you get fresh with me ",1
37,"when im with you","sheriff",1989," i never needed love like i need you and i never lived for nobody but i live for you oooh babe lost in love is what i feel when im with youmaybe its the way you touch me with the warmth of a sun maybe its the way you smile i come all undone oooh babe lost in love is that i feel when im with youbaby oh i get chills when im with you baby my world stands still when im with you when im with youi never cared for nobody like i care for you and i never wanted to share the things i want to share with you oooh babe lost in love is what i feel when im with youbaby oh i get chills when im with you baby my world stands still when im with you when im with youbaby oh i get chills when im with you baby my world stands still when im with you when im with you when im with you when im with you ",1
38,"dont rush me","taylor dayne",1989," red roses temptation you make the most of a ify situation im weighing my decision whos to say if its love or if it isntonly time will tell just how well ill get to know you dont mean to lead you on but i want to take it slowly slowlyso dont rush me ive made that mistake before oh dont rush me this love could be so much more its well worth the waiting fordesire can mean danger i wanna lover not another stranger im saving all my passion whos to say if its love or just attractiononly time will tell just how well ill get to know you dont mean to lead you on but i want to take it slowly slowlyso dont rush me ive made that mistake before oh dont rush me this love could be so much more its well worth the waiting fordont rush me ive made that mistake before oh dont rush me this love could be so much more its well worth the waitingand my resistance is weakening weakening every time we touch cause baby youve got everything everything that ive been dreamin ofso dont rush me ive made that mistake before oh dont rush me this love could be so much more its well worth waitingdont rush me ive made that mistake before oh no no no no dont rush me this love could be so much more yeahdont rush me ive made that mistake before oh dont rush me ive made that mistake before yeahdont rush me this love could be so much more dont rush me ",1
39,"born to be my baby","bon jovi",1989," rainy night and we worked all day both got jobs cause theres bills to play weve got somethin they cant take away our love our livesclose the door leave the cold outside i dont need nothinwhen im by your side weve got somethin thatll never die our dreams our pridemy heart beats like a drum all night flesh to flesh one to one and its alright ill never let go cause theres somethin i know deep insideyou were born to be my baby i was made to be your man weve got somethin to believe in even if we dont know where we stand only god knows the reason but he must have had a plan cause you were born to be my baby and i was made to be your manlight a candle blow the world away table for two on a tv tray it aint fancy but thats okay our time our wayhold me close baby hang on tight buckle up baby for a bumpy ride were two kids hitchin down this road of life our world our fightsif we stand side by side theres a chance well get by i know that youll live in my heart till the day i dieyou were born to be my baby i was made to be your man we have got to believe in even if we dont know where we stand only god knows the reason but he must have had a plan cause you were born to be my baby and baby i was made to be your manyeah my heart beats like a drum all night flesh to flesh one to one and its alright ill never let go theres somethin i know deep insideyou were born to be my baby i was made to be your man weve got somethin to believe in if we dont know where we stand only god knows the reason but he must have had a plan cause you were born to be my baby and i was made to be your man ",1
40,"good thing","fine young cannibals",1989," the one good thing in my life has gone away i dont want to know why shes gone away i dont know where somewhere i cant follow herthe one good thing didnt stay too long my back was turned and she was gonegood thing where have you gone my good thing youve been gone too longpeople say i should forget theres plenty more dont get upset people say shes doin fine mutual friends i see sometimethats not what i want to hear i want to hear she wants me neargood thing where have you gone my good thing youve been gone too longthen one day she came back i was so happy that i didnt ask morning came into my room caught me dreaming like a foolgood thing good thing my my my my good thing where have you gone my good thing my good thing girl where have you gone its been so long incomprehensible ",1
41,"the lover in me","sheena easton",1989," talk about the love youre missin maybe then its true when they say love is blind i can help you if you listen i can make you feel good if you just let my tryif everlasting love is what youre waiting for then that time for you just has arrived so here i am come walk right through my door and be loved for the rest of your lifeif you talk about good lovin lets talk about the lover in me shoo do wop so dont go talk about no other just talk about the lover in me shoo do wopi can give you all the lovin but i gotta know that youre there to receive i can be your only woman but i gotta feel that im all that you needill be your everything and i can give you so much more and ill never leave you lonely at night so here i am come walk right through my door and be loved for the rest of your lifeif you talk about good lovin lets talk about the lover in me shoo do wop so dont go talk about no other just talk about the lover in me shoo do woptalk about and dream about and think about your lover dont talk about or dream about or think about no other dont run around all over town searchin for some other the love we found wont let us down lets talk about the loverill be your everything and i can give you so much more and ill never leave you lonely at night so here i am come walk right through my door and be loved for the rest of your lifeif you talk about good lovin lets talk about the lover in me shoo do wop so dont go talk about no other just talk about the lover in me shoo do wopif you talk about and dream about and think about your lover dont talk about think about or dream about no other dont run around all over town just searchin for some other this love we found wont let us down lets talk about the lover in meif you talk about good lovin lets talk about the lover in me shoo do wop so dont go talk about no other just talk about the lover in me shoo do wopif you talk about and dream about and think about your lover dont talk about think about or dream about no other dont run around all over town just searchin for some other this love we found wont let us down lets talk about the lover in meif you talk about good lovin lets talk about the lover in me shoo do wop so dont go talk about no other just talk about the lover in me shoo do wopif you talk about good lovin lets talk about the lover in me shoo do wop so dont go talk about no other just talk about the lover in me shoo do wopif you talk about good lovin lets talk about the lover in me shoo do wop so dont go talk about no other just talk about the lover in me shoo do wop  ",1
42,"bust a move","young mc",1989," this heres a tale for all the fellas tryin to do what those ladies tell us get shot down cause ya overzealous play hard to get females get jealous okay smarty go to a party girls are scantily clad and showin body a chick walks by you wish you could sex her but youre standing on the wall like you was poindexter next days function high class luncheon food is served and youre stonecold munchin music comes on people start to dance but then you ate so much you nearly split your pants a girl starts walking guys start gawking sits down next to you and starts talking says she wants to dance cause she likes to groove so come on fatso and just bust a movejust bust a moveyoure on a mission and your wishin someone could cure your lonely condition lookin for love in all the wrong places no fine girls just ugly faces from frustration first inclination is to become a monk and leave the situation but every dark tunnel has a light of hope so dont hang yourself with a celibate rope your movies showin so youre goin could care less about the five youre blowin theater gets dark just to start the show then ya spot a fine woman sittin in your row shes dressed in yellow she says hello come sit next to me you fine fellow you run over there without a second to lose and what comes next hey bust a moveyou want it you got it you want it baby you got it just bust a move you want it you got it you want it baby you got itin this city ladies look pretty guys tell jokes so they can seem witty tell a funny joke just to get some play then you try to make a move and she says no way girls are fakin goodness sakin they want the man who brings home the bacon got no money and you got no car then you got no women and there you are some girls are sadistic materialistic lookin for a man makes them opportunistic theyre lyin on a beach perpetrating a tan so a brother with the money can be their man so on the beach youre strollin real high rollin everything you have is yours and not stolen a girl runs up with somethin to prove so dont just stand there bust a moveif you want it you got it you want it baby you got it just bust a move you want it you got it you want it baby you got it break it down for me fellasyour best friend harry has a brother larry in five days from now hes gonna marry hes hopin you can make it there if you can cause in the ceremony youll be the best man you say neato check your libido and roll to the church in your new tuxedo the bride walks down just to start the wedding and theres one more girl you wont be getting so you start thinkin then you start blinking the bridesmaid looks and thinks that youre winking she thinks your kinda cute so she winks back and now your feelin really firm cause the girl is stacked receptions jumpin bass is pumpin you look at the girl and your heart starts thumpin says she wants to dance to a different groove now you know what to do g bust a moveif you want it you got it you want it baby you got it just bust a move you want it you got it you want it baby you got it break it down for me fellas ",1
43,"once bitten twice shy","great white",1989," well the times are gettin hard for you little girl im ahummin and astrummin all over gods world you cant remember when you got your last meal and you dont know just how a woman feelsyou didnt know what rock n roll was until you met my drummer on a gray tour bus i got there in the nick of time before he got his hands across your state line yeahnow its the middle of the night on the open road the heater dont work and its oh so cold youre lookin tired youre lookin kinda beat the rhythm of the street sure knocks you off your feetyou didnt know how rock n roll looked until you caught your sister with the guys from the group halfway home in the parking lot by the look in her eye she was giving what she got saidmy my my im once bitten twice shy baby my my my im once bitten twice shy baby my my my im once bitten twice shy babywoman youre a mess gonna die in your sleep theres blood on my amp and my les pauls beat cant keep you home youre messin around my best friend told me youre the best lick in townyou didnt know that rock n roll burned so you bought a candle and you lived and you learned you got the rhythm you got the speed mamas little baby likes it short and sweet i saidi said my my my im once bitten twice shy baby my my my im once bitten twice shy baby my my my im once bitten twice shy babyi didnt know you had a rock n roll record until i saw your picture on another guys jacket you told me i was the only one but look at you now its dark and youre gonemy my my im once bitten twice shy baby my my my im once bitten twice shy baby my my my im once bitten twice shy babymy my my im once bitten twice shy im so shy ",1
44,"batdance","prince",1989," oh i got a live one here get the funk up batman get the funk up batman get the funk up go go go with a smile batdance do it keep bustindo it repeated in the background ive seen the future and it will be ive seen the future and it will be batman batman ive seen the future and it will be batman house do it house and where and where  is the batmando it do it lets do it lets do it do it do it do it do itstop the press stop the press who is that vicky vale vicky vale i like batman batman batman oh  thats nice hi bruce wayne ive tried to avoid all this but i cant i just gotta know are we gonna try 2 love each other stop the press  who is that vicky vale shes great isnt sheooh yeah ooh yeah i wanna bust that body ooh yeah ooh yeah i wanna bust that body right id like 2 ooh yeah ooh yeah but hes out there right now i wanna bust that body ooh yeah ooh yeah 2 nightwell miss vale ever dance with the devil in the pale moon light i always ask that of all my pray i just like the sound of it screamsive got 2 go 2 work batman ive got 2 go 2 work batman if a man is considered guilty work 4 what goes on in his mind work then gimme the electric chair work 4 all my future crimesoh work electric chairhey ducky let me stick the 7inch in the computer ha ha ha hey we got the power oh we got the soul hey we got to shonuff get off 2 make the devil go gothis town needs an enemaim gonna kill u power im not gonna kill u soul im gonna kill u power im not gonna kill u soul lets do it im batman batman dont stop dancin im batman batman dont stop dancin do it do it do it do it batman batman batman dont stop dont stop lets do it dont stop dancin lets do it batman lets do it batman dont stop dancin dont stop dancin no damn it turn the music back up you son of a bitchhave you ever heard of the healing power of laughterwhos gonna stop 200 balloons nobody batman stop ",1
45,"rock on","michael damian",1989,"michael damian miscellaneous rock on hey kids rock and roll rock on ooh my soul hey kids boogey too did ya hey shout summertime blues jump up and down in my blue suede shoes hey kids rock and roll rock on and where do we go from here which is the way thats clear still looking for that blue jean baby queen prettiest girl ive ever seen see her shake on the movie screen jimmy dean james dean rock on",3
46,"real love","jody watley",1989," i said i would get over you now im here out on my own trying to live my life and now you wanna come back but i dont need no brand new lies listen upi want a love thats serious no time to play love games i dont wanna be nobodys fool so if you wanna be with me you gotta give it upreal love i know i wanna have one real love gonna try and get some real love everybody needs one real love got to have real loveall my friends are telling me i should give you another try but i dont need opinions to deal with what i have on my mind listen upi want a love thats serious no time to play love games i dont wanna be nobodys fool so if you wanna be with me you gotta give it upreal love i know i wanna have one real love gonna try and get some real love everybody needs one real love got to have real lovereal love oh yeah give it upreal love i know i wanna have one real love gonna try and get some real love everybody needs one real love got to have real lovereal love i know i wanna have one real love gonna try and get some real love everybody needs one real love got to have real love real lovereal love i know i wanna have one real love gonna try and get some real love everybody needs one real love got to have real lovereal love real love yeah real love got to have real love real lovereal love real love real love i dont need opinions dont need your advice real love got to have real lovereal love i know i wanna have one real love gonna try and get some real love everybody needs one ",1
47,"love shack","the b52s",1989," if you see a faded sign by the side of the road that says fifteen miles to the love shack love shack yeah im headin down the atlanta highway lookin for the love getaway headed for the love getaway love getaway i got me a car its as big as a whale and were headin on down to the love shack i got me a chrysler it seats about twenty so hurry up and bring your jukebox moneythe love shack is a little old place where we can get together love shack baby a love shack baby love shack baby love shack love shack baby love shack love shack baby love shack love shack baby love shacksign says woo stay away fools cause love rules at the love shack well its set way back in the middle of a field just a funky old shack and i gotta get back glitter on the mattress glitter on the highway glitter on the front porch glitter on the hallwaythe love shack is a little old place where we can get together love shack baby love shack baby love shack thats where its at love shack thats where its athuggin and akissin dancin and alovin wearin next to nothing cause its hot as an oven the whole shack shimmies yeah the whole shack shimmies the whole shack shimmies when everybodys movin around and around and around and around everybodys movin everybodys groovin baby folks linin up outside just to get down everybodys movin everybodys groovin baby funky little shack funky little shackhop in my chrysler its as big as a whale and its about to set sail i got me a car it seats about twenty so come on and bring your jukebox moneythe love shack is a little old place where we can get together love shack baby a love shack baby love shack baby love shack love shack baby love shack love shack baby love shack oh baby thats where its at love shack baby love shack baby thats where its atbang bang bang on the door baby knock a little louder baby bang bang bang on the door baby i cant hear you bang bang bang on the door baby knock a little louder sugar bang bang bang on the door baby i cant hear youbang bang bang on the door baby knock a little louder bang bang on the door baby bang bang on the door baby bang bang on the door bang bang on the door baby bang bangyoure what tin roof rustedlove shack baby love shack love shack baby love shack love shack baby love shack love shack baby love shack ",1
48,"every little step","bobby brown",1989," good lovin ow yeahi cant sleep at night i toss and turn listenin for the telephone but when i get your call im all choked up cant believe you called my home and as a matter of fact it blows my mind you would even talk to me because a girl like you is a dream come true a real life fantasyno matter what your friends try to tell ya we were made to fall in love and we will be together any kind of weather its like that its like thatevery little step i take you will be there every little step i make well be togetherevery little step i take you will be there every little step i make well be togetheri cant think too straight im all confused you mustve put a thing on me because there arent no words that can explain im livin in ecstasy and you can best believe i got ya back you never have to feel no pain cause id dedicate my life to you youll never look for love againno matter what your friends try to tell ya we were made to fall in love and we will be together any kind of weather its like that its like thatevery little step i take you will be there every little step i make well be togetherevery little step i take you will be there every little step i make well be togetherevery little woo every little step i every little step every little every little step i takeevery little every little step ievery little step every little well be together girlgood lovin good lovinno matter what your friends try to tell ya we were made to fall in love and we will be together any kind of weather its like that its like that girlevery little step i take you will be there every little step i make well be togetherevery little step i take you will be there every little step i make well be togetherevery little step i take you will be there every little step i make well be togetherevery little step i take you will be there every little step i make well be togetherevery little step i every little step every little every little step i take every little every little step i take every little step every little well be together girl every little step i take good lovin ",1
49,"hangin tough","new kids on the block",1989," oh oh oh oh oh oh oh oh oh oh oh oh oh oh ohoh oh oh oh oh oh oh oh oh oh oh oh oh oh ohlisten up everybody if you wanna take a chance just get on the floor and do the new kids dancedont worry bout nothin cause it wont take long were gonna put you in a trance with a funky songcause you gotta be hangin tough hangin tough hangin tough are you tough enoughhangin tough hangin tough hangin tough were roughoh oh oh oh oh oh oh oh oh oheverybodys always talkin bout whos on top dont cross our path cause youre gonna get stompedwe aint gonna give anybody any slack and if you try to keep us down were gonna come right back and you know werehangin tough hangin tough hangin tough are you tough enough hangin tough hangin tough hangin tough were roughoh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh ohget loose everybody cause were gonna do our thing cause you know it aint over till the fat lady singsyo check it outeverybodys hangin tough oh oh oh oh oh just hangin tough oh oh oh oh ohhangin tough oh oh oh oh oh just hangin tough oh oh oh oh oh hangin tough oh oh oh oh oh ",1
50,"my heart cant tell you no","rod stewart",1989," i dont want you to come round here no more i beg you for mercy you dont know how strong my weakness is or how much it hurts me cause when you said it over with him i want to believe its true so i let you in knowing tomorrow im gonna wake up missing you wake up missing youwhen the one you loves in love with someone else dont you know its torture i mean its a living hell no matter how i try to convince myself this time i wont lose control one look in your blue eyes and suddenly my heart cant tell you noi dont want you to call me up no more saying you need me youre crazy if you think just half your love could ever please me still i want to hold you touch you when you look at me that way theres only one solution i know you gotta stay away from me stay away from mewhen the one you loves in love with someone else dont you know its torture i mean its a living hell no matter how i try to convince myself this time i wont lose control one look in your sad eyes and suddenly my heart cant tell you no my heart cant tell you noi dont want you to come round here no more i beg you for mercy you dont know how strong my weakness is or how much it hurts me cause when you say its over with him i want to believe its true so i let you in knowing tomorrow im gonna wake up missing you wake up missing youwhen the one you loves in love with someone else dont you know its torture i mean its a living hell a living hell when the one you loves in love with someone else dont you know its torture i mean its a living hell a living hell ",1
51,"so alive","love and rockets",1989,"i dont know what color your eyes are baby but your hair is long and brown your legs are strong and youre so so long and you dont come from this town my head is full of magic baby and i cant share this with you i feel im on a cross again lately thats got everything to do with you im alive ah ah so alive im alive ah ah so alive your strut makes me crazy makes me see you more clearly oh baby now i can see you i wish i could stop switch off the clock make it all happen for you im alive ah ah so alive im alive ah ah so alive",3
52,"you got it the right stuff","new kids on the block",1989," the right stuff the right stuff first time was a great time second time was a blast third time i fell in love now i hope it lasts i can see it in your walk tell em when you talk see it in everything you do even in your thoughtsyou got the right stuff baby love the way you turn me on you got the right stuff baby youre the reason why i sing this song all that i needed was you oh girl youre so right said all that i wanted was you you made all my dreams come trueoh oh oh oh oh oh oh oh oh oh oh oh oh oh the right stuff oh oh oh oh oh oh oh oh oh oh oh oh oh oh the right stuffyour first kiss was a sweet kiss second kiss had a twist third and your fourth kiss i dont want to miss i can see it in your walk tell em when you talk see it in everything you do even in your thoughtsyou got the right stuff baby love the way you turn me on you got the right stuff baby youre the reason why i sing this song all that i needed was you oh girl youre so right said all that i wanted was you you made all every one of my dreams come trueoh oh oh oh oh oh oh oh oh oh oh oh oh oh the right stuff oh oh oh oh oh oh oh oh oh oh oh oh oh oh the right stuffthe right stuff girl yeah baby yeah you know you got the right stuff and girl yeah baby you know you know you got it girlin my life youre so right you made all you know what you didoh oh oh oh oh oh oh oh oh oh oh oh oh oh the right stuff oh oh oh oh oh oh oh oh oh oh oh oh oh oh the right stuff ",1
53,"armageddon it","def leppard",1989," you better come inside when youre ready to but no chance if ya dont want to dance youre like fourletter words when youre ready to but then you wont cause you know that you can you got it but are you gettin it you say that love is won when you get some but then your finger wont trigger the gun you know you cant stop it so dont rock it you know you got it hey but are you gettin it really gettin it come get it from megimme all of your lovin every little bit gimme all that you got every bit of it every bit of your lovin oh cmon live a bit never want it to stop yeah but are you gettin it armageddon it ooh really gettin it yes armageddon ityeah doodoo wop you try comin on when you need some but then you dont cause you already did yeah you jangle your jewels while your shakin ya and drive the pretty boys outta their heads you got it but are you gettin it you flash you bedroom eyes like a jumpin jack then play it pretty with a pat on the back you know you cant stop it so dont rock it you know you got it hey but are you gettin it ooh really gettin it oh come get it from megimme all of your lovin every little bit gimme all that you got every bit of it every bit of your lovin oh cmon live a bit never want it to stop yeah but are you gettin it armageddon it ooh really gettin it yes armageddon itcmon steve get it take it take it take it from me i got an itchy finger following me pull it pull it cmon trigger the gun cause the best is yet to come i say cause the best is yet to come are you gettin it really gettin it are you getting it really getting it oh come get it from megimme all of your lovin every little bit gimme all that you got every bit of it every bit of your lovin oh cmon live a bit never want it to stop gimme all of your lovin oh are you getting it gimme all that you got oh are you getting it every bit of your lovin oh little bit gimme all that you got little bit you got to live it gimme all of your lovin oh baby mean it gimme all that you got come on and give it gimme all of your lovin oh come on and give it never want it to stop oh are you getting it gimme all of your lovin ooh are you getting it never want it to stop oh are you getting it every bit of your lovin ",1
54,"satisfied","richard marx",1989," we work our bodies weary to stay alive there must be more to living than nine to five why should we wait for some better time there may not even be a tomorrow aint no sense in losing you mind im gonna make it worth the ridedont you know i wont give up until im satisfied dont you know why should i stop until im satisfiedignore the hesitation that ties your hands use your imagination and take a chance i wont let my moment of truth pass me by ive gotta make my move now or never and if they turn me loose on this town theyre gonna have to hold me downdont you know i wont give up until im satisfied dont you know why should i stop until im satisfiedoh dont you know aint gonna stop until were satisfied dont you know we shouldnt stop until were satisfieddont you know aint gonna stop until im satisfied dont you know we wont give up until were satisfiedwhy shouldnt we stop before were satisfied ",1
55,"express yourself","madonna",1989," baby bbbbaby come on girls you believe in love cause ive got something to sing about it and it goes something like thisdont go for second best baby put your love to the test you know you know youve got to make him express how he feels and maybe then youll know your love is realyou dont need diamond rings or eighteen karat gold fancy cars that go very fast you know they never last no no what you need is a big strong hand to lift you to your higher ground make you feel like a queen on a throne make him love you till you cant come downdont go for second best baby put your love to the test you know you know youve got to make him express how he feels and maybe then youll know your love is reallong stem roses are the way to your heart but he needs to start with your head satin sheets are very romantic what happens when youre not in bed you deserve the best in life so if the time isnt right then move on second best is never enough youll do much better baby on your owndont go for second best baby put your love to the test you know you know youve got to make him express how he feels and maybe then youll know your love is realexpress yourself youve got to make him express himself hey hey hey hey so if you want it right now make him show you how express what hes got oh baby ready or not and when youre gone he might regret it think about the love he once had try to carry on but he just wont get it hell be back on his knees to express himself youve got to make him express himself hey heydont go for second best baby put your love to the test you know you know youve got to make him express how he feels and maybe then youll know your love is realexpress yourself youve got to make him express himself hey hey hey hey so if you want it right now make him show you how express what hes got oh baby ready or not express yourself respect yourself hey hey so if you want it right now make him show you how express what hes got oh baby ready or not express yourself ",1
56,"i like it","dino",1989,"get up on it lets do it thats nice i like it chorus thats the way it has to be cause thats the way i like it thats the way it has to be cause thats the way i like it you told me that you loved me now girl show me cause i cant believe its true by the things you do never have i ever had such pleasure of giving up my love this way i want you every day take me by the hand i will be your man cause thats the way you make me feel take me by surprise look into my eyes and show me that your love is real chorus yeah yeah yeah i like it uh huh uh huh i like it uh huh uh lets wine and dine and just take our time the night is young and so are we just come with me well walk in the park and kiss in the dark girl cause thats the things i like to do when im with you take me by the hand i will be your man cause thats the way you make me feel take me by surprise look into my eyes and show me that your love is real chorus uh i like it lets do it i like it girl thats nice uh huh i say yeah yeah yeah yeah yeah yeah yeah ooh i like it uh huh uh huh uh huh i like it uh huh ooh i like it uh huh uh huh uh huh i like it uh huh people clap your hands if you like it stop this is what i like your hair so wild sunglasses and that smile thats the way uh huh thats the way now dance i like it nasty uh every time im with you i just want to kiss you yeah yeah girl you make me feel good the time is right i wish you would yeah yeah yeah chorus uh i like it yeah i like it ooh i like it uh huh uh huh uh huh i like it uh huh ooh i like it uh huh uh huh uh huh i like it uh huh i like it",3
57,"soldier of love","donny osmond",1989," so you heard that im a rebel with a heart made of stone i got a restless spirit that nobody can own if a picture tells a story wont you listen to mine im searching for the answer but its so hard to findyoull see much deeper when you read between the lines cause theres a fire burning in my eyelike a thief in the night who cant get enough i am willing to fight cause im a soldier of love like a shot in the dark when the going gets rough its a state of the heart youre a soldier of loveim willing to fightlove can be so heartless when you turn out the lights a mutual surrender in the heat of the night lifes an empty picture when youre living alone and maybe thats the reason every heart needs a homeeach time i fall down i get on my feet again im gonna win this battle in the endlike a thief in the night who cant get enough i am willing to fight cause im a soldier of love like a shot in the dark when the going gets rough its a state of the heart and youre a soldier of loveyoull see much deeper when you read between the lines cause theres a fire burning in my eyelike a thief in the night who cant get enough i am willing to fight cause im a soldier of love like a shot in the dark when the going gets rough its a state of the heart and youre a soldier of lovesha la la la la la la when the going gets rough sha la la la la la la im a soldier of love sha la la la la la la when the going gets rough sha la la la la la la a soldier for your lovelike a thief in the night who cant get enough i am willing to fight cause im a soldier of love like a shot in the dark when the going gets rough its a state of the heart youre a soldier of lovelike a thief in the night who cant get enough cause im a soldier of love like a shot in the dark when the going gets rough ",1
58,"sowing the seeds of love","tears for fears",1989," high time we made a stand and shook up the views of the common man the love train rides from coast to coast djs the man we love the mostcould you be could you be squeaky clean and smash any hope of democracy  as the headline says youre free to choose theres egg on your face and mud on your shoes one of these days theyre gonna call it the blues yeah yeahsowing the seeds of love seeds of love sowing the seeds of love sowing the seeds of love sowing the seeds of love seeds of love and anything is possible when youre sowing the seeds of love anything is possible sowing the seeds of lovei spy tears in their eyes they look to the skies for some kind of divine intervention food goes to waste so nice to eat so nice to taste politician grannie with your high idealshave you no idea how the majority feels  so by far a promise land were fools to the rules of a government plan kick out the style bring back the jamsowing the seeds of love seeds of love sowing the seeds of love sowing the seeds of love seeds of lovesowing the seeds the birds and the bees my girlfriend and me in lovefeel the pain talk about it if youre a worried man then shout about it open hearts feel about it open minds think about iteveryone read about it everyone scream about it everyone everyoneyeahyeah everyone read about it read about it read in the books in the crannies and the nooks there are books to readsowing the seeds of love were sowing the seeds of love sowing the seeds of love sowing the seeds of love sowing the seeds of love sowing the seeds of love sowing the seedstime to eat all your words swallow your pride open your eyestime to eat all your words swallow your pride open your eyestime to eat all your words swallow your pride open your eyeshigh time we made a stand and shook up the views of the common man and the love train rides from coast to coast every minute and every hour i love a sunflowerand i believe in love power love power love powersowing the seeds of love the seeds of love sowing the seeds of love sowing the seeds of love the seeds of love sowing the seeds of love sowing the seeds of love the seeds of lovesowing the seeds an end to need the politics of greedsowing the seeds of love the seeds of love sowing the seeds sowing the seeds of love the seeds of love sowing the seeds sowing the seeds of love the seeds of lovesowing the seeds an end to need the politics of greedsowing the seeds of love the seeds of love sowing the seeds sowing the seeds of love the seeds of love sowing the seeds sowing the seeds of love the seeds of love sowing the seeds ",1
59,"cherish","madonna",1989," so tired of broken hearts and losing at this game before i start this dance i take a chance in telling you i want more than just romance you are my destiny i cant let go baby cant you see cupid please take your aim at mecherish the thought of always having you here by my side oh baby i cherish the joy you keep bringing it into my life im always singing it cherish your strength you got the power to make me feel good and baby i perish the thought of ever leaving i never wouldi was never satisfied with casual encounters i cant hide my need for two hearts that bleed with burning love thats the way its got to be romeo and juliet they never felt this way i bet so dont underestimate my point of viewcherish the thought of always having you here by my side oh baby i cherish the joy you keep bringing it into my life im always singing it cherish your strength you got the power to make me feel good and baby i perish the thought of ever leaving i never wouldwho you cant get away i wont let you who you i could never forget to cherish is the word i use to remind me of your loveromeo and juliet they never felt this way i bet so dont underestimate my point of viewwho you cant get away i wont let you who you i could never forget to cherish is the word i use to remind me of your lovecherish the thought of always having you here by my side oh baby i cherish the joy you keep bringing it into my life im always singing it cherish your strength you got the power to make me feel good and baby i perish the thought of ever leaving i never wouldcherish give me faith give me joy my boy i will always cherish you give me faith give me joy my boy i will always cherish youcherish your strength youre givin it youre givin it to me boy perish the thought youre givin it youre givin it to me boy i could never forget to keep giving me all your joycherish the thought give me faith give me joy my boy i will always cherish you cherish the joy give me faith give me joy my boy i will always cherish you cherish your strength youre givin it to me boy keep giving me all your joy perish the thought youre givin it to me boy keep giving me all your joy ",1
60,"when the children cry","white lion",1989," little child dry your crying eyes how can i explain the fear you feel insidecause you were born into this evil world where man is killing man and no one knows just why what have we become just look what we have done all that we destroyed you must build againwhen the children cry let them know we tried cause when the children sing then the new world beginslittle child you must show the way to a better day for all the youngcause you were born for all the world to see that we all can live with love and peace no more presidents and all the wars will end one united world under godwhen the children cry let them know we tried cause when the children sing then the new world beginswhat have we become just look what we have done all that we destroyed you must build again no more presidents and all the wars will end one united world under godwhen the children cry let them know we tried when the children fight let them know it aint right when the children pray let them know the way cause when the children sing then the new world begins ",1
61,"18 and life","skid row",1989," ricky was a young boy he had a heart of stone lived 9 to 5 and he worked his fingers to the bone just barely get out of school came from the edge of town fought like a switchblade so no one could take him down oh nohe had no money no no good at home he walked the streets as soldier and he fought the world aloneand now its 18 and life you got it 18 and life you know your crime is time and its 18 and life to go 18 and life you got it 18 and life you know your crime is time and its 18 and life to gotequila in his heartbeat his veins burned gasoline he kept his motor running but it never kept him clean they say he loved adventure rickys the wild one he married trouble and had a courtship with a gunbang bang shoot em up the party never ends you cant think of dying when the bottles your best friendand now its 18 and life you got it 18 and life you know your crime is time and its 18 and life to go 18 and life you got it 18 and life you know your crime is time and its 18 and life to go yeahaccidents will happen they all heard ricky say he fired his sixshot to the wind that child blew a child awayyeah yeah yeah yeah yeah 18 and life you got it 18 and life you know your crime is time and its 18 and life to go 18 and life you got it 18 and life you know your crime is time and its 18 and life to go ",1
62,"i dont want your love","duran duran",1989," i dont mind if youre keeping someone else behind i dont care cause youve got something i can share hey take your chance even if its onlyonly while were dancing in the light of your second sight because when you understand me you might feel good around me nowi dont want your love to bring me down i dont want your love so turn it aroundi wont turn you out if youve got someone else someone else you care about because you must realize my obsessive fascination is in your imagination now pick it upi dont want your love to bring me down i dont what your love i dont what your love i dont want your love so turn it around i dont what your love i dont what your loveyour rhythm is the power to move me its something you control completely i dont want your love i dont want your love i dont what your lovei like noise cause i like waking up the house i cannot sit down i cant shut my mouth but when you understand me you might feel good around me now back it upyour rhythm is the power to move me its something you control completely i dont want your love i dont want your love i dont what your lovei dont want your love to bring me down i dont what your love i dont what your love i dont what your love i dont want your love so turn it around i dont what your love i dont what your love i dont what your lovei dont want your love i dont what your love i dont want your love i dont what your lovei dont want your love ",1
63,"second chance","38 special",1989," since you been gone i feel my life slipping away i look to the sky and everything is turnin grayall i made was one mistake how much more will i have to pay why cant you think it over why cant you forget about the pastwhen love makes this sound babe a heart needs a second chance dont put me down babe cant you see i love yousince you been gone ive been in a trance this heart needs a second chance dont say its over i just cant say goodbyeso this is love standing in the pouring rain i fooled on you but she never meant a thingand i know i aint got no right to ask you to sympathize but why cant you think it over why cant you forget the pastwhen love makes this sound babe a heart needs a second chance dont put me down babe cant you see i love yousince you been gone ive been in a trance this heart needs a second chance dont say its over i just cant say goodbyei never loved her i never needed her she was willing and thats all there is to say dont forsake me please dont leave me nowa heart needs a second chanceyeah you been gone and ive been in a trance this heart needs a second chance dont say its over i just cant say goodbyeplease forgive me and forget it i was wrong and i admit it but why cant we talk it over why cant we forget about forget about the pasta heart needs a second chance when love makes this sound babe a heart needs a second chance dont put me down babeyou been gone ive been in a trance this heart needs a second chance dont say its over i just cant say goodbyea heart needs a second chance when love makes this sound babe a heart needs a second chancea heart needs a second chance when love makes this sound babe a heart needs a second chancea heart needs a second chance a heart needs a second chance a heart needs a second chance ",1
64,"the way you love me","karyn white",1989," hey baby youre drivin me crazy with that special lovin feelin that you give to me and im so proud you want me to be your lady now i know how it feels to live a fantasyi used to dream about love and sure its how it was but i dont have to dream no morecause i i got more than i can stand i found me a lover in another man i got you baby thats all i was waiting forand i love the way you love me i place no one above the way that you love and i love the way you love me and baby no matter what i love the i love the way you love yeah yeahoh baby baby baby i might as well face it ive fallen in too deep youve got control of me without a doubt it has to be the greatest you are every bit the man i had hoped youd bei used to dream about love and sure its how it was but i dont have to dream no more oh nocause when i think about your lovin and how good it can be i get excited bout the feeling that is given to me so wont you keep me comin baby cause i love the joy you bring oh i loveand i love the way you love me i place no one above the way that you love and i love the way you love me and baby no matter what i love the i love the way you love yeah yeah i love the way you love yeah i gotta love incomprehensible i love the wayone for all the special love two a sensitive and tender touch three because you please you bring out the best in mecause when i think about your lovin and how good it can be i get excited bout the feelin that is given to me so wont you keep me comin baby cause i love the joy you bring i lovei love the way you love yeah yeah i love the wayand i love the way you love me i place no one above the way that you love and i love the way you love me and baby no matter what i love the i love the way you loveincomprehensibleone for all the special love two a sensitive and tender touch three because you please you bring out the best in mecause when i think about your lovin and how good it can be i get excited from the feelin that is given to me so wont you keep me comin baby cause i love the joy you bringi love the way you love me i place no one above the way that you love and i love the way you love me and baby no matter what i love the i love the way you lovelove your love love your love i love the way you love love your love love your love i love the way and i love the way you love me ",1
65,"funky cold medina","tone loc",1989," alright dig itcold coolin at a bar and im lookin for some action but like mike jagger said i cant get no satisfaction the girls are all around but none of them wanna get with me my threads are fresh and im lookin def yo whats up with l o cthe girls all jockin at the other end of the bar havin drinks with some noname chump when they know that im the star so i got up and strolled over to the other side of the cantina i asked the guy why you so fly he said funky cold medinafunky cold medinathis brother told me a secret on how to get more chicks put a little medina in your glass and the girlsll come real quick its better than any alcohol or aphrodisiac a couple of sips of this love potion and shell be on your lapso i gave some to my dog when he began to beg then he licked his bowl and he looked at me and did the wild thing on my leg he used to scratch and bite me before he was much much meaner but now all the poodles run to my house for the funky cold medinayou know what im sayin i got every dog in my neighborhood breakin down my door i got spuds mckenzie alex from strohs they wont leave my dog alone with that medina pali went up to this girl she said hi my name is sheena i thought shed be good to go with a little funky cold medina she said id like a drink i said ehm ok ill go get it then a couple sips she cold licked her lips and i knew that she was with itso i took her to my crib and everything went well as planned but when she got undressed it was a big old mess sheena was a man so i threw him out i dont fool around with no oscar meyer wiener you must be sure that the girl is pure for the funky cold medinayou know aint no plans with a man this is the 80s and im down with the ladies break it downback in the saddle lookin for a little affection i took a shot as a contestant on the love connection the audience voted and you know they picked a winner i took my date to the hilton for medina and some dinnershe had a few drinks im thinkin soon what ill be gettin instead she started talkin bout plans for our weddin i said wait slow down love not so fast says ill be seein ya thats why i found you dont play around with the funky cold medinaya know what im sayin that medinas a monster yallfunky cold medina ",1
66,"in your room","the bangles",1989," i love it in your room at night youre the only one who gets through to me in the warm glow of the candlelight oh i wonder what youre gonna do to mein your room i come alive when im with you ill do anything you want me to in your roomi love it in your room all day when youre gone i like to try on all your clothes you wont regret it if you let me stay ill teach you everything that a boy should knowin your room im alive when im with you gonna make your dreams come true in your roomi feel good in your room lets lock the world out feels so good when we kiss nobody ever made me crazy like thisi love it in your room at night youre the only one who gets through to me in the warm glow of the candlelight oh i wonder what youre gonna do to mein your room ill do anything you want me to i only want to be with you in your room in your roomi feel good in your room lets lock the world out feels so good when we kiss nobody ever made me crazy like this in your room in your roomin your room in your room in your room in your room in your room in your room ",1
67,"miss you like crazy","natalie cole",1989," even though its been so long my love for you keeps going strong i remember the things that we used to do a kiss in the rain till the sun shined through i tried to deny it but im still in love with youi miss you like crazy i miss you like crazy ever since you went away every hour of every day i miss you like crazy i miss you like crazy no matter what i say or do theres just no getting over youi can see the love shining in your eyes and it comes as such a sweet surprise it seems believing is worth the wait so hold me and tell me its not too late were so good together were starting forever nowand i miss you like crazy i miss you like crazy ever since you went away every hour of every day i miss you like crazy i miss you baby love like ours will never end just touch me and were there againjust one night and well have to find the feelings like we used to do hold on tight and whatever comes our way were gonna make it through it seems to believing is worth the wait so hold me and tell me its not too late were so good together were starting forever nowand i miss you like crazy i miss you like crazy no matter what i say or do theres just no getting over you and i miss you baby i miss you baby all the tender love you gave me when a feeling gets this strong you know the real thing come alongand i miss you i miss you like crazy baby only your sweet love can save me i miss you like crazy a love like ours will never end just touch me and were there again miss you like crazy i miss you like crazy ",1
68,"lovesong","the cure",1989,"whenever im alone with you you make me feel like i am home again whenever im alone with you you make me feel like i am whole again whenever im alone with you you make me feel like i am young again whenever im alone with you you make me feel like i am fun again however far away i will always love you however long i stay i will always love you whatever words i say i will always love you i will always love you whenever im alone with you you make me feel like i am free again whenever im alone with you you make me feel like i am clean again however far away i will always love you however long i stay i will always love you whatever words i say i will always love you i will always love you",3
69,"secret rendezvous","karyn white",1989," happiness is where i i think of you and we will get together and rendezvous ill be on time you bring the wine and we will lock the door oh youll be all minealone in my room thoughts of you in my head as i wait the time is soon youll arrive together then well escape into the night on wings of love and do the things that we once dreamed of all aboard in a surrey a first class ticket to ecstasyit wont stop it dont stop a nonstop secret rendezvous it wont stop it dont stop a nonstop secret rendezvousfrom a penthouse view well make love drink champagne by candle light im so glad im in your arms baby i am yours tonight to be with you is all i need so lock the door and throw away the key no one will disturb this groove we could not stop it if we wanted toit wont stop it dont stop a nonstop secret rendezvous it wont stop it dont stop a nonstop secret rendezvous secret rendezvoushappiness is where i i think of you and we will get together and rendezvous ill be on time you bring the wine and we will lock the door oh youll be all minei want you you want me i wanna lock the door throw away the key in ecstasyit wont stop it dont stop a nonstop secret rendezvous it wont stop it dont stop a nonstop secret rendezvousit wont stop it dont stop a nonstop secret rendezvous a secret rendezvousi wanna ride you through by candle light i wanna hurl you and squeeze you through the night so lock the door throw away the key in ecstasyi cant let no one disturb this groove i couldnt stop it if i wanted to its you for me and me for you in a secret rendezvousit wont stop it dont stop a nonstop secret rendezvous it wont stop it dont stop a nonstop secret rendezvousi wanna ride you through by candle light i wanna hurl you and squeeze you through the night so lock the door throw away the key in ecstasyi cant let no one disturb this groove i couldnt stop it if i wanted to its you for me and me for you in a secret rendezvousit wont stop it dont stop a nonstop secret rendezvous it wont stop it dont stop ",1
70,"angel eyes","the jeff healey band",1989,"girl youre lookin so good tonight and every guy has got you in his sights what youre doin with a clown like me you know ive been called worse its got to be one of lifes little mysteries so tonight ill ask the stars above how did i ever win your love yeah what did i do what did i say to turn your angel eyes my way you know im the guy who never learned to dance never even got one second glance i never saw a second glance way across a crowded room was close enough i could look but i could never touch so tonight ill ask the stars above yeah baby how did i ever win your love what did i do what did i say to turn your angel eyes my way dont anyone wake me if its just a dream cause shes the best thing thats ever happened to me all you fellows you can stare at her all you like but this girl that you see shes leavin here with me tonight theres just one more little thing that i need to know if this is love why does it scare me so well it must be somethin that only you can see cause i can feel it baby when you look at me so tonight ill ask all the stars above how did i ever win your love what did i do what did i say to turn your angel eyes my way turn my way",3
71,"patience","guns n roses",1989," one two one two three fourshed a tear cause im missin you im still alright to smile girl i think about you every day now was a time when i wasnt sure but you set my mind at ease there is no doubt youre in my heart nowsaid woman take it slow and itll work itself out fine all we need is just a little patience said sugar make it slow and well come together fine all we need is just a little patience patience mm yeahi sit here on the stairs cause id rather be alone if i cant have you right now ill wait dear sometimes i get so tense but i cant speed up the time but you know love theres one more thing to considersaid woman take it slow and things will be just fine you and ill just use a little patience said sugar take the time cause the lights are shining bright you and ive got what it takes to make it we wont fake it ill never break it cause i cant take itlittle patience mm yeah mm yeah need a little patience yeah just a little patience yeah some more patience yeah ive been walking the streets at night just trying to get it right a little patience yeah its hard to see with so many around you know i dont like being stuck in the crowd could use some patience yeah and the streets dont change but maybe the names i aint got time for the game cause i need you gotta have more patience yeah yeah yeah but i need you all need some patience ooh i need you whoa i need you just a little patience is all you need ooh this time ah ",1
72,"walk on water","eddie money",1989," well if i could walk on water and if i could find some way to prove if i could walk on water would you believe in me my love is so truenananana nanananana nananana nanananana nana nana nana nananana nananana nananana nanawell im no angel now ill admit i made a few bad moves that i should regret i hurt you once  or so you said just one more chance is all you getdidnt mean to do you wrong again worse things have been done by better men baby baby  dont dont treat me this way i know yes ive got to pay now  im still playingwell if i could walk on water and if i could find some way to prove if i could walk on water would you believe in me my love is truenananananananana ohwell all year long i told you lies to err is human forgive is divine dont be a fool dont settle the score cause i cant take it no more i cant take itwell if i could walk on water and if i could find some way to prove if i could walk on water would you believe in me my love is truewell if i could walk on water if i could is that what im gonna have to do if i could walk on water would you believe in me my love is so truenananana nanananana nananana nanananana nananana nananana nananana nana do i have to walk walk walk on water for youhey baby baby theres a little time lets spend it together well get over what we left behind theres a future together yeah well lets stay togetherooh yeah i keep walking and walking and walking for you  for youwell if i could walk on water and if i could find some way to prove if i could walk on water would you believe in me my love is truenananana nanananana if i were to walk now nananana nanananana if i were to walk walk walk nananana nananana nananana nana do i have to walk on water walk on water for younananana nanananana do i have to walk on water nananana nanananana do i have to find some way to prove nananana nananana nananana nana do i have to walk on water walk on water for younananana nanananana do i have to walk on water nananana nanananana do i have to find some way to prove ",1
73,"cover girl","new kids on the block",1989," i get up in the morning and i see your face girl youre looking so good everythings in place dont you know i could never leave your side girl wont you stay here with me and be my bridedont you know youre my kind youre just what i like girl youre everything dont you know youre alright the only girl ive always needed for so longoh oh oh shes my cover girl oh oh oh oh oh oh oh oh oh oh shes my cover girl oh oh oh oh oh oh ohwhen i look through the pages of a magazine still your pretty face is the prettiest ive seen dont you know i only want to be with you no other girl could make me feel the way you doyoure my everythingoh oh oh shes my cover girl oh oh oh oh oh oh oh oh oh oh shes my cover girl oh oh oh oh oh oh ohoh oh oh shes my cover girl oh oh oh oh oh oh oh oh oh oh shes my cover girl oh oh oh oh oh oh ohbase its alright oh yeah its out of sight let me say its alright ahh yeahdont you know i only want to be with you no other girl could make me feel the way you doyoure my everythingoh oh oh shes my cover girl oh oh oh oh oh oh oh oh oh oh shes my cover girl oh oh oh oh oh oh ohoh oh oh shes my shes my cover girl oh yeah cover girl sweet sexy thing oh yeah cover girl oh oh oh cover girl oh oh oh ",1
74,"welcome to the jungle","guns n roses",1989," welcome to the jungle weve got fun and games we got everything you want honey we know the names we are the people that can find whatever you may need if you got the money honey we got your diseasein the jungle welcome to the jungle watch it bring you to your knnn knne knees knees i want to watch you bleed    meaning  byamandah   editor    welcome to the jungle was named the greatest rock song of all time by vh1 in 2009    see all   welcome to the jungle we take it day by day if you want it youre gonna bleed but its the price to pay and youre a very sexy girl thats very hard to please you can taste the bright lights but you wont get there for free in the jungle welcome to the jungle feel my my my serpentine ooh i want to hear you screamwelcome to the jungle it gets worse here every day ya learn to live like an animal in the jungle where we play if you hunger for what you see youll take it eventually you can have everything you want but you better not take it from mein the jungle welcome to the jungle watch it bring you to your knnn knne knees knees i want to watch you bleedand when youre high you never ever want to come down so down so down so down yeahyou know where you are youre down in the jungle baby youre gonna dieee in the jungle welcome to the jungle watch it bring you to your knees knees in the jungle welcome to the jungle feel my my my serpentine in the jungle welcome to the jungle watch it bring you to your knees knees in the jungle welcome to the jungle watch it bring you to you its gonna bring you down ha ",1
75,"shower me with your love","surface",1989," my heart is filled with so much love and i need someone i can call my own to fall in love thats what everyones dreaming of i hold this feeling oh so stronglife is too short to live alone without someone to call my own i will care for you you will care for me our love will live forevershower me with your love shower me with the love that i long for shower me with your love shower me with the love ive been waiting fori close my eyes and pray all my wishes come true every night i go to sleep until youre mine ill wait for you endlessly cant you seefairy tales they do sometimes come true if you believe it could happen to you like the stars that shine way up in the sky our love will live forevershower me with your love shower me with the love that i long for shower me with your love shower me with the love ive been waiting forlike the stars that shine way up in the sky our love will live forever live forevershower me with your love shower me with the love that i long for shower me with your love shower me with the love ive been waiting forshower me with your love shower me with the love ive been waiting for ",1
76,"stand","rem",1989," stand in the place where you live now face north think about direction wonder why you havent before now stand in the place where you work now face west think about the place where you live wonder why you havent beforeif you are confused check with the sun carry a compass to help you along your feet are going to be on the ground your head is there to move you aroundso stand in the place where you live now face north think about direction wonder why you havent before now stand in the place where you work now face west think about the place where you live wonder why you havent beforeyour feet are going to be on the ground your head is there to move you around if wishes were trees the trees would be falling listen to reason season is callingstand in the place where you live now face north think about direction wonder why you havent before now stand in the place where you work now face west think about the place where you live wonder why you havent beforeif wishes were trees the trees would be falling listen to reason reason is calling your feet are going to be on the ground your head is there to move you aroundso stand stand now face north think about direction wonder why you havent before now stand stand now face west think about the place where you live wonder why you haventstand in the place where you live now face north think about direction wonder why you havent before now stand in the place where you work now face west think about the place where you live wonder why you havent beforestand in the place where you are now face north stand in the place where you are now face west your feet are going to be on the ground stand in the place where you are your head is there to move you around so stand tand in the place where you are ",1
77,"close my eyes forever","lita ford and ozzy osbourne",1989," baby i get so scared inside and i dont really understand is it love thats on my mind or is it fantasyheaven is in the palm of my hand and its waiting here for you what am i supposed to do with a childhood tragedyif i close my eyes forever will it all remain unchanged if i close my eyes forever will it all remain the samesometimes its hard to hold on so hard to hold on to my dreams it isnt always what it seems when youre face to face with meyoure like a dagger and stick me in the heart and taste the blood from my blade and when we sleep would you shelter me in your warm and darkened graveif i close my eyes forever will it all remain unchanged if i close my eyes forever will it all remain the samewill you ever take me no i just cant take the pain would you ever trust me no ill never feel the same ohi know ive been so hard on you i know ive told you lies if i could have just one more wish id wipe the cobwebs from my eyesif i close my eyes forever will it all remain unchanged if i close my eyes forever will it all remain the same oh yeahclose your eyes close your eyes you gotta close your eyes for me ",1
78,"all this time","tiffany",1989," all this time i know someday you would need to find something that you left behind something i can not give you all these tears and like a night love disappears but hearts are good for souvenirs and memories are forever all this time all in all i have no regrets the sun still shines the sun still sets and the heart forgives the heart forgets though what will i do now with all this time one more kiss even though it has come to this i will close my eyes and make a wish hoping you will remember all this time all in all i have no regrets the sun still shines the sun still sets and the heart forgives the heart forgets though what will i do now with all this time say goodbye apart we will make another try but do not be sorry if you cry i will be crying too all this day all this time all in all i have no regrets the sun still shines the sun still sets and the heart forgives the heart forgets though what will i do now with all this time what will i do now with all this time ",1
79,"after all","cher and peter cetera",1989," well here we are again i guess it must be fate weve tried it on our own but deep inside weve known wed be back to set things straight i still remember when your kiss was so brand new every memory repeats every step i take retreats every journey always brings me back to youafter all the stops and starts we keep coming back to these two hearts two angels whove been rescued from the fall after all that weve been through it all comes down to me and you i guess its meant to be forever you and me after allwhen love is truly right it lives from year to year it changes as it goes and on the way it grows but it never disappearsafter all the stops and starts we keep coming back to these two hearts two angels whove been rescued from the fall after all that weve been through it all comes down to me and you i guess its meant to be forever you and me after allalways just beyond my touch you know i needed you so much after all what else is living forafter all the stops and starts we keep coming back to these two hearts two angels whove been rescued from the fall after all that weve been through it all comes down to me and you i guess its meant to be forever you and meafter all the stops and starts we keep coming back to these two hearts two angels whove been rescued from the fall after all that weve been through it all comes down to me and you i guess its meant to be forever you and me after all ",1
80,"roni","bobby brown",1989," the truth about a roni shes a sweet little girl you could treat her right real nice and hold her tight only tender ronis can give a special love a special kind of love that makes you feel good insideif you believe in love and all that it can do for you give it a chance girl youll find romance and if you find a tender roni that is right for you make it official give her your lovemy heart ouh belongs to a roni shes my only love shes my only love my only heart baby my heart yeah belongs to a roni shes my only love shes my only lovethe truth about a roni shes always on the phone talking to her homeboy wishing they were home alone shell send you lovely letters with the smell of sweet perfume this is what a real tender roni likes to do for youand if you believe in love and all that it can do for you give it a chance girl youll find romance and if you find a tender roni that is right for you make it official give her your love ooh yeahmy heart belongs to a roni shes my only love shes my only love my only heart my heart belongs to a roni shes my only love shes my only lovethe truth about roni shes a sweet ol girl about the sweetest little girl in the whole wide world shell make the toughest homeboy fall deep in love said once you had a roni you will never give her upshes a special kind of girl that makes her daddy feel proud you know the kinda girl that stands out in crowds found a tender roni and the roni is so right i think im gonna love her for the rest of my lifeif you believe in love and all that it can do for you and if you find a tender roni that is right for you make it official give her your love ooh yeahmy heart belongs to a roni shes my only love shes my only love my only heart my heart belongs to a roni shes my only love shes my only lovethe truth about roni shes a sweet ol girl about the sweetest little girl in the whole wide world shell make the toughest homeboy fall deep in love said once you had a roni you will never give her upshes a special kind of girl that makes her daddy feel proud you know the kinda girl that stands out in crowds found a tender roni and the roni is so right i think im gonna love her for the rest of my lifemy heart belongs to a roni shes my only love my only heart my heart belongs to a roni shes my only love shes my only lovethe truth about roni shes a sweet ol girl about the sweetest little girl in the whole wide world shell make the toughest homeboy fall deep in love said once you had a roni you will never give her upshes a special kind of girl that makes her daddy feel proud you know the kinda girl that stands out in crowds found a tender roni and the roni is so right i think im gonna love her for the rest of my lifemy heart belongs to a roni shes my only love ",1
81,"love in an elevator","aerosmith",1989," workin like a dog fo de boss man workin for de company im bettin on the dice im tossin im gonna have a fantasy but where am i gonna look they tell me that love is blind i really need a girl like an open book to read between the lineschorus love in an elevator livin it up when im goin down love in an elevator lovin it up till i hit the groundjackis in the elevator lingerie second floor she said can i see you later and love you just a little more i kinda hope we get stuck nobody gets out alive she said ill show ya how to fax in the mail room honey and have you home by fivechorusin the air in the air honey one more time not it aint fair love in an elevator lovin it up when im goin downlove in an elevator goin downchorusgonna be a penthouse pauper gonna be a millionaire im gonna be a real fast talker and have me a love affair gotta get my timin right its a test that i gotta pass ill chase you all the way to the stairway honey kiss your sassafraschorusdo you care do you care honey one more time now it aint fair love in an elevator livin it up when im goin down ",1
82,"lay your hands on me","bon jovi",1989," heythey say that to really free your body youve got to free your mind so come on hey hey hey check this out heylay your hands on me lay your hands on me lay your hands on me lay your hands on me lay your hands on me lay your hands on me come onif youre ready im willing and able help me lay my cards out on the table youre mine and im yours for the taking right now the rules weve made are meant for breakingwhat you get aint always what you see but satisfaction is guaranteed they say what you give is always what you need whoa whoa if you want me to lay my hands on youlay your hands on me lay your hands on me lay your hands on me all you gotta do is lay your hands on me lay your hands on me lay your hands on me now listen upim a fighter im a poet im a preacher ive been to school and baby ive been the teacher if you show me how to get up off the ground i can show you how to fly and never ever come back downeverything you want is what i need your satisfaction is uh guaranteed but the ride dont never ever come for free no oh oh if you want me to lay my hands on youlay your hands on me lay your hands on me lay your hands on me all you gotta do is lay your hands on me lay your hands on me lay your hands on menow now now baby dont you know i only aim to please if you want me to lay my hands on you whoa whoa whoawhat you gotta do is lay your hands on me lay on me lay your hands on me come on come on come on lay your hands on me everybody gonna help me now lay your hands on me i can feel the people sing lay your hands on me i can feel my heart sing lay your hands on me if you wanna lay them on baby come on nowwhoa oh oh oh oh whoa oh oh oh oh lay your hands on me if you want me to whoa oh oh oh oh all you got do whoa oh oh oh oh lay your hands on meremember lay your hands on me well move it on lay your hands on me oh turn around yeah lay your hands on me lay lay your hands on me lay your hands on me lay your hands on me ",1
83,"the promise","when in rome",1989," if you need a friend dont look to a stranger you know in the end ill always be thereand when youre in doubt and when youre in danger take a look all around and ill be thereim sorry but im just thinking of the right words to say i promise you i know they dont sound the way i planned them to be i promise you but if you wait around a while ill make you fall for me i promise you i promise i promise you i willwhen your day is through and so is your temper you know what to do im gonna always be theresometimes if i shout its not whats intended these words just come out with no cross to bearim sorry but im just thinking of the right words to say i promise you i know they dont sound the way i planned them to be i promise you but if you wait around a while ill make you fall for me i promise you i promise i promise youim sorry but im just thinking of the right words to say i promise you i know they dont sound the way i planned them to be i promise you and if i had to walk the world id make you fall for me i promise you i promise you i willgotta tell you need to tell you gotta tell you ive gotta tell youim sorry but im just thinking of the right words to say i promise you i know they dont sound the way i planned them to be i promise you but if you wait around a while ill make you fall for me i promise you i promise i promise youim sorry but im just thinking of the right words to say i promise you i know they dont sound the way i planned them to be i promise you and if i had to walk the world id make you fall for me i promise you i promise you i will i will i will ",1
84,"what i am","edie brickell  new bohemians",1989,"im not aware of too many things i know what i know if you know what i mean im not aware of too many things i know what i know if you know what i mean philosophy is the talk on a cereal box religion is the smile on a dog im not aware of too many things i know what i know if you know what i mean ddoo yeah choke me in the shallow waters before i get too deep what i am is what i am are you what you are or what what i am is what i am are you what you are or oh im not aware of too many things i know what i know if you know what i mean philosophy is a walk on the slippery rocks religion is a light in the fog im not aware of too many things i know what i know if you know what i mean ddoo yeah choke me in the shallow water before i get too deep choke me in the shallow water before i get too deep what i am is what i am are you what you are or what what i am is what i am are you what you are or what what i am is what i am are you what you are or what you are and what i am is what i am are you what you are or what choke me in the shallow water before i get too deep choke me in the shallow water before i get too deep choke me in the shallow water before i get too deep choke me in the shallow water before i get too deep choke me in the shallow water before i get too deep dont let me get too deep dont let me get too deep dont let me get too deep dont let me get too deep what i am is what i am are you what you are or what what i am is what i am are you what you are or what what i am is what i am are you what you are or what you are and what i am is what i am are you what you are or what",3
85,"i remember holding you","boys club",1989,"time will never lose memories we choose choices that weve made for love voices in my head they call me away you were right beside me im in love maybe i should have known it maybe i should have seen but i stayed lost in my dreams now that youre gone chorus i remember holding you feeling felt so right now i find im reaching out in the middle of the night all those things i should have said now my chance is gone all alone im reaching out even though i know its wrong so wrong we will never know what my heart will never show i will keep it all inside somehow when i tried you knew that i lied in my heart i feel untrue maybe i should have known it maybe i should have seen but im still lost in my dreams now that youre gone repeat chorus oh i know i know i know i know its wrong all the times i should have seen everything you meant to me now i only hold you in my dreams repeat chorus i remember holding you i remember holding you i know i know i know i know its wrong i remember holding you i remember holding you i remember holding you feeling felt so right felt so right all those things i should have said oh no no yeah yeah i remember holding you",3
86,"paradise city","guns n roses",1989," take me down to the paradise city where the grass is green and the girls are pretty take me home oh wont you please take me home take me down to the paradise city where the grass is green and the girls are pretty take me home oh wont you please take me homejust a urchin livin under the street im a hard case thats tough to beat im your charity case so buy me something to eat ill pay you at another time take it to the end of the linerags to riches or so they say ya gotta keep pushin for the fortune and fame you know its all a gamble when its just a game ya treat it like a capital crime everybodys doin the time    meaning  byamandah   editor    slashs 2007 autobiography revealed a lot of origin stories about major gnr songsincluding paradise city this was written on their way back to la from    see all   take me down to the paradise city where the grass is green and the girls are pretty oh wont you please take me home take me down to the paradise city where the grass is green and the girls are pretty take me home yeah yeahstrapped in the chair of the citys gas chamber why im here i cant quite remember the surgeon general says its hazardous to breathe id have another cigarette but i cant see tell me who youre gonna believetake me down to the paradise city where the grass is green and the girls are pretty take me home yeah yeah take me down to the paradise city where the grass is green and the girls are pretty oh wont you please take me homeso far away so far away so far away so far awaycaptain americas been torn apart now hes a court jester with a broken heart he said turn me around and take me back to the start i must be losing my mind are you blind ive seen it all a million timestake me down to the paradise city where the grass is green and the girls are pretty take me home yeah yeah take me down to the paradise city where the grass is green and the girls are pretty oh wont you please take me home take me down to the paradise city where the grass is green and the girls are pretty take me home yeah yeah take me down to the paradise city where the grass is green and the girls are pretty oh wont you please take me homei wanna go i wanna go oh wont you please take me home i wanna see how good it can be oh wont you please take me home take me down to the paradise city where the grass is green and the girls are pretty take me home take me down to the paradise city where the grass is green and the girls are pretty oh wont you please take me home take me down lead me round oh wont you please take me homei wanna see what a woman can be i want to take you home take me down to the paradise city where the grass is green and the girls are pretty oh wont you please take me home i wanna go i wanna know oh wont you please take me home ",1
87,"i wanna have some fun","samantha fox",1989," hello its me again dont you know its hard to keep a good woman down but then again maybe that could be fun sasasamantha foxaint it funny how when i say lets go out youre always saying someone else will get me whats a girl to do i like to have fun too but youre so jealous you never let meso how come you can leave but when it comes to me always something i must prove you know i love you always thinking of you but tonight ive got to make that movei wanna have some fun move my body all night long i wanna have some fun move my body all night longworking 9 to 5 each and every day what your momma used to say all work no play i know what to do i think ill call my crew of course i love you but naughty girls need fun toocould it be that i make you feel guilty why is there something i cant see no i just dont buy it so dont even try it ive got to go in the place to bei wanna have some fun move my body all night long working hard every day so i aint staying home no wayi need it i want it got to flaunt itim not a prisoner cant you see unlock the door so i can breathe whenever it comes to you my dear i say stay with me but you still go so now i learn its my turni want you to stay here with me you can have fun with me with you yeah with me come on i can have loads of fun without you without me yeah ",1
88,"she wants to dance with me","rick astley",1989," she wants to dance she wants to dance with me oh yeahtheres a girl ive been waiting to see and i really get the feeling that she likes me cos she said so but not in so many words ive got to tell you what ive heardshe dont want no wild romance when shes with me she only wants to danceshe wants to dance with me cos ill hold her so tight next to me she wants to dance with me cos ill let her be what she wants to benow i know ive been out of touch and i never meant to hurt my baby oh so much cos i love her and i think she love me and thats the way its got to bewhen were together we never fight weve got better things to do tonightshe wants to dance with me cos ill hold her so tight next to me she wants to dance with me cos ill let her be what she wants to beshe wants to dance she wants to danceshe wants to dance with me cos ill hold her so tight next to me she wants to dance with me cos ill let her be what she wants to be  ",1
89,"dreamin","vanessa williams",1989," now im living in the middle of a dream a dream with a little bit of fantasydreamin dreamin dreamin dreaminfor the life of me i never thought that it could be the way it stands right now emotions running high every night i wish that i i would tell you how i feelthose words are here in my heart oh but there is just one missing part how to put it together how to say it right and let you know that every nightill be dreamin dreamin hopin baby you will be there ill be dreamin dreamin hopin baby you will be therelet me take time out to try and find out if this could be real cause reality scares me ive been living a fantasy how should i feelthose words are here in my heart oh but there is just one missing part how to put it together how to say it right and let you know that every nightill be dreamin dreamin hopin baby you will be there ill be dreamin dreamin hopin baby you will be therethose words are here in my heart but there is just one missing part how to put it together how to say it right and let you know that every nightill be dreamin ill be dreamin ill be dreamin ill be dreamin i keep on dreamin bout you every night im dreamin bout you every night make you all minenow im living in the middle of a dream a dream with a little bit of fantasy now im living in the middle of a dream a dream with a little bit of fantasy i wanna dream till i make you minenow im living in the middle of a dream a dream with a little bit of fantasy hopin baby hopin baby you will be there now im living in the middle of a dream a dream with a little bit of fantasy i wanna dream till i make you minenow im living in the middle of a dream a dream with a little bit of fantasy ",1
90,"its no crime","babyface",1989," i never thought that i could feel this way you came around and brought about a change in mei was a typical guy you came along and blew my mind you were runnin fast i was runnin slow everybody said that it would not worklove came and set me free you were standing there to rescue me love caught it we thought why cant we be in love wellwhy its no crime if im guilty of love let me do my time why its no crime everybody needs love and babyyou never thought love came so easily no doubt about it never in your dreams no wayyou were a typical girl you came along and changed my world i walk slow you walk fast everybody said that it could not lastlove came inside of me never knew how good our love could be love caught it we thought why cant we be in lovewhy its no crime if im guilty of love let me do my time well why its no crime everybody needs love and babyive spent half a lifetime waiting for someone you say i know it was you they dont recommend it i dont understand it ive been reprimanded cause im in love with youyou were a typical girl you came along and changed my world i walk slow you walk fast and everybody said that it could not lastlove came inside of me never knew how good our love could be love caught it we thought why cant we be in love oh why whyso do i so do i so do i so do iwhy its no crime if im guilty of love let me do my time why its no crime everybody needs love and baby why ",1
91,"poison","alice cooper",1989," your a cruel device your blood like ice one look could kill my pain your thrilli wanna love you but i better not touch dont touch i wanna hold you but my senses tell me to stop i wanna kiss you but i want it too much too much i wanna taste you but your lips are venomous poison youre poison running through my veins youre poison i dont wanna break these chainsyour mouth so hot your web im caught your skin so wet black lace on sweati hear you calling and its needles and pins and pins i wanna hurt you just to hear you screaming my name dont wanna touch you but youre under my skin deep in i wanna kiss you but your lips are venomous poison youre poison running through my veins youre poison i dont wanna break these chains poisonone look one look could kill could kill my pain your thrilli wanna love you but i better not touch dont touch i wanna hold you but my senses tell me to stop i wanna kiss you but i want it too much too much i wanna taste you but your lips are venomous poison youre poison running through my veins youre poison i dont wanna break these chains poison poisoni wanna love you but i better not touch dont touch i wanna hold you but my senses tell me to stop i wanna kiss you but i want it too much too much i wanna taste you but your lips are venomous poison yeah well i dont wanna break these chains poison poison runnin deep inside my veinsburnin deep inside my brain poison poison i dont wanna break these chains poison poison poison i dont wanna break these chains ",1
92,"this time i know its for real","donna summer",1989," what would i have to do to get you to notice me too do i stand in line one of a million admiring eyeswalk a tightrope way up high write your name across the skyim going crazy just to let you know youd be amazed how much i love you so baby when i get my hands on you i wont let go this time i know its for realshould i write or call your home shout it out with a megaphone radio tv news got to find a way to get the message to youto say i love you with a neon sign anything to make you mineim going crazy just to let you know if i wait too long for you i might explode oh baby ive been around the block enough to know this time i know its for realooo baby this time this time this time this time oh baby this time this time oh babywalk a tightrope way up high write your name across the skyim going crazy just to let you know youd be amazed how much i love you so oh baby when i get my hands on you i wont let go this time i know its for realim going crazy just to let you know if i wait too long for you i might explode oh baby ive been around the block enough to know this time i know its for real ",1
93,"smooth criminal","michael jackson",1989," as he came into the window it was the sound of a crescendo he came into her apartment he left the bloodstains on the carpet she ran underneath the table he could see she was unable so she ran into the bedroom she was struck down it was her doomannie are you ok so annie are you ok are you ok annie annie are you ok so annie are you ok are you ok annie annie are you ok so annie are you ok are you ok annie annie are you ok so annie are you ok are you ok annieannie are you ok will you tell us that youre ok theres a sign in the window that he struck you  a crescendo annie he came into your apartment he left the bloodstains on the carpet then you ran into the bedroom you were struck down it was your doomannie are you ok so annie are you ok are you ok annie annie are you ok so annie are you ok are you ok annie annie are you ok so annie are you ok are you ok annie youve been hit by youve been hit by a smooth criminalso they came into the outway it was sunday  what a black day mouth to mouth resuscitation sounding heartbeats  intimidationannie are you ok so annie are you ok are you ok annie annie are you ok so annie are you ok are you ok annie annie are you ok so annie are you ok are you ok annie annie are you ok so annie are you ok are you ok annieannie are you ok will you tell us that youre ok theres a sign in the window that he struck you  a crescendo annie he came into your apartment left the bloodstains on the carpet then you ran into the bedroom you were struck down it was your doomannie are you ok so annie are you ok are you ok annie youve been hit by youve been struck by a smooth criminalokay i want everybody to clear the area right nowaaow annie are you ok i dont know will you tell us that youre ok i dont know theres a sign in the window i dont know that he struck you  a crescendo annie i dont know he came into your apartment i dont know left the bloodstains on the carpet i dont know why baby then you ran into the bedroom i dont know you were struck down it was your doom  annieannie are you ok dag gone it  baby will you tell us that youre ok dag gone it  baby theres a sign in the window dag gone it  baby that he struck you  a crescendo annie hoo hoo he came into your apartment dag gone it left the bloodstains on the carpet hoo hoo hoo then you ran into the bedroom dag gone ityou were struck down it was your doom  annie aaow ",1
94,"heaven help me","deon estus",1989,"if you want it you can have it thats what you said but i dont want the things that you leave behind take the pictures take the windows and the walls but baby wont you leave me my peace of mind oh such a waste of time oh such a waste i still want you baby heaven help me heaven help me talk to strangers talk to strangers heaven help me over you help me over you i cant seem to take these changes everything reminds my heart of you thought the first time was the last time of being apart now i find im having to search again itll happen its gotta happen come together i just wish somebody would tell me when oh such a waste of time oh such a waste i still want you baby heaven help heaven help heaven heaven heaven help me heaven help heaven help heaven heaven heaven help me youre someone elses lady so sad without you darlin the gods of love cant help me now heaven help heaven help heaven heaven heaven help me",3
95,"rock witcha","bobby brown",1989," now that you are here with me baby lets do it right lady you know just what i need i want to hold you oh so tight baby just touch me anywhere cutie you turn me on ooh baby i like to run my fingers through your hair so come on and stay with me all nighti wanna rock witcha baby all night long i wanna roll witcha lady feelin so strong i wanna rock witcha baby all night long rockin rollin rollin rock makin sweet lovin dont you ever stophow bout a little music now lets hear some marvin gaye ooh let me rub your shoulders down lets dance the night away feel your heart beating next to mine baby ill make you feel nice i think i can tell whats on your mind i know i can make it righti wanna rock witcha baby girl all night long i wanna roll witcha lady feelin so strong i wanna rock witcha baby all night long rockin rollin rollin rock makin sweet lovin dont you ever stopi wanna rock witcha baby all night long i wanna roll witcha lady feelin so strong i wanna rock witcha baby all night long rockin rollin rollin rock makin sweet lovin dont you ever stopi wanna rock witcha baby girl all night long i wanna roll witcha lady feelin so feelin so strong i wanna rock witcha baby all night long rockin rollin rollin rock makin sweet lovin dont you ever stopi wanna rock witcha baby all night long i wanna roll witcha lady feelin so feelin so strong i wanna rock witcha baby all night long ",1
96,"thinking of you","safire",1989," as i sit looking out the window i can still remember they call me to tell me you went away it was such a cold dayon a sunday morning it came without a warning and all the pain i felt inside i just cant forget youim feeling so alone though many times ive tried i cant get you off my mind im thinking of you wonder where you are tonight i wish that i could hold you tightim thinking of you wish you could stay but youre so far away so far awayand even though youre gone i know youre happy where you are i know someday will be together together againon a sunday morning it came without a warning and all the pain i felt inside i just cant forget youim feeling so alone though many times ive tried i cant get you off my mindim thinking of you wonder where you are tonight i wish that i could hold you tight im thinking of you wish you could stay but youre so far away so far awayi know someday ill hold you again you and me together again but until that day im thinking of youim thinking of you i wonder where you are tonight i wish i could hold you tight im thinking of youi wish could you could stay but youre so far away im thinking of you im thinking of you i wonder where you are tonight i wish i could hold you tight im thinking of youi wish could you could stay but youre so far away im thinking of you ",1
97,"what you dont know","expose",1989," no is not an answer one that i might try to understand you see love is only letters until you prove your love is here inside for me can you feel it feel it or cant you see cant you see ill never love someone as much i know when you see me see me its what youll get what youll get until i know its real it wont change how i feelwhat you dont know might hurt you what you dont know if you dont know it wont hurt you what you dont knowyou you play with fire i know one day youre gonna be the one to burn love is like a game what goes around comes around you wait your turn its a feeling feeling to change with time change with time well always be together wait and see if you know me know me thats what youll get what youll get until i know its real it wont change how i feelwhat you dont know might hurt you what you dont know if you dont know it wont hurt you what you dont knowwhat you dont know might hurt you what you dont know if you dont know it wont hurt you what you dont knowwhat you dont know no never know what you dont know no never know what you dont know no never know what you dont know no never knowwhat you dont know might hurt you what you dont know if you dont know it wont hurt you what you dont knowwhat you dont know might hurt you what you dont know if you dont know it wont hurt you what you dont knowwhat you dont know so baby what you dont know wont hurt you now i dont wanna hurt you baby no i dont wanna hurt you baby no i dont wanna hurt you baby no no no and if you dont know you wont let go what you dont knowna na na na whoa whoa na na na na na na na na na na na whoa whoa na na na na na na na ",1
98,"surrender to me","ann wilson and robin zander",1989,"is it that weve been together much too long the answer may not be in black and white were always trying to prove whos right or wrong yet now were giving up without a fight but i know when youre gone ill wish i held on so baby surrender to me therell be no holding back now so baby surrender to me tonight i dont want our love to cause you so much pain if this is how its going to be ill walk away oh neither one of us should ever say goodbye lets forget about the past and whos to blame cause when this is all gone well wish wed held on so baby surrender to me therell be no holding back now so baby surrender to me tonight how could this love be in danger that used to be so good so right to think that fate could make us strangers has thrown me in your arms tonight so baby surrender to me therell be no holding back now so baby surrender to me tonight so baby surrender",3
99,"the end of the innocence","don henley",1989,"remember when the days were long and rolled beneath a deep blue sky didnt have a care in the world with mommy and daddy standing by when happily ever after fails and weve been poisoned by these fairy tales the lawyers dwell on small details since daddy had to fly aah but i know a place where we can go thats still untouched by men well sit and watch the clouds roll by and the tall grass waves in the wind and you can lay your head back on the ground and let your hair fall all around me offer up your best defense but this is the end this is the end of the innocence oh beautiful for spacious skies but now those skies are threatening theyre beating plowshares into swords for this tired old man that we elected king armchair warriors often fail and weve been poisoned by these fairy tales the lawyers clean up all details since daddy had to lie aah but i know a place where we can go and wash away this sin well sit and watch the clouds roll by and the tall grass waves in the wind just lay your head back on the ground and let your hair spill all around me offer up your best defense but this is the end this is the end of the innocence who knows how long this will last now weve come so far so fast but somewhere back there in the dust that same small town in each of us i need to remember this so baby give me just one kiss and let me take a long last look before we say goodbye just lay your head back on the ground and let your hair fall all around me offer up your best defense this is the end this is the end of the innocence",3
100,"keep on movin","soul ii soul",1989," keep on movin dont stop like the hands of time click clock find your own way to stay the time will come one daywhy do people choose to live their lives this waykeep on movin dont stop no keep on movinkeep on movin keep on movin dont stop no keep on movinits our time time today the right time is here to stay stay in my life my life always yellow is the color of sun raysi hide myself from no one i know the time will surely come when youll be in my life my life always yellow is the color of sun rayskeep on movin keep on movin dont stop no keep on movinkeep on movin the time will come one daykeep on movin dont stop no keep on movinkeep on movin keep on movin dont stop no keep on movini know the time time today walking alone in my own way extremely cold and rainy day friends and i have fun along the way yes we doi hide myself from no one i know the time will really come when youll be in my life my life always yellow is the color of sun rayskeep on movin keep on movin dont stop no keep on movinkeep on movin the time will come one daykeep on movin keep on movin dont stop no keep on movinkeep on movin the time will come one daykeep on movin dont stop like the hands of time click clock find your own way to stay the time will come one daywhy do people choose to live their lives this way oh why do they choose to live this waykeep on movin dont stop no keep on movinkeep on movin keep on movin dont stop no keep on movinkeep on movin keep on movin dont stop no keep on movinkeep on movin the time will come one daykeep on movin keep on movin dont stop no keep on movinkeep on movin the time will come one daykeep on movin keep on movin dont stop no keep on movinkeep on movin the time will come one day ",1
1,"hold on","wilson phillips",1990," i know theres pain why do lock yourself up in these chains no one can change your life except for you dont ever let anyone step all over you just open your heart and your mind is it really fair to feel this way insidesome day somebodys gonna make you want to turn around and say goodbye until then baby are you going to let them hold you down and make you cry dont you know dont you know things can change thingsll go your way if you hold on for one more day can you hold on for one more day thingsll go your way hold on for one more dayyou could sustain or are you comfortable with the pain youve got no one to blame for your unhappiness you got yourself into your own mess lettin your worries pass you by dont you think its worth your time to change your mindsome day somebodys gonna make you want to turn around and say goodbye until then baby are you going to let them hold you down and make you cry dont you know dont you know things can change thingsll go your way if you hold on for one more day can you hold on for one more day thingsll go your way hold on for one more dayi know that there is pain but you hold on for one more day and break free the chains yeah i know that there is pain but you hold on for one more day and you break free break from the chainssome day somebodys gonna make you want to turn around and say goodbye until then baby are you going to let them hold you down and make you cry dont you know dont you know things can change thingsll go your way if you hold on for one more day yeah if you hold ondont you know things can change thingsll go your way if you hold on for one more day if you hold on can you hold on hold on baby wont you tell me now hold on for one more day cause its gonna go your waydont you know things can change thingsll go your way if you hold on for one more day cant you change it this timemake up your mind hold on hold on baby hold on ",1
2,"it must have been love","roxette",1990," must have been love but its over nowlay a whisper on my pillow leave the winter on the ground i wake up lonely theres air of silence in the bedroom and all around all around touch me now i close my eyes and dream awayit must have been love but its over now it must have been good but i lost it somehow it must have been love but its over now from the moment we touched til the time had run outmakebelieving were together that im sheltered by your heart but in and outside ive turned to water like a teardrop in your palm and its a hard winters day i dream awayit must have been love must have been love but its over now but its over now it was all that i wanted now im living without it must have been love must have been love but its over now its where the water flows its where the wind blowsit must have been love must have been love but its over now but its over now it must have been good but i lost it somehow it must have been love must have been love but its over now but its over now from the moment we touched til the time had run outyeah it must have been love it must have been love but its over now but its over now it was all that i wanted now im living without it must have been love but its over now its where the water flows its where the wind blowsoh it must have been love but its over now but its over now but its over now now im all alone it must have been love it must have been love but its over now but its over now now im all alone ",1
3,"nothing compares 2 u","sinead oconnor",1990,"oconnor sinead i still do not want what i havent got nothing compares 2 u its been seven hours and fifteen days since u took your love away i go out every night and sleep all day since u took your love away since u been gone i can do whatever i want i can see whomever i choose i can eat my dinner in a fancy restaurant but nothing i said nothing can take away these blues cos nothing compares nothing compares 2 u its been so lonely without u here like a bird without a song nothing can stop these lonely tears from falling tell me baby were did i go wrong i could put my arms around every boy i see but theyd only remind me of you i went to the doctor guess what he told me guess what he told me he said girl u better have fun no matter what u do but hes a fool cos nothing compares nothing compares 2 u all the flowers that u planted mama in the back yard all died when u went away i know that living with u baby was sometimes hard but im willing to give it another try cos nothing compares nothing compares 2 u",3
4,"poison","bell biv devoe",1990," girl i must warn you i sense something strange in my mind situation is serious lets cure it cause were running out of time mm mm tell em rick its all so beautifulrelationships they seem from the start yeah mm mm its all so deadly when love is not together from the heart mm mm check it outits driving me out of my mind thats why its hard for me to find cant get it outta my head miss her kiss her love her wrong move youre deadthat girl is poison never trust a big butt and smile that girl is poison poisonif i were you id take precaution before i start to leave fly girl you know cause in some portions youll think shes the best thing in the worldshes so fly shell drive you right out of your mind steal your heart when youre blind beware shes schemin shell make you think youre dreamin youll fall in love and youll be screamin dreaminpoison deadly moving it slow looking for a mellow fellow like devoe getting paid laid so better lay low schemin on hots my end the pro showthe low pro hot should be cut like an afro see what youre sayin huh shes weighin but i know shes a loser how do you know me and the crew used to do herpoisoni was at the bar shake shakin takin em off and that night i played the wall checkin out the fellas the highs the lows keepin one eye open still clockin em still one particular girl that stood out from the rest poison as can be how how is she michael me and see and im runnin the show bell biv devoe haha haha now you know youre slick blowits driving me out of my mind thats why its hard for me to find cant get it outta my head miss her kiss her love her wrong move youre deadthat girl is poison poison poison never trust a big butt and smile poison poison poison shes dangerouspoison oh yeah poison oh yeah poison poison ",1
5,"vogue","madonna",1990," strike a pose strike a pose vogue vogue vogue vogue vogue voguelook around everywhere you turn is heartache its everywhere that you go look around you try everything you can to escape the pain of life that you know life that you know when all else fails and you long to be something better than you are today i know a place where you can get away its called a dance floor and heres what its for socome on vogue let your body move to the music move to the music hey hey hey come on vogue let your body go with the flow go with the flow you know you can do itall you need is your own imagination so use it thats what its for thats what its for go inside for your finest inspiration your dreams will open the door open up the door it makes no difference if youre black or white if youre a boy or a girl if the musics pumping it will give you new life youre a superstar yes thats what you are you know itcome on vogue let your body move to the music move to the music hey hey hey come on vogue let your body go with the flow go with the flow you know you can do itbeautys where you find it not just where you bump and grind it soul is in the music oh thats where i feel so beautiful magical lifes a ball so get up on the dance floorcome on vogue let your body move to the music move to the music hey hey hey come on vogue let your body go with the flow go with the flow you know you can do itvogue vogue beautys where you find it move to the music vogue vogue beautys where you find it go with the flowgreta garbo and monroe dietrich and dimaggio marlon brando jimmy dean on the cover of a magazine grace kelly harlow jean picture of a beauty queen gene kelly fred astaire ginger rodgers dance on air they had style they had grace rita hayworth gave good face lauren katherine lana too bette davis we love you ladies with an attitude fellows that were in the mood dont just stand there lets get to it strike a pose theres nothing to itvogue vogue vogue vogueoooh youve got to let your body move to the music oooh youve got to just let your body go with the flow oooh youve got tovogue ",1
6,"vision of love","mariah carey",1990," treated me kind sweet destiny carried me through desperation to the one that was waiting for me it took so long still i believed somehow the one that i needed would find me eventuallyi had a vision of love and it was all that youve given to meprayed through the nights felt so alone suffered through alienation carried the weight on my own had to be strong so i believed and now i know ive succeeded in finding the place i conceivedi had a vision of love and it was all that youve given to me i had a vision of love and it was all that youve given meive realized a dream and i visualized the love that came to be feel so alive im so thankful that ive received the answer that heaven has sent down to meyou treated me kind sweet destiny and ill be eternally grateful holding you so close to me prayed through the nights so faithfully knowing the one that i needed would find me eventuallyi had a vision of love and it was all that youve given to me i had a vision of love and it was all that you turned out to be ",1
7,"another day in paradise","phil collins",1990," she calls out to the man on the street sir can you help me its cold and ive nowhere to sleep is there somewhere you can tell mehe walks on doesnt look back he pretends he cant hear her starts to whistle as he crosses the street seems embarrassed to be thereoh think twice its another day for you and me in paradise oh think twice cause its just another day for you you and me in paradise think about itshe calls out to the man on the street he can see shes been crying shes got blisters on the soles of her feet she cant walk but shes tryingoh think twice cause its another day for you and me in paradise oh think twice its just another day for you you and me in paradise think about itoh lord is there nothing more anybody can do oh lord there must be something you can sayyou can tell from the lines on her face you can see that shes been there probably been moved on from every place cause she didnt fit in thereoh think twice cause another day for you and me in paradise oh think twice its just another day for you you and me in paradise just think about it think about itits just another day for you and me in paradise its just another day for you and me in paradise paradise its just another day for you and me in paradise its just another day for you and me in paradise paradise its just another day for you and me its just another day for you and me its just another day for you and me in paradise in paradise ",1
8,"hold on","en vogue",1990," when i had you i treated you bad wrong my dear but since since you went dont you know i sit around with my head hanging down and i wonder whos loving youooh my first mistake was i wanted too much time i had to have him morning noon and night if i would of known then the things that i know now i might not have lost the time i complain aboutdont waste your time fighting blind minded thoughts of despairhold on to your love hold on to your love hold on to your love hold on to your lovethe art of playing games now is not the hearts you break its bound to good love you make when its hearts on fire give him love everyday remember he needs space be patient and hell give his heart to youdont waste your time fighting blind minded thoughts of despairhold on to your love hold on to your love hold on to your love hold on to your lovetrust and honesty too must be the golden rule youll feel the strength of passion in your soul burn so deeply within ooh the magic that you share so sacrifice and show how much you caredont waste your time fighting blind minded thoughts of despairhold on to your love hold on to your love hold on to your lovehold on hold on hold on  ",1
9,"cradle of love","billy idol",1990," well rock the cradle of love rock the cradle of love yes the cradle of love dont rock easily its truewell rock the cradle of love i rocked the cradle of love yes the cradle of love dont rock easily its true well nowit burned like a ball of fire when the rebel took a little child bride to tease yeah so go easy yeahcause love cuts a million ways shakes the devil when he misbehaves i aint nobodys fool come on shake it up whatever i dorock the cradle of love rock the cradle of love yes the cradle of love dont rock easily its true sent from heaven above thats right to rob the cradle of love yes the pages of love dont talk decently its trueyeah flesh for your romeo ah yeah baby i hear you moan its easy i know how to please me yeahthis love starts my rollin train you cant stop it it aint in vain i aint nobodys fool come on shake it up whatever you dothese are the wages of love i know rock the cradle of love these are the wages of love oh yeah rock the cradle yeah yeah yeah yeah yeah yeahwell it burned like a ball of fire when the rebel took a little child bride to tease yeah i know how to please you yeahwell my love starts a rollin train you cant stop it it aint in vain i aint nobodys foolcome on shake it up whatever i dorock the cradle of love rock the cradle of love sent from heaven above thats right to rock the cradle of love rock the cradle of love yeah cradle of love thats me mama i robbed the devil of love all right cradle of love if you tease me tonight if you sleaze me all right if you appease me tonight and let me ease you cradle of love all right yeah owww ",1
10,"blaze of glory","jon bon jovi",1990," i wake up in the morning and i raise my weary head ive got an old coat for a pillow and the earth was last nights bed i dont know where im going only god knows where ive been im a devil on the run a six gun lover a candle in the windwhen youre brought into this world they say youre born in sin well at least they gave me something i didnt have to steal or have to win well they tell me that im wanted yeah im a wanted man im a colt in your stable im what cain was to abel mister catch me if you canim going out in a blaze of glory take me now but know the truth im going out in a blaze of glory lord i never drew first but i drew first blood im no ones son call me young gunyou ask about my conscience and i offer you my soul you ask if ill grow to be a wise man well i ask if ill grow old you ask me if ive known love and what its like to sing songs in the rain well ive seen love come and ive seen it shot down ive seen it die in vainshot down in a blaze of glory take me now but know the truth cause im going down in a blaze of glory lord i never drew first but i drew first blood im the devils son call me young gunsoloeach night i go to bed i pray the lord my soul to keep no i aint looking for forgiveness but before im six foot deep lord i got to ask a favor and hope youll understand cause ive lived life to the fullest let this boy die like a man staring down a bullet let me make my final standshot down in a blaze of glory take me now but know the truth im going out in a blaze of glory lord i never drew first but i drew first blood and im no ones son call me young gun im a young gun ",1
11,"do me","bell biv devoe",1990," do me baby do do do do me baby do me baby do me babytake a look at me tell me do you like what you see do you think you can do you think you can do mekiss me pretty baby touch me all over girl what makes you think you can do with medo you think you think you can do do do do do medo me baby do me baby do me baby do me babygirl let your hair down take off your clothes and leave on your shoes would you mind if i looked at you for a moment before i make sweet lovebackstage under age adolescent how ya doin fine she replied i sighed i like to do the wild thingaction took place kinda wet dont forget the j the i the m the m the y yall i need a body bagdo me baby do me baby do me baby do me babyyou can do me in the morning you can do me in the nightyou can do me in the morning you can do me in the nightdo me babythe time was 6 oclock on the swatch watch no time to chill got a date cant be latethe girl is gonna do me move to the jacuzzi that booty smack it up flip it rub it down oh nodo me baby do me baby do me baby do me babydo me baby do me baby do me baby do me babyyou can do me in the morning you can do me in the night you can do me when you wanna do meyou can do me in the morning you can do me in the night you can do me when you wanna do medo me baby do me baby do me baby do me baby do me baby do me babyyou can do me in the morning you can do me in the night you can do me when you wanna do meyou can do me in the morning you can do me in the night you can do me when you wanna do medo me baby do me babyyou can do me in the morning you can do me in the night you can do me when you wanna do me ",1
12,"how am i supposed to live without you","michael bolton",1990," i could hardly believe it when i heard the news today i had to come and get it straight from youthey said you were leavin someones swept your heart away from the look upon your face i see its trueso tell me all about it tell me bout the plans youre makin tell me one thing more before i gotell me how am i suppose to live without you now that ive been lovin you so long how am i suppose to live without you and how am i suppose to carry on when all that ive been livin for is gonei didnt come here for cryin didnt come here to break down its just a dream of mine is coming to an endand how can i blame you when i build my world around the hope that one day wed be so much more than friendsand i dont wanna know the price im gonna pay for dreaming even now its more than i can taketell me how am i suppose to live without you now that ive been lovin you so long how am i suppose to live without you and how am i suppose to carry on when all that ive been livin for is goneand i dont wanna face the price im gonna pay for dreaming now that your dream has come truetell me how am i suppose to live without you now that ive been lovin you so long how am i suppose to live without you and how am i suppose to carry on when all that ive been livin for is gone ",1
13,"pump up the jam","technotronic featuring felly",1990," pump up the jam pump it up while you feet are stompin and the jam is pumpin look at here the crowd is jumpin pump it up a little more get the party going on the dance floor seek us thats where the partys at and youll find out if youre too badi dont want a place to stay get your booty on the floor tonight make my day i dont want a place to stay get your booty on the floor tonight make my daymake my day make my day make my day make my daypump up the jam pump it up while you feet are stompin and the jam is pumpin look at here the crowd is jumpin pump it up a little more get the party going on the dance floor seek us thats where the partys at and youll find out if youre too badi dont want a place to stay get your booty on the floor tonight make my day i dont want a place to stay get your booty on the floor tonight make my daymake my day make my make my make make my day make my day make my day make my make my make make my daypump up the jam pump it up a pump it up yo pump it pump up the jam pump it up a pump it up yo pump it pump up the jam pump it pump it up yo pump it pump up the jam pump it pump it pump it pump itpump up the jam pump up the jam pump up the jam pump it up pump it pump it pump it pump up the jam pump up the jam pump up the jam pump it pump it pump it pump itpump up the jam pump it up while you feet are stompin and the jam is pumpin look at here the crowd is jumpin pump it up a little more get the party going on the dance floor seek us thats where the partys at and youll find out if youre too badi dont want a place to stay get your booty on the floor tonight make my day i dont want a place to stay get your booty on the floor tonight make my daypump up the jam pump it up a pump it up yo pump it pump up the jam pump it up a pump it up yo pump it pump up the jam pump it pump it up yo pump it pump up the jam pump it pump it pump it pump itpump up the jam pump it up a pump it up yo pump it pump up the jam pump it up a pump it up yo pump it pump up the jam pump it pump it up yo pump it pump up the jam pump it pump it pump it pump it up pump it upmake my day make my day make my make my make make my day make my day make my day make my make my make make my day yoi dont want a place to stay get your booty on the floor tonight make my day i dont want a place to stay get your booty on the floor tonight make my dayi dont want a place to stay get your booty on the floor tonight make my day i dont want a place to stay get your booty on the floor tonight make my day ",1
14,"opposites attract","paula abdul and the wild pair",1990," im mc kat on the rap so mic it heres a little story and youre sure to like it swift and sly and im playing it cool with my home girl paula abdulbaby seems we never ever agree you like the movies and i like tv i take things serious and you take em light i go to bed early and i party all nightour friends are sayin we aint gonna last cuz i move slowly and baby im fast i like it quiet and i love to shout but when we get together it just all works outi take two steps forward i take two steps back we come together cuz opposites attract and you know it aint fiction just a natural fact we come together cuz opposites attractwhod a thought we could be lovers she makes the bed and he steals the covers she likes it neat and he makes a mess i take it easy baby i get obsessedshes got the money and hes always broke i dont like cigarettes i like to smoke things in common there just aint a one but when we get together we have nothin but funi take two steps forward two steps back we come together cuz opposites attract and you know it aint fiction just a natural fact we come together cuz opposites attract you know it baby babynothing in common but this trust im like a minus shes like a plus one going up one coming down but we seem to land on common ground when things go wrong we make corrections to keep things moving in the right direction try to fight it but im telling you jack its useless opposites attractbaby aint it somethin how we lasted this long you and me provin everyone wrong dont think well ever get our differences patched dont really matter cuz were perfectly matchedi take two steps forward i take two steps back we come together cuz opposites attract and you know it aint fiction just a natural fact we come together cuz opposites attracttwo steps forward two steps back we come together cuz opposites attract and you know it aint fiction just a natural fact we come together cuz opposites attracttwo steps forward two steps back we come together cuz opposites attract it aint fiction you know its a fact we come together cuz opposites attracttwo steps forward two steps back two steps back cuz opposites attract we come together we go together opposites i said opposites attract ",1
15,"escapade","janet jackson",1990," as i was walkin by saw you standin there with a smile lookin shy you caught my eye thought youd want to hang for a while well id like to be with you and you know its friday too i hope you can find the time this weekend to relax and unwindmy minds tired ive worked so hard all week cashed my check im ready to go i promise you ill show you such a good timecome on baby lets get away lets save our troubles for another day come go with me weve got it made let me take you on an escapade lets goescapade well have a good time escapade leave your worries behind escapade well you could be mine escapade an escapadeso dont hold back just have a good time yeah yeah well make the rules up as we go along and break them all if were not havin funcome on baby lets get away lets save our troubles for another day come go with me weve got it made let me take you on an escapadecome on baby lets get away lets save our troubles for another day come go with me weve got it made let me take you on an escapade lets goescapade well have a good time escapade leave your worries behind escapade well you could be mine escapade an escapademy minds tired ive worked worked so hard all week i just got paid weve got it made ready to go i promise you ill show you such a good timecome on baby lets get away lets save our troubles for another day come go with me weve got it made let me take you on an escapadecome on baby lets get away lets save our troubles for another day come go with me weve got it made let me take you on an escapade lets gocome on baby lets get away lets save our troubles for another day come go with me weve got it made let me take you on an escapade ",1
16,"all i wanna do is make love to you","heart",1990," it was a rainy night when he came into sight standing by the road no umbrella no coat so i pulled up along side and i offered him a ride he accepted with a smile so we drove for a whilei didnt ask him his name this lonely boy in the rain fate tell me its right is this love at first sight please dont make it wrong just stay for the nightall i want to do is make love to you say you will you want me to all i want to do is make love to you and those loving arms to hold on toso we found this hotel it was a place i knew well we made magic that night he did everything righthe brought the woman out of me too many times easily and in the mornin when we woke all id left him was a notei told him i am the flower you are the seed we walked in the garden we planted a tree dont try to find me please dont you dare just live in my memory youll always be thereall i want to do is make love to you one night of love was all we knew all i want to do is make love to you ive got lovin arms to hold on to ohyeah we made love love like strangers ill never know we made lovethen it happened one day we came round the same way you can imagine his surprise when he saw his own eyesi said please please understand im in love with another man and what he couldnt give me oh no was the one little thing that you canall i want to do is make love to you one night of love was all we knew all i want to do is make love to you cmon say you will youll hold me tooall i want to do is make love to you one night of love was all we knew all i want to do is make love to you say you will baby youll hold me tooall night long all night long all night longall i wanna do is all i wanna do all i wanna do all i wanna doall i wanna do is make love to you one night of love was all we knew all i wanna do is make love to you fades out ",1
17,"close to you","maxi priest",1990," she was a jezebel this brixton queen livin her life like a bad sweet dream tellin me lies when the truth was clear i think she knew what i wanted to hearspinnin around like a wheel on fire walkin the tightrope on loves highwire a fatal attraction is where im at theres no escapin mei just wanna be close to you and do all the things you want me to i just wanna be close to you and show you the way i feeli feel love when im lying in the midnight hour holding you just like a dream love is never what it seemswhen we touch and youre holdin me the way you do girl you make my dreams come true you make my dreams come truei just wanna be close to you and do all the things you want me to i just wanna be close to you and show you the way i feelshe was a gemini on the cusp of mars she holds me back but she goes too far windin me up just to let me down so emotional gagged and boundtheres more to this than meets the eye a devil woman locked inside with the formal risin i was scared i think i was possessedi just wanna be close to you and do all the things you want me to i just wanna be close to you and show you the way i feeli feel love everytime your bodys next to mine somethin deep inside of me wants to love you endlesslywhen we touch girl you dont know how it makes me feel i just cant believe its real i cant believe its reali just wanna be close to you and do all the things you want me to i just wanna be close to you and show you the way i feelshe had an attitude i cant explain you never know if youre in flame tying me up with elastic words im on a countdown till i get hurther blood was hot she burned so bright a neon sign there in the night its hard to say if i went too far my heart still bears a scari just wanna be close to you i just wanna be close to you i just wanna be close to youshe was a jezebel this brixton queen livin her life like a bad sweet dream tellin me lies when the truth was clear i think she knew what i wanted to hearspinnin around like a wheel on fire walkin the tightrope on loves highwire a fatal attraction is where im at theres no escapin mei wanna be close to you and do all the things you want me to i just wanna be close to you and show you the way i feeli just wanna be close to you and do all the things you want me to i just wanna be close to you and show you the way i feel ",1
18,"black velvet","alannah myles",1990," mississippi in the middle of a dry spell jimmy rogers on the victrola up high mamas dancin with baby on her shoulder the sun is settin like molasses in the sky the boy could sing knew how to move everything always wanting more hed leave you longing forblack velvet and that little boys smile black velvet with that slow southern style a new religion thatll bring ya to your knees black velvet if you pleaseup in memphis the musics like a heatwave white lightening bound to drive you wild mamas babys in the heart of every school girl love me tender leaves em cryin in the aisle the way he moved it was a sin so sweet and true always wanting more hed leave you longing forblack velvet and that little boys smile black velvet with that slow southern style a new religion thatll bring ya to your knees black velvet if you pleaseevery word of every song that he sang was for you in a flash he was gone it happened so soon what could you doblack velvet and that little boys smile black velvet with that slow southern style a new religion thatll bring ya to your knees black velvet if you pleaseblack velvet and that little boys smile black velvet with that slow southern style a new religion thatll bring ya to your knees black velvet if you please if you please if you please if you please ",1
19,"release me","wilson phillips",1990," i know that its time for a change mmm but when that change comes will it still feel the samehow many times have i tried to turn this love around i dont wanna give up but baby its time i had two feet on the ground can you release me can you release menow that youre gone i cant help myself from wondering ohh if youd have come down from your high would weve been all right release me can you release mecome on baby come on baby you knew it was time to just let go cause we wanna be free but somehow its just not that easycome on darlin hear me darlin cause youre a waste of time for me im trying to make you see that baby youve just got to release merelease me release meim not going back to you anymore finally my weakened heart is healing though very slow so stop coming around my door cause youre not gonna find what youre looking forohh come on baby come on baby you knew it was time to just let go cause we wanna be free somehow its just not that easyoh oh oh baby come on darlin now hear me darlin cause youre a waste of time for me im trying to make you see that baby youve just got to release menow tell me what is this power youve got on me what is this power ohhcome on baby come on baby you knew it was time to just let go cause we wanna be free but somehow its just not that easyoh oh oh oh baby come on darlin now hear me darlin cause youre a waste of time for me im trying to make you see that baby youve just got to release merelease me release me release me will you release me ahh release me release me will you release me ",1
20,"dont know much","linda ronstadt and aaron neville",1990," look at this face i know the years are showing look at this life i still dont know where its goingchorus i dont know much but i know i love you and that may be all i need to knowlook at these eyes they never see what matters look at these dreams so beat and so batteredchorus i dont know much but i know i love you that may be all i need to knowso many questions still left unanswered so much ive never broken through and when i feel you near me sometimes i see so clearly the only truth ill ever know is me and youlook at this man so blessed with inspiration look at this soul still searching for salvationchorus i dont know much but i know i love you and that may be all i need to knowinstrumentalchorus i dont know much but i know i love you that may be all i need to knowchorus i dont know much but i know i love you that may be all there is to know ",1
21,"all around the world","lisa stansfield",1990," i dont know where my baby is but ill find him somewhere somehow ive got to let him know how much i care ill never give up looking for my babybeen around the world and i i i i cant find my baby i dont know when i dont know why why hes gone away and i dont know where he can be my baby but im gonna find himwe had a quarrel and i let myself go i said so many things things he didnt know and i was oh oh so bad and i dont think hes comin back mm mmhe gave the reason the reasons he should go and he said so many things he never said before and he was oh oh so mad and i dont think hes comin comin backi did too much lyin wasted too much time now im here a cryin i i ibeen around the world and i i i i cant find my baby i dont know when i dont know why why hes gone away and i dont know where he can be my baby but im gonna find himso open hearted he never did me wrong i was the one the weakest one of all and now im oh oh so sad and i dont think hes comin back comin backi did too much lyin wasted too much time now im here a cryin i i ibeen around the world and i i i i cant find my baby i dont know when i dont know why why hes gone away and i dont know where he can be my baby but im gonna find himbeen around the world and i i i i cant find my baby i dont know when i dont know why why hes gone away and i dont know where he can be my baby but im gonna find him im gonna find him my babyi did too much lyin wasted too much time now im here a cryin i i ibeen around the world and i i i i cant find my baby i dont know when i dont know why why hes gone away and i dont know where he can be my baby but im gonna find himive been around the world lookin from my baby been around the world and im gonna im gonna find himbeen around the world and i i i i cant find my baby i dont know when i dont know why why hes gone away and i dont know where he can be my baby but im gonna find him ",1
22,"i wanna be rich","calloway",1990," imagine cash cold thats what i needthese bill collectors they ring my phone ringaling ringaling they bother me when im not at home aint go no time to be fooling round feet hit the floor then i get on down you seei want money lots and lots of money i want the pie in the sky i want money lots and lots of money so dont be asking me whyi wanna be rich ohh i wanna be rich ohh i wanna be rich ohh i wanna be rich for a little love peace and happinessi want my cake wanna eat it too i want the stars and the silver moon i spend my money on lottery my favorite number is 1 2 3 you seei want money lots and lots of money i want the pie in the sky i want money lots and lots of money so dont be asking me whyi wanna be rich ohh i wanna be rich ohh i wanna be rich ohh i wanna be rich for a little love peace and happiness every way rich love peace and happinessi want all the things that lovers do a pocketful of dreams come true these are things you can not find thatll keep you satisfied and richhere is what your gonna do say oh i say uh uh got to be baby i just wanna be rich i just wanna because baby i want money lots and lots of money i want the pie in the sky i want money lots and lots of money so dont be asking me whyi wanna be rich i wanna be rich i wanna be rich i wanna be rich for a little love peace and happinessplay baby there is lots and lots for everyone i wanna be rich i wanna be rich be rich ",1
23,"rub you the right way","johnny gill",1990," pump up the bass hey pump up the bass pump pump up the bass pump up the bass pumppumppump pumppumppumppumpwhat youve been missin in a man i can survive your wish is my command ill work hard to fill up your needs give you lesson on what it is tofeel feel good good baby get undressed and slip on this robe re re lax lax darlin just sit backcan you feel the magic in my hands when i touch and rub you the right way stroke applied with tenderness when i hold and rub you the right waya light massage a soft caress whenever i need to rub i run her happiness customer satisfaction is a guarantee so for your pleasure come on over here pleaseyou hey so hold on and throw off that coat show show you ill show you pleasure like youve never knowncan you feel the magic in my hands when i touch and rub you the right way stroke applied with tenderness when i hold and rub you the right wayfeel the magic in my hands when i touch and rub you the right way stroke applied with tenderness when i hold and rub you the right waypump up the bass hey pump up the bass whatwhatwhat whatwhat hey get readyfeel good re re girl lax lax yeah ohohohcan you feel the magic in my hands when i touch and rub you the right way stroke applied with tenderness when i hold and rub you the right wayfeel the magic in my hands when i touch and rub you the right way stroke applied with tenderness when i hold and rub you the right wayyour every wish is my command so get undressed and  gonna rub with my magic hands give you what youre missin in a man stroke you with a soft caress applied with so much tenderness hold on tight and dont let go give you pleasure like youve never known beforefeel the magic in my hands when i touch and rub you the right way stroke applied with tenderness when i hold and rub you the right wayfeel the magic in my in my customer satisfaction baby stroke hey hey hold and rub you the right waydo you feel it do you feel it ohohohohohpump it party come on darlin come on do you do you feel it baby feel it baby feel it feel it feel it feel it feel it oh baby stroke baby ohfeel it baby feel it all over feel it honey see whatwhatever you want i got it whatever you need i got it baby got it baby whatever you want ive got it in my hands whatever you need ill fulfill your needs baby ",1
24,"she aint worth it","glenn medeiros and bobby brown",1990," you better make tracks fast on the double the girl jazz you but shes nothing but troubletake her where she wants to go and evry day you let her know shes the one whos always on your mind but she just cops an attitude and leads you off and leaves you blue cant you see shes really just a waste of time one day shell treat you nice then shell turn as cold as ice but you think your love will win her in the end think againshe aint worth it the girl aint worth it all this grief that shes been puttin you through oo she aint worth it the girl aint worth it believe me i know i know better than better than better than youshe gets you but then leaves you cold and keeps you waitin on the phone cause you know youll alway give her on more try im not the only boy in town and she loves me into the ground but tell me do you really like standing in line give her evrything you have and all it does is make you sad what she really wants to do is tell her friends she did it againshe aint worth it the girl aint worth it all this grief that shes been puttin you through oo she aint worth it the girl aint worth it believe me i know i know better than better than better than youid like to say she used to be my girl but that would be a lie cause theres no one in this whole wide world that could keep her satisfied i know cause i triedone thing i hate is when a girl plays fake and tries to make me late for another date cause i tried to make you mine for the last time so take this key as a kiss and a goodbye she aint worth it even though shes on a high tip she better get a grip and get a grip quick fast in a hurry cause i wont buckle the girls jazzy but shes nothin but trouble give her evrything you have all she does is make you sad what she really wants to do is tell her friends she did it againshe aint worth it the girl aint worth it all this grief that shes been puttin you through oo she aint worth it the girl aint worth it believe me i know i know better than better than better than youshe aint worth it the girl aint worth it all this grief that shes been puttin you through oo she aint worth it the girl aint worth it believe me i know i know better than better than better than you ",1
25,"if wishes came true","sweet sensation",1990," all alone silence fills my room but in a memory i hear you calling me close my eyes and im there with you like it was yesterday but then it fades awaytake me back turn back the hands of time when you kissed me in the warm september rain warm september rain back before my heart was filled with pain if only we could be in love that way againif wishes came true and all the dreams at night of love were real id be holding you if wishes came truethen i would be that someone always special in your heart we would still be lovers not apart if wishes came truenow youre gone and im on my own feeling lost inside since you said goodbye in my dreams i still feel your touch lying next to me feeling ecstasytake me back turn back the hands of time when you kissed me in the warm september rain warm september rain back before my heart was filled with pain if only we could be in love that way againif wishes came true and all the dreams at night of love were real id be holding you if wishes came truethen i would be that someone always special in your heart we would still be lovers not apart if wishes came truei love you madly i need you badly give our love one more chanceif wishes came true and all the dreams at night of love were real id be holding you if wishes came truethen i would be that someone always special in your heart we would still be lovers not apart if wishes came true ",1
26,"the power","snap",1990," foreign content ive got the power hey yeah heylike the crack of the whip i snap attack front to back in this thing called rap dig it like a shovel rhyme devil on a heavenly level bang the bass turn up the trebleradical mind day and night all the time seven fourteen wise divine maniac brainiac winning the game im the lyrical jesse jamesoh yeah yeah oh yeah gettin kinda heavy its getting its getting its gettin kinda heavy its getting its getting its gettin kinda heavy its getting its getting its gettin kinda heavy its getting its getting its gettin kinda heavyive got the power hes gonna break my heart hes gonna break my heart of hearts hes gonna break my heart hes gonna break my heart of hearts ive got the power oh oh ohive got the power hes gonna break my heart hes gonna break my heart of hearts hes gonna break my heart hes gonna break my heart of hearts ive got the power oh oh ohits getting its getting its gettin kinda hectic its getting its getting its gettin kinda hectic its getting its getting its gettin kinda hectic its getting its getting its gettin kinda hecticquality i possess some say im fresh when my voice goes through the mesh of the microphone that i am holdin copy written lyrics so they cant be stolenif they are snap dont need the police to try to save them your voice will sieze so please stay off my back or i will attack and you dont want thative got the power hes gonna break my heart hes gonna break my heart of hearts hes gonna break my heart hes gonna break my heart of hearts ive got the power oh oh ohive got the power hes gonna break my heart hes gonna break my heart of hearts hes gonna break my heart hes gonna break my heart of hearts ive got the power oh oh ohquality i possess something im fresh when my voice goes through the rest of the microphone that i am holdin copy written lyrics so they cant be stolenif they are snap dont need the police to try to save them your voice will sink so please stay off my back or i will attack and you dont want thative got the power hes gonna break my heart hes gonna break my heart of hearts hes gonna break my heart hes gonna break my heart of hearts ive got the power oh oh ohive got the power ive got the power ive got the power ive got the power ive got the power ive got the powerpower its getting its getting its gettin kinda hectic its getting its getting its gettin kinda hectic its getting its getting its gettin kinda hectic its getting its getting its gettin kinda hecticits getting its getting its gettin kinda hectic its getting its getting its gettin kinda hectic its getting its getting its gettin kinda hectic its getting its getting its gettin kinda hectic powerive got the power ive got the power ive got the power ive got the power powerive got the power power ive got the power power ive got ive got ive got the power ive got the powerfade out ",1
27,"cant live without your love and affection","nelson",1990," here she comes just like an angel seems like forever that shes been on my mind but nothing has changed she thinks im a waste of her timethere she goes she dont know what shes missing cant she see ill never give up the fight ill do all i can till she understands my desireive been on the outside lookin in let me into your heart theres nothing on earth that should keep up apartbaby i cant live without your love and affection i cant face another night on my own id give up my pride to save me from being alone cause i cant live without your love your loveso i wait here for an answer wonder if tomorrow will be like yesterday ill keep holding on but i cant go on living this waybaby ive been on the outside lookin in bring my tears to an end i realize theres no use for me to pretend oh yeahi cant live without your love and affection i cant face another night on my own id give up my pride to save me from being alone cause i cant live without your lovefor your love id put my arms around you for your love and find the strength to tell you for your love that i cant live without youri cant live without your love and affection i cant face another night on my own id give up my pride to save me from being alonebaby i cant live without your love and affection i just cant go on this way anymore as hard as i try theres one thing that i know for sure i cant live without your lovethere she goes i cant live without your love baby there she goes i cant live without your love there she goes i cant live without your love ",1
28,"love will lead you back","taylor dayne",1990," sayin goodbye is never an easy thing but you never said that youd stay forever so if you must go well darlin ill set you free but i know in time that well be together oh i wont try to stop you now from leaving cause in my heart i knowlove will lead you back someday i just know that love will lead you back to my arms where you belongim sure sure as stars are shining one day you will find me again it wont be long one of these days our love will lead you backone of these nights well ill hear your voice again youre gonna say oh how much you miss me you walked out this door but someday youll walk back in oh darling i know oh i know this will be sometimes it takes sometime out on your own now to find your way back homelove will lead you back someday i just know that love will lead you back to my arms where you belongim sure sure as stars are shining one day you will find me again it wont be long one of these days our love will lead you backbut i wont try to stop you now from leaving cause in my heart i know oh yeahlove will lead you back someday i just know that love will lead you back to my arms where you belongim sure sure as stars are shining one day you will find me again it wont be long one of these days our love will lead you back yeah yeahlove will lead you back someday i just know that love will lead you back to my arms it wont be long one of these days our love will lead you back ",1
29,"dont wanna fall in love","jane child",1990," aint no personal thing boy but you have got to stay away far far away from my heart my heart dont you know what your kiss is doing let me tell it to you from the start boyi dont wanna fall in love love cuts just like a knife you make the knife feel good ill fight you to the end babyyouve been hanging around boy and you have started sinking in whoa baby youre way out of line now unaware how this all got started let me tell it you one more time boyi dont wanna fall in love love cuts just like a knife you make the knife feel good ill fight you to the end babyi dont wanna fall in love love cuts just like a knife you make the knife feel good ill fight you to the endi learned something about myself last night with you i knew i didnt want nobody else and youre scaring me to death now babyi dont wanna fall in love love cuts just like a knife you make the knife feel good ill fight you to the endi dont wanna fall in love love cuts just like a knife you make the knife feel good ill fight you to the endi dont wanna fall in love love cuts just like a knife you make the knife feel good baby yeah ill fight you to the endi dont want to fall in love love cuts just like a knife you make the knife feel good ill fight you to the end ",1
30,"two to make it right","seduction",1990,"it takes two it takes two me and you it takes two it takes two me and you it takes two to make a thing go right it takes two to make it out of sight it takes two to make a thing go right it takes two to make it out of sight from the start its plain to see youre suffering from a serious broken heart you know that its a shame but im here to ease your pain theres no need for you to feel so all alone and you and i could seriously be a sure enough happening thing dont you know that it takes two to make a thing go right it takes two to make it out of sight it takes two to make a thing go right it takes two to make it out of sight i can see it in your eyes you feel the same way i feel about you some call it chemistry i call it you should be with me cause i know together we can really turn this mother out in my mind there is no doubt that one and one equals me and you dont you know that it takes two to make a thing go right it takes two to make it out of sight it takes two to make a thing go right it takes two to make it out of sight it takes two to make a thing go right it takes two to make it out of sight it takes two to make a thing go right it takes two to make it out of sight i dont believe in fairy tales but i believe some things were meant to be why should we be alone when we could have each others arms to hold cause i know together we could really turn this mother out in my mind there is no doubt that one and one equals me and you and dont you know that it takes two to make a thing go right it takes two to make it out of sight it takes two to make a thing go right it takes two to make it out of sight it takes two it takes two me and you it takes two it takes two me and you it takes two it takes two me and you it takes two it takes two me and you it takes two it takes two me and you it takes two it takes two me and you it takes two it takes two me and you it takes two it takes two me and you",3
31,"sending all my love","linear",1990,"girl i close my eyes and then i start to cry for you youre the reason why i have to say goodbye to you this pain i have inside just makes me want to die for you all these lonely nights they just dont seem so right for you im sending you all my im sending all my love im sending all my love to you im sending all my love im sending all my love to you every move you make day by day i pray for you when i close my eyes tear drops starts to fall for you im sending all my love sending all my love to you this pain i have inside just makes me want to die for you im sending all my love sending all my love to you im sending all my love sending all my love to you im sending all my love sending all my love to you sending you all my im sending all my love sending all my love to you girl i close my eyes and then i start to cry for you youre the reason why i have to say goodbye to you this pain i have inside just makes me want to cry for you all these lonely nights they just dont seem so right for you im sending all my love sending all my love to you im sending all my love sending all my love to you im sending all my love sending all my love to you im sending all my love sending all my love to you im sending you all my love",3
32,"unskinny bop","poison",1990," whats got you so jumpy why cant you sit still yeah like gasoline you want to pump me and leave me when you get your fill yeah every time i touch you honey you get hot i want to make love you never stop come up for air you push me to the floor whats been going on in that head of yoursunskinny bop just blows me away unskinny bop bop all night and day unskinny bop bop bop bop she just loves to play unskinny bop nothin more to sayyou look at me so funny love bite got you acting oh so strange you got too many bees in your honey am i just another word in your page yeah yeah every time i touch you you get hot i want to make love you never stop come up for air you push me to the floor whats been going on in that head of yoursunskinny bop just blows me away unskinny bop bop all night and day unskinny bop bop bop bop she just loves to play unskinny bop nothin more to sayyoure sayin my love wont do ya that aint love written on your face well honey i can see right through ya yeah whose ridin who at the end of the racewhats right whats wrong whats left what the hell is going onunskinny bop just blows me away unskinny bop bop all night and day unskinny bop bop bop bop she just loves to play up for air pulled to the floorunskinny bop no good no good unskinny bop bop all night n day do it unskinny bop bop bop bop no good no good good no good unskinny bop oh ooh unskinny bop ",1
33,"step by step","new kids on the block",1990," step by step ooo baby gonna get to you girl step by step rockstep by step ooo baby gonna get to you girl step by step ooo baby really want you in my world step hey girl in your eyes i see your picture of me all the time step and girl when you smile you got to know that you drive me wild step by step ooo baby youre always on my mind step by step ooo girl i really think its just a matter of timestep by step ooo baby gonna get to you girl step by step ooo baby really want you in my world step hey girl cant you see ive got to have you all just for me step and girl yes its true no one else will ever do step by step ooo baby youre always on my mind step by step ooo girl i really think its just a matter of timestep by step ooo baby gonna get to you girl step by step ooo baby really want you in my world step step step step by stepstep one we can have lots of fun step two theres so much we can do step three its just you and me step four i can give you more step five dont you know that the time is right huhstep by step dont you know i need you step by step yes i do girl step by step ooo baby youre always on my mind step by step ooo girl i really think its just a matter of timestep by step step by step girl ooo baby gonna get to you to you girl step by step yeah ooo baby i want you i need you i want you in my world in my world step by step ooo to you girl step by step ooo girl really want you in my world step by step ooo baby gonna get to you girl step by step ooo baby really want you in my world ",1
34,"dangerous","roxette",1990," oh just a little bit dangerousyou pack your bag you take control youre moving into my heart and into my soul get out of my way get out of my sight i wont be walking on thin ice to get through the nighthey wheres your work whats your game i know your business but i dont know your namehold on tight you know shes a little bit dangerous shes got what it takes to make ends meet the eyes of a lover that hit like heat you know shes a little bit dangerousyou turn around so hot and dry youre hiding under a halo your mouth is alive get out of my way get out of my sight im not attracted to gogo deeper tonighthey whats your word whats your game i know your business but i dont know your namehold on tight you know shes a little bit dangerous shes got what it takes to make ends meet the eyes of a lover that hit like heat you know shes a little bit dangerous oh just a little bit dangeroushey hey hey whats your word whats your game i know your business but i dont know your namehold on tight you know shes a little bit dangerous shes got what it takes to make ends meet the eyes of a lover that hit like heat you know shes a little bit dangerousshes armed shes extremely dangerous shes got what it takes to make ends meet the eyes of a lover that hit like heat you know shes a little bit dangerous oh just a little bit dangeroussagapo hey whats your word whats your game i dont know your name hey you just a little bit dangerous i dont know your name ",1
35,"we didnt start the fire","billy joel",1990," harry truman doris day red china johnnie ray south pacific walter winchell joe dimaggiojoe mccarthy richard nixon studebaker television north korea south korea marilyn monroerosenbergs hbomb sugar ray panmunjom brando the king and i and the catcher in the ryeeisenhower vaccine englands got a new queen marciano liberace santayana goodbyewe didnt start the fire it was always burning since the worlds been turning we didnt start the fire no we didnt light it but we tried to fight itjoseph stalin malenkov nasser and prokofiev rockefeller campanella communist blocroy cohn juan peron toscanini dacron dien bien phu falls rock around the clockeinstein james dean brooklyns got a winning team davy crockett peter pan elvis presley disneylandbardot budapest alabama krushchev princess grace peyton place trouble in the suezwe didnt start the fire it was always burning since the worlds been turning we didnt start the fire no we didnt light it but we tried to fight itlittle rock pasternak mickey mantle kerouac sputnik chou enlai bridge on the river kwailebanon charlse de gaulle california baseball starkweather homicide children of thalidomidebuddy holly ben hur space monkey mafia hula hoops castro edsel is a nogou2 syngman rhee payola and kennedy chubby checker psycho belgians in the congowe didnt start the fire it was always burning since the worlds been turning we didnt start the fire no we didnt light it but we tried to fight ithemingway eichmann stranger in a strange land dylan berlin bay of pigs invasionlawrence of arabia british beatlemania ole miss john glenn liston beats pattersonpope paul malcolm x british politician sex jfk blown away what else do i have to saywe didnt start the fire it was always burning since the worlds been turning we didnt start the fire no we didnt light it but we tried to fight itbirth control ho chi minh richard nixon back again moonshot woodstock watergate punk rock begin reagan palestine terror on the airline ayatollahs in iran russians in afghanistanwheel of fortune sally ride heavy metal suicide foreign debts homeless vets aids crack bernie goetz hypodermics on the shores chinas under martial law rock and roller cola wars i cant take it anymorewe didnt start the fire it was always burning since the worlds been turning we didnt start the fire but when we are gone will it still burn on and on and on and onwe didnt start the fire it was always burning since the worlds been turning we didnt start the fire no we didnt light it but we tried to fight itwe didnt start the fire it was always burning since the worlds been turning we didnt start the fire no we didnt light it but we tried to fight it ",1
36,"i dont have the heart","james ingram",1990,"  ",1
37,"downtown train","rod stewart",1990," outside another yellow moon has punched a hole in the night time mist i climb through the window and down to the street im shining like a new dime the downtown trains are full full of all them brooklyn girls they try so hard to break out of their little worldsyou wave your hand and they scatter like crows they have nothing thatll ever capture your heart theyre just thorns without the rose be careful of them in the dark oh if i was the one you chose to be your only one oh baby cant you hear me now cant you hear me nowwill i see you tonight on a downtown train every night every night its just the same on a downtown traini know your window and i know its late i know your stairs and your doorway i walk down your street and past your gate i stand by the light of the four way and watch them as they fall oh baby they all having their heart attacks they stay at the carnival but theyll never win you backwill i see you tonight on a downtown train every night every night its just the same you leave me lonely will i see you tonight on a downtown train all my dreams all my dreams fall like rain on a downtown trainwill i see you tonight on a downtown train every night every night its just the samewill i see you tonight on a downtown train all my dreams all my dreams fall like rain on a downtown train on a downtown train all my dreams fall like rain on a downtown train ",1
38,"rhythm nation","janet jackson",1990," five four three two one yeah yeah yeah yeah yeah yeah yeah bass bass bass bass with music by our side to break the color lines lets work together to improve our way of life join voices in protest to social injustice a generation full of courage come forth with me people of the world today are we looking for a better way of life we are a part of the rhythm nation people of the world unite strength in numbers we can get it right one time we are a part of the rhythm nationthis is the test no struggle no progress lend a hand to help your brother do his best things are getting worse we have to make them better its time to give a damn lets work together come on yeahpeople of the world today are we looking for a better way of life we are a part of the rhythm nation people of the world unite strength in numbers we can get it right one time we are a part of the rhythm nationpeople of the world unite are we looking for a better way of life we are a part of the rhythm nation people of the world unite strength in numbers we can get it right one time we are a part of the rhythm nationbass bass bass bass bass bass bass bass bass basssay it people say it different say it if you want a better way of life say it people say it different say it if you want a better way of lifeeverybody sing it people of the world unite are we looking for a better way of life we are a part of the rhythm nation people of the world unite strength in numbers we can get it right one time we are a part of the rhythm nationpeople of the world today are we looking for a better way of life we are a part of the rhythm nation people of the world unite strength in numbers we can get it right one time we are a part of the rhythm nationrhythm nation rhythm nation rhythm nation rhythm nation rhythm nation rhythm nation rhythm nation rhythm nation ",1
39,"ill be your everything","tommy page",1990," so long that ive waited for a girl to come into my life and in my world i cant explain my feelings for you i guess youre just all my dreams come trueand ill be your lover your lover and ill be your best friend oh ill be your friend ill be there when youre needing me when you need me ill be your everything your everythingill be your everything ill be all that you want and all that you need ill be your everything ill give you all that i have my love my life and me ill be your everythingnow that were together at last we shouldnt think about our problems in the past cause true love takes a miracle to find i guess that ive been blessed cause ive got you by my sideand ill be your lover your lover and ill be your best friend oh ill be your friend ill be there when youre needing me when you need me ill be your everything your everythingill be your everything ill give you all that i have my love my life and me ill be your everythingwhen youre lost and youre down and youre seeing darkness and theres no one there that can be found just turn around ill be there holding out my arms for you just reach for me ill be the one to set you freeill be your everything ill lift you up when youre feeling down ill make your whole world turn around ill be all that you want and all that you need ill give my heart and soul to you to let you know this love is trueill be your everything ill lift you up when youre feeling down ill make your whole world turn around ooh yeah yeah baby tell me ill give my heart and soul to you to let you know this love is trueill be your everything ooh ill be your everything ",1
40,"roam","the b52s",1990," i hear a wind whistling air whispering in my earboy mercury shooting through every degree oh girl dancing down those dirty and dusty trails take it hip to hip rocket through the wilderness around the world the trip begins with a kissroam if you want to roam around the world roam if you want to without wings without wheels roam if you want to roam around the world roam if you want to without anything but the love we feelskip the airstrip to the sunset yeah ride the arrow to the target one take it hip to hip rock it through the wilderness around the world the trip begins with a kissroam if you want to roam around the world roam if you want to without wings without wheels roam if you want to roam around the world roam if you want to without anything but the love we feelfly the great big sky see the great big sea kick through continents busting boundaries take it hip to hip rocket through the wilderness around the world the trip begins with a kissroam if you want to roam around the world roam if you want to without wings without wheels roam if you want to roam around the world roam if you want to without anything but the love we feeltake it hip to hip rocket through the wilderness take it hip to hip rocket through the wilderness take it hip to hip rocket through the wilderness take it hip to hip rocket through the wilderness take it hip to hip rocket through the wilderness take it hip to hip rocket through the wilderness take it hip to hip rocket through the wilderness take it hip to hip rocket through the wilderness ",1
41,"everything","jody watley",1990," lately i feel so all alone cant find the joy you know that id be with you now if i had the choicei know i hurt you when i said goodbye and i dont know the reason i ever stopped believing i never needed anyone but youi was too blind to see when you belonged to me you were my everything now id give anything to feel the love you bring you were my everythingthey say time can mend a broken heart and fix you up but my life will never ever be the same without your touchi know youre still afraid to let me in and i dont blame you really i wouldnt let you see me i took for granted you would always be therei was too blind to see when you belonged to me you were my everything now id give anything to feel the love you bring you were my everythingi know i hurt you when i said goodbye and i dont know the reason i ever stopped believing i never needed anyone but youi was too blind to see when you belonged to me you were my everything yeah now id give anything to feel the love you bring you were my everythingyou were my life you were my love you were my everything you were my life yeah you were my everything ",1
42,"back to life however do you want me","soul ii soul featuring caron wheeler",1990," back to life back to reality back to life back to reality back to life back to reality back to the here and now yeahshow me how decide what you want from me tell me maybe i could be there for youhow ever do you want me how ever do you need me how ever do you want me how ever do you need mehow ever do you want me how ever do you need me how ever do you want me how ever do you need meback to life back to the present time back from a fantasy yes tell me now take the initiative ill leave it in your hands until youre readyhow ever do you want me how ever do you need me how ever do you want me how ever do you need mehow ever do you want me how ever do you need me how ever do you want me how ever do you need mehow ever do you need me how ever do you need me how ever do you need me how ever do you need mei live at the top of the block no more room for trouble and fuss need a change a positive change look its me writing on the wallhow ever do you want me how ever do you need me how ever do you want me how ever do you need mehow ever do you want me how ever do you need me how ever do you want me how ever do you need meback to life back to the day we have lets end this foolish game hear me out dont let it waste away make up your mind so i know where i standhow ever do you want me how ever do you need me how ever do you want me how ever do you need mehow ever do you want me how ever do you need me how ever do you want me how ever do you need mehow ever do you want me how ever do you need me how ever do you want me how ever do you need mehow ever do you want me how ever do you need me how ever do you want me how ever do you need me ",1
43,"here and now","luther vandross",1990," one look in your eyes and there i see just what you mean to me here in my heart i believe your love is all ill ever need holdin you close through the night i need you yeahi look in your eyes and there i see what happiness really means the love that we share makes life so sweet together well always be this pledge of love feels so right and ooh i need youhere and now i promise to love faithfully faithfully youre all i need here and now i vow to be one with thee you and me hey your love is all i need i needsay yeah yeahwhen i look in your eyes there ill see all that a love should really be and i need you more and more each day nothin can take your love away more than i dare to dream i need youhere and now i promise to love faithfully faithfully youre all i need here and now i vow to be one with thee you and me yeah your love is all i needstarting here ooh and im starting now i believe i believe in love i believe starting here im starting right here starting now right now because i believe in your love so im glad to take the vowhere and now oh i promise to love faithfully faithfully youre all i need here and now yeah i vow to be one with thee you and me yeah your love is all i need ",1
44,"alright","janet jackson",1990," baby baby alright baby seeing that your loves true never ill doubt you my heart belongs to you thats alright with me worlds could end around me so in love that i cant see you and me were meant to be thats alright with mefriends come and friends may go my friends youre real i know true self you have shown youre alright with me through thick and thick to thin ill love you til the endyou know its true my friend youre alright with me alright with me alright with me alright with me alright with me alright with mecatch a fallin star that shines make a wish clap three times dreams come true its in the mind thats alright with meyour wish is my command never thought id fall in love again again with my best friend thats alright with mefriends come and friends may go my friends youre real i know true self you have shown youre alright with me through thick and thick to thin ill love you til the end you know its true my friend youre alright with me always and everlasting this love is just not passing were happy as can be alright with me alright with me alright with me alright with me alright with me alright with me its alright baby its alright i tell you that its alright with meworlds could end around me so in love that i cant see you and me were meant to be thats alright with me alright with me its alright yeah alright baby baby baby babe baby baby baby babe ",1
45,"ice ice baby","vanilla ice",1990," yo vip lets kick itice ice baby ice ice baby all right stop collaborate and listen ice is back with my brand new invention something grabs a hold of me tightly then i flow that a harpoon daily and nightly will it ever stop yo i dont know turn off the lights and ill glow to the extreme i rock a mic like a vandal light up a stage and wax a chump like a candledance bum rush the speaker that booms im killin your brain like a poisonous mushroom deadly when i play a dope melody anything less that the best is a felony love it or leave it you better gain way you better hit bulls eye the kid dont play if there was a problem yo ill solve it check out the hook while my dj revolves itice ice baby vanilla ice ice baby vanilla ice ice baby vanilla ice ice baby vanillanow that the party is jumping with the bass kicked in the fingers are pumpin quick to the point to the point no faking im cooking mcs like a pound of bacon burning them if theyre not quick and nimble i go crazy when i hear a cymbal and a hi hat with a souped up tempo im on a roll and its time to go solo rollin in my 50 with my ragtop down so my hair can blow the girlies on standby waving just to say hi did you stop no i just drove by kept on pursuing to the next stop i busted a left and im heading to the next block that block was deadyo so i continued to a1a beachfront ave girls were hot wearing less than bikinis rock man lovers driving lamborghini jealous cause im out getting mine shay with a gauge and vanilla with a nine ready for the chumps on the wall the chumps are acting ill because theyre so full of eight balls gunshots ranged out like a bell i grabbed my nine all i heard were shells fallin on the concrete real fast jumped in my car slammed on the gas bumper to bumper the avenues packed im tryin to get away before the jackers jack police on the scene you know what i mean they passed me up confronted all the dope fiends if there was a problem yo ill solve it check out the hook while my dj revolves itice ice baby vanilla ice ice baby vanilla ice ice baby vanilla ice ice baby vanillatake heed cause im a lyrical poet miamis on the scene just in case you didnt know it my town that created all the bass sound enough to shake and kick holes in the ground cause my styles like a chemical spill feasible rhymes that you can vision and feel conducted and formed this is a hell of a concept we make it hype and you want to step with this shay plays on the fade slice it like a ninja cut like a razor blade so fast other djs say damn if my rhyme was a drug id sell it by the gram keep my composure when its time to get loose magnetized by the mic while i kick my juice if there was a problem yo ill solve it check out the hook while my dj revolves itice ice baby vanilla ice ice baby vanilla ice ice baby vanilla ice ice baby vanillayo man lets get out of here word to your motherice ice baby too cold ice ice baby too cold too cold ice ice baby too cold too cold ice ice baby too cold too cold ",1
46,"blame it on the rain","milli vanilli",1990," you said you didnt need her you told her goodbye goodbye you sacrificed a good love to satisfy your pride now you wished that you should have her have her and you feel like such a fool you let her walk away now it just dont feel the same gotta blame it on something gotta blame it on somethingblame it on the rain rain blame it on the stars stars whatever you do dont put the blame on you blame it on the rain yeah yeah you can blame it on the rain get ooh ooh ooh i cant i cant i cant cant stand the rain i cant i cant i cant cant stand the rain yeah yeah shouldve told her you were sorry sorry huh could have said you were wrong but no you couldnt do that no no you had to prove you were strong ooh if you hadnt been so blinded blinded she might still be there with you you want her back again but she just dont feel the same gotta blame it on something gotta blame it on somethingblame it on the rain that was falling falling blame it on the stars that did shine at night whatever you do dont put the blame on you blame it on the rain yeah yeahyou can blame it on the rain cos the rain dont mind and the rain dont care you got to blame it on something blame it on the rain blame it on the stars whatever you do dont put the blame on you blame it on the rain yeah yeah you can blame it on the rain girlooh ooh ooh girl i cant i cant i cant cant stand the rain i cant i cant i cant cant stand the rainget girl whatever you do blame it on the rain yeah yeah x 3 you can blame it on the rain blame it on the rain blame it on the rain baby blame it on the rain yeah yeah blame it on the stars that did shine that night blame it on the rain yeah yeah blame it blame it on the rain woo im walking im walkingwalking in the rain walking in the rainrain rain stars stars whatever you do dont put the blame on you blame it on the rain yeah yeah blame it on the rain that keeps falling falling blame it on the stars that did shine that night whatever you do dont put the blame on you blame it on the rain yeah yeah blame it on the rain rain rain ",1
47,"have you seen her","mc hammer",1990," ah yeah im glad i put this tape in im just gon cruise down the road look at the stars in the sky and drift off into the sweet memorys that i have of a love that my heart has been searching for for so long and i know somewhereif i keep lookin that love ill find the picture grows clearer and clearer from the back to the front of my mind and like love a love i know ill have the girl that i want shell be mine shell be fly and itll lasti see her face and i cant let go shes in my dreams and my heart so let me know have you seen her have you seen her tell me have you seen her tell me have you seen her im looking for that loveshes a thought and a vision in my memory i havent met her but tell me where could she be have you seen her have you seen her tell me have you seen her tell me have you seen her im looking for that special love oh lovelove oh love love is a feeling that the hammer definitely needs oh yeah love is a feeling that i need oh yeah please be mine baby be mine i need your love to make iti need your love to make it so be mine so why dont you be mine baby be mine oh yes be minethe search is going on from coast to coast a women for the man whos propping the most have you seen her have you seen her tell me have you seen her tell me have you seen hermy heart is beating strong this love cannot be wrong i need her and i want her so come on to my home have you seen her have you seen her tell me have you seen her tell me have you seen her im a keep lookingat the movies in my car on my stero at a game of different world or the cosby show have you seen her have you seen her tell me have you seen her tell me have you seen her yo veo tell me whats upat the track at the club or out buying dub if youve seen her then ill have her cause im in love have you seen her have you seen her tell me have you seen her tell me have you seen her my heart is hurting so badlove oh love love is a feeling that i know i need oh yeah love is a feeling that i need oh yeah please be mine be mine baby i need your love to make iti need your love to make it so be mine why dont you be mine baby be mine where could she beat the store around the corner or wondering at night or chilling with another brother holding the mic have you seen her have you seen her tell me have you seen her tell me have you seen her hammer you know im lookingcalling all my friends all around the place guy lavertte or my homey rob base have you seen her have you seen her tell me have you seen her tell me have you seen her if youve peeped her out tell me yo veo on the phoneted dre or ed lover fab five homeys wont you help a young brother have you seen her have you seen her tell me have you seen her tell me have you seen her i got a picture in my mindthe thought is so clear of the love i need here like houdini be magic and why dont you appear have you seen her oh baby why dont you appear tell me have you seen her tell me have you seen her i can see yo faceim seeing her face again and again come knocking at my door and you know ill let you in have you seen her have you seen her tell me have you seen her tell me have you seen her oh my sweet lovesearching round the world what more can i say the girl is hard to see like an unseen vj have you seen her tell me have you seen her have you seen her ",1
48,"with every beat of my heart","taylor dayne",1990," i keep gettin closer to the love i know im ready and willin gettin outta control you win and you lose some but if you stay in the gamebefore you know it you feel the fire but dont get burned by the flame oh youll find the answer any daywith every beat of my heart i keep gettin closer to you with every beat of my heart now i know were gettin closer to love with every beatnow i just wanna know you more every day and now it wont be long til i hear you say say that you do boy its just a matter of timebefore you know it youll feel the fire and its burnin deep inside oh youll find the answer in his eyeswith every beat of my heart i keep gettin closer to you with every beat of my heart now i know we gettin closer to lovewith every beat of my heart i feel you movin closer to me with every beat of my heart baby i know its becomin reality with every beatbefore you know it you feel the fire but dont get burned by the flame and oh youll find the answer any daywith every beat of my heart i keep gettin closer to you with every beat of my heart now i know were gettin closer to lovewith every beat of my heart i feel you movin closer to me with every beat of my heart baby i know its becomin realitywith every beat of my heart i keep gettin closer to you with every beat of my heart now i know were gettin closer to lovewith every beat of my heart i feel you movin closer to me ",1
49,"come back to me","janet jackson",1990," looking through my old drawer came across the letter you wrote said you needed time away that was so long ago all my life ive waited to see your smile again in my mind i hated not able to let gocome back to me im beggin you please come back to me i want you to come back to me im beggin you please come back to melord knows that i have tried to live my life as one friends tell me to hold on tough times dont last for long my abandoned heart just doesnt understand my undying love for you wont let me waitcome back to me im beggin you please come back to me i want you to come back to me im beggin you please come back to me i want you to come back to me come back to me come back i want you to come back to me come back ",1
50,"no more lies","michelle",1990,"when the moon is in the seventh house and jupiter aligns with mars then peace will guide the planets and love will steer the stars this is the dawning of the age of aquarius age of aquarius aquarius aquarius harmony and understanding sympathy and trust abounding no more lies and no derisions golden living dreams of visions mystic crystal revelation and the minds true liberation aquarius aquarius let the sunshine let the sunshine in the sunshine in let the sunshine let the sunshine in the sunshine in let the sunshine let the sunshine in the sunshine in",3
51,"praying for time","george michael",1990," do you think we have time do you think we have timethese are the days of the open hand they will not be the last look around now these are the days of the beggars and the choosersthis is the year of the hungry man whose place is in the past hand in hand with ignorance and legitimate excusesthe rich declare themselves poor and most of us are not sure if we have too much but well taking our chance to say i sang twenty years and a day but nothing changed the human race found some other guy and walked into the flameits hard to love theres so much to hate hanging on to hope when there is no hope to speak of and the wounded skies above say its much too late then maybe we should all be praying for timedoo oh oh do you think we have time do you do you think we have timethese are the days of the empty hand oh you hold on to what you can and charity charity is a coat you wear twice a yearthis is the year of the guilty man your television takes a stand and you find that what was over there is over hereso you scream from behind your door say whats mine is mine and not yours i may have too much but ill take my chances i sang twenty years and a day cause nothing changed the human race found some other guy and walked into the flamesits hard to love jesus theres so much to hate hanging on to hope there is no hope to speak of and the wounded skies above say its much too late then maybe we should all be praying for timedoo doo doo do you think we have time do you do you think we have time lord give us time ",1
52,"how can we be lovers","michael bolton",1990," how can we be lovers if we cant be friends how can we start over when the fighting never ends baby how can we make love if we cant make amends how can we be lovers if we cant be cant be friendslook at us now look at us baby still tryin to work it out never get it right we must be fools we must be crazy whoa whoa theres no communication whoa whoa its a nowin situationhow can we be lovers if we cant be friends how can we start over when the fighting never ends baby how can we make love if we cant make amends tell me how can we be lovers if we cant be cant be friendswe lie awake this wall between us were just not talkin we got so much to say lets break these chains our love can free us whoa whoa aint it time we started tryin whoa whoa gotta stop this love from dyinhow can we be lovers if we cant be friends how can we start over when the fightin never ends baby how can we make love if we cant make amends how can we be lovers if we cant be cant be friendsbaby love is tough but we can take it baby times are rough but we can make it we can work it outhow can we be lovers if we cant be friends how can we start over when the fightin never ends baby how can we make love if we cant make amends baby how can we be lovers if we cant be cant be friendshow can we be lovers if we cant be friends how can we start over when the fightin never ends how can we make love if we cant make amends how can we be lovers if we cant be cant be friendshow can we be lovers if we cant be friends how can we start over when the fightin never ends how can we make love if we cant make amends how can we be lovers if we cant be cant be friendshow can we be lovers if we cant be friends how can we start over when the fightin never ends how can we make love if we cant make amends how can we be lovers if we cant be cant be friends how can we be lovers ",1
53,"do you remember","phil collins",1990," we never talked about it but i hear the blame was mine id called you up to say im sorry but i wouldnt wanna waste your timecause i love you but i cant take any more theres a look i cant describe in your eyes we could try like weve tried before would you keep on telling me those liesdo you remember do you rememberthere seemed no way to make up because it seemed your mind was set and the way you looked and told me thats a look i know ill never forgetyou couldve come over to my side you couldve let me know you couldve tried to see that distance between us but it seemed too far for you to godo you remember do you rememberthrough all of my life in spite of all the pain you know people are funny sometimes cause they just cant wait to get hurt againtell me do you rememberthere are things we wont recall and feelings well never find its taken so long to see it cause we never seemed to have the timethere was always something more important to do more important to say but i love you wasnt one of those things and now its too latedo you remember tell me do you rememberdo you remember tell me do you remember tell me now tell me now tell me now tell me now do you rememberdo you do you do you do you do you remember do you rememberdo you remember now its over do you remember ooh its over  ",1
54,"ready or not","after 7",1990," ill give you the sun the rain the moon the stars and the mountains ill give you the world and all that you wish for and even more girl i love you more than you could know and thats for sureid climb the highest hill cross the widest sea nothin could discourage me and i pray that youll be always there for me forevermoreready or not ill give you everything and more all that ive got its yours ill give you everything all that youre looking forill give you my heart my soul my time my love is a fountain i will be your earth and all that you need for and even more cause girl i love you more than words can show my love is pureill ill walk a thousand miles sail a thousand seas nothin will discourage me and i pray that you will be always there for me forevermoreready or not ill give you everything and more all that ive got ill give you everything all that youre looking foreverything is not anything if youre not here to share my dreams you dont know what it means to me if youll accept my lovei dedicate my love my soul my heart beats for you girl i cant get enough so ill wait for your love theres nothin that id rather doready or not ill give you everything and more all that ive got ill give you everything all that youre looking forready or not ill give you everything and more all that ive got ill give you everything all that youre looking forready or not ill give you everything and more  ",1
55,"u cant touch this","mc hammer",1990," cant touch this cant touch this cant touch this ohoh oh oh ohohoh cant touch this ohoh oh oh ohohohmymymymy music makes me so hard makes me say oh my lord thank you for blessing me with a mind to rhyme and two hype feet thats good when you know youre down a super dope homeboy from the oaktown and im known as such and this is a beat uh u cant touchi told you homeboy u cant touch this yeah thats how were livin and you know u cant touch this look in my eyes man u cant touch this you know let me bust the funky lyrics u cant touch thisfresh new kicks and pants you got it like that now you know you wanna dance so move out of your seat and get a fly girl and catch this beat while its rollin hold on pump a little bit and let me know its going on like that like that cold on a mission so pull on back let em know that youre too much and this is a beat uh u cant touchyo i told you u cant touch this why you standing there man u cant touch this yo sound the bells school is in sucker u cant touch thisgive me a song or rhythm making em sweat thats what im giving em now they know when you talk about the hammer you talk about a show thats hyped and tight singers are sweatin so pass them a mic or a tape to learn what its gonna take and now hes gonna burn the charts legit either work hard or you might as well quitthats word because you know cant touch this ohoh oh ohohoh cant touch this ohoh oh ohohoh break it down ohohohohohohohohoh ohoh ohohohohohohohohoh ohoh stop hammer timego with the flow in a spin if you cant move to this then you probably are dead so wave your hands in the air bust through the moves run your fingers through your hair this is it for a winner dance to this and youre gonna get thinner move slide your rump just for a minute lets all do the bump bump bump bump yeahcant touch this look man u cant touch this youll probably get hyped boy cause you know you cant u cant touch this ring the bell schools back in break it down ohohohohohohohohohohoh ohohohohohohohohohohoh stop hammer time ohoh oh oh ohohoh ohoh oh oh ohohoh ohoh ohoh ohoh ohoh ohoh oh oh ohohoh u cant touch this ohoh oh oh ohohoh u cant touch this ohoh oh oh ohohoh u cant touch this ohoh oh oh ohohoh break it down ohohohohohohohohohohoh ohohohohohohohohohohoh stop hammer timeevery time you see me that hammers just so hype im dope on the floor and im magic on the mic now why would i ever stop doing this with others makin records that just dont hit i toured around the world from london to the bank its hammer go hammer its a hammer yo hammer and the rest go and playcant touch this ohoh oh oh ohohoh cant touch this ohoh oh oh ohohoh cant touch this ohoh ohohoh yeah u cant touch this i told you u cant touch this ohoh ohohoh too hype cant touch this get me outta here u cant touch this ohohohohohohohohohohohoh ",1
56,"i wish it would rain down","phil collins",1990," you know i never meant to see you again but i only passed by as a friend yeah all this time i stayed out of sight i started wondering whynow i i wish it would rain down down on me ooh yes i wish it would rain rain down on me now ooh yes i wish it would rain down on me ooh yes i wish it would rain on meyou said you didnt need me in your life oh i guess you were right yeah ooh i never meant to cause you no pain but it looks like i did it againnow i now i know i wish it would rain down down on me ooh yes i wish it would rain rain down on me now ooh girl i wish it would rain down on me ooh yes i wish it would rain on methough your hurt is gone mines hanging on inside and i know its eating me through every night and day im just waiting on your signcause i know i know i never meant to cause you no pain and i realize i let you down but i know in my heart of heart of hearts i know im never gonna hold you againnow i now i know i wish it would rain down down on me oh you know i wish it would rain rain down on me now ooh yes i wish it would rain down on me yes you know i wish it would rain rain down on me just rain down on me ",1
57,"just between you and me","lou gramm",1990," staring at each other with accusing eyes keep our voices low dont act surprised if the word gets out yeah thats alrighti know youre just looking for some sympathy but listen you dont know how it gets back to me youre getting reckless girl but thats alrightnow dont you know that one cold word is going to lead to another and then well have nowhere to goeven if heaven and earth collide tonight well be all alone in a different light i dont care what the world cant see its just between you and mei see telltale signs of a love in decline there should be something to say but we dont take the time and i dont understand but thats alrightnow you can turn the page or you can tear me apart dont make an open book out of my private heart you should know better now but thats alrightdont you know that one cold word is going to lead to another and then well have nowhere to goeven if heaven and earth collide tonight well be all alone in a different light i dont care what the world can see because its just between you and meif we dont work this out we wont recover well lose this soulful love for one another but with all ive heard and all i seen im still lost in your mysterystaring at each other with accusing eyes keep our voices low dont act surprised if the word gets out yeah thats alrightdont you know that one cold word is going to lead to another and then well have nowhere to goeven if heaven and earth collide tonight well be all alone in a different light i dont care what the world can see because its just between you and me ",1
58,"something happened on the way to heaven","phil collins",1990," we had a life we had a love but you dont know what youve got til you lose it well that was then and this is now and i want you back how many times do i have to say im sorry yes im sorryhow can something so good go so bad how can something so right go so wrong i dont know i dont have all the answers but i want you back how many times can i say im sorryyou know you can run and you can hide but im now leaving less you come with me weve had our problems but im on your side youre all i need please believe in me oh yeahi only wanted someone to love but something happened on the way to heaven it got a hold of me and wouldnt let go and i want you back how many times do i have to say im sorry yes im sorryyou know you can run and you can hide but im not leaving less you come with me weve had our problems but im on your side youre all i need please believe meyou know you can run and you can hide but im not leaving till its all over weve had our problems but im on your side youre all i need let me show you they say you cant take it with you when you go and i believe it but taking what ive got or being here with you you know i id rather leave itwe had a life we had a love but you dont know what youve got til you lose it well that was then and this is now and i want you back how many times do i have to say im sorry yes im sorry you know you can run and you can hide but im not leaving less you come with me weve had our problems but im on your side youre all i need please believe in meyou can run and you can hide but im not leaving until its all over weve had our problems but im on your side youre all i need please believe in me ",1
59,"black cat","janet jackson",1990," one two three four all the lonely nights i spend alone never round to love me youre always gone cause youre hangin outbreakin the rules oh the man has come lookin for youyoure a rebel now dont give a damn always carrying on with the gangim tryin to tell ya boy its a mistake you wont realize til its too latedont understand why you insist on ways of living such a dangerous life time after time you stay away and i just know that youre telling me liesblack cat nine lives short days long nights livin on the edge not afraid to die heart beat real strong but not for long better watch your step or youre gonna dieyoure so together boy but just at a glance youll do anything if given the chancescheming plannin lies to get what you need so full of promises that you never keepdont you tell yourself that its okay sick and tired of all of your gamesand you want me to stay aww better change makes no sense to me your crazy waysdont understand why you insist on ways of living such a dangerous life time after time you stay away and i just know that youre telling me liesnot afraid to dieblack cat black cat short days long nights livin on the edge dont understand why you insist on ways of living such a dangerous life time after time you stay away and i just know that youre telling me liesblack cat nine lives short days long nights livin on the edge not afraid to die heart beat real strong but not for long better watch your step or youre gonna dieblack cat nine lives short days long nights livin on the edge not afraid to die heart beat real strong but not for long better watch your step or youre gonna die ",1
60,"cant stop","after 7",1990," last night i had the time of my life its true oh last night i made love for the very first time with youi never knew love could be so sweet it never made a difference to me well well but ever since the day that you appeared im telling you youve made the difference now love is so clearand i cant stop cant stop how i feel im diggin on you you diggin on me we diggin on weand oh i cant stop cant stop how i feel im diggin on you you diggin on melast night you bought something special out of me ooh wee and for the first time girl you made my dream a reality indeedi never thought love was meant for me i was blind and could not see well well you bought about a love thats so sincere and im telling you youve made the difference now love is so sincereand i cant stop cant stop how i feel im diggin on you you diggin on me we diggin on weand i cant stop cant stop how i feel im diggin on you you diggin on me ooh girli cant stop im diggin on you you diggin on me we diggin on we girli cant stop im diggin on you you diggin on meyouve got me thinking that i need protection cause your love is so strong i dont wanna do wrong girl your love seems like its true protection you just give me a call and ill give you my allcant stop cant stop how i feel im diggin on you you diggin on me we diggin on we girlcant stop cant stop how i feel im diggin on you you diggin on meyou know i cant stop cant stop how i feel im diggin on you you diggin on me we diggin on we girloh i cant stop cant stop how i feel im diggin on you you diggin on mecant stop cant stop im diggin on you you diggin on me we diggin on we girlcant stop cant stop im diggin on you you diggin on me ",1
61,"janies got a gun","aerosmith",1990," dumb dumb dumb honey what have you done dumb dumb dumb its the sound of my gun dumb dumb dumb honey what have you done dumb dumb dumb its the soundjanies got a gun janies got a gun her whole worlds come undone from lookin straight at the sun what did her daddy do what did he put you through they said when janie was arrested they found him underneath a train but man he had it comin now that janies got a gun she aint never gonna be the samejanies got a gun janies got a gun her dog days just begun now everybody is on the run tell me now its untrue what did her daddy dohe jacked a little bitty baby the man has got to be insane they say the spell that he was under the lightning and the thunder knew that someone had to stop the rainrun away run away from the pain yeah yeah yeah yeah run away run away from the pain yeah yeah yeah yeah yeah yeah yeah run away run away run run awayjanies got a gun janies got a gun her dog days just begun now everybody is on the run what did her daddy doits janies last iou she had to take him down easy and put a bullet in his brain she said cause nobody believes me the man was such a sleaze he aint never gonna be the samerun away run away from the pain yeah yeah yeah yeah yeah run away run away from the pain yeah yeah yeah yeah yeah yeah yeah run away run away run run awayjanies got a gun janies got a gun janies got a gun everybody is on the runjanies got a gun her dog days just begun now everybody is on the run because janies got a gun janies got a gun her dog days just begun now everybody is on the run janies got a gun ",1
62,"the humpty dance","digital underground",1990,"all right stop whatcha doin cause im about to ruin the image and the style that ya used to i look funny but yo im makin money see so yo world i hope youre ready for me now gather round im the new fool in town and my sounds laid down by the underground i drink up all the hennessey ya got on ya shelf so just let me introduce myself my name is humpty pronounced with a umpty yo ladies oh how i like to hump thee and all the rappers in the top ten please allow me to bump thee im steppin tall yall and just like humpty dumpty youre gonna fall when the stereos pump me i like to rhyme i like my beats funky im spunky  i like my oatmeal lumpy im sick wit dis straight gangsta mack but sometimes i get ridiculous ill eat up all your crackers and your licorice hey yo fat girl cmere are ya ticklish yeah i called ya fat look at me im skinny it never stopped me from gettin busy im a freak  i like the girls with the boom i once got busy in a burger king bathroom im crazy allow me to amaze thee they say im ugly but it just dont faze me im still gettin in the girls pants and i even got my own dance the humpty dance is your chance to do the hump do the humpty hump come on and do the humpty hump do the humpty hump just watch me do the humpty hump do ya know what im doin doin the humpty hump do the humpty hump do the humpty hump people say yo humpty youre really funny lookin thats all right cause i get things cookin ya stare ya glare ya constantly try to compare me but ya cant get near me i give em more see and on the floor b all the girls they adore me oh yes ladies im really bein sincere cause in a 69 my humpty nose will tickle ya rear my nose is big uhuh im not ashamed big like a pickle im still gettin paid i get laid by the ladies ya know im in charge both how im livin and my nose is large i get stoopid i shoot an arrow like cupid i use a word that dont mean nothin like looptid i sang on do whutcha like and if ya missed it im the one who said just grab em in the biscuits also told ya that i like to bite well yeah i guess its obvious i also like to write all ya had to do was give humpty a chance and now im gonna do my dance the humpty dance is your chance to do the hump do the humpty hump come on and do the humpty hump do the humpty hump just watch me do the humpty hump do ya know what im doin doin the humpty hump do the humpty hump do the humpty hump oh yeah thats the break yall let me hear a little bit of that bass groove right here oh yeah now that i told ya a little bit about myself let me tell ya a little bit about this dance its real easy to do check it out first i limp to the side like my leg was broken shakin and twitchin kinda like i was smokin crazy wack funky people say ya look like mc hammer on crack humpty thats all right cause my bodys in motion its supposed to look like a fit or a convulsion anyone can play this game this is my dance yall humpty humps my name no two people will do it the same ya got it down when ya appear to be in pain humpin funkin jumpin jig around shakin ya rump and when the dude a chump pump points a finger like a stump tell him step off im doin the hump the humpty dance is your chance to do the hump do the humpty hump come on and do the humpty hump do the humpty hump just watch me do the humpty hump do ya know what im doin doin the humpty hump do the humpty hump do the humpty hump black people do the humpty hump do the humpty hump white people do the humpty hump do the humpty hump puerto ricans do the humpty hump just keep on doin the hump samoans do the humpty hump do the humpty hump lets get stoopid the humpty dance is your chance to do the hump do the humpty hump come on and do the humpty hump do the humpty hump just watch me do the humpty hump do ya know what im doin doin the humpty hump do the humpty hump do the humpty hump oh yeah come on and break it down once again the underground is in the house id like to send a shout out to the whole world keep on doin the humpty dance and to the ladies peace and humptiness forever",3
63,"ill be your shelter","taylor dayne",1990," when theres clouds hangin in the sky and theyre just not lettin any light in and you feel like youd like to give in dont you give up so soonwhat you need is a friend to count on what you got baby you got someone who will stay when the rain is fallin an wont let it fall on youill see you through ill cover you with a love so deep and warm and true i will be therehoney ill be your shelter ill be the one to take you through the night whenever you need shelter ill make everything alright make everything alrightna na na na na na na na na na na na na na na na na na na na na na na nai got arms strong enough to hold you get you through anything you go through anything that you need you know its only a touch awaywhen your heart needs a heart beside it should be mine thats its keeping time with coz i got so much love inside it beats for you every dayill be the one to give you love when it seems like theres just not enough mine will be therehoney ill be your shelter ill be the one to take you through the night whenever you need shelter ill make everything alright make everything alrightna na na na na na na na na na na na na na na na na na na na na na na nana na na na na na na na na na na na na na na na na na na na na na na naill be your shelter ill be your shelter babyill see you through ill cover you with a love so deep and warm and true i will be therehoney ill be your shelter ill be the one to take you through the night whenever you need shelter ill make everything alright make everything alrightand ill be your shelter ill be the one to take you through the night whenever you need shelter ill make everything alright make everything alrightna na na na na na na na na na na na na na na na na na na na na na na na  ",1
64,"free fallin","tom petty",1990," shes a good girl loves her mama loves jesus and america too shes a good girl crazy bout elvis loves horses and her boyfriend tooits a long day living in reseda theres a freeway runnin through the yard and im a bad boy cause i dont even miss her im a bad boy for breakin her heartand im free free fallin yeah im free free fallinall the vampires walkin through the valley move west down ventura boulevard and all the bad boys are standing in the shadows all the good girls are home with broken heartsand im free free fallin yeah im free free fallin free fallin now im free fallin now im free fallin now im free fallin now imi want to glide down over mulholland i want to write her name in the sky gonna free fall out into nothin gonna leave this world for a whileand im free free fallin yeah im free free fallin ",1
65,"giving you the benefit","pebbles",1990," lately ive been trying to figure out your mind and why you keep dissin me poor little me and why you have a change of heart and turn it all around and then try to put it on me poor little mebut dont you know i could be a trip i could make things hard but baby i believe that you still got a heart thats why i try to stop myself before i start cause i could make it tough i could make it rough but i wontwell ill be givin you the benefit of the doubt givin you a minute to try to work it on out ill be givin you the benefit of the doubt and im givin you a minute to try to work it on out baby work it on work it on out work work work baby work it on work it on out work work workbaby how could you be hangin out on the town and claim that you missin me poor little me when you knew all the time that you couldve been with your home girl lovin and a kissin on me sweet little mebut dont you know if you wanna be a man you gotta work real hard if you wanna make me feel im like your number one and nothin in the world should make us part cause we can make it work if you take away the hurt from the heartwell ill be givin you the benefit of the doubt givin you a minute to try to work it on out ill be givin you the benefit of the doubt and im givin you a minute to try to work it on out baby work it on work it on out work work work work it baby work work work try to work it on work it on work it on work it on out work work work work it baby work work work keep tryin to work it on outi could be a trip but i choose not to deep inside of you i think theres still good in you boy dont give me no reason not to trust you just take the benefit dont give me no lip and ill be sweet to youwell ill be givin you the benefit of the doubt givin you a minute to try to work it on out ill be givin you the benefit of the doubt and im givin you a minute to try to work it on outill be givin you the benefit ill be givin it to you of the doubt givin you a minute to givin it to you try to work it on out ill be givin you the benefit ill be givin it to you of the doubt givin you a minute to givin it to you try to work it on outill be givin it to you boy i want to give it givin you the benefit givin it to you ooh i want to give it givin you the benefit ill be givin it to you boy i want to give it givin you the benefit givin it to you ooh i want to give it givin you the benefitill be givin you a minute or two to try and work it out i wanna work it baby ill be givin you a minute or two to try and work it out but dont you take too long babywell ill be givin you the benefit of the doubt givin you a minute to try to work it on out ill be givin you the benefit of the doubt and im givin you a minute to try to work it on outill be givin you the benefit ill be givin it to you of the doubt givin you a minute to givin it to you try to work it on out ill be givin you the benefit ill be givin it to you of the doubt givin you a minute to givin it to you try to work it on outill be givin it to you boy i want to give it givin you the benefit givin it to you ooh i want to give it givin you the benefit ill be givin it to you boy i want to give it givin you the benefit givin it to you ooh i want to give it givin you the benefit ",1
66,"enjoy the silence","depeche mode",1990," words like violence break the silence come crashing in into my little world painful to me pierce right through me cant you understand oh my little girl all i ever wanted all i ever needed is here in my arms words are very unnecessary they can only do harm vows are spoken to be broken feelings are intense words are trivial pleasures remain so does the pain words are meaningless and forgettable all i ever wanted all i ever needed is here in my arms words are very unnecessary they can only do harmall i ever wanted all i ever needed is here in my arms words are very unnecessary they can only do harm all i ever wanted all i ever needed is here in my arms words are very unnecessary they can only do harmenjoy the silence ",1
67,"love song","tesla",1990," so you think that its over that your love has finally reached the end any time you call night or day ill be right there for you if you need a friendits gonna take a little time time is sure to mend your broken heart dont you even worry pretty darlin i know youll find love again yeahlove is all around you love is knockin outside your door waitin for you is this love made just for two keep an open heart and youll find love again i knowlove is all around you yeah love is knockin outside your door waitin for you is this love made just for two keep an open heart and youll find love again i knowlove will find a way darlin love is gonna find a way find its way back to you love will find a wayso look around open your eyes love is gonna find a way love is gonna love is gonna find a way love will find a wayloves gonna find a way back to you yeah i know i know i know i know ",1
68,"price of love","bad english",1990," girl sometimes it seems to me that i dont say the things i should to you i act like im no goodand you wait for me patiently this house is not a home without you it takes two hearts to shareyour eyes will always see through me and bring me to my knees and i will always turn to you youre everything i needand through the good and bad times you have always been there we hold each other close you tell me its alright the nights we fight about it never dream of giving up thats the price of love oh yeahlove sometimes it makes us cry forgive me when i get it wrong sometimes its hard to be that strongand oh i would do anything for you id turn the stars around id find the way somehowthis time youll see ill build a bridge to you again love shines to sweep away the past were more than lovers more than friendsand through the good and bad times you have always been there we hold each other tight you tell me its alright the nights we fight about it never think of giving up thats the price of loveyour eyes will always see through me and bring me to my knees and i will always turn to you youre everything i needand through the good and bad times you have always been there we hold each other close you tell me its alright and sometimes i cant give enough thats the price of lovethats the price of love oh yeah thats the price of love thats the price of love of love ",1
69,"girls nite out","tyler collins",1990," im sick and tired of being left at home while the boys go out and leave us all alone yeah i wanna go out with my girlfriends and party all nite and this time you wont change my mind cause ive got my mind made up so dont wait up for meits that girls nite out women nite out and theres nothing you can say baby its that girls nite to play women nite to play so dont wait up for meyoure stepping out and were leaving all that troubles behind yeah yeah oh yeah ive got the girls and weve only got one thing on our mind where are we going tonitethe time is right so are you ready to party all nite and this time im leaving you behind cause ive got my mind made up so dont wait up for meits that girls nite out women nite out and theres nothing you can say baby its that girls nite to play women nite to play so dont wait up for mei like to party im outta here which the time has come for the boys to realize that is our turn to have some fun and its gonna be toniteits that girls nite out women nite out and theres nothing you can say baby its that girls nite to play women nite to play so dont wait up for me ",1
70,"king of wishful thinking","go west",1990," i dont need to fall at your feet just cause you cut me to the bone and i wont miss the way that you kiss me we were never carved in stone if i dont listen to the talk of the town then maybe i can fool myselfill get over you i know i will ill pretend my ships not sinking and ill tell myself im over you cause im the king of wishful thinking i am the king of wishful thinkingi refuse to give in to my blues thats not how its going to be and i deny the tears in my eyes cause i dont want to let you see no that you have made a hole in my heart and now ive got to fool myselfill get over you i know i will ill pretend my ships not sinking and ill tell myself im over you cause im the king of wishful thinking ill get over you i know i will ill pretend my ships not sinking and ill tell myself im over you cause im the king of wishful thinking king of wishful thinkingi will never never shed a tear for you ill get over you i know i willif i dont listen to the talk of the town then maybe i can fool myselfill get over you i know i will ill pretend my ships not sinking and ill tell myself im over you cause im the king of wishful thinking im the king of wishful thinkingill get over you i know i will you made a hole in my heart but i wont shed a tear for you ill be the king of wishful thinking ill get over you i know i will ill pretend my hearts still beating cause ive got no more tears for you im the king of wishful thinking ill get over you i know i will you made a hole in my heart and ill tell myself im over you cause im the king of wishful thinking ",1
71,"what kind of man would i be","chicago",1990," girl well its been one of those days again and it seems like the harder i try over and over im right back where i began but you understand oh girl when nothing else in this world goes right oh i just want to run to you you pull me through oh baby who wouldnt want to have you in their lifetell me what kind of man would i be living a life without any meaning and i know you could surely survive without me but if i had to live without you tell me what kind of man would i betimes when it was pointless for me to try i was more than a desperate man what seemed like forever was gone with one touch of your hand oh girl if i could count all the sleepless nights when you were there for me a fool could see oh baby once that i found you there was no letting gotell me what kind of man would i be living a life without any meaning and i know you could surely survive without me but if i had to live without you tell me what kind of man would i betell me what kind of man would i be living a life without any meaning and i know you could surely survive without me but if i had to live without you tell me what kind of man would i bewhat kind of man would i be living a life without any meaning and i know you could surely survive without me but if i had to live without you tell me what kind of man tell me what kind of man tell me what kind of man would i be tell me what kind of man would i be ",1
72,"i remember you","skid row",1990," woke up to the sound of pouring rain the wind would whisper and id think of you and all the tears you cried that called my name and when you needed me i came throughi paint a picture of the days gone by when love went blind and you would make me see id stare a lifetime into your eyes so that i knew you were there for me time after time you were there for meremember yesterday walking hand in hand love letters in the sand i remember you through the sleepless nights and every endless day id wanna hear you say i remember youwe spend the summer with the top rolled down wished ever after would be like this you said i love you babe without a sound i said id give my life for just one kiss id live for your smile and die for your kissremember yesterday walking hand in hand love letters in the sand i remember you through the sleepless nights and every endless day id wanna hear you say i remember youweve had our share of hard times but thats the price we paid and through it all we kept the promise that we made i swear youll never be lonelywoke up to the sound of pouring rain washed away a dream of you but nothing else could ever take you away cause youll always be my dream come true oh my darling i love youremember yesterday walking hand in hand love letters in the sand i remember you through the sleepless nights and every endless day id wanna hear you say i remember youremember yesterday walking hand in hand love letters in the sand i remember you through the sleepless nights and every endless day id wanna hear you say i remember you ",1
73,"get up before the night is over","technotronic featuring ya kid k",1990," get up on your feet before the night is through for you want miss get down to the beat pump it stomp it jam trip on thisget the party started get it on get a move on kids rock to the beat pump it stomp it jam trip on thisget up get up get busy do it get up and move that body get up people now get down to it before the night is over get up get up get busy do it i wanna see you party get up people now get down to it before the night is overget down get up get down get upone two ill party you three four so get your butt on the floor five six know you dig the mix seven eight let it shakeget down we got to take a stand now that were in demand party all night cut the fightdo whats right and you just might win a battle you never fought just by checkin this record you bought over and on and on again get with it and do that thingget up get up get busy do it get up and move that body get up people now get down to it before the night is over get up get up get busy do it i wanna see you party get up people now get down to it before the night is over ",1
74,"here we are","gloria estefan",1990," here we are face to face we forget time and place hold me now dont let go though it hurts and we both knowthe time we spend togethers gonna fly and everything you do to me is gonna feel so right baby when youre loving me i feel like i could cry cause theres nothing i can do to keep from loving you no no no no nohere we are all alone trembling hearts beating strong reaching out breathless kiss i never thought could feel like thisi want to stop the time from passing by i wanna close my eye sand feel your lips are touching mine baby when youre close to me i want you more each time and theres nothing i can do to keep from loving youtheres nothing i can do im helpless in your arms oh baby what you do im in love this is it theres no turning back this time no no nohere we are once again but this time were only friends funny world sometimes lies become the game when loves the prizeand though no one knows whats going on inside and all the love i feel for you is something i should hide when i have you close to me the feelings so sublime but theres nothing i can do to keep from loving you no no nocant keep from loving you baby no no no theres nothing i can do my baby cant keep from loving you ",1
75,"epic","faith no more",1990," can you feel it see it hear it today if you cant then it doesnt matter anyway you will never understand it cuz it happens too fast and it feels so good its like walking on glass its so cool its so hip its alright its so groovy its outta sight you can touch it smell it taste it so sweet but it makes no difference cuz it knocks you off your feetyou want it all but you cant have itits cryin bleedin lying on the floor so you lay down on it and you do it some more youve got to share it so you dare it then you bare it and you tear ityou want it all but you cant have it its in your face but you cant grab itits alive afraid a lie a sin its magic its tragic its a loss its a win its dark its moist its a bitter pain its sad it happened and its a shameyou want it all but you cant have it its in your face but you cant grab itwhat is it its it what is it its it what is it its it what is it its it what is itwhat is it its it what is it its it what is it its it what is ityou want it all but you cant have it its in your face but you cant grab itits it what is it its it what is it its it what is it its it what is it its it what is it its it what is it its it what is it its it what is it its it what is it its it what is it its it what is it its it what is it its it what is it its it what is it its it what is it its it what is it its it ",1
76,"love takes time","mariah carey",1990," i had it all but i let it slip away couldnt see that i treated you wrong now i wander around feeling down and cold trying to believe that youre gonelove takes time to heal when youre hurting so much couldnt see that i was blind to let you go i cant escape the pain inside cause love takes time i dont want to be here i dont wanna be here alonelosing my mind from this hollow in my heart suddenly im so incomplete lord im needing you now tell me how to stop the rain tears are falling down endlesslylove takes time to heal when youre hurting so much couldnt see that i was blind to let you go i cant escape the pain inside cause love takes time and i dont want to be here i dont wanna be here aloneyou might say that its over you might say that you dont care you might say you dont miss me you dont need me but i know that you do and i feel that you do insidelove takes time to heal when youre hurting so much couldnt see that i i was so blind to let you go i cant escape the pain inside cause love takes time i dont want to be there i dont wanna be there alone ",1
77,"just like jesse james","cher",1990," youre struttin into town like youre slingin a gun just a small town dude with a big city attitude honey are you lookin for some trouble tonight well alrightyou think youre so bad drive the women folk wild shoot em all down with the flash of your pearly smile honey but you met your match tonight oh thats rightyou think youll knock me off my feet til im flat on the floor til my heart is cryin indian and im begin for more so come on baby come on baby come on baby show me what that loaded gun is forif you can give it i can take it cause if this heart is gonna break its gonna take a lot to break it i know tonight somebodys gonna win the fight so if youre so tough come on and prove ityour heart is down for the count and you know youre gonna lose it tonight youre gonna go down in flames just like jesse jamesyoure an outlaw lover and im after your hide well you aint so strong wont be long til your hands are tied tonight im gonna take you in dead or alive thats rightyou break the laws of love in the name of desire take ten steps back cause im ready baby aim and fire baby theres nowhere you gonna run tonight ooh thats rightwell youve had your way with love but its the end of the day now a team of wild horses couldnt drag your heart awayso come on baby come on babycome on baby you know there aint nothing left to sayif you can give it i can take it cause if this heart is gonna break its gonna take a lot to break it i know tonight somebodys gonna win the fight so if youre so tough come on and prove ityour heart is down for the count and you know youre gonna lose it tonight youre gonna go down in flames just like jesse jamesyou think youll knock me off my feet til im flat on the floor til my heart is cryin indian and im begin for more so come on baby come on baby come on baby come onif you can give it i can take it cause if this heart is gonna break its gonna take a lot to break iti know tonight somebodys gonna win the fight so if youre so tough come on and prove it your heart is down for the count and you know youre gonna lose it tonight youre gonna go down in flames just like jesse james tonight youre gonna go down in flames just like jesse james tonight youre gonna go down in flames just like jesse jamesim gonna shoot ya down jesse james ",1
78,"love shack","the b52s",1990," if you see a faded sign by the side of the road that says fifteen miles to the love shack love shack yeah im headin down the atlanta highway lookin for the love getaway headed for the love getaway love getaway i got me a car its as big as a whale and were headin on down to the love shack i got me a chrysler it seats about twenty so hurry up and bring your jukebox moneythe love shack is a little old place where we can get together love shack baby a love shack baby love shack baby love shack love shack baby love shack love shack baby love shack love shack baby love shacksign says woo stay away fools cause love rules at the love shack well its set way back in the middle of a field just a funky old shack and i gotta get back glitter on the mattress glitter on the highway glitter on the front porch glitter on the hallwaythe love shack is a little old place where we can get together love shack baby love shack baby love shack thats where its at love shack thats where its athuggin and akissin dancin and alovin wearin next to nothing cause its hot as an oven the whole shack shimmies yeah the whole shack shimmies the whole shack shimmies when everybodys movin around and around and around and around everybodys movin everybodys groovin baby folks linin up outside just to get down everybodys movin everybodys groovin baby funky little shack funky little shackhop in my chrysler its as big as a whale and its about to set sail i got me a car it seats about twenty so come on and bring your jukebox moneythe love shack is a little old place where we can get together love shack baby a love shack baby love shack baby love shack love shack baby love shack love shack baby love shack oh baby thats where its at love shack baby love shack baby thats where its atbang bang bang on the door baby knock a little louder baby bang bang bang on the door baby i cant hear you bang bang bang on the door baby knock a little louder sugar bang bang bang on the door baby i cant hear youbang bang bang on the door baby knock a little louder bang bang on the door baby bang bang on the door baby bang bang on the door bang bang on the door baby bang bangyoure what tin roof rustedlove shack baby love shack love shack baby love shack love shack baby love shack love shack baby love shack ",1
79,"all or nothing","milli vanilli",1990," all or nothing push all or nothing girl let it be night after night it starts the same talking with my baby on lovers laneyoure real sweet and all a glow turn me on and then youre ready to go i ask her baby can i walk you home she says okay i hate to be aloneim dreaming youre smiling youre my girl my fantasy in this world nothing is wrong with being in love its a wonderful feeling from heaven abovesqueeze me please me turn me on i love you so much you can never go wrongi like your smile i like your touch all or nothing cos i want you so much im longing for your tender kiss baby i wanna tell you thisall or nothing push its got to be somethings gotta show when youre living under heat all or nothing push girl let it be take it from a pro whos rocking to the beatim under heat oh baby please take it slow give me some time and maybe our love will grow i wanna suit you baby and make it right take it from me babe i wanna rock all nightif its good for me its good for you you gotta never let your mood get dry just keep it wet and my 740 jet is pushing right on highyoure the girl of my dream youre making me hot youre looking good youre too hot to trot i wanna be with you through all the hours and shower you with all my flowersi like your smile i like your touch all or nothing cos i want you so much im longing for your tender kiss baby i wanna tell you thisall or nothing push its got to be somethings gotta show when youre living under heat all or nothing push girl let it be take it from a pro whos rocking to the beatim under heat oh baby please take it slow give me some time and maybe our love will grow i wanna suit you baby and make it right take it from me babe i wanna rock all nightall or nothing push its got to be somethings gotta show when youre living under heat all or nothing push girl let it be take it from a pro whos rocking to the beat ",1
80,"romeo","dino",1990,"i cant believe the way i fell in love with you girl you caught me by surprise a dream come true it was you i didnt even know your name now youve got me thinking boutcha every single day girl cant get you off my mind cupid shot his arrow in my heart and im not the same no no just like a fairytale i would sail oceans blue to get to you valentine please be mine i want you girl ill be your romeo i love you so i cant let go of these feelings in my heart i like the way you give me your affection every night girl you really turn me on it makes my day when you say youre never gonna let me go oh no now everything around me just reminds me more of you girl i miss you when youre gone cupids shot his arrow in my heart and theres something you should know just like the movie screen a love scene of me and you the things we do casanova move over i want you girl ill be your romeo i love you so i cant let go of these feelings in my heart ill be your romeo i love you so i cant let go of these feelings in my heart ill be your romeo i love you so i cant let go of these feelings in my heart ",3
81,"everybody everybody","black box",1990," everybody everybody everybody everybody everybody everybody everybody everybodyeverybody everybody everybody everybody everybody everybody everybody everybodyeverybody everybody everybody everybodyyou wont belong to me i let you down i walk around and see your night skyline i feel the light but you dont want to stay so lonely now just let me off downtownsad and free sad and free sad and free sad and freewhen i said it was over you aimed at my heart wont be long for im leavin all my love but ill feel it forever no sounds in my life you can call that no livin on my own so freeeverybody everybody everybody everybody everybody everybody everybody everybodyeverybody everybody everybody everybody everybody everybody everybody everybodyyou took me easy and then let me go i never was you see that cheatin kind you feel all right you never looked for me so long its time ive gotta get on bysad and free sad and free sad and free sad and freewhen i said it was over you aimed at my heart wont be long for im leavin all my love but ill feel it forever no sounds in my life you can call that no livin on my own so freeeverybody everybody everybody everybody everybody everybody everybody everybodyeverybody everybody everybody everybody everybody everybody everybody everybodyeverybody oh everybody oh everybody everybody everybodywhen i said it was over you aimed at my heart wont be long for im leavin all my love but ill feel it forever no sounds in my life you can call that no livin on my own so freeeverybody everybody everybody everybody everybody everybody  ",1
82,"i go to extremes","billy joel",1990," call me a joker call me a fool right at this moment im totally cool clear as a crystal sharp as a knife i feel like im in the prime of my life sometimes it feels like im going too fast i dont know how long this feeling will last maybe its only tonightdarling i dont know why i got to extremes too high or too low there aint no inbetweens and if i stand or i fall its all or nothing at all darling i dont know why i got to extremessometimes im tired sometimes im shot sometimes i dont know how much more ive got maybe im headed over the hill maybe ive set myself up for the kill tell me how much do you think you can take until the heart in you is starting to break sometimes it feels like it willdarling i dont know why i go to extremes too high or too low there aint no inbetweens you can be sure when im gone i wont be out there too long darling i dont know why i got to extremesout of the darkness into the light leaving the scene of the crime either im wrong or im perfectly right every time sometimes i lie awake night after night coming apart at the seams eager to please ready to fight why do i go to extremesand if i stand or i fall its all or nothing at alldarling i dont know why i go to extremes too high or too low there aint no inbetweens and if i stand of i fall its all or nothing at all darling i dont know why i go to extremesno i dont know why i go to extremes too high or too low there aint no inbetweens you can be sure when im gone i wont be out there too long darling i dont know why i go to extremes ",1
83,"whip appeal","babyface",1990," somebody told me thered be trouble at home cause we never talk a lot when we spend time alone so how are we supposed to know know when somethin is wrong well weve got a right to communicate it keeps a happy home and no one does it like me and no thats sure has that kind of whip appeal on mekeep on whippin on me work it on me whip all your sweet sad lovin me on me keep on whippin on me baby work it on me whip all your sweet sad lovin on mewhen we go to work how the day seems so long the only thing i think about cant wait till we get home cause we got a way of talking and its better than words its the strangest kind of relationship oh but with us it always works and no one does it like me and no one but you has that kind of whip appeal on mewhatever you want its alright with me cause youve got that whip appeal so work it on me its better than love sweet as can be youve got that whip appeal so whip it on me babekeep on whippin on me work it on me whip all your sweet sad lovin me on me keep on whippin on me who work it on me whip all your sweet sad lovin on me cause no one does it like me and no one but you has that kind of whip appeal on mewhatever you want its alright with me cause youve got that whip appeal so work it on me its better than love sweet as can be youve got that whip appeal so whip it on mewhatever you want its alright with me cause youve got that whip appeal so work it on me its better than love sweet as can be youve got that whip appeal so whip it on mewhatever you want its alright with me cause youve got that whip appeal so work it on me its better than love sweet as can be youve got that whip appeal so whip it on mewhatever you want its alright with me cause youve got that whip appeal so work it on me its better than love sweet as can be youve got that whip appeal so whip it on mekeep on whippin on me who work it on me whip all your sweet sweet lovin on me keep on whippin on me you work it on me whip all your sweet sweet lovin on me ",1
84,"oh girl","paul young",1990,"  ",1
85,"cmon and get my love","d mob featuring cathy dennis",1990,NA,NA
86,"its just the way that you love me","paula abdul",1990," it aint the clothes that you wear it aint the things that you buy it aint your house on the hill it aint the plane that you flyit aint your black limousine it aint your ninety foot yacht it aint the things that youll get it aint the things that you gotit aint the money or the diamond rings honey i aint impressed with your material thingsits the way that you love me its just the way that you love me its the way that you love me its just the way that you love meit aint your friends at the top it aint their fortune and fame it aint your heavy connections it aint the hollywood gameaint famous people or the parties they throw honey i aint impressed with all the people you knowits just the way that you love me in the heat of the night its just the way that you love me baby its just the way that you love me when youre loving me right its just the way that you love me babyits just the way that you love me and the things that you do its just the way that you love me baby its just the way that you love me make me crazy for you its just the way that you love meit aint the money or the diamond rings honey i aint impressed with those material thingsit aint the trips to brazil it aint the weekends in rome it aint the french riviera you know id rather stay homeaint the bahamas it aint monaco honey i aint impressed with all the places we goits just the way that you love me the way that you love me the way that you love me its just the way that you love methe way that you love me it aint the money its just the way that you love me or the diamond rings the way that you love me aint what you buy me baby its just the way that you love me aint material thingsthe way that you love me aint your maserati its just the way that you love me your house on the hill the way that you love me it aint the parties its just the way that you love me or the trips to brazil ",1
87,"we cant go wrong","the cover girls",1990," for so long i kept these feelings for you locked up inside and there were nights that i would cry myself to sleep and wonder whynow i dont wanna tell you how to live dont wanna put the blame but dont you think its time for you and i to try to make a changewe cant go wrong loving one another we cant go wrong caring for each otherwe cant go wrong if the love we have is real we cant go wrongthere was a time when things were better than the way they are today but we forgot the vows we made and love got lost along the way now i can tell just by the way you look at me that you feel the same so dont you think its time for you and i to try to make a changewe cant go wrong loving one another we cant go wrong caring for each otherwe cant go wrong if the love we have is real we cant go wrongwe cant go wrong loving one another we cant go wrong caring for each otherwe cant go wrong if the love we have is real we cant go wrongwe cant go wrong we cant go wrong we cant go wrong we cant go wrongwe cant go wrong we cant go wrong if the love we have is real ",1
88,"when im back on my feet again","michael bolton",1990," gonna break these chains around me gonna learn to fly again may be hard may be hard but ill do it when im back on my feet againsoon these tears will all be dryin soon these eyes will see the sun might take time might take time but ill see it when im back on my feet againwhen im back on my feet again ill walk proud down this street again and theyll all look at me again and theyll see that im strongoh gonna hear the children laughing gonna hear the voices sing wont be long wont be long till i hear them when im back on my feet againim gonna feel the sweet light of heaven shinin down its light on me one sweet day one sweet day i will feel it when im back on my feet againwhen im back on my feet again ill walk proud down this street again and theyll all look at me again and theyll see that im strong ohand im not gonna crawl again i will learn to stand tall again no im not gonna fall again cos ill learn to be strongsoon these tears will all be dryin soon these eyes will see the sun wont be long wont be long till i see it when im back on my feet again when im back on my feet again ill be back on my feet again ",1
89,"make you sweat","keith sweat",1990," ooh baby give it to me now girlcant nobody give it out for me and you yeah girl i wanna pull down the shades and the lights and do what i wanna do to hear it girlyou can tell me now baby i cant keep trying to play nice together oh girl before the night is over i bet i bet i can make you sweatyou say no i say yes girl i bet i can make you sweat you say no i say yes girl i bet i can make you sweatif you let me kiss you here and now ill do anything you want me to i wanna drive you wild baby let me tell you let me drive you wild babeyou say no i say yes girl i bet i can make you sweat you say no i say yes girl i bet i can make you sweatall alone tonight just me and you i wanna do you right and baby thats what i wanna do just put your arms in the air and ill kiss you everywhereyou say no i say yes girl i bet i can make you sweat you say no i say yes girl i bet i can make you sweatcome on baby youre doing something to me baby youre doing something real to me baby incomprehensibleyes ooh yes i say yes yes yes yes yes yes yes please yes oh yes yes yes yes yes yesmake you sweat all night long girl yeah just you and me come on just right now baby lets do it now come on come on baby come on lets do it now right now baby you you you all night long girlyou say no i say yes girl i bet i can make you sweat ",1
90,"this ones for the children","new kids on the block",1990," there are some people living in this world they have no food to eat they have no place to go but we all are gods children we have to learn to love one another just remember they could be us remember we all are brothersim not trying to darken up your day but help others in need and show them theres a better way this ones for the children the children of the world this ones for the children may god keep them in his thronemany people are happy and many people are sad some people have many things that others can only wish they had so for the sake of the children show them loves the only way to go cause theyre our tomorrow and people theyve got to knowim not trying to darken up your day but help others in need and show them theres a better way this ones for the children the children of the world this ones for the children may god keep them in his throne ",1
91,"what it takes","aerosmith",1990," there goes my old girlfriend theres another diamond ring and uh all those late night promises i guess they dont mean a thing so baby whats the story did you find another man is it easy to sleep in the bed that we made when you dont look back i guess the feelings start to fade away i used to feel your fire but now its cold inside and youre back on the street like you didnt miss a beat yeahtell me what it takes to let you go tell me how the pains supposed to go tell me how it is that you can sleep in the night without thinking you lost evrything that was good in your life to the toss of the dice tell me what it takes to let you go yeahgirl before i met you i was fine fine but your love made me a prisoner yeah my hearts been doing time you spent me up like money then you hung me out to dry it was easy to keep all your lies in disguise cause you had me in deep with the devil in your eyestell me what it takes to let you go tell me how the pains supposed to go tell me how it is that you can sleep in the night without thinking you lost evrything that was good in your life to the toss of the dice tell me what it takes to let you go guitartell me that youre happy that youre on your own yeah yeah yeah tell me that its better when youre all alone tell me that your body doesnt miss my touch tell me that my lovin didnt mean that much tell me you aint dyin when youre cryin for metell me what it takes to let you go tell me how the pains supposed to go uh tell me how it is that you can sleep in the night without thinkin you lost evrything that was good in your life to the toss of the dice tell me whos to blame for thinkin twice no no no no cause i dont wanna burn in paradise let go let go let go i dont wanna burn in paradise let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go i dont wanna burn i dont wanna burn let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go let it go ",1
92,"forever","kiss",1990," i gotta tell you what im feelin inside i could lie to myself but its true theres no denying when i look in your eyes girl im out of my head over you and i lived so long believin all love is blind but everything about you is tellin me this timeits forever this time i know and theres no doubt in my mind forever until my life is through girl ill be lovin you foreveri hear the echo of a promise i made when youre strong you can stand on your own but those words grow distant as i look at your face no i dont want to go it alone i never thought id lay my heart on the line but everything about you is tellin me this timeits forever this time i know and theres no doubt in my mind forever until my life is through girl ill be lovin you forever  yeahoooh i see my future when i look in your eyes it took your love to make my heart come alive cause i lived my life believin all love is blind but everything about you is tellin me this timeits forever this time i know and theres no doubt in my mind forever until my life is through girl ill be lovin you foreveroooh its forever this time i know and theres no doubt in my mind forever until my life is through girl ill be lovin you foreveryeah ",1
93,"jerk out","the time",1990," band uh i dont know its its just a thing with me you know if i see somethin that i like its a i have to go for it and i like what i see baby ah come herei got real bored on a friday night i couldnt find a damn thing to do so i pulled out a suit about the same color as my bmw i drove to the party and i stepped on in just to see what i could see everybody knew what i was lookin for i was lookin for some company thats rightjerk out jerkin everything in sight and you know that im talkin about the jerk out i got the cash i got the ride oh lord got to make some love tonight and you know i got the looki saw a real fine thing sittin by the bar she looked kinda all alone so i slid on over and i asked her name the stella was bad to the bonei showed her my stash and i kissed her cheek the only kind of rap it takes she knew i was bad when i jerked her to my ride she said how much money you make lets just say itll be more money than youll ever see in your lifetimejerk out jerkin everything in sight im talkin about the jerk out got to make some love tonightjerk it jerk it im talkin about the jerk it jerk it jerk out jerk it jerk it im talkin about the jerk it jerk it jerk outi took her to my crib and i laid her down her body felt kinda right maybe i was wrong but what the hell i figured that was what she likedi said baby dont get too comfortable cuz i really like to sleep alone leave your number on the table by my data bank i love you but you got to go whatjerk out you aint got to go home but you got to get the hell outta here jerkin everything in sight im talkin about the jerk out got to make some love tonight all nightjerk out  whats your number girl jerkin everything in sight in sight the master of the jerk out got to make some love tonight oh i got to make some lovejerk it jerk it im talkin about the jerk it jerk it jerk out jerk it jerk it im talkin about the jerk it jerk it jerk outso nasty cut them jesse oh sexy mejerk out oh thats right jerkin everything in sight you look so satisfied jerk out ha ha ha ha hiyi thats it got to make some love tonight got to make some love tonightjerk out ayi ayi please who ever told you you could sing ah yeah yeah baby jerk out jerome stop at the instant teller so i can get me some cash got to make some love to night yes fellas yall play somethin thats ityou know i think i feel the need fo a change cross over theres so many things we can do you like ah raviolios cherrios spaghettios you can just never have enough os uhjerk out hey oh jerkin everything in sight everybody jerk out no oh got to make some love to night whoajerk out dont you all just hate it when we walk in yalls joint jerkin everything in sight and just jerk out everything in sight dont it make you mad jerk out dont it make you mad got to make some love tonight itd make me madfellas yeah whats the move jerkin everything in sight uh fellas yeah whats the groove make a little love tonightthats right fellas yeah whats the move jerkin everything in sight huh fellas yeah whats the groove make a little love tonightlook out fellas yeah whats the move jerkin everything in sight ha fellas yeah whats the groove make a little love tonightfellas yeah whats the move jerkin everything in sight good god fellas yeah whats the groove make a little love tonightsomebody bring me a mirror what suit should i wear tonight if you think im cool youre right somebody say kool aid kool aid jerk it uhmake a little love tonight what jerkin everything in sight oh thats right make a little love tonight oh lord jerkin everything in sight thats frighteninmake a little love tonight we can do this jerkin everything in sight oh lord make a little love tonight fellas jerkin everything in sight yesmake a little love oh make a little love yeah make a little love tonight ha ha jerk out im the master of the jerk out ha thems your drawers morrisnow tell me somethin that i dont already know jb jerk out its just one of them things you know huh got to make some love tonight money clothes cars credit cards houses jerk out you know what im talkin about ha ha jerkin everything in sight whats he talkin aboutyou should see my home its so nice girl he is kinda sexy girl please oh well if youre not doin anything we could go there right now can my friend come oh id love that girluh that sure is a lovely blouse you have on thank you can i take it off no oh i just wanna oh i just wanna touch it stop so nice so nice no stop oh that was so nice ",1
94,"just a friend","biz markie",1990," have you ever met a girl that you tried to date but a year to make love she wanted you to wait let me tell ya a story of my situation i was talkin to this girl from the us nationthe way that i met her was on tour at a concert she had long hair and a short miniskirt i just got on stage drippin pourin with sweat i was walkin through the crowd and guess who i meti whispered in her ear come to the picture booth so i can ask you some questions to see if youre hundred proof i asked her her name she said blahblahblah she had 910 pants and a very big brai took a couple of flicks and she was enthused i said how do you like the show she said i was very amused i started throwin bass she started throwin back midrange but when i sprung the question she acted kind of strangethen when i asked do ya have a man she tried to pretend she said no i dont i only have a friend come on im not even goin for it this is what im goin singyou you got what i need but you say hes just a friend and you say hes just a friend oh baby you you got what i need but you say hes just a friend but you say hes just a friend oh baby you you got what i need but you say hes just a friend but you say hes just a friendso i took blahblahs word for it at this time i thought just havin a friend couldnt be no crime cause i have friends and thats a fact like agnes agatha germaine and jagforget about that lets go into the story about a girl named blahblahblah that adored me so we started talkin gettin familiar spendin a lot of time so we can build arelationship or some understanding how its gonna be in the future we was plannin everything sounded so dandy and sweet i had no idea i was in for a treatafter this was established everything was cool the tour was over and she went back to school i called every day to see how she was doin every time that i called her it seemed somethin was brewini called her room a guy picked up and then i called again i said yo who was that oh hes just a friend dont gimme that dont even gimme that just bust thisyou you got what i need but you say hes just a friend and you say hes just a friend oh baby you got what i need but you say hes just a friend but you say hes just a friend oh baby you got what i need but you say hes just a friend but you say hes just a friendso i came to her college on a surprise visit to see my girl that was so exquisite it was a school day i knew she was there the first semester of the school yeari went to a gate to ask where was her dorm this guy made me fill out a visitors form he told me where it was and i was on my way to see my baby doll i was happy to sayi arrived in front of the dormitory yo could you tell me where is door three they showed me where it was for the moment i didnt know i was in for such an eventso i came to her room and opened the door oh snap guess what i saw a fella tonguekissin my girl in the mouth i was so in shock my heart went down southso please listen to the message that i send dont ever talk to a girl who says she just has a friend ",1
95,"whole wide world","ame lorain",1990,"i always love a little mystery but now the tensions killing me no place left for words to hide i never thought it could be quite so tough lips once sealed are splitting up there aint no secrets to outshine father time chorus whispers in the dark dont do lets hit the lights now i just got to spread the news so what are you telling me what are you telling me what are you telling me what are you telling me i wanna tell the whole wide world about you i dont have any ifs oh no i am positive i wanna tell the whole wide world about you i wanna tell the whole wide world were never gonna be alone our love is stone hey too many words are too much a crowd i wanna spill em or theyll leak out im so glad to get the chance i kept it secret till i knew for sure so not to pick my heart off the floor now its time to take a stand heart in hand repeat chorus i wanna tell the whole wide world about you i wanna tell the whole wide world when i drop a tear oh yeah you are always here i wanna tell the whole wide world about you i wanna tell the whole wide world im looking at a living dream dont wake me up hey dont stop love me till you drop its all right with me one sharp arrow through the heart its all right its all right now whistle im gonna tell the whole wide world i will never give you up im gonna tell the whole wide world youre my one and only love repeat chorus what are you telling me now i wanna tell the whole wide world about you i wanna tell the whole world i wanna tell everybody youre my cup of tea i wanna tell the whole wide world about you i wanna tell the whole wide world your love never shakes oh yeah oh yeah oh yeah you dont alternate i wanna tell the whole wide world about you i wanna tell the whole world about my love smoke gets in my eyes i dont see other guys i wanna tell the whole wide world about you ill never give you up cause you are all i ever wanted our love will never tumble down its built on solid ground i wanna tell the whole wide world about you",5
96,"without you","m""otley cr""ue",1990,"without you theres no change my nights and days are gray if i reached out and touched the rain it wouldnt feel the same without you id be lost id slip down from the top slide down so low youd never know without you without you sailor lost at sea without you woman the world comes down on me without you in my life id slowly wilt and die but with you by my side youre the reason im alive but with you in my life youre the reason im alive but without you without you without you my hope is small let me be me all along you let the fires rage inside knowing someday id grow strong without you without you sailor lost at sea without you woman the world comes down on me without you in my life id slowly wilt and die but with you by my side youre the reason im alive but with you in my life youre the reason im alive but without you without you",3
97,"swing the mood","jive bunny and the mastermixers",1990,"cmon everybody  cccmon everybody 12 12 111123oclock 4 oclock rock 567 oclock 8 oclock rock 91011 oclock 12 oclock rock were gonna rock around the clock tonight well if you like my song join me oh well have some fun while the clock straights one  were gonna rock around the clock tonight were gonna rock rock rock til the broad daylight were gonna rock gonna rocking around the clock tonight rockrock rock rock everybody roll roll roll everybody rock rock rock everybody roll roll roll everybody rock rock rock everybody rocking to the groove with me wham wham wham wham bam babaluma whan wham bam babaluma wham bam babaluma balan bam bam bam wey bam wey bam weyweyweyweywey bam weyweyweyweyweyy wake up little susie wake up  wake up little susie wake up weve both been sound asleep wake up little susie and weep  the movies over its 4 oclock and were in trouble deep wake up little susie wake up little susie we gotta go home woohwoohwoohwoohwoohwoohwooh you aint nothing but a hound dog youre crying all the time you aint nothing but a hound dog crying all the time well you aint ever caught a rabbit and you aint no friend of mine shake shake shake shake rattle and roll i said shake rattle and roll i said shake rattle and roll i said shake rattle and roll oh with the bless of my soul  whats wrong with me  i met you like a man on a fuzzy tree my friend said im acting too wild as a bug  im in love im all shook up i once threw a party in the county jail the prison band was here they began to wail the band was jumpin and they jumped again and began to swing you shouldve heard the knock that jailbird sing lets rock everybody lets rock everybody everybody in the old cell block was dancin to the jailhouse rock ah ah ah ah wah ah ah ah rah ah ah ah dah ah ah ah nows the hop hop hop hop hop wham wham wham wham bam babaluma whan wham bam babaluma wham bam babaluma balan bam bam bam",3
98,"thieves in the temple","prince",1990," love come quick love come in a hurry there are thieves in the temple tonightthey dont care where they kick just as long as they hurt you there are thieves in the temple tonightlove if youre there come save me from all this cold despair i can hang when youre around but ill surely die if youre not therelove come quick love come in a hurry there are thieves in the temple tonighti feel like im looking for my soul soul like a poor man looking for gold gold there are thieves in the temple tonightvoices from the sky say rely on your best friend to pull you through but even if i wanted to i couldnt really truly cause my only friend is youcome onthere are thieves in the temple tonightkicking me in my heart tearing me all apart tearing me tearing me tearing me all apart cause me and you could have been a work of art thieves in the templebaby dont you know im holding on the best that i can love please help me be the better manbetter than the thieves in the temple in the temple tonightoh thieves in the temple tonight tonight hurt melove come quick love come in a hurry there are thieves in the temple tonightthieves in the templeyou said you loved me thieves in the temple you said i was your friend thieves in the temple you were supposed to take care of me love come quick thieves in the temple you lie love come lie in a hurry liethieves in the temple tonight ",1
99,"mentirosa","mellow man ace",1990,"santanas evil ways and no one to depend on played throughout verse 1 check this out baby tenemos tremendo lio last night you didnt go a la casa de tu tio huh resultase hey you were at a party higher than than the sky  emborrachada de bacardi no i wasnt i bet you didnt know que conoci al cantinero what he told me that you were drinking and wasting my dinero talking about come and enjoy what a woman gives a hombre but first of all see i have to know your nombre now i really wanna ask ya que si es verdad would i lie and please por favor tell me la verdad because i really need to know yeah necesito entender if youre gonna be a player or be my mujer cause right now youre just a liar a straight mentirosa who me today you tell me something y ma̱ana otra cosa santana samples verse 2 i remember the day que tu me decia time and time again que tu me querias i do and at the time hey yo te creia porque no sabia that you where a relambia you and fulanito y menganito joseito y fernandito larry and joey y then his brother chico uhuh mucho de frontera thats a straight skeeza si quieres un pedacito go her way cause shes a pleasa but ill tell ya straight up porque broder me di de cuenta that on main street her cuerpo estaba a la venta now get some el que quiera get some cualquiera hey yo she dont care man shes a tremenda fiera yeah youre hot to try and out to get what i got pero ya que te conosco what i got i guess not porque cause youre just a mentirosa con tu lengua venenosa today you tell me somethin y ma̱ana otra cosa dialogue mellowgirl i cant believe you  you know my mothers talking about me  my friends are talking about me not me about you girlabout me mellow youre nothing but a skeezer girl a skeezer dont be calling me no skeezer mellowssi eres tremenda fletera mami uhuh la verdad  girl uhuh eso es que tu te piensas mellow i bet you go to church and youre scared to confess girlno i do confess baby i do confess mellowuh huh do you tell the truth though girlyeah i do mellowyeah right girldo you mellowyeah youre nothing but a skeezer you know what  i got some other stories to say about you and it goes like this verse 3 un dia estaba en tu casa y ring there goes the phone recojiste y dijiste call me back im not alone el queria tu direccion yeah just your address y ante que colgaste i heard you say ill wear a dress ay alabao que descara is what ran through my mind so i said lets go out tonight  she said we go out all the time alabao man ella no sabia that yo i knew her plan de que iba a salir with that other man so i told the girl in spanish i said hey ya me voy pero porque cause you aint treating me like im some sucker toy cause who needs you anyway i need you con tu lengua venenosa no te vayes mellow no te vayes yo te necesito today you tell me something y manana otra cosa tsk but mentirosa",3
100,"tictactoe","kyper",1990,NA,NA
1,"everything i do i do it for you","bryan adams",1991," look into my eyes you will see what you mean to me search your heart search your soul and when you find me there youll search no moredont tell me its not worth tryin for you cant tell me its not worth dyin for you know its true everything i do i do it for youlook into your heart you will find theres nothin there to hide take me as i am take my life i would give it all i would sacrificedont tell me its not worth fightin for i cant help it theres nothin i want more you know its true everything i do i do it for you oh yeahtheres no love like your love and no other could give more love theres nowhere unless youre there all the time all the way yeahlook into your heart baby oh yeahoh you cant tell me its not worth tryin for i cant help it theres nothin i want moreyeah i would fight for you id lie for you walk the wire for you yeah id die for youyou know its true everything i do ohh i do it for youeverything i do darling we will see it through we will see it through yeah yeah just look into your heart you cant tell me youll die for love oh yeah ill be there im goin all the way all the way ",1
2,"i wanna sex you up","color me badd",1991," come inside take off your coat ill make you feel at home now lets pour a glass of wine cause now were all alone ive been waiting for you girl just let me hold you close to me cause ive been dying for you girl to make love to megirl you make me feel real good we can do it til we both wake up girl you know im hooked on you and this is what ill doi wanna sex you all night you make me feel good i wanna rub you down i wanna sex you uplet me take off all your clothes disconnect the phone so nobody knows let me light a candle so we can make it better makin love until we drowngirl you know it feels real good we can do it til we both wake up girl you know im hooked on you and this is what ill doi wanna sex you up makin love until we drown i wanna sex you upall i wanna do is i wanna sex you up all night girl you make me feel good i wanna rub you down i wanna sex you upmake sweet lovin all night long i wanna sex you up feels so right it cant be wrong dont be shy girl rescue me i wanna sex you up open up your heart and ill set you free ",1
3,"gonna make you sweat everybody dance now","cc music factory",1991," everybody dance now everybody dance now everybody dance now everybody dance now everybody dance now everybody dance nowda da da da da da da da da da da dada da da da da da da da da da da da everybody dance nowgive me the music give me the music everybodyhere is the dome back with the bass the jam is live in effect and i dont waste time on the mike with a dope rhyme jump to the rhythm jump jump to the rhythm jump and im here to combine beats and lyrics to make your shake your pants take a chance come on and dance guys grab a girl dont wait make her twirlits your world and im just a squirrel tryin to get a nut to move your butt to the dance floor so you whats up hands in the air come on say yeah everybody over here everybody over there the crowd is live and i pursue this groove party people in the house move move let your mind put me on linecome on lets sweat baby let the music take control let the rhythm move you sweat sweat let the music take control let the rhythm move you everybody dance nowcome on lets sweat baby let the music take control let the rhythm move you sweat sweat let the music take control let the rhythm move youeverybody everybody everybody everybody everybody dance nowda da da da da da da da da da da dada da da da da da da da da da dum everybody dance nowda da da da da da dum dum da da dum dum everybody dance nowpause take a breath and go for yours on my command now hit the dance floor its gonna make you sweat til you bleed is that dope enough indeed i paid the price i control the dice im more precise to the point im nice the music takes control your heart and soul unfold your body is free and a wholedance till you cant dance till you cant dance no more get on the floor and get raw then come back and upside down easy now let me see ya move move let your mind put me on line the music is my lifeeverybody dance now everybody dance now everybody dance now everybodycome on lets sweat baby let the music take control let the rhythm move you sweat sweat let the music take control let the rhythm move yousweat baby let the music take control let the rhythm move you sweat sweat let the music take control let the rhythm move yousweat baby let the music take control let the rhythm move you sweat sweat let the music take control let the rhythm move youda da dum dum da da dum dum ",1
4,"rush rush","paula abdul",1991," youre the whisper of a summer breeze youre the kiss that puts my soul at ease what im saying is im in to you heres my story and the story goes you give love you get love and more than heaven knows youre gonna see im gonna run im gonna try im gonna take this love right to ya all my heart all the joy oh baby baby pleaserush rush hurry hurry lover come to me rush rush i wanna see i wanna see ya get free with me rush rush i can feel it i can feel you all through me rush rush ooh what you do to meand all i want from you is what you are and even if youre right next to me youre still too far away if im not inside your arms i get dramatic baby yes i know but i need you i want you ooh man i love you so ooh ooh youre gonna see im gonna run im gonna try im gonna take this love right to ya all my heart all the joy ooh baby baby pleaserush rush hurry hurry lover come to me rush rush i wanna see i wanna see ya get free with me rush rush i can feel it i can feel you all through me rush rush ooh what you do to mewhen you kiss me up and down turn my senses all around oh baby oh baby i dont know just how or why but no one else has touched me so deep so deep so deep inside youre gonna see im gonna run im gonna try im gonna take this love right to ya all me heart all the joy oh baby baby pleaserush rush hurry hurry lover come to me rush rush i wanna see i wanna see ya get free with me rush rush i can feel it i can feel you all through me rush rush ooh what you do to merush rush hurry hurry lover come to me rush rush i wanna see i wanna see ya get free with me rush rush i can feel it i can feel you all through me rush rush ooh what you do to merush rush na na na na na na na rush rush na na na na na na na rush rush na na na na na na na rush rush na na na na na na na ",1
5,"one more try","timmy t",1991," its been a long time since you left me i didnt mean to make you cry i didnt mean to disappoint you i didnt mean to tell you liesand after all that we have been through wont you let me tell you whyone more try i didnt know how much i loved you one more try let me put my arms around you living all these lonely nights without you oh baby can we give it one more tryits been a long time since i kissed you it always used to feel so good and if you knew how much i missed you youd forgive me if you couldand now that we have found each other cant we give it one more try one more tryone more try i didnt know how much i loved you one more try let me put my arms around you living all these lonely nights without you oh baby can we give it one more tryand after all that we have been through wont you let me tell you why and now that we have found each other cant we give it one more try one more tryone more try i didnt know how much i loved you one more try let me put my arms around you living all these lonely nights without you oh baby can we give it one more tryoh girl you know i love you i just want you to know our love ill always treasure so please just dont let me go ",1
6,"unbelievable","emf",1991," you burden me with your questions youd have me tell no lies youre always asking what its all about now listen to my replies you say to me i dont talk enough but when i do im a fool these times ive spent ive realized im going to shoot through and leave youthe things you say your purple prose just gives you away the things you say youre unbelievable you burden me with your problems by telling me more than mine im always so concerned with the way you say youve always go to stop to think of us being one is more than i ever know but this time i realize im going to shoot through and leave youseemingly lastless dont mean you can ask us pushing down the relative bringing out your higher self think of the fine times pushing down the better few instead of bringing out the clues to what the world and everything anger to brace yourself with the grace of ease i know this world aint what it seems what the fuck was that its unbelievable ",1
7,"more than words","extreme",1991," sayin i love you is not the words i want to hear from you its not that i want you not to say it but if you only knew how easy it would be to show me how you feel more than words is all you have to do to make it real then you wouldnt have to say that you love me cause id already knowwhat would you do if my heart was torn in two more than words to show you feel that your love for me is real what would you say if i took those words away then you couldnt make things new just by saying i love youla di da blah di da da dada more than words lad di da da di danow that ive tried to talk to you and make you understand all you have to do is close your eyes and just reach out your hands and touch me hold me close dont ever let me go more than words is all i ever needed you to show then you wouldnt have to say that you love me cause id already knowwhat would you do if my heart was torn in two more than words to show you feel that your love for me is real what would you say if i took those words away then you couldnt make things new just by saying i love youla di da da di da di da da da more than words la di da da di da di da da da more than words la di da da di da di da da da more than words la di da da di da di da da dala di da da da damore than words ooooohhhhhhh ooooohhhhhhhmore than words ",1
8,"i like the way the kissing game","hifive",1991," i like the way i i like i like the way i like the wayall summer long weve been together and i never felt so good cuz when im with you youre such a good time yes it isand when you get next to me you make my heart beat fast you throw me bad when you smile and when were alone i know were in love cuz i cant get enough cuzi like the way you kiss me when were playing the kissing game i like the way you keep me looking forward to another dayweve got it good we have it all it seems were living dream yeah this is our time this wasnt meant to be just you and methis is still new were still young in heart and breakin too but i know our love will always be therei like the way you kiss me when were playing the kissing game i like the way you keep me looking forward to another day baby yeahi like the keep me looking forward to another day i like the way another day i like the oh i likei like the way the way you make me feel baby i like the way i like the way the way you love me babyi like the way you kiss me when were playing the kissing game oh my i like the way you keep me looking forward to another dayi like the way i like you you know you kiss me when were playing the kissing game i like the way i like it you keep me looking forward to another dayi like the way i like the way i like the way  ",1
9,"the first time","surface",1991," you know i wont forget the times we shared together holding hands and walking in the parksometimes well have to do it all again we were so happy then i have no regretscant you tell from the look on my face that i love you more todaythe first time i looked into your eyes i cried do you remember the first time we fell in loveyou looked into my eyes wiped the tears away the first time when we fell in lovealthough some time has passed i still remember just like it was yesterday but time is moving fastthe love i have for you time wont ever change ill always feel the same now until the endmemories we share will live forever deep inside my heart i know ill never forgetthe first time i looked into your eyes i cried do you remember the first time we fell in loveyou looked into my eyes wiped the tears away the first time when we fell in lovethe first time i looked into your eyes i cried do you remember the first time when we fell in loveyou looked into my eyes wiped the tears away the first time when we fell in love oh when we fell in love ",1
10,"baby baby","amy grant",1991," baby baby im taken with the notion to love you with the sweetest of devotionbaby baby my tender love will flow from the bluest sky to the deepest oceanstop for a minute baby im so glad youre mine yeah youre minebaby baby the stars are shining for you and just like me im sure that they adore youbaby baby go walking through the forest the birds above a singing you a chorusstop for a minute baby theyre so glad youre mine oh yeah and ever since the day you put my heart in motion baby i realize that theres just no getting over youbaby baby in any kind of weather im here for you always and foreverbaby baby no muscle man could sever my love for you is true and it will neverstop for a minute baby theyre so glad youre mine and ever since the day you put my heart in motion baby i realize that theres just no getting over youand ever since the day you put my heart in motion baby i realize that theres just no getting over you over youbaby baby always and forever baby im so glad that here for you baby so glad youre mine baby im so glad that when i think about you it makes me smile baby baby be mine baby im so glad that dont stop giving love dont stop no baby im so glad that youre mine baby im so glad baby im so glad that when i think about you it makes me smile ",1
11,"motownphilly","boyz ii men",1991," boyz ii men boyz ii men boyz ii men boyz ii menmotownphillys back again doin a little east coast fling boyz ii men going off not too hard not too softits long overdue but now philly is slammin boyz ii men abc bbd the east coast familynever skipped a beat na while cooling on south street jet black benz plenty of friends and all the philly steaks you could eatback in school we used to dream about this everyday could it really happen or do dreams fade away then we started singing them they said it sounded smooth so we started a group and here we are kickin it just for youmotownphillys back again doin a little east coast fling boyz ii men going off not too hard not too softthe spotlight is on us now watch us do this da da daaa da da da da da da da dalive and direct from philly town rap and hype and we can get down we are ready to roll so now the world will know that we wereback in school we used to dream about this everyday could it really happen or do dreams fade away then we started singing them they said it sounded smooth so we started a group and here we are kickin it just for youmotownphillys back again doin a little east coast fling boyz ii men going off not too hard not too softdoom doom doom da da doom doom doom da da da di da di da da da da daa daa daa doom doom doom da da doom doom doom da da da di da di da da da da daa daa daamotownphillys back again doin a little east coast fling boyz ii men going off not too hard not too soft ",1
12,"because i love you the postman song","stevie b",1991,"i got your letter from the postman just the other day and so i decided to write you this song just to let you know exactly the way i feel to let you know my loves so real because i love you ill do anything ill give you my heart my everything because i love you ill be right by your side to be a light to be your guide if you should feel that i dont really care and that youre starting to lose ground let me reassure you that you can count on me and that ill always be around because i love you my hearts an open door so wont you please come on in because i love you ill be right by your side to be a light to be your guide",3
13,"someday","mariah carey",1991," you were so blind to let me go you had it all but did not know no one youll find will ever be closer to all your dreams than me believing the grass would be greener you told yourself i just dont need her now but i know youll soon discover youre never satisfied with any othersomeday ooh someday the one you gave away will be the only one youre wishing for someday hey hey boy youre gonna pay cause baby im the one whos keeping scoreyoull change your mind and call my name soon as you find theyre all the same and when you find yourself alone dont come back crying you should have known believe me im not pretending its not hard to predict this ending now cause i know youll soon discover youre needing me in spite of all the otherssomeday ooh someday the one you gave away will be the only one youre wishing for someday hey hey boy youre gonna pay cause baby im the one whos keeping scoresomeday ooh someday the one you gave away will be the only one youre wishing for someday hey hey boy youre gonna pay cause baby im the one whos keeping scoremaybe now you just cant conceive that there will ever come a time when youre cold and lonely baby how could you ever believe that another could replace me the one and only but when your down in your time of need and youre thinking that you might be coming back to own me just think again cause i wont need your love anymoresomeday someday ooh someday the one you gave away will be the only one youre wishing for someday hey hey boy youre gonna pay cause baby im the one whos keeping scoresomeday ooh someday the one you gave away will be the only one youre wishing for someday hey hey boy youre gonna pay cause baby im the one whos keeping scoresomeday ooh someday the one you gave away will be the only one youre wishing for someday hey hey boy youre gonna pay cause baby im the one whos keeping score ",1
14,"high enough","damn yankees",1991," i dont wanna hear about it anymore its a shame ive got to live without you anymore oh theres a fire in my heart a pounding in my brain its driving me crazywe dont need to talk about it anymore yesterdays just a memory can we close the door i just made one mistake oh i didnt know what to say when you called me babydont say goodnight say youre gonna stay forever oh woah all the waycan you take me high enough can you fly me over yesterday can you take me high enough its never over woah woah woah woahi was running i was running for the door ooh yeah the next thing i remember i was running back for more yeah yeah yeah yeah yeahdont say goodnight say youre gonna stay forever oh woah all the way all the way all the way yeah yeahcan you take me high enough wont you fly me over yesterday can you take me high enough its never over yesterdays just a memory yesterdays just a memory ",1
15,"from a distance","bette midler",1991," from a distance the world looks blue and green and the snow capped mountains white from a distance the ocean meets the stream and the eagle takes to flightfrom a distance there is harmony and it echoes through the land its the voice of hope its the voice of peace its the voice of every manfrom a distance we all have enough and no one is in need and there are no guns no bombs and no disease no hungry mouths to feedfrom a distance we are instruments marching in a common band playing songs of hope playing songs of peace theyre the songs of every mangod is watching us god is watching us god is watching us from a distancefrom a distance you look like my friend even though we are at war from a distance i just cannot comprehend what all this fighting forfrom a distance there is harmony and it echoes through the land its the hope of hopes its the love of loves its the heart of every man every manits the hope of hopes its the love of loves this is the song of every manand god is watching us god is watching us god is watching us from a distance oh god is watching us god is watching god is watching us from a distance ",1
16,"all the man that i need","whitney houston",1991," i used to cry myself to sleep at night but that was all before he came i thought love had to hurt to turn out right but now hes here its not the same its not the samehe fills me up he gives me love more love than ive ever seen hes all ive got hes all ive got in this world but hes all the man that i needand in the morning when i kiss his eyes he takes me down and rocks me slow and in the evening when the moon is high he holds me close and wont let go he wont let gohe fills me up he gives me love more love than ive ever seen hes all ive got hes all ive got in this world but hes all the man that i needhe fills me up he gives me love more love than ive ever seen hes all ive got hes all ive got in this world but hes all the man that i needhe fills me up he gives me love more more more love more love more love more than ive ever seen hes all ive got hes all ive got in this world but hes all the man all the man ",1
17,"right here right now","jesus jones",1991," a woman on the radio talks about revolution when its already passed her by bob dylan didnt have this to sing about you you know it feels good to be alivei was alive and i waited waited i was alive and i waited for thisright here right now there is no other place i wanna be right here right now watching the world wake up from historyi saw the decade in when it seemed the world could change at the blink of an eye and if anything then theres your sign of the timesi was alive and i waited waited i was alive and i waited for this right here right nowi was alive and i waited waited i was alive and i waited for thisright here right now there is no other place i wanna be right here right now watching the world wake up from historyright here right now there is no other place i wanna be right here right now watching the world wake up from historyright here right now there is no other place i wanna be right here right now watching the world wake up ",1
18,"i adore mi amor","color me badd",1991," dream on dream away i think im gonna have to stay stay forever i adore mi amor i adore mi amoryou want to take her place you say youd treat me better better i know for sure you see she loves me and i could never leave her never baby neverchica tu cres me vida la ternuda y alegria amor y est sueno contigo sera verda yeah yeahdream on dream away i think im gonna have to stay stay forever i adore mi amor i adore mi amorlisten my love the girl of my dreams and i will never leave shes all that i need and more ill love her always what more could a man ask for what more could i ask foryou know that i really love my baby she can give me everything i need there is no one to take her place shes got my heart in her hands baby i adoredream on dream away i think im gonna have to stay stay forever i adore mi amor i adore mi amorforeign contentyou know i love you you know i need you girl i know that i really love my baby she can give me everything i need and there will never be a woman that can ever take her place shes got my heart in her handsyoure the lone that i adore ill love you forever more yeah youre the one that i want to see i want you to be with me ",1
19,"love will never do without you","janet jackson",1991," our friends think were opposites falling in and out of love they all said wed never last still we manage to stay together theres no easy explanation for it but whenever theres a problem we always work it out somehow work it out somehowthey said it wouldnt last we had to prove them wrong cause ive learned in the past that love will never do without youother guys have tried before to replace you as my lover never did i have a doubt boy its you i cant do without i feel better when i have you near me cause no other love around has quite the same ooh ooh ha ha ha like you do do do do babethey said it wouldnt last we had to prove them wrong cause ive learned in the past that love will never do without youdo without you love will never do without you do without youlove will never do never do without you love will never do never do without you love will never do never do without you love will never do never do without you never never do never never do without youwhat they said it they said it wouldnt last they said it they said it wouldnt last they said it they said it wouldnt last they said it if you believe in love say love will never do love will never do without you they said it wouldnt last we had to prove them wrong cause ive learned in the past that love will never do without you ",1
20,"good vibrations","marky mark and the funky bunch featuring loleatta holloway",1991," yeah can you feel it baby i can toocome on swing it come on swing it come on swing it come on swing it 1 2 3 now we come to the pay offits such a good vibration its such a sweet sensation its such a good vibration its such a sweet sensationyo its about that time to bring forth the rhythm and the rhyme im a get mine so get yours i wanna see sweat comin out your pores on the house tip is how im swinging this strictly hip hop boy i aint singing this bringing this to the entire nation black white red brown feel the vibrationcome on come on feel it feel it feel the vibrationits such a good vibration its such a sweet sensation its such a good vibration its such a sweet sensationthe vibrations good like sunkist many wanna know who done this marky mark and im here to move you rhymes will groove you and im here to prove to you that we can party on the positive side and pump positive vibes so come along for the ride making you feel the rhythm is my occupation so feel the vibration come on come on feel it feel it feel the vibrationits such a good vibration its such a sweet sensation its such a good vibration its such a sweet sensationdonnie d break it downdonnie ds on the back up drug free so put the crack up no need for speed im anti druggie my body is healthy and rhymes makes me wealthy and the funky bunch helps me to bring you a show with no intoxication come on feel the vibrationyeah can you feel it baby i can tooits such a good vibration its such a sweet sensation its such a good vibration its such a sweet sensationnow the time has come for you to get up the rest had you fed up but yo i wont let up on the rhythm and rhyme thats designed to make your behind move to what im inclined to pure hip hop no sell out if you aint in it to win it then get the hell out i command you to dance i wanna see motivation so come on now feel the vibrationits such a good vibration come on come on come on its such a sweet sensation feel it feel itits such a good vibration its such a sweet sensation its such a good vibration its such a sweet sensation ",1
21,"justify my love","madonna",1991," i want to kiss you in paris i want to hold your hand in rome i want to run naked in a rainstorm make love in a train crosscountry you put this in me so now what so now whatwanting needing waiting for you to justify my love my love hoping praying for you to justify my lovei want to know you not like that i dont want to be your mother i dont want to be your sister either i just want to be your lover i want to be your baby kiss me thats right kiss mewanting needing waiting for you to justify my love yearning burning for you to justify my lovewhat are you gonna do what are you gonna do talk to me tell me your dreams am i in them tell me your fears are you scared tell me your stories im not afraid of who you are we can flypoor is the man whose pleasures depend on the permission of another love me thats right love me i want to be your babywanting needing waiting for you to justify my love im open and ready for you to justify my love to justify my love wanting to justify waiting to justify my love praying to justify to justify my love to justify my love im open to justify my love my love ",1
22,"emotions","mariah carey",1991," youve got me feeling emotions deeper than ive ever dreamed of youve got me feeling emotions higher than the heavens abovei feel good i feel nice ive never felt so satisfied im in love im alive intoxicated flying high it feels like a dream when you touch me tenderly i dont know if its real but i like the way i feel insideyouve got me feeling emotions deeper than ive ever dreamed of youve got me feeling emotions higher than the heavens abovein the morning when i rise you are the first thing on my mind and in the middle of the night i feel your heartbeat next to mine it feels like a dream when you love me tenderly i dont know if youre for real but i like the way i feel insideyouve got me feeling emotions deeper than ive ever dreamed of youve got me feeling emotions higher than the heavens aboveyouve got me feeling emotions deeper than ive ever dreamed of youve got me feeling emotions higher than the heavens aboveyou know the way to make me lose control when youre looking into my eyes you make me feel so highyouve got me feeling emotions deeper than ive ever dreamed of youve got me feeling emotions higher than the heavens aboveyouve got me feeling emotions yes you do youve got me feeling emotions yeahyouve got me feeling higher ",1
23,"joyride","roxette",1991," come on join the joy ride everybody get your tickets here step right this wayhello you fool i love you cmon join the joyridei hit the road out of nowhere i had to jump in my car and be a rider in a love game following the stars dont need no book of wisdom i get no money talk at allshe has a train goin downtown shes got a club on the moon but shes tellin all her secrets in a wonderful balloon shes the heart of the fun fair shes got me whistlin her private tuneand it all begins where it ends and shes all mine my magic friendshe says hello you fool i love you cmon join the joyride join the joyrideshes a flower i can paint her shes a child of the sun were a part of this together could never turn around and run dont need no fortune teller to know where my lucky love belongs oh nocos it all begins again when it ends yeah and were all magic friends magic friends magic friendsshe says hello you fool i love you cmon join the joyride join the joyrideshe says hello you fool i love you cmon join the joyride be a joyride girl aowill take you on a sky ride a feelin like youre spellbound sunshine is a lady who rocks you like a babyshe says hello you fool i love you cmon join the joyride join the joyridehello you fool i love you cmon join the joyride join the joyridehello hello you fool i love you cmon cmon join the joyride be a joyride girl roxette ",1
24,"romantic","karyn white",1991," oh baby baby i wanna get romantic ohturn the lights down its time to get romantic light a candle its time to get romantic lets be romantictake me in your arms caress me gently oh i cant get enough oh thrill me say the word i will surrender to your poetic charm ohcause when the night falls i hear seductive voices sing romantic songs of love lets get intimateturn the lights down its time to get romantic do everything romantic now light a candle its time to get romantic the night has just begun so baby lets be romantickiss me i feel waves of steamy passion im burnin with desire baby free me from the heat my hearts on fire cause i still need your loveunder the moonlight with the stars shining so bright baby my mind is on love when we get home tonight ohturn the lights down oh baby its time to get romantic do everything romantic please light a candle its time to get romantic i wanna get i wanna get oh romanticturn the lights down turn the lights down low its time to get romantic do it do it do it do it oh me and you light a candle its time to get romantic just into me romantically yeahjust keep tellin me oh baby sweet ecstasy oh yeah whenever were all alone and i got this burnin flame thats in my heart cause i dont ever wanna stopbaby oh yeah romanticif you want romance you got to work it every change you get if you want romance you got to work it thats rightoh i i i i i wanna get romantic oh oh oh oh yeah yeahlets get romantic oh now lets fall in love lets get romantic make me surrender to your tender touch your tender touch do you remember i cant get enough oh oh baby love me lets be romantichey youre lookin so so tender its time to get romantic just say the word i will surrender lets be romanticall i need to say what would you like its time to get romantic ill give you my love love love love love lets be romantic oh babyturn the lights down turn the lights down low its time to get romantic do everything romantic now light a candle its time to get romantic ",1
25,"hold you tight","tara kemp",1991,"chorus just want to hold you tight all day all night just want to hold you tight x2 i look at you you look at me and then we smile knowing what were in for the kiss that you give makes me want you more and more were having the time of our lives and then you say that i will always be the one someone right for your dreams at night i wish we could be right here right now always touching and loving you so right chorus seeing you here by my side words come out that i cant hide youre an image of my dreams i need you and you need me too as long as we keep holding on ill be there for you chorus love your body your beauty i want more i want you to hold me love me squeeze me i need you to touch me please me tease me x2 chorus",3
26,"i dont wanna cry","mariah carey",1991," once again we sit in silence after all is said and done only emptiness inside us baby look what weve become we can make a million promises but we still wont change it isnt right to stay together when we only bring each other paini dont want to cry dont want to cry nothing in the world could take us back to where we used to be though ive given you my heart and soul given you my heart and soul i must find a way of letting go cause baby i dont want to crytoo far apart to bridge the distance but something keeps us hanging on and on pretending not to know the difference denying what we had is gone every moment were together is just breaking me down i know we swore it was forever but it hurts too much to stay aroundi dont want to cry dont want to cry nothing in the world could take us back to where we used to be though ive given you my heart and soul given you my heart and soul i must find a way of letting go cause baby i dont want to cryall the magics gone theres just a shadow of a memory something just went wrong we cant go on makebelieving on makebelievingcause i dont want to cry dont want to cry nothing in the world could take us back to where we used to be though ive given you my heart and soul given you my heart and soul ive given you my heart and soul given you my heart and soul i must find a way of letting go cause baby i dont want to cryi dont want to cry i dont want to cry ",1
27,"youre in love","wilson phillips",1991," open the door and come in im so glad to see you my friend i dont know how long it has been having those feelings again but now i see that youre so happy and ooh it just sets me free and id like to see us as good of friends as we used to be ahmy loveahyoure in love thats the way it sould be cause i want you to be happy youre in love and i know that youre not in love with me ooh its enough for me to know that youre in love i can let you go cause i know that youre in lovesometimes its hard to believe that youre never coming back for me ive had this dream that youd always be by my side oh i couldve died but now i see that youre so happy and ooh it just sets me free and id like to see us as good of friends as we used to be ahmy loveahyoure in love thats the way it sould be cause i want you to be happy youre in love and i know that youre not in love with me ooh its enough for me to know that youre in love i can let you go cause i know that youre in lovei tried to find you but you were so far away i was praying that fate would bring you back to me someday someday someday ooh youre in loveooh its enough for me to know that youre in love now ill let you go cause i know that youre in loveno no no no no no no no ooh ",1
28,"every heartbeat","amy grant",1991," hear me speak whats on my mind let me give this testimony reaffirm that you will find that you are my one and onlyno exception to this rule im simple but im no fool ive got a witness happy to say every hour every dayevery heartbeat bears your name loud and clear they stake my claim my red blood runs true blue and every heartbeat belongs to youclassic case of boy meets girl moving in the same direction youre not asking for the world im not asking for perfectionjust a love thats well designed for passing the test of time im here to tell you im here to stay every hour every dayevery heartbeat bears your name loud and clear they stake my claim ask anyone and theyll tell you its true that every heartbeat belongs to youevery heartbeat bears your name loud and clear they stake my claim yeah my red blood runs true blue and every heartbeat belongs to youyeah sure maybe im on the edge but i love you baby and like i said im here to tell you im here to stay every hour every dayevery heartbeat bears your name loud and clear they stake my claim ask anyone and theyll tell you its true and every heartbeat belongs to youevery heartbeat bears your name loud and clear they stake my claim yeah my red blood runs true blue every heartbeat belongs to youevery heartbeat belongs to youevery heartbeat bears your name loud and clear they stake my claim ask anyone and theyll tell you its true that every heartbeat belongs to you ",1
29,"sensitivity","ralph tresvant",1991," listen baby dont even waste your tears on an insensitive man theres better things for ya i mean what you really need is someone who cares someone whos gonna be there for you someone like me baby someone with sensitivity ooh do you understand do you feel it hey ooh nah nah nah nahgirl i know its been hard since he went away and left you so sad you cry every day let me kiss your tears erase all your doubt cause for you im here you wont be without lovelisten baby dont need a man thatll give you money no come on let me show you just what you need honey i got what you need dont need a man thatll treat you funny ooh you need a man with sensitivity a man like mesomeone who can love you someone who will need you someone who will treat you right like me girl someone you can hold at night someone stable in your life oh baby you need a man with sensitivity a man like mebaby honey there aint another man ah you know you know honey like i do baby hang in there hang on in there baby oh you need a man with sensitivity a man like meyou see you need someone whos there like a gentleman if anybody can fit the description baby i can someone who cares and dares to give himself completely you got it in me you need a man with sensitivityyou need a man not any man warm and sensitive thats what i can give you need a man not any man warm and sensitive thats what i can give you need a man not any man warm and sensitive im a gentleman thats what i can giveman man with man sensitivity man a man like medont need a man thatll give you money dont need a man ooh come on let me show you just what you need honey oh i got what you need dont need a man thatll treat you funny oh im a gentleman at heart you need a man with sensitivity a man like mebaby a little love for me save it baby sensitivity baby i got what you need i got it sensitivity save a little love for me save your love for me yeah sensitivityman with hold on sensitivity hold on babe a man like mehold on my darlin hang on in there baby everything gonna be all right dont let in doubt ill erase all your doubts hold on my darlin im here for you baby no matter what man with sensitivity its okay a man like medont need a man thatll give you money dont need a man thatll no oh sugar no dont need a man thatll treat you funny dont need a man thatll oh sugar no dont need a man thatll give you money dont need a man thatll gentleman ah sugar no no no no ",1
30,"touch me all night long","cathy dennis",1991,"were starting it over were making way for destiny a time to turnover a better life for you and me a new recreation to channel all this energy lets solve the equation i need to feel you close to me so baby let your conscience go theres no turning back when love takes hold hold me baby drive me crazy touch me all night long make me love you kiss and hug you touch me all night long the more that i see you the more i know that love belongs with you in my mind boy i wouldnt know whats right from wrong cause love will takeover and leave you out of sight and mind youve got to go with the feeling and trust fate to be kind and baby let your conscience go theres no turning back when love takes hold hold me baby drive me crazy touch me all night long make me love you kiss and hug you touch me all night long hold me baby drive me crazy touch me all night long make me love you kiss and hug you touch me all night long and baby let your conscience go theres no turning back once love gets hold hold me baby drive me crazy touch me all night long make me love you kiss and hug you touch me all night long hold me baby drive me crazy touch me all night long make me love you kiss and hug you touch me all night long hold me baby drive me crazy touch me all night long",3
31,"ive been thinking about you","londonbeat",1991,"londonbeat miscellaneous ive been thinking about you we must have been stone crazy when we thought we were just friends cause i miss you baby and ive got those feelings again i guess im all confused about you chorus i feel so in love  oh baby what can i do ive been thinking about you ive been thinking about you ive been thinking about you ive been thinking about you shipowpow suddenly were strangers i watch you walking away she was my one temptation oh i did not want her to stay deep down im still confused about you chorus what good is being here without you chorus repeat and fade",3
32,"do anything","natural selection",1991,"feat niki harris oh yeah  whatcha gonna do for me  whatcha gonna do for my love  just cant  just cant get  just cant get enough  talk to me  hey i really love you  love you so so much  put my lady next to you  to always feel your touch  every little thing you do  seems to turn me on  even when youre talking nasty to me  over the telephone  honey ill stay up late for you  and wait for your call  buzz me up at 5 am  and i dont mind at all  cause ill do anything for your loving  yes will ill do anything  but with a serious step are you qualified  just cant  just cant get  just cant get enough  talk to me  first thing in the morning  ill be at your door  o tough  all day long and  all night strong  just cant get enough  honey if you let me start you up  we can begin  i play your game  every time  baby wont you let me win  cause ill do anything for your loving  do anything for your loving or would you send me off like a third class lover  do anything for your loving til the break of dawn  do anything for your loving baby on  just cant  just cant get  just cant get enough  talk to me  you got to know  the way i feel  is for real  its everlasting  me what you need  and ill take heed  and lead you in the right direction for affection  see what im saying  i aint playin  stop delayin girl  and make me your natural selection  ha ha ha ha  youre crazy  i dont know about you  but i think i like you  do anything for your lovin  could you find the time to make me yours  take me out and rock the floors  give me every little bit of your loves what i said  make it smooth to the groove  like sandwich bread  well its you for me  and me for you  theres not one thing  i wouldnt do  hey ill do most anything  you and me were meant to swing  swing  do do dodo  just cant  just cant get  guess what  just cant get enough  i want to be your baby  just cant  just cant get  just cant get enough",3
33,"losing my religion","rem",1991," life is bigger its bigger and you you are not me the lengths that i will go to the distance in your eyes oh no ive said too much i set it upthats me in the corner thats me in the spotlight losing my religion trying to keep up with you and i dont know if i can do it oh no ive said too much i havent said enoughi thought that i heard you laughing i thought that i heard you sing i think i thought i saw you tryevery whisper of every waking hour im choosing my confessions trying to keep an eye on you like a hurt lost and blinded fool oh no ive said too much i set it upconsider this the hint of the century consider this the slip that brought me to my knees failed what if all these fantasies come flailing around now ive said too muchi thought that i heard you laughing i thought that i heard you sing i think i thought i saw you trybut that was just a dream that was just a dreamthats me in the corner thats me in the spotlight losing my religion trying to keep up with you and i dont know if i can do it oh no ive said too much i havent said enoughi thought that i heard you laughing i thought that i heard you sing i think i thought i saw you trybut that was just a dream try cry why try that was just a dream just a dream just a dream dream ",1
34,"coming out of the dark","gloria estefan",1991," why be afraid if im not alone though life is never easy the rest is unknown up to now for me its been hands against stone spent each and every moment searching for what to believecoming out of the dark i finally see the light now its shining on me coming out of the dark i know the love that saved me youre sharing with mestarting again is part of the plan and ill be so much stronger holding your hand step by step ill make it through i know i can it may not make it easier but i have felt you near all the waycoming out of the dark i finally see the light now and its shining on me  i see the light i see the light see the light coming out of the dark i know the love that saved me youre sharing with meforever forever i stand on the rock of your love forever and ever ill stand on the rock cant nobody stop me from watching forever forever i stand on the rock of your love love is all it takes no matter what we facecoming out of the dark coming out of the dark i see the light i feel love shinning on me shining shining shining on me coming out of the dark i know the love that saved me youre sharing youre sharing with me sharing with me sharing with mecoming out of the dark making it into the light your love shining on me shining on me shining on me coming out of the dark i see the light i see the light shining shining shining on me shining shining coming out of the dark i see the light now yes i see the light ",1
35,"here we go","cc music factory",1991," guitar solo intro you all want this party started right you all want this party started  quickly right play that beat play that beat bang play that beat play that beat bang play that beat play that beat bang play that beat play that beat bang go go here we go go go here we go go go here we go go go here we go ahhhh freak out hit me slam it baby enter the jam the party is packed and i rapped girls wall to wall theres my man hanging out at the back till i cruise slide through the dance floor ive never seen the club so hyped before get off the mic if youre bored back to back front to front door to door everybody dance to the new sound rock and roll soul to soul i bring it down from the bottom to the top from the top to the bottom hmm ive got em people everywhere they jump they swing their hair they shake their derriere oh yeah so loosen your body and let me take control lets rock and roll here we go here we go here we go here we go here we go here we go here we go here we go here we go here we go were gonna rock and roll were gonna move this sound were gonna make a groove everybody move everybody movin yeah everybody move yeah ahhhh freak out whenever your at the club and dance to rap or acid come on get with it thats it throw your hands in the air scream go go go rock and roll will go with the flow yo whenever you develop into a new form break the norm get warm and then swarm come back again give it up and then transform from bb king to bo diddly ed sullivan remember he sreamed to be seen with the beatles and the jackson five the who the doors the rolling stones even oz dibbled the bit to get rich helpin the dude who  the chick your parents dished back in the days the same way they dished this crap are you amazed so djs lets rock and roll guitar solo slip in da da da yeah heres that rock and roll rock must come and soul get em up and dance yeah were gonna rock and roll were gonna move this sound were gonna make a groove everybody move everybody movin yeah everybody move yeah get on up get on up get on up get on up get on up and dance yeah play that beat play that beat bang play that beat play that beat bangem go go go go go go go go go go go go go go freak out toward the dance floor thats where we all get raw like a kid in a candy store so get up get out of your seat and arise everybody everybody up and get live the c  c music factory is mastery and full of jams that has to be pumped till your ears get sore live from brooklyn out the the california sea shore we can give rock and roll to get on down with something funky with soul roby on bass deuce dick and i on two sticks spruced it mass produced it and you proofed it party people are you havin a good time singin along with my rhyme discos out for the young and took the old lets rock and roll here we go here we go here we go here we go here we go lets rock and roll here we go here we go here we go here we go here we go go ahead baby were gonna rock and roll were gonna move this sound were gonna make a groove everybody move everybody move yeah everybody move yeah go go here we go go go here we go were gonna rock and roll were gonna move this sound were gonna make a groove everybody move everybody move yeah everybody move yeah here we go here we go here we go here we go here we go were gonna rock and roll were gonna move this sound were gonna make a groove everybody move everybody move yeah everybody move yeah play that beat play that beat play that beat play that beat flute solo get on up and dance yeah rock and roll to please your soul rock and roll to please your soul rock and roll to please your soul more sexy rock and roll to please your soul ",1
36,"it aint over til its over","lenny kravitz",1991," here we are still together we are one so much time wasted playing games with loveso many tears ive cried so much pain inside but baby it aint over til its over so many years weve tried to keep our love alive but baby it aint over til its overhow many times did we give up but weve always worked things out but all my doubts and fears have kept me wondering yeah if id always always be in loveso many tears ive cried so much pain inside but baby it aint over til its over so many years weve tried and kept our love alive cause baby it aint over til its overooo hoo ooo ooo ooo ooo ooo hooso many tears ive cried so much pain inside baby it aint over til its over so many years weve tried and kept our love alive cause baby it aint over til its overso many tears ive cried so much pain inside but baby it aint over til its over so many years weve tried to keep our love alive cause baby it aint over til its over over over overso many tears weve cried so much pain inside but baby it aint over til its over so many years weve tried to keep our love alive cause baby it aint over til its over over over overyeah so many tears weve cried got a babys voice so much pain inside but a problem is there baby it aint over til its over over over over ",1
37,"where does my heart beat now","celine dion",1991," so much to believe in  we were lost in time everything i needed i feel in your eyes always thought of keepin your heart next to mine but now that seems so far away dont know how love could leave without a trace where do silent hearts gowhere does my heart beat now where is the sound that only echoes through the night where does my heart beat now i cant live without without feeling it inside where do all the lonely hearts gocandle in the water  drifting helplessly hiding from the thunder come and rescue me driven by hunger  of the endless dream im searching for the hand that i can hold im reaching for the arms that let me know where do silent hearts gowhere does my heart beat now where is the sound that only echoes through the night where does my heart beat now i cant live without without feeling it inside where do all the lonely hearts gowhere do all the lonely hearts gothen one touch overcomes the silence love still survives two hearts needing one another give me wings to flywhere does my heart beat now where is the sound that only echoes through the night where does my heart beat now i cant live without without feeling it insideive got someone to give my heart to feel it getting stronger and stronger and stronger and i feel inside hearts are made to last till the end of time ",1
38,"summertime","dj jazzy jeff  the fresh prince",1991,"summer summer summertime time to sit back and unwind here it is the groove slightly transformed just a bit of a break from the norm just a little somethin to break the monotony of all that hardcore dance that has gotten to be a little bit out of control its cool to dance but what about the groove that soothes that moves romance give me a soft subtle mix and if aint broke then dont try to fix it and think of the summers of the past adjust the base and let the alpine blast pop in my cd and let me run a rhyme and put your car on cruise and lay back cause this is summertime summer summer summertime time to sit back and unwind school is out and its a sort of a buzz a back then i didnt really know what it was but now i see what have of this the way that people respond to summer madness the weather is hot and girls are dressing less and checking out the fellas to tell em whos best riding around in your jeep or your benzos or in your nissan sitting on lorenzos back in philly we be out in the park a place called the plateau is where everybody goes guys out hunting and girls doing likewise honking at the honey in front of you with the light eyes she turn around to see what you beeping at its like the summers a natural aphrodisiac and with a pen and pad i compose this rhyme to hit you and get you equipped for the summer time summer summer summertime time to sit back and unwind its late in the day and i aint been on the court yet hustle to the mall to get me a short set yeah i got on sneaks but i need a new pair cause basketball courts in the summer got girls there the temperatures about 88 hop in the water plug just for old times sake break to ya crib change your clothes once more cause youre invited to a barbecue thats starting at 4 sitting with your friends cause yall reminicse about the days growing up and the first person you kiss and as i think back makes me wonder how the smell from a grill could spark up nostalgia all the kids playing out front little boys messin round with the girls playing doubledutch while the djs spinning a tune as the old folks dance at your family reunion then six oclock rolls around you just finished wiping your car down its time to cruise so you head to the summertime hangout it looks like a car show everybody come lookin real fine fresh from the barber shop or fly from the beauty salon every moment frontin and maxin chillin in the car they spent all day waxin leanin to the side but you cant speed through two miles an hour so everybody sees you theres an air of love and of happiness and this is the fresh princes new definition of summer madness summer summer summertime time to sit back and unwind",3
39,"wind of change","scorpions",1991,"follow the moskva and down to gorky park listening to the wind of change an august summer night soldiers passing by listening to the wind of change the world is closing in an did you ever think that we could be so close like brothers the futures in the air can feel it everywhere im blowing with the wind of change take me to the magic of the moment on a glory night where the children of tomorrow dream away   dream away in the wind of change hmm mmm walking down the street distant memories are buried in the past forever follow the moskva down to gorky park listening to the wind of change take me   take me to the magic of the moment on a glory night   the glory night where the children of tomorrow share their dreams   share their dreams with you and me   with you and me take me   take me to the magic of the moment on a glory night   the glory night where the children of tomorrow dream away   dream away in the wind of change   in the wind of change the wind of change blows straight into the face of time like a storm wind that will ring the freedom bell for peace of mind let your balalaika sing what my guitar wants to say   say take me   take me to the magic of the moment on a glory night   the glory night where the children of tomorrow share their dreams   share their dreams with you and me   with you and me take me   take me to the magic of the moment on a glory night   the glory night where the children of tomorrow dream away   dream away in the wind of change   in the wind of change",3
40,"passion","rythm syndicate",1991,NA,NA
41,"the promise of a new day","paula abdul",1991," eagles calling and hes calling your name tides are turning bringing winds of change why do i feel this way the promise of a new daythe promise promise of a new dayas through time the earth moves under my feet one step closer to make love complete what has the final say the promise of a new daythe promise promise of a new day the promise promise of a new daythe promise promise of a new day the promiseand so time over time what will change the world no one knows so the only promise is a day to live to give and share with one anothersee the wisdom from mistakes in our past hear the younger generation ask why do i feel this way the promise of a new daythe promise promise of a new day the promise promise of a new daythe promise promise of a new day the promise promise of a new daythe promise promise of a new day the promise promise of a new dayso time over time what will change the world no one knows so the only promise is a day to live to give and share with one anothereagles calling and hes calling your name tides are turning bringing winds of change why do i feel this way the promise of a new daythe promise promise of a new dayas through time the earth moves under my feet one step closer to make love complete what has the final say the promise of a new daythe promise promise of a new day the promise promise of a new daythe promise promise of a new day the promise promise of a new daysee the wisdom from mistakes in our past hear the younger generation ask what has the final say the promise of a new daythe promise promise of a new dayeagles calling and hes calling your name tides are turning bringing winds of change why do i feel this way the promise of a new daythe promise promise of a new day the promise promise of a new daythe promise promise of a new day the promise promise of a new daythe promise promise of a new day the promise promise of a new day  ",1
42,"im your baby tonight","whitney houston",1991," what else can i do boy my feelings for you baby you got a you got a way that youre makin me feel i could feel i could do any do anything yeahhurry up yeah babe you know eee hurry up you know baby you know whatevereverything your im your baby ecstasy fantasy im your baby whatever you want boy ill be your baby you can be a manecstasy ill be your baby tonight yeahhurry up yeah baby you know eee hurry up you know it baby you know whateverwhatever you want from me im your baby tonight youve given me ecstasy im your baby tonightfrom the moment i saw you i went outta my mind though i never believed in love at first sight but you got a magic boy that i just cant explain well you gotta you gotta way that you makin me feeli can do i can do anything for you baby ill be down for you baby lay all my cards out tonight just call on me baby ill be there in a hurry its your move so baby baby decidewhatever you want from me im giving you everything im your baby tonight youve given me ecstasy you are my fantasy im your baby tonightfrom the second you touched me i was ready to die ive never been fatal youre my first time i feel like an angel who just started to fly well you gotta you gotta way that you makin a me feeli can feel i can do anything for you baby i would fight for you baby hold on and enjoy the ride im not in no hurry we can fly all night baby its your move now baby baby lets flywhatever you want from me im giving you everything im your baby tonight youve given me ecstasy you are my fantasy im your baby tonightwhatever you want from me im giving you everything im your baby tonight youve given me ecstasy you are my fantasy im your baby tonightwhatever i do boy its all about you baby and aint it the truth boy im helplessly in love with you what else i can do boy but be there for you baby you gotta you gotta way that youre makin a me feel i can feel i can do any do anything yeahhurry up yeah baby you know eee hurry up you know baby you know whateverwhatever you want from me everything your im your baby youve given me ecstasy fantasy im your babywhatever you want from me whatever you want boy im your baby tonight ill be your baby you can be a man youve given me ecstasy im your baby tonightwhatever you want from me im giving you everything whatever you want boy im your baby tonight ill be your baby you can be a man youve given me ecstasy you are my fantasy you are boy im your baby tonight ",1
43,"love of a lifetime","firehouse",1991," i guess the time was right for us to say wed take our time and live our lives together day by day well make a wish and send it on a prayer we know our dreams can all come true with love that we can sharewith you i never wonder  will you be there for me with you i never wonder  youre the right one for mei finally found the love of a lifetime a love to last my whole life through i finally found the love of a lifetime forever in my heart i finally found the love of a lifetimewith every kiss our love is like brandnew and every star up in the sky was made for me and you still we both know that the road is long but we know that we will be together because our love is strong ",1
44,"fading like a flower every time you leave","roxette",1991," in a time where the sun descends alone i ran a long long way from home to find a heart thats made of stonei will try i just need a little time to get your face right out of my mind to see the world through different eyeseverytime i see you oh i try to hide away but when we meet it seems i cant let go everytime you leave the room i feel im fading like a flowertell me why when i scream theres no reply when i reach out theres nothing to find when i sleep i break down and cry cry yeaheverytime i see you oh i try to hide away but when we meet it seems i cant let go everytime you leave the room i feel im fading like a flowerfading like a rose fading like a rose beaten by the stormtalking to myself getting washed by the rain its such a cold cold town ooh its such a cold towneverytime i see you oh i try to hide away but when we meet it seems i cant let go everytime you leave the room i feel im fading like a flowereverytime i see you oh i try to hide away but when we meet it seems i cant let go everytime you leave the room i feel im fading like aeverytime i see you oh i try to hide away but when we meet it seems i cant let go everytime you leave the room i feel im fading like a flowereverytime you leave the room i feel im fading like a flower everytime i see youfading like a rose everytime you leave the room everytime i see you ",1
45,"this house","tracie spencer",1991,"where do we go from here what must we do to make that change its time to understand understand one another in a world so cold a place of disbelief where will the people go without enough to eat lets not give up hope we have to find a way search within our soul to make a better day this house is our house lets do it for the people its all in the hands of love this house is their house lets give back to the people the people of the world today i see hurt in their eyes i hear the sounds of voices cry its time to open our eyes time to help one another in a world so cold a place of disbelief where can the people go to find a place to sleep lets not give up hope we have to find a way search within our soul to make a better day this house is our house lets do it for the people its all in the hands of love this house is their house lets give back to the people the people of the world today you me we can make the difference and you know no one no one likes to be alone yeah we got to face it heart to heart we have to make a brand new start we got to change the tears to smiles we have to go the extra mile its time we face reality to give them hope and set them free i think its time we say goodbye to all the homeless peoples cry we got to face it heart to heart we have to make a brand new start we got to change the tears to smiles we have to go the extra mile its time we face reality to give them hope and set them free i think its time we say goodbye to all the homeless peoples cry weve got to take the time to search the mind to find this house our house its all in the hands of love i said its all in the hands of love this house is our house lets do it for the people its all in the hands of love this house is their house lets give back to the people the people of the world today this house is our house lets do it lets do it for the people its all in the hands of love this house is their house lets give back to the people the people of the world today this house is our house do it for the people its all in the hands of love this house is their house give back to the people yeah its all in the hands of love",3
46,"hole hearted","extreme",1991," lifes ambition occupies my time priorities confuse the mind happiness one step behind this inner peace ive yet to findrivers flow into the sea yet even the sea is not so full of me if im not blind why cant i see that a circle cant fit in where a square should betheres a hole in my heart that can only be filled by you and this hole in my heart cant be filled with the things i do hole hearted hole heartedthis heart of stone is where i hide these feet of clay kept warm inside day by day less satisfied not fade away before i dierivers flow into the sea yet even the sea is not so full of me if im not blind why cant i see that a circle cant fit in where a square should betheres a hole in my heart that can only be filled by you and this hole in my heart cant be filled with the things i dotheres a hole in my heart that can only be filled by you shouldve known from the start id fall short with the things i do hole hearted hole hearted hole hearted  ",1
47,"power of lovelove power","luther vandross",1991," when i say goodbye it is never for long cause i know our love still lives on it will be again exactly like it was cause i believe in the power of lovewhen youre close i can feel the power when its love i can always tell love for me is the best thing now its something that i know so wellhold me closer and every minute of every hour feel the power of love yeah hold me tighter and take me higher and feel the fire of the power of lovedid you know that your feelings show you thought your love was locked up inside but when your senses start to overload love is something you should never hideyouve got to believe in love its a feeling thats next to none cant stop until we are one with the power of lovetell everyone to try i promise youll reach the sky one thing that we cant deny is the power of loveso close your eyes and you can feel it comin straight from above its the power of love you cant deny it so dont even try it let the feelin sweep you off your feetyouve got to believe in love its a feeling thats next to none cant stop until we are one with the power of lovetell everyone you see how much better the world could be for them and for you for me with the power of loveooh ooh ooh youve got to feel the power yeah yeahso listen up and you will hear it a symphony from above its the power of love so glad weve found it now theres no way around it just let the feeling sweep you off your feetyouve got to believe in love its a feeling thats next to none cant stop until we are one with the power of lovetell everyone to try i promise youll reach the sky one thing that you cant deny is the power of lovewhen we walk down the street we dont care who we see or who we meet dont need to run dont need to hide cause weve got something burning inside yeahweve got love power its the greatest power of them all ooh ooh weve got love power and together we cant fallweve got love love power power its the greatest power of them all oh weve got love love we got all the power power and together we cant fall and all the good loveweve got love ooh weve got love power yes we do its the greatest power of them all weve got love love love love power and together together we cant fall well never fall if weve gotweve got love if weve got love power its the greatest power of them all weve got love tell the world we got love power tell the people about it and together we cant fall and its all because weve got weve gotweve got love love all of the power power oh its the greatest power of them all and if you believe me weve got more love love more of the power power and together we cant fall i know cant fallwe cant fall love when theres a love power power cause its the greatest power of them all ",1
48,"impulsive","wilson phillips",1991," the secret of love i thought i understood the way its supposed to be i never imagined you couldblow my theory apart but now youre running away with my hearti dont wanna think about it dont wanna think clear dont analyze what im doing herewanna be impulsive reckless and lose myself in your kissarrows through hearts drawn on a misty window youre taking me home in the rainmy heart its beating dont say no my head keeps saying take it slowi dont wanna think about it dont wanna think clear dont analyze what im doing herewanna be impulsive reckless and lose myself in your kissyoure giving me a feeling its a sudden rush acting on the moment spontaneousooh this is not like me to follow my heart so easily i am reckless impulsivei never imagined you could blow my theory apart but now youre running away with my heart my hearti dont wanna think about it dont wanna think clear dont analyze what im doing herewanna be impulsive reckless and lose myself in your kissyoure giving me a feeling its a sudden rush acting on the moment spontaneouswanna be impulsive reckless and lose myself in your kissimpulsive i wanna be impulsive im gonna be impulsive reckless and lose myself lose myself ",1
49,"love is a wonderful thing","michael bolton",1991," birds fly they dont think twice they simply spread their wings the sun shines it dont ask why or what the whole thing meansthe same applies to you and i we never question that so good its just understood aint no conjecture its just a matter of factlove is a wonderful thing make ya smile through the pouring rain love is a wonderful thing ill say it again and againturn your world into one sweet dream take your heart and make it sing love love love is a wonderful thing oh yeahthe only thing a river knows is runnin to the sea and every spring when a flower grows it happens naturallythe same magic when youre in my arms no logic can define oh no dont know why just feels so right i only know it happens every timelove is a wonderful thing make ya smile through the pouring rain love is a wonderful thing ill say it again and againturn your life into one sweet dream take your heart and make it sing love love love is a wonderful thingoh when the cold wind blows i know youre gonna be there to warm me thats what keeps me goin and our sweet love gonna keep on growin just keep on growinlove is a wonderful thing make ya smile through the pouring rain love is a wonderful thing oh yeah ill say it again and againand turn your world into one sweet dream take your heart and make it sing its love love love is a wonderful love love love is a wonderful love love love is a wonderful thinglove is a wonderful wonderful thing love is a wonderful wonderful thing love is a wonderful wonderful thing  ",1
50,"rhythm of my heart","rod stewart",1991," across the street the river runs down in the gutter life is slipping away let me still exist in another place running down under cover of a helicopter bladethe flames are getting higher in effigy burning down the bridges of my memory love may still alive somewhere someday where theyre downing only deer a hundred steel towns awayoh rhythm of my heart is beating like a drum with the words i love you rolling off my tongue no never will i roam for i know my place is home where the ocean meets the sky ill be sailingphotographs and kerosene light up my darkness light it up light it up i can still feel the touch of your thin blue jeans running down the alley ive got my eyes all over you baby oh babyoh the rhythm of my heart is beating like a drum with the words i love you rolling off my tongue no never will i roam for i know my place is home where the ocean meets the sky ill be sailingoh yeahoh ive got lightning in my veins shifting like the handle of a slot machine love may still exist in another place im just yanking back the handle no expression on my faceoh the rhythm of my heart is beating like a drum with the words i love you rolling off my tongue no never will i roam for i know my place is home where the ocean meets the sky ill be sailingoh the rhythm of my heart is beating like a drum with the words i love you rolling off my tongue no never will i roam for i know my place is home where the ocean meets the sky ill be sailingthe rhythm of my heart is beating like a drum with the words i love you rolling off my tongue no never will i roam for i know my place is home where the ocean meets the sky ill be sailing ",1
51,"things that make you go hmmm","cc music factory",1991," things that make you go hmmi was at the crib sittin by the fireplace drinkin cocoa on the bear skin rug the door bell rang who could it be thought to myself then started to shruggot to the door ding dong who is it my girls best friend had payed me a visit sly as can be tight dress and all she knew that i was faithful i really didnt have the galli tried to chill she made the move now i know my girlfriend wouldnt approve i didnt realize my girl was settin me up yo my girlfriend didnt trust me noyeah but she lost control i wouldnt take the bait i said chill baby baby chill baby baby wait my girl bust in caught us creatin a boom she said girlfriendthings that make you go hmm things that make you go hmm things that make you go hmm hey things that make you go hmm hmm hmm its the things that make you go oh oh ohheres how it started just an example of how another brother can trample ruin your life sleep with your wife watch your behindthere was a friend of mine named jay would come over late at night and say hey i watched the fight i thought is was alright cause me and jay who were really really tightso damned close we had the same blood type months went by and my wife got big we were havin a child and i got another gig so i let jay move into the crib and chillhe had his own room and helped pay the bills the time had come for the baby down to the scene it looked like jay and i couldnt believe before my eyes in the delivery roomthe things that make you go hmm things that make you go hmm the things that make you go hmm hmm hmm hmm the things that make you go hmm things that make you go hmm its the things that make you go hmm hmm hmm robbie rob break it downgive it to me give it to me give it to me give it to me give it to me give it to me give it to me give it to me give it to me give it to me give it to me give it to me give it to me give it to me give it to me give it to megive it to me give it to me give it to me give it to me give it to me give it to me give it to me give it to me give it to me give it to me give it to me give it to me give it to me give it to meseventeen and i was havin a ball eleventh grade and joe i knew it all i fall in love for the very first time with this girl she really blew my mindinner sense and whole lotta class style that could give you whiplash we said hello and my heart beat stopped she was the world and i was on toptime went by she filled my universe we made love she said i was the first my boy kept tellin me yo i dont know i think your girls been playin tic tac toeill ask my girl i know she only loves me wasnt i the one who took your virginity the look on her face read sorrow and gloom she said yeah why do you guys always ask thatthings that make you go hmm things that make you go hmm its the things that make you go hmm hmm hmm the things that make you go hmm things that make you go hmm its the things that make you go hmm hmm hmmhey ladies have you ever had a man go away for business come back with a tan comes home late at night from work you cooked him dinner now you feel like a jerksayin he didnt have time to eat and hes not even hungry he wants to retreat to the bedroom he said his head hurts youre only makin love in radical spurtsmysterious calls and the phone goes click you say to yourself im gonna hit him with a brick aint no way he could be cheatin on me i wonder who bought him those bvdsdressed to a t to hang with the fellas over the guys and im gettin jealous comin home late smellin like perfume fumethings that make you go hmm things that make you go hmm its the things that make you go oh oh oh the things that make you go hmm things that make you go hmm its the things that make you go hmm hmm hmmthings that make you go hmm its the things that make you go hmm hmm hmm things that make you go hmm its the things that make you go hmm hmm hmm things that make you go hmm its the things that make you go hmm hmm hmmthings that make you go hmm its the things that make you go hmm hmm hmm things that make you go hmm its the things that make you go hmm hmm hmm things that make you go hmm its the things that make you go hmm hmm hmm things that make you go hmm things that make you go hmm ",1
52,"i touch myself","divinyls",1991,"i love myself i want you to love me when im feelin down i want you above me i search myself i want you to find me i forget myself i want you to remind me i dont want anybody else when i think about you i touch myself i dont want anybody else oh no oh no oh no youre the one who makes me happy honey youre the sun who makes me shine when youre around im always laughing i want to make you mine i close my eyes and see you before me think i would die if you were to ignore me a fool could see just how much i adore you i get down on my knees id do anything for you i dont want anybody else when i think about you i touch myself i dont want anybody else oh no oh no oh no i love myself i want you to love me when im feelin down i want you above me i search myself i want you to find me i forget myself i want you to remind me i dont want anybody else when i think about you i touch myself i dont want anybody else oh no oh no oh no i want you i dont want anybody else and when i think about you i touch myself ooh oooh oooooh aaaaaah i dont want anybody else when i think about you i touch myself i dont want anybody else oh no oh no oh no",3
53,"toms diner","dna featuring suzanne vega",1991,"do do do do do i am sitting in the morning at the diner on the corner i am waiting at the counter for the man to pour the coffee and he fills it only halfway and before i even argue he is looking out the window at somebody coming in do do do do do it is always nice to see you says the man behind the counter to the woman who has come in she is shaking her umbrella and i look the other way as they are kissing their hellos and im pretending not to see them and instead i pour the milk do do do do do i open up the paper theres a story of an actor who had died while he was drinking it was no one i had heard of and im turning to the horoscope and looking for the funnies when im feeling someone watching me and so i raise my head do do do do do theres a woman on the outside looking inside does she see me no she does not really see me cause she sees her own reflection and im trying not to notice that shes hitching up her skirt and while shes straightening her stockings her hair has gotten wet do do do do do oh this rain it will continue through the morning as im listening to the bells of the cathedral i am thinking of your voice do do do do do",5
54,"iesha","another bad creation",1991," iesha iesha so glad to meetcha see you in the schoolyard strollin wit your techa the lil skirt you played was really fly she turned around and she winked her eyeso i stepped to her like i knew her the biv is cool but romell is cooler the bell rang cuz i started to talk yet the class is not there no moreyo red whered you meet her at the playground ya know thats where i saw this cutie this girl was swingin and she looked so fly on the monkey bars we climbed up to the top and she touched my hand thats when i fell in loveiesha you are the girl that i neva had and i want to get to know you bettah iesha you know i want you so bad and theres nothing anyone can do to keep me away from youyo dallas man these five young boys out of atlanta ga are a real adventure they kinda like remind me of me and my boys new edition know what im sayinso all you people out there ridin in your cars listenin to the radio station or coolin back in the living room watchin this here video ay yo peep the 2nd versewe played nintendo this was her very first date i didnt wanna make it seem to fly we ate cereal she couldnt stay out at late her mother told her to be home at nineiesha you are the girl that i neva had and i want to get to know you bettah iesha you know i want you so bad and theres nothing anyone can do to keep me away from youchris mark red da ro chris mark red da royo ro you might sound to sure so wutcha gonna do i dunno da i only got one more rap and im gonna see what happensthrew down my books went up to the door pressed the bell what was in store iesha came out with a smile oh noshe aint worth the while so i passed her a lolli pop and a letter told her so lets keep this a secret no remember iesha only you can keep this peace ",1
55,"something to talk about","bonnie raitt",1991," people are talkin bout people i hear them whisper you wont believe it they think were lovers kept under covers i just ignore it but they keep saying we laugh just a little too loud we stand just a little too close we stare just a little too long maybe theyre seeing something we dont darlinlets give them something to talk about lets give them something to talk about lets give them something to talk about how about lovei feel so foolish i never noticed youd act so nervous could you be falling for me it took a rumor to make me wonder now im convinced im going under thinking bout you every day dreaming bout you every night hoping that you feel the same way now that we know it lets really show it darlinlets give them something to talk about lets give them something to talk about lets give them something to talk about how about love love love love ",1
56,"after the rain","nelson",1991," look in the mirror girl by now you should know youre living in a fantasy and you cant let gohe never really loved you from the start the only thing he ever gave you was a broken heart dont be afraid to lose what was never meant to beafter the rain washes away the tears and all the pain only after the rain you live againi know the emptiness you feel inside youre thinking if you break away youll never surviveim waiting as my heart beats just for you come on and take my hand and ill pull you through but things will never change until you want them toafter the rain washes away the tears and all the pain only after the rain you live againafter the rain youll see the sun appear to light the way only after the rain can you hope to find true love againhe never really loved you from the start the only thing he ever gave you was a broken heart come on and take my hand ill pull you through you know the time has come for you to face the truthafter the rain washes away the tears and all the pain only after the rain you live againafter the rain youll see the sun appear to light the way only after the rain can you hope to find true love againafter the rain after the rain you live againafter the rain washes away the tears and all the pain only after the rain you live again ",1
57,"play that funky music","vanilla ice",1991," play that funky music play that funky music white boy play that funky music play that funky music white boyim back and im ringin the bell a rockin on the mic while the fly girls yell in ecstasy in the back of me well thats my dj deshay cuttin all them zs hittin hard and the girlies goin crazy vanillas on the mic man im not lazyim lettin my drug kick in it controls my mouth and i begin to just let it flow let my concepts go my posses to the side yellin go vanilla gosmooth cause thats the way i will be and if you dont give a damn then why you starin at me so get off cause i control the stagetheres no dissin allowed im in my own phase the girlies say they love me and that is okay and i can dance better than any kid n playplay that funky music come on come on play that funky music white boy i cant hear you say it say it say play that funky music play that funky music white boy it come on yeah a little bit louder now come on come onstage 2 yeah the one ya wanna listen to its off my head so let the beat play through so i can funk it up and make it sound good 123 yo knock on some woodfor good luck i like my rhymes atrocious super calafragilistic expialidocious im an effect and that you can bet i can take a fly girl and make her wetim like samson samson to delilah theres no denyin you can try to hang but youll keep tryin to get my style over and over practice makes perfect but not if youre a loaferyoull get nowhere no place no time no girls soon oh my god homebody you probably eat spaghetti with a spoon come on and say itplay that funky music play that funky music white boy play that funky music come on come on lets do it play that funky music white boyvip vanilla ice yep yep im comin hard like a rhino intoxicating so you stagger like a wino so punks stop trying and girl stop cryin vanilla ice is sellin and you people are buyincause why the freaks are jockin like crazy glue movin and groovin trying to sing along all through the ghetto groovin this here song now youre amazed by the vip posse steppin so hard like a german nazistartled by the bases hittin ground theres no trippin on mine im just gettin down sparkamatic im hangin tight like a fanatic you trapped me once and i thought that you might have it so step down and lend me your ear 89 in my time you 90 is my yearplay that funky music play that funky music white boy play that funky music come on come on i cant hear you play that funky music white boyyoure weakenin fast yo and i can tell it your bodys gettin hot so so i can smell it so dont be mad and dont be sad cause the lyrics belong to ice you can call me dadyoure pitchin a fit so step back and endure let the witch doctor ice do the dance to cure so come up close and dont be square you wanna battle me anytime anywhere you thought that i was weak boy youre dead wrong so come on everybody and sing this songsay play that funky music say go white boy go white boy go play that funky music go white boy go white boy go lay down and boogie and play that funky music till you dieplay that funky music play that funky music white boy play that funky music come on come on let me hear you say it play that funky music white boy a little louder now play that funky music come on come on come on play that funky music white boy ",1
58,"temptation","corina",1991,"corina miscellaneous temptation baby theirs something i think you should know  i dont think ill be needing you anymore  its just one of those things  im sure youll understand  weve been together so long  i never meant to do you wrong  but ive found someone new  theirs nothing you can say or do  to try and change my mind  would be a waste of time  lets go our seperate ways  theirs nothing more to say  just try to ease your mind  cause i dont mean to hurt you  its just hes knows to treat me like a special lady  its time you look away  hes knows just how to touch me  maybe someday youll understand  chorus  temptation is a part of life  it doesnt matter if its wrong or right  temptation is a part of life  it doesnt matter if its wrong or right  it makes you do what you love  hes knows i cant resist  ooh his perfect lips  when he looks in my eyes  i feel like ive been hypnotized  ive wanted him for so long  what i felt was oh so strong  times feelings change  things were not the same  just try to ease your mind  cause i dont mean to hurt you  its just hes knows to treat me like a special lady  its time you look away  hes knows just how to touch me  maybe someday youll understand  chorus 4x",3
59,"cant stop this thing we started","bryan adams",1991," NA ",1
60,"i cant wait another minute","hifive",1991,NA,NA
61,"3 am eternal","the klf",1991,"this is radio freedom klf unh huh unh huh unh huh unh huh klf is gonna rock you are you ready unh huh unh huh ancients of mu mu here we go ancients of mu mu klf is gonna rock you are you ready unh huh unh huh ancients of mu mu klf klf is gonna rock you klf are you ready unh huh unh huh ancients of mu mu eterrrnallll eternal klf is gonna rock you cause you hafta move to the flow of the pyramidblaster bass ballistics  im gonna kick this hard an you can catch it down with the crew crew talkin bout the mu mu justified ancient liberation zulu got to teach an everything you learnll point to the fact that time is eternal its three a m three a m its three a m eternal eternal klf is gonna rock you are you ready unh huh unh huh ancients of mu mu here we go ancients of mu mu klf unh huh unh huh eternal sample city through trancentral basic face kick elemental swings brings new technology with k the l the f an the ology the force comin down with mayhem lookin at my watch time 3 a m got to see that everywhere i turn will point to the fact that time is eternal its three a m three a m its three a m eternal eternal eternal are you ready ancients of mu mu here we go ancients of mu mu are you ready ancients of mu mu here we go ancients of mu mu klf unh huh unh huh unh huh unh huh klf unh huh unh huh klf is gonna rock you are you ready unh huh unh huh ancients of mu mu here we go ancients of mu mu klf is gonna rock you are you ready unh huh unh huh ancients of mu mu eternal here we go ancients of mu mu are you ready unh huh unh huh ancients of mu mu eternal here we go ancients of mu mu are you ready ancients of mu mu eternal here we go ancients of mu mu are you ready ancients of mu mu eternal here we go ancients of mu mu got to see that everywhere i turn will point to the fact that time is eternal klf",5
62,"time love and tenderness","michael bolton",1991,"time love and tenderness so you say that you cant go on love left you crying and you say all your hope is gone and whats the use in trying what you need is to have some faith shake off those sad blues get yourself a new view oh nothing is as sad as it seems you know cause someday youll laugh at the heartache someday youll laugh at the pain somehow youll get through the heartbreak somehow you can get through the rain when love puts you through the fire when love puts you to the test nothing cures a broken heart like time love and tenderness when you think your world is over baby just remember this nothing heals a broken heart unlike time love and tenderness time love and tenderness i understand how youre feeling now and what youve been through but your worlds gonna turn around so baby dont you be blue all it takes is a little time to make it better the hurt wont last forever oh all your tears are all gonna dry you know cause someday youll laugh at the heartache someday youll laugh at the pain you may be down on your luck but baby that old lucks gonna change when love puts you through the fire when love puts you to the test nothing cures a broken heart like time love and tenderness when you think your world is over baby just remember this nothing heals a broken heart like time love and tenderness the hurt aint gonna last forever oh oh oh oh oh oh time love and tenderness when love puts you through the fire when love puts you to the test nothing cures a broken heart like time love and tenderness when you think your world is over then just remember this nothing heals a broken heart you know that time love and tenderness when love puts you through the fire when love puts you to the test nothing cures a broken heart like time love and tenderness when you think your world is over baby just remember this time love and tenderness time love and tenderness when love puts you through the fire when love puts you to the test nothing cures a broken heart like time love and tenderness when love puts you through the fire when love puts you to the test nothing cures a broken heart like time love and tenderness when love puts you through the fire when love puts you to the test nothing cures a broken heart like time love and tenderness",3
63,"sadeness part i","enigma",1991," instrumental ",1
64,"around the way girl","ll cool j",1991," ya gotta shook up shook down shook up all your lovin ya gotta shook up shook down shook upi want a girl with extensions in her hair bamboo earrings at least two pair a fendi bag and a bad attitude thats all i need to get me in a good mood she can walk with her switch and talk with street slang i love when i woman aint afraid to do her thang standin at the bus stop suckin on a lollipop when she gets pumpin its hard to make the hotty stop she likes to dance to the rap jam shes sweet as brown sugar with candied yams honeycoated complexion music camay lets hear it for the girl shes from around the wayi need that around the way girl around the way girl thats the one for me shes the one i need that around the way girl ya gotta shook up shook down shook up all your lovinsilky bilky your smiles like sunshine thats why i had to dedicate at least one rhyme to all the cuties in the neighborhood cause if i didnt tell you then another brother would youre sweet like sugar with your gangsta talk wanna eat you like a cookie when i see you walk with your rayon silk or maybe even denim it really doesnt matter as long as your in em you can break hearts and manipulate minds or surrender act tender be gentle and kind you always know what to say and do go flip when you think your man is playing no cheap or petty youre ready for loving youre real independent so your parents be buggin but if you ever need a place to stay come around my wayi need that around the way girl around the way girl thats the one for me shes the only one i need that around the way girl ya gotta shook up shook down shook up all your lovinperm in your hair or even a curly weave with your new editionbobby brown button on your sleeve i tell you come here you say meet me half way cause brothers been poppin that yang all day around the way youre like neighborhood jewel all the homeboys sweat ya so youre crazy cool wear your gold in the summer with your biking shorts while your watchin all the brothers on the basketball court goin to the movies with your homegirls crew while the businessmen in suits be hawkin you baby hair pumpin lip gloss ashinin i think youre in the mood for whinin and dinin so we can go out and eat somewhere we got a lot of private jokes to share lisa angela pamela renee i love you youre from around the wayi need that around the way girl around the way girl thats the one for me shes all i ever need i need that around the way girl around the way girl fine as can be shes all i ever need i need that around the way girl around the way girl thats the one for me shes the only one i need that around the way girl around the way girl fine as can beya gotta shook up shook down shook up all your lovin ya gotta shook up shook down shook upya gotta shook up shook down shook up all your lovin ya gotta shook up shook down shook upya gotta shook up shook down shook up all your lovin ya gotta shook up shook down shook up ",1
65,"ill be there","the escape club",1991," over mountains over trees over oceans over seas across the desert ill be therein a whisper on the wind on the smile of a new friend just think of me and ill be theredont be afraid oh my love ill be watching you from above and id give all the world tonight to be with you because im on your side and i still care i may have died but ive gone nowhere just think of me and ill be thereon the edge of a waking dream over rivers over streams through wind and rain ill be thereacross the wide and open sky thousands of miles id fly to be with you ill be theredont be afraid oh my love ill be watching you from above then i give all the world tonight to be with you because im on your side and i still care i may have died but ive gone nowhere just think of me and ill be there just think of me and ill be therein the breath of a wind that sighs oh theres no need to cry just think of me and ill be theredont be afraid oh my love ill be watching you from above and id give all the world tonight to be with you because im on your side and i still care i may have died but ive gone nowhere just think of me ill be there just think of me and ill be there just think of me ill be there ",1
66,"cream","prince and the new power generation",1991," this is it its time for you to go to the wire you will hit cause you got the burnin desire its your time time you got the horn so why dont you blow it you are fine fine youre filthy cute and baby you know itcream get on top cream you will cop cream dont you stop cream shboogie bopyoure so good baby there aint nobody better aint nobody better so you should never ever go by the letter never ever youre so cool cool everything you do is success make the rules rules then break them all cause you are the bestyes you arecream get on top cream you will cop cream dont you stop cream shboogie boplook up in the air its your guitardo your dance why should you wait any longer take a chance it could only make you stronger its your time its your time you got the horn so why dont you blow it go on and blow it youre so fine youre so fine youre filthy cute and baby you know it you know itcream get on top cream you will cop cream dont you ever stop cream shboogie bopcream cream cream shboogie bopcream cream right there cream dont you stop cream shboogie bopshboogie ",1
67,"now that we found love","heavy d  the boyz",1991,"now that weve found love what are we gonna do what are we gonna do with iit with it now that weve found love what are we gonna do yeahayeahayyeah with iit one two tell me what you got let me slip my coin inside your slot and hit the jackpot rev me up rev me up my little buttercup we can touch cheeks snuggle up and got stuck believe it or not here comes a brother with pull a snugglin bubblin overweight lovin huggin pro so whats it gonna be me or the tv let me take time to set your mind and your body free now so why dont you just stretchstretch for a sec lay while the problem solver cops a quick wreck shake me shake me baby baby bake me no need to flake here i am come on and take me wind your body baby move your body i see you slip slidin come on and do it hottie im not quite sure as to what is goin down but im feeling hunky dory about this thing that ive found now that weve found love what are we gonna do with iit now that weve found love what are we gonna do with iit cmon baby cmon baby now i like the way you wiggle you dont jingle but you jiggle so spread open your love cause its heavy in the middle movin like a movie scene she wanted to groove so i grooved her then she wanted to learn so we played school and i schooled her now mary had a little lamb but not like this we can toss and turn rumble tumble and twist anything you want ill give it fantasies well live it so lay down and relax yeah lets relax lover my lady lady lover my baby girl spread your wings and we can fly around the world harmony charmin me your fingertips are calmin me when you dropped a kiss on suzie q you dropped a bomb on me now stretch it stretch it flex it flex it give me the permission oky dokey ill bless them bless them like buddha buddha as a bless we can lay down after lovin put your head on my chest now that weve now that weve found love what are we gonna do what are we gonna do with iit with iiiit now that weve found love what are we gonna do cmon and tell me with iit huh get em up one time now uh keep it funky yeah keep it smooth like this now uh here we go go go now what can we do what are we gonna do roses are red and violets are blue love is good and plenty if you give plenty good lovin kiss you where youre hot and i got to keep you bubblin now do me right do me right my lonesome dove tell your man what time it is what is this thing called love im not quite sure as to what is goin down but im feeling hunky dory about this thing ive found now that weve found love what are we gonna do with iit  this line repeated throughout most of the remainder of the song now that weve cmon and tell me what were gonna do with it cmon cmon geewiz pjnf tell me what are we gonna do lets flex cmon cmon yeah tell me somebody got to tell me yeah dont stop the love i need to love cmon cmon yeah somebody got to tell me got to tell me what are we gonna do with this looove oh sweet looove yeah oh looove cmon now oh yeah uh shake it shake it now oh yeah huh cmon do it right baby shake it shake it here we go keep funky funky yeahyeah put your hands together one time uhuh i dont know baby i dont know baby together one time now all up in money earnin mt vernon this ones dedicated to you you know what im saying brooklyn bronx queens manhattan the whole of new york city i said i love you to death  and you dont stop and you dont quit you got to keep on and on until you do it like this you dont stop and you dont quit you got to keep on and on and on now uh yeah yeah uh cmooon oh yeah now that weve found love what are we gonna do with iit",3
68,"show me the way","styx",1991," every night i say a prayer in the hopes that theres a heaven and everyday im more confused as the saints turn into sinnersall the heroes and legends i knew as a child have fallen to idols of clay and i feel this empty place inside so afraid that ive lost my faithshow me the way show me the way take me tonight to the river and wash my illusions away please show me the wayand as i slowly drift to sleep for a moment dreams are sacred i close my eyes and know theres peace in a world so filled with hatredthat i wake up each morning and turn on the news to find weve so far to go and i keep on hoping for a sign so afraid i just wont knowshow me the way show me the way bring me tonight to the mountain and take my confusion away and show me the wayand if i see a light should i believe tell me how will i knowshow me the way show me the way take me tonight to the river and wash my illusions awayshow me the way show me the way give me the strength and the courage to believe that ill get there someday and please show me the wayevery night i say a prayer in the hopes that theres a heaven ",1
69,"love takes time","mariah carey",1991," i had it all but i let it slip away couldnt see that i treated you wrong now i wander around feeling down and cold trying to believe that youre gonelove takes time to heal when youre hurting so much couldnt see that i was blind to let you go i cant escape the pain inside cause love takes time i dont want to be here i dont wanna be here alonelosing my mind from this hollow in my heart suddenly im so incomplete lord im needing you now tell me how to stop the rain tears are falling down endlesslylove takes time to heal when youre hurting so much couldnt see that i was blind to let you go i cant escape the pain inside cause love takes time and i dont want to be here i dont wanna be here aloneyou might say that its over you might say that you dont care you might say you dont miss me you dont need me but i know that you do and i feel that you do insidelove takes time to heal when youre hurting so much couldnt see that i i was so blind to let you go i cant escape the pain inside cause love takes time i dont want to be there i dont wanna be there alone ",1
70,"cry for help","rick astley",1991," shes taken my time convince me shes fine but when she leaves im not so sure its always the same shes playing her game and when she goes i feel to blame why wont she say she needs me i know shes not as strong as she seemswhy dont i see her cry for help why dont i feel her cry for help why dont i hear her cry for helpi wandered around the streets of this town trying to find sense of it all the rain on my face it covers the trace of all the tears id had to waste why must we hide emotions why must we never break down and cryall that i need is to cry for help somebody please hear me cry for help all i can do is cry for helpno need to feel ashamed release the pain cry for help cry for help is all i need all i need is a cry for help cry for help is all i need all i need is a cry for helpwhy must we hide emotions why cant we ever break down and cryall that i need is to cry for help i will be there when you cry for help why dont i hear her cry for helpall that i need is to cry for help somebody please hear me cry for help all i can do is cry for helpall that i need is to cry for help i will be there when you cry for help is it so hard to cry for helpcry for help is all i need all i need is a cry for help  ",1
71,"the way you do the things you do","ub40",1991," you got a smile so bright you know you could have been a candle im holding you so tight you know you could have been a handlethe way you swept me off my feet you know you couldve been a broom and babe you smell so sweet you know you couldve been some perfumewell you could of been anything that you wanted to i can tell the way you do the things you do alright the way you do the things you doas pretty as you are you know you couldve been a flower if good looks were minutes you know you could have been an hourthe way you stole my heart you know you could have been a crook and baby your so smart you know you could have been a school bookwell you could of been anything that you wanted to i can tell the way you do the things you do alright the way you do the things you doyou make my life so rich you know you couldve been some money and baby youre so sweet you know you could have been some honeywell you could of been anything that you wanted to i can tell the way you do the things you do alright the way you do the things you doas pretty as you are you know you couldve been a flower if good looks were minutes you know you could have been an hourthe way you stole my heart you know you could have been a crook and baby your so smart you know you could have been a school bookwell you could of been anything that you wanted to i can tell the way you do the things you do alright the way you do the things you do the way you do the things you do alright the way you do the things you do the way you do the things you doalright the way you do the things you do the way you do the things you do alright the way you do the things you do the way you do the things you do alright the way you do the things you do the way you do the things you do ",1
72,"here i am come and take me","ub40",1991," i cant believe that its real the way that you make me feel a burning deep down inside a love that i cannot hidei know its you and me babe that makes the world go round ah keeping you in love with me babe laying all my troubles downhere i am babe come and take me here i am babe wont you come and take me take me by the hand ooh show me here i am babeit always ends up this way me begging you every day a love that i cannot have you broke my heart in two halvesi know its you and me babe that makes the world go round keeping you in love with me babe laying all my troubles downhere i am babe come and take me here i am babe wont you come and take me take me by the hand ooh squeeze me here i am babeoh here i am babe come and take me here i am babe wont you come and take me take me by the hand ooh show me show me what you can here i am babewont you take me take me by the hand take me by the hand ooh show me show me what you can here i am babe wont you take me take me by the hand take me while you can here i am babe ",1
73,"signs","tesla",1991," and the sign says long hair freaky people need not apply so i put my hair under my hat and i went in to ask him why he said you look like a fine outstanding young man i think youll do so i took off my hat i said imagine that huh me working for youoh signs signs everywhere theres signs blocking up the scenery breaking my mind do this dont do that cant you read the signand the sign says anybody caught trespassing will be shot on sight so i jumped the fence and i yelled at the house eh what gives you the right to put up a fence and keep me out or to keep mother nature in if god was here hed tell it to your face man youre some kind of sinnersigns signs everywhere theres signs blocking up the scenery breaking my mind do this dont do that cant you read the signoh but say now mister cant you read you got to have a shirt and tie to get a seat you cant watch no you cant eat you aint supposed to be hereand the sign says you gotta have a membership card to get inside uuhand the sign says everybody welcome come in kneel down and pray but then they passed around a plate at the end of it all and i didnt have a penny to pay so i got me a pen and a paper and i made up my own little sign i said thank you lord for thinking about me im alive and doing finesigns signs everywhere theres signs blocking up the scenery breaking my mind do this dont do that cant you read the signsigns signs everywhere theres signs blocking up the scenery breaking my mind do this dont do that cant you read the sign ",1
74,"too many walls","cathy dennis",1991," wish on a rainbow is all i can do dream of the good times that we never knew no late nights alone in your arms ill dream onliving in wonder thinking of you still looking for ways to uncover the truth youre so young is all they can say they dont knowif i could change the way of the world id be your girltoo many walls have been built in between us too many dreams have been shattered around us if i seem to give up theyll still never win deep in my heart i know the strength is withinwatching the others chances drift by theyll never discover these feelings i hide deep inside im falling apart all alone with a broken heartthinking in silence is all they allow these words still unspoken may never be found all these dreams one day will be mine they cross my mindmy time has yet to come until thentoo many walls have been built in between us too many dreams have been shattered around us if i seem to give up theyll still never win deep in my heart i know the strength is withintoo many walls have been built in between us too many dreams have been shattered around us if i seem to give up theyll still never win deep in my heart i know the strength is within yeahtoo many walls have been built in between us too many dreams have been shattered around us if i seem to give up theyll still never win deep in my heart i know the strength is withintoo many walls have been built in between us too many dreams have been shattered around us if i seem to give up theyll still never win deep in my heart i know the strength is within ",1
75,"crazy","seal",1991," in a church by her face he talks about the people going underonly child knowa man decides after seventy years that what he goes there for is to unlock the door while those around him criticize and sleep and through a fractal on a breaking wall i see you my friend and touch your face again miracles will happen as we tripbut were never gonna survive unless we get a little crazy no were never gonna survive unless we are a little crazycrazy are the people walking through my head one of thems got a gun to shoot the other one and yet together they were friends at school ohh get it get it get it get it no noif all were there when we first took the pill then maybe then maybe then maybe then maybe miracles will happen as we speakbut were never gonna survive unless we get a little crazy no were never gonna survive unless we are a little crazy no no never survive unless we get a little bitoh a little bit oh a little bita man decides to go along after seventy years oh darlin in a sky full of people only some want to fly isnt that crazy in a world full of people only some want to fly isnt that crazy crazy in a heaven of people theres only some want to fly aint that crazy oh babe oh darlin in a world full of people theres only some want to fly isnt that crazy isnt that crazy isnt that crazy isnt that crazybut were never gonna survive unless we get a little crazy no were never gonna to survive unless we are a little but were never gonna survive unless we get a little crazy no were never gonna to survive unless we are a little crazy no no never survive unless we get a little bitand then you see things the size of which youve never known beforetheyll break itsomeday only child knowthem things the size of which youve never known beforesomeday someway someway someway someday someday ",1
76,"ill give all my love to you","keith sweat",1991," baby baby baby my my my my baby i love you baby yes i doi love you in the night i wanna take it real slow baby i understand what you told me and if i i didnt knowi always wanted someone just like you i really need to hold on hold you id give the world baby to you my darlin you know i willi will never do anything to hurt you ill give all my love to you and if you need me baby ill come runnin only to youand why dont we just lay down and hold each other real close real close cause i i dont wanna rush you baby no if time is what you need the mosti always wanted to love love you you can make all my dreams come true and i want to love you oh my darlin you know i do this love is waitin over youi will never do anything to hurt you ill give all my love to you and if you need me baby ill come runnin only to yougirl lets make love tonightsometimes i get a little lonely baby and i need a little love that i can call all mine girl you are the one for me babe i know that you are the world for me babei will never do anything to hurt you ill give all my love to you and if you need me baby ill come runnin only to you ",1
77,"place in this world","michael w smith",1991," the wind is moving but i am standing still a life of pages waiting to be filled a heart thats hopeful a head thats full of dreams but this becoming is harder than it seems feels like imlooking for a reason roaming through the night to find my place in this world my place in this world not a lot to lean on i need your light to help me find my place in this world my place in this worldif there are millions down on their knees among the many can you still hear me hear me asking where do i belong is there a vision that i can call my own show me imlooking for a reason roaming through the night to find my place in this world my place in this world not a lot to lean on i need your light to help me find my place in this world my place in this worldlooking for a reason roaming through the night to find my place in this world my place in this world not a lot to lean on i need your light to help me find my place in this world my place in this worldlooking for a reason roaming through the night to find my place in this world my place in this world ",1
78,"something to believe in","poison",1991," well i see him on the tv preachin bout the promised lands he tells me to believe in jesus and steals the money from my hand some say he was a good man but lord i think he sinned yeah twentytwo years of mental tears cries a suicidal vietnam vet who fought a losing war on a foreign shore to find his country didnt want him back their bullets took his best friend in saigon our lawyers took his wife and kids no regrets in a time i dont remember in a war he cant forget he cried forgive me for what ive done there cause i never meant the things i didand give me something to believe in if theres a lord above and give me something to believe inoh lord arise my best friend died a lonely man in some palm springs hotel room i got the call last christmas eveand they told me the news i tried all night not to break down and cry as the tears rolled down my face i felt so cold and empty like a lost soul out of place and the mirror mirror on the wall sees my smile it fades againand give me something to believe in if theres a lord above and give me something to believe in oh lordsometimes i wish to god i didnt know now the things i didnt know then road you gotta take me homei drive by the homeless sleeping on a cold dark street like bodies in an open grave underneath the broken old neon sign that used to read jesus saves a mile away live the rich folks and i see how theyre living it up while the poor they eat from hand to mouth the rich is drinkin from a golden cup and it just makes me wonder why so many lose so few winand give me something to believe in and give me something to believe in if theres a lord above and give me something to believe in oh lord and give me something to believe in and give me something to believe inyou take the high road and ill take the low road and give me something to believe in and give me something to believe in yeah sometimes i wish i didnt know now the things i didnt know then yeah and give me something to believe in yeah yeah ",1
79,"wicked game","chris isaak",1991," the world was on fire and no one could save me but you its strange what desire will make foolish people do id never dreamed that id meet somebody like you and id never dreamed that id lose somebody like youno i dont want to fall in love this girl is only gonna break your heart no i dont want to fall in love this girl is only gonna break your heart with you with you this girl is only gonna break your heartwhat a wicked game you played to make me feel this way what a wicked thing to do to let me dream of you what a wicked thing to say you never felt this way what a wicked thing to do to make me dream of youand i dont want to fall in love this girl is only gonna break your heart no i dont want to fall in love this girl is only gonna break your heart with youthe world was on fire and no one could save me but you its strange what desire will make foolish people do id never dreamed that id love somebody like you and id never dreamed that id lose somebody like youno i dont want to fall in love this girl is only gonna break your heart no i dont want to fall in love this girl is only gonna break your heart with you this girl is only gonna break your heart with you this girl is only gonna break your heartno i this girl is only gonna break your heart this girl is only gonna break your heartnobody loves no one ",1
80,"get here","oleta adams",1991," you can reach me by railway you can reach me by trailway you can reach me on an airplane you can reach me with your mind you can reach me by caravan cross the desert like an arab man i dont care how you get here just get here if you canyou can reach me by sailboat climb a tree and swing rope to rope take a sled and slide down the slope into these arms of mine you can jump on a speedy colt cross the border in a blaze of hope i dont care how you get here just get here if you canthere are hills and mountains between us always something to get over if i had my way surely you would be closer i need you closerthere are hills and mountains between us always something to get over if i had my way surely you would be closer i need you closeryou can windsurf into my life take me up on a carpet ride you can make it in a big balloon but you better make it soon you can reach me by caravan cross the desert like an arab man i dont care how you get here just get here if you cani dont care i dont care i need you right here right now i need you right here right now right by my side yeah yeah get herei dont care how you get here just get here if you can ",1
81,"round and round","tevin campbell",1991,"aww yeah yeah yeah yeah yeah yeah ooh yeah can you tell me where we goin to can you tell me what it is we really wanna find is the truth really there or is it right under our hair for all we know its been there all the time i say nothin comes from dreamers but dreams i say sittin at night all in our bowl while everyone else is down the street nothin comes from talkers but sound oh yeah we can talk all we want to but the world still goes around and round round and round ooh we go round and round and round and what were lookin for still isnt found can you tell me when we gonna get to it im tired of foolin around said i wanna do it   go for it get to it ooh i learned my lesson yall said if you wanna have fun go for it and when you win say i know it   go for it get to it nothin comes from dreamers but dreams i say sittin all night all in our bowl when everyone else is down the street nothin comes from talkers but sound ooh we can talk all we want to but the world still goes around and round round round round round round and round getggetgget to it go for it get to it we go round and round and round and what were lookin for still isnt found one day ill make it in the big city and ill be lookin for a girl whos pretty one day ill make a play and she will say okay cause i plan to be a cool kitty round and round aww yeah yeah aww yeah yeah i say nothin comes to dreamers but dreams ooh i say sittin at night all in our bowl while everyone else is down the street nothin comes from talkers but sound ooh we can talk all we want to but the world still goes around and round round and round ooh whoo we go round and round and round and what were lookin for still isnt found round round oh yeah getggetgget to it go for it world still goes around and round getggetgget to it getggetgget to it getggetgget to it go for it get to it getggetgget to it go for it get to it ooh round and round ooh round and round round and round ooh ooh round and round round and round round and round   getggetgget to it   go for it   get to it aww yeah yeah ooh ooh round and round",3
82,"silent lucidity","queensr""yche",1991,"hush now dont you cry wipe away the teardrop from your eye youre lying safe in bed it was all a bad dream spinning in your head your mind tricked you to feel the pain of someone close to you leaving the game of life so here it is another chance wide awake you face the day your dream is over or has it just begun theres a place i like to hide a doorway that i run to in the night relax child you were there but only didnt realize it and you were scared its a place where you will learn to face your fears retrace the tears and ride the whims of your mind commanding in another world suddenly you hear and see this magic new dimension i will be watching over you i am gonna help you see it through i will protect you in the night i am smiling next to you inaudible if you open your mind for me you wont rely on open eyes to see the walls you built within oh come tumbling down and a new world will begin living twice at once you learn youre safe from pain in the dream domain a soul set free to fly a round trip journey in your head master of illusion can you realize your dreams alive you can be the guide but i will be watching over you i am gonna help you see it through i will protect you in the night i am smiling next to you",3
83,"im not in love","will to power",1991," im not in love so dont forget it its just a silly phase im going through and just because i call you up dont get me wrong dont think youve got it made im not in love nonoi like to see you but then again that doesnt mean you mean that much to me so if i call you dont make a fuss dont tell your friends about the two of us im not in love nonoi keep your picture upon the wall it hides a nasty stain thats lyin there so dont you ask me to give it back i know you know it doesnt mean that much to me im not in love nonoooh youll wait a long time for me ooh youll wait a long timeooh youll wait a long time for me ooh youll wait a long timeim not in love so dont forget it its just a silly phase im going through and just because i call you up dont get me wrong dont think youve got it made oohim not in love im not in love ",1
84,"piece of my heart","tara kemp",1991,"chorus you take a piece of my heart with you always baby you take a piece of my heart with you always always baby time and time again my girlfriends ask me if were just friends and when i tell them that it is true deep down inside i just want to be with you chorus its long after dark were up all night talking heart to heart and when its time for you to go i tell myself were just friends but we both know chorus i fall asleep and dream about you  holding me deep in your soul  i just cant make it without you  i love you more than youll ever know chorus",3
85,"real real real","jesus jones",1991," i think i know what you mean and although it sounds obscene i will always do my best to understand you have so many words and your voice is always heard but who can say they really understandreal real real do you feel real and if so id like to know how to feel real real do you feel real and if so id like to knowwell you say you have a big love and it really sounds like fun if i knew what it was then im sure id like to have one give me a sign that you feel some emotionreal real real do you feel real and if so id like to know how to feel real real do you feel real and if so id like to knowsay what you like you know that no one really minds and if theres nothing to say then why dont we all go awaydo you do you do you feel real realreal real real do you feel real and if so id like to know how to feel real real do you feel real and if so id like to knowbut if theres nothing to say then why dont we all go awayreal real real do you feel real and if so id like to know how to feel real real do you feel real and if so id like to knowdo you do you do you feel real ",1
86,"just another dream","cathy dennis",1991," the stars say youre my best lover matched up like sugar for a cake they say our love could conquer anythingid always hide my feelings keep them so cool and so contained this time its something i just cant retaincause you give me a good vibe dont you know baby you give me funky love funky love could this be what loves all about baby or is it just another dreamis this for real or is it just another dream is this for real or is it just another dream is this for real or is it just another dream is this for real or is it just another dreamyour voice it calls me everywhere it haunts my room most every night this thing has sure enough got me on the lineno chance for explanation it seems my heart has led the way is this my chance to find mon amour porfaitcause you give me a good vibe dont you know baby you give me funky love funky love could this be what loves all about baby or is it just another dreamis this for real or is it just another dream is this for real or is it just another dream is this for real or is it just another dream is this for real or is it just another dreamcould be its just illusion but im feeling something good indeed is this where loving starts to mirror my dreamscause you give me a good vibe dont you know baby you give me funky love funky love could this be what loves all about baby or is it just another dreamis this for real or is it just another dream is this for real or is it just another dream is this for real or is it just another dream is this for real or is it just another dreamjust another dream just another dream just another dream just another dreamis this for real or is it just another dream is this for real or is it just another dream is this for real or is it just another dream  ",1
87,"everybody plays the fool","aaron neville",1991," okay so your heart is broken youre sitting around mopin mopin mopin cryin cryin you say youre even thinking about dying well before you do anything rash baby listen to thiseverybody plays the fool sometimes theres no exception to the rule listen baby it may be factual it may be cruel i aint lying everybody plays the foolfalling in love is such an easy thing to do but theres no guarantee that the one you love is gonna love you oh loving eyes they cannot see a certain person could never be love runs deeper than any ocean it clouds your mind with emotioneverybody plays the fool sometimes theres no exception to the rule listen baby it may be factual it may be cruel i aint lying everybody plays the foolhow can you help it when the music starts to play and your ability to reason is swept away oh heaven on earth is all you see youre out of touch with reality and now you cry but when you do next time around someone cries for youhey everybody plays the fool sometimes use your heart just like a tool listen baby they never tell you so in school i wanna say it again everybody plays the fooleverybody plays the fool sometimes theres no exception to the rule listen baby it may be factual it may be cruel i aint lying everybody plays the fooleverybody plays the fool sometimes theres no exception to the rule listen baby it may be factual it may be cruel i wanna say it again everybody plays the fool ",1
88,"strike it up","black box",1991," strike it up this band is gonna play my tune strike it up i wanna i wanna tell you so strike it up nobodys gonna stop my sound strike it up you know how lonely one can feelif i have the line and you have the bass then strike it up and youll find the rhythms on time line after line going straight to your mind cause hyping the place is what were all aboutmoving your waist to the bass is no doubt roll up the groove melody is essential drop the knowledge on this instrumental dance your doubts about house musicyouve got the body so why dont you use it naturally swinging your thing to the song cause thats how we pump the dance floor for the strongwaiting on my feelings yeah yeah waiting on my feelings feelings waiting on my feelings yeah yeah waiting on my feelings feelingsstrike it up your hand is taping on my skin strike it up and keep me and keep me standing on strike it up you nobodys gonna let you down strike it up you know how lovely one can beif i have the line and you have the bass then strike it up and youll find the rhythms on time line after line going straight to your mind cause hyping the place is what were all aboutmoving your waist to the bass is no doubt roll up the groove melody is essential drop the knowledge on this instrumental dance your doubts about house musicyouve got the body so why dont you use it naturally swinging your thing to the song cause thats how we pump the dance floor for the strongwaiting on my feelings yeah yeah waiting on my feelings feelings waiting on my feelings yeah yeah waiting on my feelings feelingsstrike it up strike it up ",1
89,"rico suave","gerardo",1991,"seguro que han ọdo que yo soy educado soy un caballerito un chico bien portado un joven responsible y siempre bien vestido yo no se quien ha mentido i dont drink or smoke aint into dope wont try no coke ask me how i do it i cope my only addiction has to do with the female species i eat em raw like sushi no me gustan ternos mi estilo es moderno si me enterno you me enfermo mi apariencia es dura vivo en la locura no me vengan con ternuras so please dont judge a book by its cover theres more to being a latin lover you got to know how to deal with a woman that wont let go the price you pay for being a gigolo theres not a woman that can handle a man like me thats why i juggle two or three i aint one to commit you can omit that bit you pop the question thats it haber uno dos tres cuatro mujeres y la situacị alḷ no muere no es un delito calmo mi apetito con un llanto o un grito so again dont let my lyrics mislead you i dont love you but i need you would you rather have me lie take a piece of your pie and say bye or be honest and rub your thighs well its ten oclock and im two hours late i never said i was a prompt date but you kept persisting that i meet your parents huh theyre going to love my appearance ding dong el timbre suena tu madre abre que vieja mas buena le digo ̢hola pero no para bola que se ha creido vieja chola go and serve the food mom que tengo ambre if you dont hurry me va a dar un calambre y usted sẹor whys your chin on the floor sierra la boca por favor whats this amor these little huevos esto ṣ que yo no pruebo im used to good ol fashioned homestyle spanish cooking if i try that ill be puking well its been a pleasure but we got to go regresaremos temprano cinco seis o siete de la mạana su hija esta en buenas manos",3
90,"disappear","inxs",1991," say im crying im looking at whats on tv pain and suffering and the struggle to be free it cant ever be denied and i never will ignore but when i see you coming i can take it allyoure so fine lose my mind and the world seems to disappear all the problems all the fears and the world seems to disappearsay youre mine and give yourself to the feelings that you know im needing all that you can give me all the things that you do so well words are healing sweet anticipation making spells as the shadows close in fall across all our yesterdaysyoure so fine lose my mind and the world seems to disappear all the problems all the fears and the world seems to disappearyoure so fine lose my mind and the world seems to disappear all the problems all the fears and the world seems to disappear disappear disappear disappear disappear disappear disappear disappearsay if i could look into myself and reason but i could never never see or make sense of the dealings turn around am i looking at salvation make me realize all that i am you put the light inside this manyoure so fine lose my mind and the world seems to disappear all the problems all the fears and the world seems to disappearyoure so fine lose my mind and the world seems to disappear all the problems all the fears and the world seems to disappearyoure so fine lose my mind and the world seems to disappear all the problems all the fears and the world seems to disappear ",1
91,"groove is in the heart","deeelite",1991," digthe chills that you spill up my back keep me filled with satisfaction when were done satisfaction of whats to comei couldnt ask for another no i couldnt ask for anotheryour groove i do deeply dig no walls only the bridge my supper dish my succotash wishi couldnt ask for another no i couldnt ask for anothergroove is in the heart groove is in the heart groove is in the heart groove is in the heartwatch outthe depth of hula groove move us to the nth hoop were going through to horten hears a whoi couldnt ask for another no i couldnt ask for anotherdj soul was on a roll i been told he cant be sold not vicious or malicious just delovely and deliciousi couldnt ask for anothersomeones in this torso yeah hot gotta deal you wanna know wanna know deeliteful truly deeliteful liteful makin it doin it specially at show show feeling kinda high like a hendrix haze haze music makes motion moves like a maze maze all inside of me side heart especially yeah help of the rhythm where i wanna be cmon flowin glowin with electric eyes ha you dip to the dive baby youll realize yeah baby youll see the funky side of me baby youll see that rhythm is the key hmm get get ready with it with it cant cant quit it quit it stomp on the street when i hear a funk beat beat playing pied piper follow whats true baby just sing about the groove sing itgroove is in the heart groove is in the heart groove is in the heart groove is in the heart groove is in the heart ",1
92,"all this time","sting",1991," NA ",1
93,"the one and only","chesney hawkes",1991," i am the one and only oh yeahcall me call me by my name or call me by my number you put me through it ill still be doing it the way i do itand yet you try to make me forget who i really am dont tell me i know best im not the same as all the resti am the one and only nobody id rather be i am the one and only you cant take that away from meive been a player in the crowd scene a flicker on the big screen my soul embraces one more in a million faceshigh hopes and aspirations ideas above my station maybe but all this time ive tried to walk with dignity and pridei am the one and only nobody id rather be i am the one and only you cant take that away from mei cant wear this uniform without some compromises because youll find out that we come in different shapes and sizesno one can be myself like i can for this job im the best man and while this may be true you are the one and only youi am the one and only nobody id rather be i am the one and only you cant take that away from mei am the one and only i am the one and only nobody id rather be i am the one and only the one and only you cant take that away from me ",1
94,"opp","naughty by nature",1991," opp how can i explain it ill take you frame by frame it to have yall jumpin shall we singin it o is for other p is for people scratchin temple the last p well thats not that simple its sorta like another way to call a cat a kitten its five little letters that are missin here you get on occasion at the other party as a game n it seems i gotta start to explainin bust it you ever had a girl and met her on a nice hello you get her name and number and then you feelin real mellow you get home wait a day shes what you want to know about then you call up and its her girlfriend or her cousins house its not a front f to the are to the o to the n to the t its just her boyfriends at her house boy thats what is scary its opp time other peoples what you get it theres no room for relationship theres just room to hit it how many brothers out there know just what im gettin at who thinks its wrong cause im splittin and cohittin at well if you do thats opp and youre not down with it but if you dont heres your membershipyou down with opp yeah you know me you down with opp yeah you know me you down with opp yeah you know me whos down with opp every last homie you down with opp yeah you know me you down with opp yeah you know me you down with opp yeah you know me whos down with opp all the homiesas for the ladies opp means something gifted the first two letters are the same but the last is something different its the longest loveliest lean i call it the leanest its another five letter word rhymin with cleanest and meanest i wont get into that ill do it sorta properly i say the last p stands for property now lady here comes a kiss blow a kiss back to me now tell me exactly have you ever known a brother who have another like ah girl or wife and you just had to stop and just cause he look just as nice you looked at him he looked at you and you knew right away that he had someone but he was gonna be yours anyway you couldnt be seen with him and honestly you didnt care cause in a room behind a door no one but yall are there when yall are finish yall can leave and only yall would know and then yall could throw the skeleton bones right in the closet do now dont be shocked cause if youre down i want your hands up high say opp opp i like to say with pride now when you do it do it well and make sure that it counts youre now down with a discountyou down with opp yeah you know me you down with opp yeah you know me you down with opp yeah you know me whos down with opp every last homie you down with opp yeah you know me you down with opp yeah you know me you down with opp yeah you know me whos down with opp all the homiesthis girl ah tried to opp me i had a girl and she knew that matteroffact my girl was partners that had a fall out disagreement yeah an argument she tried to do me so we did it in my apartment bust it that wasnt the thing it must have been the way she hit the ceiling cause after that she kept on coming back and catchin feelings i said lets go my girl is coming so you gotta leave she said oh no i love you treach i said now child please you gots to leave come grab your coat right now you gotta go i said now look you to the stairs and to the stair window this was a thing a little thing you shouldnt have put your heart cause you know i was opp hell from the very start come on come on now let me tell you what its all about when you get down you cant go round runnin off at the mouth thats rule number one in this opp establishment you keep your mouth shut and it wont get back to her or him exciting isnt it a special kinda business many of you will catch the same sorta opp is you with him or her for sure is going to admit it when opp comes damn skippy im with ityou down with opp yeah you know me you down with opp yeah you know me you down with opp yeah you know me whos down with opp every last homie you down with opp yeah you know me you down with opp yeah you know me you down with opp yeah you know me whos down with opp all the homiesbreak it down ",1
95,"freedom 90","george michael",1991," i wont let you down i will not give you up gotta have some faith in the sound its the one good thing that ive got i wont let you down so please dont give me up because i would really really love to stick around oh yeahheaven knows i was just a young boy didnt know what i wanted to be i was every little hungry schoolgirls pride and joy and i guess it was enough for meto win the race a prettier face brand new clothes and a big fat place on your rock and roll tv but today the way i play the game is not the same no way think im gonna get me some happyi think theres something you should know i think its time i told you so theres something deep inside of me theres someone else ive got to betake back your picture in a frame take back your singing in the rain i just hope you understand sometimes the clothes do not make the manall we have to do now is take these lies and make them true somehow all we have to see is that i dont belong to you and you dont belong to me yeah yeahfreedom freedom freedom youve gotta give for what you take freedom freedom freedom youve gotta give for what you takeheaven knows we sure had some fun boy what a kick just a buddy and me we had every bigshot good time band on the run boy we were living in a fantasywe won the race got out of the place i went back home got a brand new face for the boys on mtv but today the way i play the game has got to change oh yeah now im gonna get myself happyi think theres something you should know i think its time i stopped the show theres something deep inside of me theres someone i forgot to betake back your picture in a frame dont think that ill be back again i just hope you understand sometimes the clothes do not make the manall we have to do now is take these lies and make them true somehow all we have to see is that i dont belong to you and you dont belong to me yeah yeahfreedom freedom freedom youve gotta give for what you take freedom freedom freedom youve gotta give for what you takewell it looks like the road to heaven but it feels like the road to hell when i knew which side my bread was buttered i took the knife as wellposing for another picture everybodys got to sell but when you shake your ass they notice fast and some mistakes were build to lastthats what you get thats what you get thats what you get i say thats what you get i say thats what you get for changing your mind thats what you get for changing your mindthats what you get thats what you get and after all this time i just hope you understand sometimes the clothes do not make the manall we have to do now is take these lies and make them true somehow all we have to see is that i dont belong to you and you dont belong to me yeah yeahfreedom freedom freedom youve gotta give for what you take freedom freedom freedom youve gotta give for what you take yeahyou gotta give for what give for what give may not be what you want from me just the way its got to be lose the face now ive got to give for what give for what ",1
96,"i saw red","warrant",1991," ooh it must be magic how inside your eyes i see my destiny every time we kiss i feel you breathe your love so deep inside of meif the moon and stars should fall theyd be easy to replace i would lift you up to heaven and you would take their placeand i saw red when i opened up the door i saw red my heart just spilled onto the floor and i didnt need to see his face i saw yours i saw red and then i closed the door well i dont think im gonna love you anymoreevery day i wake up i thank god that you are still a part of me weve opened up the door to it so many people never find the keyand if the sun should ever fail to send its light we would burn a thousand candles and make everything alrightand i saw red when i opened up the door i saw red my heart just spilled onto the floor and i didnt need to see his face i saw yours i saw red and then i closed the door and i dont think im gonna love you anymoreand ive been hurt and ive been blind well im not sure that ill be fine i never thought it would end this waycause i saw red when i opened up the door i saw red my heart just spilled onto the floor and i didnt need to see his face oh i saw yours i saw red and then i closed the door i dont think im gonna love you anymoreooh it must be magic ",1
97,"miles away","winger",1991," so this is love or so you tell me as youre walkin out the door the months go by and i know for certain its not the love im lookin forsome times just for a moment i reach out hope youre still theremiles away no youre never turnin back i just cant wait anymore miles away nothin left of what we had just when i needed you most you were miles awayits hard to tell what youre goin through you kept your feelings locked inside of you open your heart and chances are what youre feelin im feelin tooif only just for a moment hold on to the dreams that we hadmiles away no youre never turnin back i just cant wait anymoremiles away nothin left of what we had just when i needed you most you were miles awaywhen times were tough and you were down and out who was there by your side now youve gone im so tired of bein alone with only your promisesthe lonliness just fades away thoughts of you just memories no cryin now for what were missin time wont forget what you meant to meif you hold me just for a moment hold on to the dreams that we hadmiles away no youre never turnin back i just cant wait anymoremiles away nothin left of what we had just when i needed you the most whoaohmiles away no youre never turnin back i just cant wait anymoremiles away nothin left of what we had just when i needed you the mostyou were miles away ",1
98,"do you want me","saltnpepa",1991,NA,NA
99,"the motown song","rod stewart",1991," bring over some of your old motown records well put the speakers in the window and well go on the roof and listen to the miracles echo to the alley down belowlets dance together just for the night lets dont worry about the future or nothin else cause just like the musics sayin you gotta take chances go ahead just do it and trust yourselftheres a soul in the city watching over us tonight theres a soul in the city saying everythings gonna be all rightso bring over some of your old motown records well put the speakers in the window and well go on the roof and listen to the miracles echo to the alley down belowthey wish us luck but they think were just dreaming lets prove them wrong baby cause you know what luck is luck is believing youre lucky thats all and showing just a little bit of faiththeres a soul in the city watching over us i swear theres a soul in the city theres a whole world waiting out therelisten i got plans for us playing like a skip on a record through my head all night long but when we walk that darkened stairway and step out on the roof i know what were feeling cant be wrongbring over some of your old motown records well put the speakers in the window and well go on the roof and listen to the miracles echo to the alley down belowbring over some of your old motown records well put the speakers in the window and well go on the roof and listen to the miracles echo to the alley down below let the temptations sing it one time bring over some of you old motown records well put the speakers in the window and well go on the roof and listen to the miracles echo to the alley down belowbring over some of you old motown records well put the speakers in the window and well go on the roof and listen to the miracles echo to the alley down belowbring over some of you old motown records well put the speakers in the window and well go on the roof and listen to the miracles echo to the alley down below ",1
100,"shiny happy people","rem",1991," shiny happy people laughingmeet me in the crowd people people throw your love around love me love me take it into town happy happy put it in the ground where the flowers grow gold and silver shineshiny happy people holding hands shiny happy people holding hands shiny happy people laughingeveryone around love them love them put it in your hands take it take it theres no time to cry happy happy put it in your heart where tomorrow shines gold and silver shineshiny happy people holding hands shiny happy people holding hands shiny happy people laughingwhoa here we goshiny happy people holding hands shiny happy people holding hands shiny happy people laughingshiny happy people holding hands shiny happy people holding hands shiny happy people laughingshiny happy people holding hands shiny happy people holding hands shiny happy people laughingshiny happy people holding hands people happy people shiny happy people holding hands people happy people shiny happy people holding hands people happy people ",1
1,"end of the road","boyz ii men",1992," girl you know we belong together i dont have no time for you to be playing with my heart like this youll be mine forever baby you just waitwe belong together and you know that i am right why do you play with my heart why do you play with my mindsaid wed be forever said itd never die how could you love me and leave me and never say goodbyewhen i cant sleep at night without holding you tight girl each time i try i just break down and cry pain in my head oh id rather be dead spinning around and aroundalthough weve come to the end of the road still i cant let go its unnatural you belong to me i belong to you although weve come to the end of the road still i cant let go its unnatural you belong to me i belong to yougirl i know you really love me you just dont realize youve never been there before its only your first timemaybe ill forgive you maybe youll try we should be happy together forever you and iwill you love me again like you loved me before this time i want you to love me much more this time instead just come to my bed and baby just dont let me goalthough weve come to the end of the road still i cant let go its unnatural you belong to me i belong to you although weve come to the end of the road still i cant let go its unnatural you belong to me i belong to yougirl im here for you all those times at night when you just hurt me and just ran out with that other fella baby i knew about it i just didnt care you just dont understand how much i love do you im here for youim not about to go out on cheat you maybe ill forgive you just like you did baby but thats alright i love you anyway maybe you will try and im still going to be here for you until my dying day we should be happy together forever right now im just in so much pain baby cause you just wont come back to me you and i will you just come back to melonely yes baby my heart is lonely lonely my heart hurts baby lonely yes i feel pain too baby pleasethis time instead just come to my bed and baby just dont let me goalthough weve come to the end of the road still i cant let go its unnatural you belong to me i belong to you although weve come to the end of the road still i cant let go its unnatural you belong to me i belong to youalthough weve come to the end of the road still i cant let go its unnatural you belong to me i belong to you although weve come to the end of the road still i cant let go its unnatural you belong to me i belong to you ",1
2,"baby got back","sir mixalot",1992," oh my god becky look at her butt it is so big she looks like one of those rap guys girlfriends but ya know who understands those rap guys they only talk to her because she looks like a total prostitute kay i mean her butt is just so big i cant believe its just so round its like out there i mean gross look shes just so blacki like big butts and i can not lie you other brothers cant deny that when a girl walks in with an itty bitty waist and a round thing in your face you get sprung want to pull up tough cause you notice that butt was stuffed deep in the jeans shes wearing im hooked and i cant stop staring oh baby i want to get witcha and take your picture my homeboys tried to warn me but with that butt you got makes me so horny ooh rumposmoothskin you say you want to get in my benz well use me use me cause you aint that average groupie ive seen her dancin to hell with romancin shes sweat wet got it goin like a turbo vette im tired of magazines sayin flat butts are the thing take the average black man and ask him that she gotta pack much back so fellas yeah fellas yeah has your girlfriend got the butt hell yeah tell em to shake it shake it shake it shake it shake that healthy butt baby got back la fits with the oakland bootybaby got back la fits with the oakland bootyi like em round and big and when im throwin a gig i just cant help myself im actin like an animal now heres my scandal i want to get you home and ugh doubleup ugh ugh i aint talkin bout playboy cause silicone parts are made for toys i want em real thick and juicy so find that juicy double mixalots in trouble beggin for a piece of that bubble so im lookin at rock videos knockkneed bimbos walkin like hoes you can have them bimbos ill keep my women like flo jo a word to the thick soul sistas i want to get with ya i wont cuss or hit ya but i gotta be straight when i say i want to fuck til the break of dawn baby got it goin on a lot of simps wont like this song cause them punks like to hit it and quit it and id rather stay and play cause im long and im strong and im down to get the friction on so ladies yeah ladies yeah if you want to role in my mercedes yeah then turn around stick it out even white boys got to shout baby got backbaby got back yeah baby when it comes to females cosmo aint got nothin to do with my selection thirty sixtwenty fourthirty six ha ha only if shes 53so your girlfriend rolls a honda playin workout tapes by fonda but fonda aint got a motor in the back of her honda my anaconda dont want none unless youve got buns hon you can do side bends or situps but please dont lose that butt some brothers want to play that hard role and tell you that the butt aint gol so they toss it and leave it and i pull up quick to retrieve it so cosmo says youre fat well i aint down with that cause your waist is small and your curves are kickin and im thinkin bout stickin to the beanpole dames in the magazines you aint it miss thing give me a sista i cant resist her red beans and rice didnt miss her some knucklehead tried to dis cause his girls are on my list he had game but he chose to hit em and i pull up quick to get wit em so ladies if the butt is round and you want a triple x throw down dial 1900mixalot and kick them nasty thoughts baby got backbaby got backlittle in the middle but she got much back little in the middle but she got much back little in the middle but she got much back little in the middle but she got much back ",1
3,"jump","kris kross",1992," jump jump you should know you should know that ah kris kross is not having anything today as we stand there totally krossed out we commence to make youjump jump the mac dad will make you jump jump daddy mac will make you jump jump kris kross will make you jump jumpdont try to compare us to another bad little fad im the mac and im bad give you something that you never had ill make ya bump bump wiggle and shake your rump cause ill be kicking the flavor that makes you wanna jump how high real high cause im just so fly a young lovable hugable type of guy and everything is to the back with a little slack cause insideout is wiggity wiggity wiggity wack i come stompin with somethin pumpin to keep youexplain jumpin rb rappin bull crap is what im dumpin aint nothin sucker about kris kross we all that so when they ask do they rock say believe thatjump jump the mac dad will make you jump jump daddy mac will make you jump jump kris kross will make you jump jump uh huh uh huh jump jump the mac dad will make you jump jump daddy mac will make you jump jump kris kross will make you jump jumpi like my stuff knockin knockin i love it when a girl is like jockin jockin the dadouble dymac ya you know me i got you jumpin and bumpin and pumpin movin all around g in the mix i make you take a step back they try to step to the mac then they got jacked to the back youll be fortin again is that coincidental and like you know it dont be claiming that its mental two lil kids with a flow yexplainou aint ever heard and none faking you can understand every word as you listen to my cool smooth melody the daddy makes you jumpjump jump the mac dad will make you jump jump daddy mac will make you jump jump kris kross will make you jump jump uh huh uh huh jump jump the mac dad will make you jump jump daddy mac will make you jump jump kris kross will make you jump jumpnow the formalities of this and that is that kris kross aint comin off whack and for all yall suckers that dont know check it outsome of them try to rhyme but they cant rhyme like this go go some of them try to rhyme but they cant rhyme like this go go some of them try to rhyme but they cant rhyme like this go go some of them try to rhyme but they cant go go cause im the miggida miggida miggida mac daddy miggida miggida miggida mac cause im the miggida miggida miggida mac daddyi make you wannajump jump the mac dad will make you jump jump daddy mac will make you jump jump kris kross will make you jump jump uh huh uh huhjump jump the mac dad will make you jump jump daddy mac will make you jump jump kris kross will make you jump jump uh huh uh huhjump jump the mac dad will make you jump jump daddy mac will make you jump jump kris kross will make you jump jump uh huh uh huhbelieve dat ",1
4,"save the best for last","vanessa williams",1992," sometimes the snow comes down in june sometimes the sun goes round the moon i see the passion in your eyes sometimes its all a big surprisecause there was a time when all i did was wish youd tell me this was love its not the way i hoped or how i planned but some how its enoughand now were standing face to face isnt this world a crazy place just when i thought our chance had passed you go and save the best for lastall of the nights you came to me when some silly girl had set you free you wondered how youd make it through i wondered what was wrong with youcause how could you give your love to someone else and share your dreams with me sometimes the very thing youre looking for is the one thing you cant seebut now were standing face to face isnt this world a crazy place just when i thought our chance had passed you go and save the best for last la la la la la la lasometimes the very thing youre looking for is the one thing you cant see sometimes the snow comes down in june sometimes the sun goes round the moon just when i thought our chance had passed you go and save the best for lastyou went and saved the best for last yeah ehh ehh ",1
5,"babybabybaby","tlc",1992," and you want my love well thats alright well it will be there for you morning noon and night but you gotta be good and do it right aint got no time for parttime lovin in my lifewell you wanna be loved uh hey thats ok cause it falls in line right with my sexuality but you gotta be down a nickel gotta be true cause otherwise this b aint got no time for youoh baby baby baby i got so much love in me ooh baby baby baby baby baby cause if yourre gonna get me off you got to love me deepwell you want my heart uh and all my time well it wont be there if you cant deal with my mind cause a girl like me uh wont stand for less i require plenty conversation with my sexlong as you know that i could have any man i want to baby thats actual and factual but still i choose you to be with me and work on me so you better not flake it upoh baby baby baby i got so much love in me ooh baby baby baby baby baby cause if yourre gonna get me off you got to love me deepbaby long as you know that i could have any man i want to baby thats actual and factual but still i choose you to be with me and work on me so you better not flake it upwell you want my heart and all my time well it wont be there if you cant deal with my mind cause a girl like me i wont stand for less i require plenty conversation with my sexoh baby baby baby i got so much love in me ooh baby baby baby baby baby cause if yourre gonna get me off you got to love me deepi can have any man that i want to time and place that i choose to but i think you know that id rather be here with youyeah thats actual and factual youre the one i seem to run back to just to get me off you got to love me got to love me got to love me ",1
6,"tears in heaven","eric clapton",1992," would you know my name if i saw you in heaven would it be the same if i saw you in heaveni must be strong and carry on cause i know i dont belong here in heavenwould you hold my hand if i saw you in heaven would you help me stand if i saw you in heavenill find my way through night and day cause i know i just cant stay here in heaventime can bring you down time can bend your knees time can break your heart have you begging please begging pleasebeyond the door theres peace im sure and i know therell be no more tears in heavenwould you know my name if i saw you in heaven would it be the same if i saw you in heaveni must be strong and carry on cause i know i dont belong here in heavencause i know i dont belong here in heaven ",1
7,"my lovin youre never gonna get it","en vogue",1992," no youre never gonna get it never ever gonna get it no not this time no youre never gonna get it my love never ever gonna get itno youre never gonna get it never ever gonna get it no not this time no youre never gonna get it my love never ever gonna get iti remember how it used to be you never was this nice you cant fool me now you talkin like you made a change the more you talk the more things sound the same what makes you think you can just walk back into her life without a good fight oh i just sit back and watch you make a fool of yourself cuz youre just wasting your time ohno youre never gonna get it not this time never ever gonna get it my lovin no youre never gonna get it had your chance to make a change never ever gonna get itno youre never gonna get it not this time never ever gonna get it my lovin no youre never gonna get it had your chance to make a change never ever gonna get itnow you promise me the moon and stars save your breath you wont get very far gave you many chances to make change the only thing you changed was love to hate it doesnt matter what you do or what you say she doesnt love you no way maybe next time youll give your woman a little respect so you wont be hearing her say no wayno youre never gonna get it not this time never ever gonna get it my lovin no youre never gonna get it had your chance to make a change never ever gonna get itno youre never gonna get it not this time never ever gonna get it my lovin no youre never gonna get it had your chance to make a change never ever gonna get itno youre never gonna get it not this time never ever gonna get it my lovin no youre never gonna get it had your chance to make a change never ever gonna get itno youre never gonna get it not this time never ever gonna get it my lovin no youre never gonna get it had your chance to make a change never ever gonna get itdoesnt matter what you do or what you say she dont love you no way maybe next time youll give your woman a little respect so you wont be hearing her say no wayand now its time for a breakdownnever gonna get it never gonna get it never gonna get it never gonna get it never gonna get it never gonna get it never gonna get it whoawhoawhoawhoa never gonna get it never gonna get it never gonna get it never gonna get it never gonna get it never gonna get it never gonna get it never get itno youre never gonna get it sweet lovin never ever gonna get it sweet lovin no youre never gonna get it my lovin never ever gonna get it my lovin no youre never gonna get it sweet lovin never ever gonna get it my lovin no youre never gonna get it sweet lovin never ever gonna get it my lovin ",1
8,"under the bridge","red hot chili peppers",1992," sometimes i feel like i dont have a partner sometimes i feel like my only friend is the city i live in the city of angels lonely as i am together we cryi drive on her streets cause shes my companion i walk through her hills cause she knows who i am she sees my good deeds and she kisses me windy i never worry now that is a liei dont ever want to feel like i did that day take me to the place i love take me all the way i dont ever want to feel like i did that day take me to the place i love take me all the way yeah yeahits hard to believe that theres nobody out there its hard to believe that im all alone at least i have her love the city she loves me lonely as i am together we cryi dont ever want to feel like i did that day take me to the place i love take me all the way i dont ever want to feel like i did that day take me to the place i love take me all the way yeah yeah ooh no no no yeah yeah love me i say yeah yeahunder the bridge downtown is were i drew some blood under the bridge downtown i could not get enough under the bridge downtown forgot about my love under the bridge downtown i gave my life away yeah yeah ooh no no no yeah yeah here i stay yeah yeahhere i stay ",1
9,"all 4 love","color me badd",1992," im so glad youre my girl ill do anything for you call you every night and give you flowers to i thank the lord for you and think about you all the time i ask him everyday that youll forever be minei wanna hold your hand to show you ill be there i like to do the things that let you know i care i sing this lullaby cause girl you fill me full i look into your eyes youre so beautifuloh girl i think i love you im always thinkin of you i want you to know i do it all 4 love i love it when were together girl i need you forever and want you to know i do it all 4 lovei will never leave you sugar this i guarantee i look in to the future i see you and me knight in shining armor i will be your fairy tale i wanna take care of you girl ill serve you welli will be there for you to catch you when you fall ill hold you in my arms thats where you belong i sing this lullaby cause girl you fill me full i look in to your eyes youre so beautiful beautiful yeahoh girl i think i love you im always thinkin of you i want you to know i do it all 4 love i love it when were together girl i need you forever and want you to know i do it all 4 loveyo come here sweetheart i want you to know something all right see everyday in my life without you is like a hundred years the distance between us an ocean of tears see all the things i do for you are for love dig itall for lovin all for you all for lovin you you youoh girl i think i love you im always thinkin of you i want you to know i do it all 4 love i love it when were together girl i need you forever and want you to know i do it all 4 loveoh girl i think i love you im always thinkin of you i want you to know i do it all 4 love i love it when were together girl i need you forever and want you to know i do it all 4 loveoh girl i think i love you im always thinkin of you all 4 love i love it when were together girl i need you forever ",1
10,"just another day","jon secada",1992," mornings alone when you come home i breath a little faster every time were together itd never be the same itd never be the same if youre not here how can you stay away how can you stay away away so longwhy cant we stay together give me a reason give me a reasoni i dont wanna say it i dont wanna find another way to make it trough the day without you i i cant resist try to find exactly what i missed its just another day without you its just another day ohmaking the time find the right lines to make you stay forever what do i have to tell youim just trying to hold on to something trying to hold on to something good oh give us a chance to make it give us a chance to make it to make it no no nodont wanna hold on to never im not that strong im not that strongi i dont wanna say it i dont wanna find another way to make it trough the day without you i i cant resist trying to find exactly what i missed its just another day without youwhy cant you stay forever just give me a reason give me a reasoncause i i dont wanna say it i dont wanna find another way to make it trough the day without you dont wanna make it trough the day no i i cant resist trying to find exactly what i missed its just another day without youi i dont wanna say it i dont wanna find another way to make it trough the day without you i i cant resist im trying to find exactly what i missed its just another day without you ",1
11,"i love your smile","shanice",1992," sittin in my class just driftin away starin into the windows of the world yeah i cant hear the teacher his books dont call me at all i dont see the bad boys tryin to catch some playcause i love your smile i love your smilethe clock at work says three and i wanna be free free to scream free to bathe free to paint my toes all day my boss is lame you know and so is the pay im gonna put that new black mini on my charge anywaycause i love your smile hey said i love your smiletime came and showed me your direction now i know ill never ever go back taught me that i can be a better girl with love you give you rock my world you digim showin the life that im livin this is the life that i have and its given to you yeah and its true ladda twinkley d do youbelieve in a girl like me shanice is the one for you to be with but when im caught all alone i start fessin its from a state of depressionand the thunder clouds of doubt move in i begin to wonder do you still love me but after that my whole world is beautifultime came and showed me your direction now i know ill never ever go back taught me that i can be a better girl with love you give you rock my world smilei do i love smile yes i do boy i love the smile i love your smile baby i love your smile i really do ",1
12,"to be with you","mr big",1992," hold on little girl show me what hes done to you stand up little girl a broken heart cant be that badwhen its through its through fate will twist the both of you so come on baby come on over let me be the one to show youim the one who wants to be with you deep inside i hope you feel it too waited on a line of greens and blues just to be the next to be with youbuild up your confidence so you can be on top for once wake up who cares about little boys that talk too muchive seen it all go down your game of love was all rained out so come on baby come on over let me be the one to hold youim the one who wants to be with you deep inside i hope you feel it too waited on a line of greens and blues just to be the next to be with youwhy be alone when we can be together baby you can make my life worthwhile i can make you start to smilewhen its through its through fate will twist the both of you come on baby come on over let me be the one to show youim the one who wants to be with you deep inside i hope you feel it too waited on a line of greens and blues just to be the next to be with youim the one who wants to be with you deep inside i hope you feel it too waited on a line of greens and blues just to be the next to be with youjust to be the next to be with you ",1
13,"im too sexy","right said fred",1992," im too sexy for my love too sexy for my love loves going to leave meim too sexy for my shirt too sexy for my shirt so sexy it hurts and im too sexy for milan too sexy for milan new york and japan im too sexy for your party too sexy for your party no way im disco dancingim a model you know what i mean and i do my little turn on the catwalk yeah on the catwalk on the catwalk yeah i do my little turn on the catwalkim too sexy for my car too sexy for my car too sexy by far and im too sexy for my hat too sexy for my hat what do you think about thatim a model you know what i mean and i do my little turn on the catwalk yeah on the catwalk on the catwalk yeah i shake my little tush on the catwalkim too sexy for my too sexy for my too sexy for my cause im a model you know what i mean and i do my little turn on the catwalk yeah on the catwalk yeah on the catwalk yeah i shake my little tush on the catwalkim too sexy for my cat too sexy for my cat poor pussy poor pussy cat im too sexy for my love too sexy for my love loves going to leave meand im too sexy for this song ",1
14,"black or white","michael jackson",1992," i took my baby on a saturday bang boy is that girl with you yes were one and the samenow i believe in miracles and a miracle has happened tonightbut if youre thinkin about my baby it dont matter if youre black or whitethey print my message in the saturday sun i had to tell them i aint second to noneand i told about equality and its true either youre wrong or youre rightbut if youre thinkin about my baby it dont matter if youre black or whitei am tired of this devil i am tired of this stuff i am tired of this business sew when the going gets rough i aint scared of your brother i aints scared of no sheets i aint scared of nobody girl when the goin gets meanprotection for gangs clubs and nations causing grief in human relations its a turf war on a global scale id rather hear both sides of the tale see its not about races just places faces where your blood comes from is were your space is ive seen the bright get duller im not going to spend my life being a colordont tell me you agree with me when i saw you kicking dirt in my eyebut if youre thinkin about my baby it dont matter if youre black or whitei said if youre thinkin of being my baby it dont matter if youre black or whitei said if youre thinkin of being my brother it dont matter if youre black or whiteooh ooh yea yea yea now ooh ooh yea yea yea nowits black its white its tough for them to get by its black its white x3 whoo ",1
15,"achy breaky heart","billy ray cyrus",1992," you can tell the world you never was my girl you can burn my clothes up when im gone you can tell your friends just what a fool ive been and laugh and joke about me on the phone you can tell my arms go back to the farm you can tell my feet to hit the floor or you can tell my lips to tell my fingertips they wont be reaching out for you no morebut dont tell my heart my achy breaky heart i just dont think hed understand and if you tell my heart my achy breaky heart he might blow up and kill this manyou can tell your mom i moved to arkansas you can tell your dog to bite my leg or tell your brother cliff whose fist can tell my lip he never really liked me anywayor tell your aunt louise tell anything you please myself already knows im not ok or you can tell my eyes to watch out for my mind it might be walking out on me todaybut dont tell my heart my achy breaky heart i just dont think hed understand and if you tell my heart my achy breaky heart he might blow up and kill this mandont tell my heart my achy breaky heart i just dont think hed understand and if you tell my heart my achy breaky heart he might blow up and kill this mandont tell my heart my achy breaky heart i just dont think hed understand and if you tell my heart my achy breaky heart he might blow up and kill this man ",1
16,"ill be there","mariah carey",1992," you and i must make a pact we must bring salvation back where there is love ill be there ill be thereill reach out my hand to you ill have faith in all you do just call my name and ill be there ill be thereill be there to comfort you build my world of dreams around you im so glad that i found youill be there with a love so strong ill be your strength you know ill keep holdin onlet me fill your heart with joy and laughter togetherness well its all im after just call my name and ill be there ill be thereill be there to protect you yeah baby with an unselfish love that respects you just call my name and ill be there ill be thereill be there to comfort you build my world of dreams around you you know im so glad that i found you baby so glad babyill be there with a love so strong ill be your strength be your strength you know ill keep holdin onif you should ever find someone new i know she better be good to you cause if she doesnt then ill be there ill be theredont you know baby yeah ill be there ill be therejust call my name and ill be there yeah ill be there baby you know ill be there just call my name and ill be there just look over your shoulder just call my name and ill be there ",1
17,"november rain","guns n roses",1992," when i look into your eyes i can see a love restrained but darlin when i hold you dont you know i feel the samenothin lasts forever and we both know hearts can change and its hard to hold a candle in the cold november rainweve been through this such a long long time just tryin to kill the pain oo yeah but love is always coming and love is always going and no ones really sure whos lettin go today walking awayif we could take the time to lay it on the line i could rest my head just knowin that you were mine all mine so if you want to love me then darlin dont refrain or ill just end up walkin in the cold november raindo you need some time on your own do you need some time all alone everybody needs some time on their own dont you know you need some time all alonei know its hard to keep an open heart when even friends seem out to harm you but if you could heal a broken heart wouldnt time be out to charm yousometimes i need some time on my own sometimes i need some time all alone everybody needs some time on their own dont you know you need some time all aloneand when your fears subside and shadows still remain oh yeah i know that you can love me when theres no one left to blame so never mind the darkness we still can find a way cause nothin lasts forever even cold november raindont ya think that you need somebody dont ya think that you need someone everybody needs somebody youre not the only one youre not the only onedont ya think that you need somebody dont ya think that you need someone everybody needs somebody youre not the only one youre not the only onedont ya think that you need somebody dont ya think that you need someone everybody needs somebody youre not the only one youre not the only onedont ya think that you need somebody dont ya think that you need someone everybody needs somebody ",1
18,"life is a highway","tom cochrane",1992," lifes like a road that you travel on when theres one day here and the next day gone sometimes you bend sometimes you stand sometimes you turn your back to the wind theres a world outside every darkened door where blues wont haunt you anymore where the brave are free and lovers soar come ride with me to the distant shore we wont hesitate break down the garden gate theres not much time left todaylife is a highway i want to ride it all night long if youre going my way i want to drive it all night longthrough all these cities and all these towns its in my blood and its all around i love you now like i loved you then this is the road and these are the hands from mozambique to those memphis nights the khyber pass to vancouvers lights knock me down get back up again youre in my blood im not a lonely mantheres no load i cant hold road so rough this i know ill be there when the light comes in just tell em were survivorslife is a highway i want to ride it all night long if youre going my way i want to drive it all night longlife is a highway i want to ride it all night long if youre going my way i want to drive it all night longthere was a distance between you and i a misunderstanding once but now we look it in the eyethere aint no load i cant hold road so rough this i know ill be there when the light comes in just tell em were survivorslife is a highway i want to ride it all night long if youre going my way i want to drive it all night longlife is a highway i want to ride it all night long if youre going my way i want to drive it all night longlife is a highway i want to ride it all night long if youre going my way i want to drive it all night long ",1
19,"remember the time","michael jackson",1992," do you remember when we fell in love we were so young and innocent then do you remember how it all began it just seemed like heaven so why did it enddo you remember back in the fall wed be together all day long do you remember us holding hands in each others eyes wed stare tell medo you remember the time when we fell in love do you remember the time when we first met girl do you remember the time when we fell in love do you remember the timedo you remember how we used to talk ya know wed stay on the phone at night till dawn do you remember all the things we said like i love you so ill never let you godo you remember back in the spring every morning birds would sing do you remember those special times theyll just go on and on in the back of my minddo you remember the time when we fell in love do you remember the time when we first met girl do you remember the time when we fell in love do you remember the timethose sweet memories will always be dear to me and girl no matter what was said i will never forget what we had now babydo you remember the time when we fell in love do you remember the time when we first met do you remember the time when we fell in love do you remember the timedo you remember the time when we fell in love do you remember the time when we first met do you remember the time when we fell in love do you remember the timeremember the times ooh remember the times do you remember girl remember the times on the phone you and me remember the times till dawn two or three what about us girlremember the times do you do you do you do you do you remember the times in the park on the beach remember the times you and me in spain remember the times what about what aboutremember the times ooh in the park remember the times after dark do you do you do you remember the times do you do you do you do you remember the times yeah yeah ",1
20,"finally","cece peniston",1992," finally finally yeah yeah owwfinally it has happened to me right in front of my face and i just can not hide itmeeting mr right the man of my dreams the one who shows me true love or at least it seems with brown cocoa skin and curly black hair its just the way he looks at me that gentle loving starefinally youve come along the way i feel about you it just cant be wrong if you only knew the way i feel about you i just cant describe it oh no nofinally it has happened to me right in front of my face my feelings cant describe it finally it has happened to me right in front of my face and i just can not hide itfinally it has happened to me right in front of my face my feelings cant describe it finally it has happened to me right in front of my face and i just can not hide itit seems so many times you seemed to be the one but all he ever wanted was to have a little fun but now youve come along and brightened up my world in my heart i feel it im that special kinda girlfinally youve come along the way i feel about you it just cant be wrong if you only knew the way i feel about you i just cant describe it oh no nofinally it has happened to me right in front of my face my feelings cant describe it finally it has happened to me right in front of my face and i just can not hide itfinally it has happened to me right in front of my face my feelings cant describe it finally it has happened to me right in front of my face and i just can not hide itfinally oh finally yeah yeah  oh finally finally yeah yeah owwfinally finally yeah yeah oww finally finally yeah yeah oww finally finally yeah yeah oww finally finally yeah yeah oww finallyfinally youve come along the way i feel about you it just cant be wrong if you only knew the way i feel about you i just cant describe it oh no nofinally it has happened to me right in front of my face my feelings cant describe it finally it has happened to me right in front of my face and i just can not hide itfinally it has happened to me right in front of my face my feelings cant describe it ",1
21,"this used to be my playground","madonna",1992," this used to be my playground this used to be my childhood dream this used to be the place i ran to whenever i was in need of a friend why did it have to end and why do they always saydont look back keep your head held high dont ask them why because life is short and before you know youre feeling old and your heart is breaking dont hold on to the past well thats too much to askthis used to be my playground used to be this used to be my childhood dream this used to be the place i ran to whenever i was in need of a friend why did it have to end and why do they always sayno regrets but i wish that you were here with me well then theres hope yet i can see your face in our secret place youre not just a memory say goodbye to yesterday the dream those are words ill never say ill never saythis used to be my playground used to be this used to be our pride and joy this used to be the place we ran to that no one in the world could dare destroy this used to be our playground used to be this used to be our childhood dream this used to be the place we ran to i wish you were standing here with methis used to be our playground used to be this used to be our childhood dream this used to be the place we ran to the best things in life are always free wishing you were here with me ",1
22,"sometimes love just aint enough","patty smyth",1992," now i dont wanna lose you but i dont wanna use you just to have somebody by my sideand i dont wanna hate you i dont wanna take you but i dont wanna be the one to cryand that dont really matter to anyone anymore but like a fool i keep losing my place and i keep seeing you walk through that doorbut theres a danger in loving somebody too much and its sad when you know its your heart you cant trust theres a reason why people dont stay where they are baby sometimes love just aint enoughnow i could never change you and i dont wanna blame you baby you dont have to take the fallyes i may have hurt you but i did not desert you maybe i just want to have it allit makes a sound like thunder it makes me feel like rain and like a fool who will never see the truth i keep thinking somethings gonna changebut theres a danger in loving somebody too much and its sad when you know its your heart you cant trust theres a reason why people dont stay where they are baby sometimes love just aint enoughand theres no way home when its late at night and youre all alone are there things that you wanted to say and do you feel me beside you in your bed there beside you where i used to layand theres a danger in loving somebody too much and its sad when you know its your heart they cant touch theres a reason why people dont stay who they are baby sometimes love just aint enough baby sometimes love it just aint enough ",1
23,"cant let go","mariah carey",1992," there you are holding her hand i am lost dying to understand didnt i cherish you right dont you know you were my lifeeven though i try i cant let go something in your eyes captured my soul and every night i see you in my dreams youre all i know i cant let gojust cast aside you dont even know im alive you just walk on by dont care to see me cry and here i am still holding on i cant accept my world is gone no noeven though i try i cant let go something in your eyes captured my soul and every night i see you in my dreams youre all i know i cant let godo you even realize the sorrow i have inside everyday of my life do you know the way it feels when all you have just dies i try and try to deny that i need you but still you remain on my mindno i just cant get you out of my mind i never can say goodbye cause every night i see you in my dreamsyoure all i know i cant let you go even though i try i cant let go of something i need so badly youre all i know i cant let go ",1
24,"jump around","house of pain",1992," pack it up pack it in let me begin i came to win battle me thats a sin i wont tear the sack up punk youd better back up try and play the role and the whole crew will act upget up stand up come on throw your hands up if youve got the feelin jump across the ceilin muggs is a funk fest someones talkin junk yo ill bust em in the eye and then ill take the punks homefeel it funk it amps it are junkin and i got more rhymes than theres cops at a dunkin donuts shop sure nuff i got props from the kids on the hill plus my mom and my pops i came to get down i came to get down so get out your seats and jump aroundjump around jump up and get down jump around jump around jump up and get down jump up jump up and get downjump jump jump jump jump jump jump jump jump jump jump jump jump jump jump jump jumpill serve your ass like john mcenroe if your girl steps up im smackin the hoe word to your moms i came to drop bombs i got more rhymes than the bibles got psalmsand just like the prodigal son ive returned anyone steppin to me youll get burned cause i got lyrics and you aint got none so if you come to battle bring a shotgunbut if you do youre a fool cause i duel to the death try and step to me youll take your last breath i gots the skill come get your fill cause when i shoot ta give i shoot to kill i came to get down i came to get down so get out your seats and jump aroundjump around jump up and get down jump around jump around jump up and get down jump up jump up and get down jump jumplisten to the sound that pounds i jump around im no clown i get down to the funk listen to the wig out and step to the rear dear cause im herethe p to the e to the t e rockin the runs in your stockin so hon put the lock in chillin with the house of pain blood stains the ground huh i jump aroundim the cream of the crop i rise to the top i never eat a pig cause a pig is a cop or better yet a terminator like arnold schwarzenegger tryn to play me out like as if my name was segabut i aint going out like no punk bitch get used to one style and you know i might switch it up up and around then buck buck you down put out your head then you wake up in the dawn of the deadim comin to get ya comin to get ya spittin out lyrics homie ill wet ya i came to get down i came to get down so get out your seats and jump aroundjump around jump up and get down jump around jump around jump up and get down jump up jump up and get downjump jump jump jump jump jump jump jump jump  ",1
25,"diamonds and pearls","prince and the new power generation",1992," this will be the day that you will hear me say that i will never run awayi am here for you love is meant for two now tell me what youre gonna doif i gave you diamonds and pearls would you be a happy boy or a girl if i could i would give you the world but all i can do is just offer you my lovewhich one of us is right if we always fight why cant we just let love decide let love decideam i the weaker man because i understand that love must be the master plan love is the master planif i gave you diamonds and pearls would you be a happy boy or a girl if i could i would give you the world all i can do is just offer you my loved to the i to the a to the m o to the n to the d to the pearls of love d to the i to the a to the m to the m o to the n to the d to the pearls of lovethere will come a time there will come a time when love will blow your mind blow your mind and everything youll look for youll find take a look insidethat will be the time that will be the time that everything will shine forever so bright it makes you colorblind you will be color blindif i gave you diamonds and pearls would you be a happy boy or a girl if i could i would give you the world all i can do is just offer you my loveif i gave you diamonds and pearls pearls would you be a happy boy or a girl yeah yeah if i could i would give you the world give you the world all i can do is just offer you my love all i can doif i gave you diamonds and pearls diamonds would you be would you would you would ya would ya would ya be happy little baby if i could i would give you the world ",1
26,"dont let the sun go down on me","george michael and elton john",1992," i cant light no more of your darkness all my pictures seem to fade to black and whiteim growing tired and time stands still before me frozen here on the ladder of my lifeits much too late to save myself from falling i took a chance and changed your way of lifebut you misread my meaning when i met you closed the door and left me blind by the lightdont let the sun go down on me although i search myself its always someone else i see id just allow a fragment of your life to wander free but losing everything is like the sun going down on meladies and gentlemen mr elton johni cant find oh the right romantic line but see me once and see the way i feeldont discard me baby dont just because you think i mean you harm just because you think i mean you harm oh but these cuts i have cuts i have they need love they need love they need love to help them healoh dont let the sun go down on me although i search myself its always someone else i see id just allow a fragment of your life to wander free oh cause losing everything is like the sun going down on medont let the sun go down on me although i search myself its always someone else that i see yeah id just allow a fragment of your life to wander free baby oh cause losing everything is like the sun going down on memr elton john ",1
27,"masterpiece","atlantic starr",1992," a simple touch of your hand and everything is right the gentle way you look at me when we kiss goodnight youve given me the freedom no other love has known and now i thank you girl  thank you girlthe countless ways youve touched my heart is more than i can say the beauty that youve shown to me takes my breath away a picture perfect painting thats what our love is and yes i need you so and now i knowchorus ooooh ive found a masterpiece in you a work of art its true and i treasure you my love ooooh ive found a masterpiece in you a work of art its true and i treasure yousometimes i wonder what id be had i not found you a least and lonely soul this world could show me nothing newbut now my lifes a canvas painted with your love and it will always be and now i seethe gentle walks together through time will never pass this fairy tale we shared is real inside our hearts let it be forever never let it end this promise i can make heaven is ours to takerepeat choruswhen im lost and insecure you build me up and make me sure that everything will be alright my loverepeat chorusthis fairy tale were sharing is real inside our hearts let it be forever never let it end ",1
28,"if you asked me to","celine dion",1992," used to be that i believed in something used to be that i believed in love its been a long time since ive had that feeling i could love someone i could trust someone i said id never let nobody near my heart again darlin i said id never let nobody inbut if you asked me to i just might change my mind and let you in my life forever if you asked me to i just might give my heart and stay here in your arms forever if you asked me to if you asked me tosomehow ever since ive been around you cant go back to being on my own cant help feeling darling since ive found you that ive found my home that im finally home i said id never let nobody get too close to me darling i said i needed needed to be freebut if you asked me to i just might change my mind and let you in my life forever if you asked me to i just might give my heart and stay here in your arms forever if you asked me to if you asked me toasked me to i will give my world to you baby i need you now ask me to and ill do anything for you baby for you babyif you asked me to id let you in my life forever if you asked me to ",1
29,"giving him something he can feel","en vogue",1992," many say that im too young to let you know just where im coming from yeah but you will see its just a matter of time my love will surely make you minewell im livin in a world of ghetto life everyone seems so uptight but nothins wrong and its alright with my mani like the way we carry on his love will send me on and on with my man people out there can understandim giving him something he can feel to let him know this love is real giving him something he can feel to let him know this love is real this love is realso much joy for us it seems so much hope for material things are they only in my dreamsand thats exactly why im singing this song to you to let you know that real dreams do come true you tell me what does it meanlivin in a world of ghetto life everyone is so uptight nothins wrong its alright my manbaby i like the way we carry on his love will send me on and on with my man people out there can understand thatim giving him something he can feel to let him know this love is real giving him something he can feel to let him know this love is real this love is realgiving him something he can feel giving him something he can feel giving him something he can feel giving him something he can feel giving him something he can feel ",1
30,"live and learn","joe public",1992,"youve got to live and learn youve got to live and learn before your bridges burn youve got to live and learn heres a little story about life everybody that lives surely dies a lot of people ask the question why some people have to go through so much more before they really learn about lifes score the subject is not to be ignored i dont wanna be the one to tell you how its gotta be living is the only way you ever really gonna see theres so much wrong and negativity enough for the whole world to see i know theres still possibility you raise a little kid he turns out bold it may be from the way you treat him cold i guess thats how the storys told youve got to live and learn youve got to live and learn before your bridges burn youve got to live and learn",3
31,"come and talk to me","jodeci",1992,"jodeci forever my lady come and talk to me been watching you baby for a long time you look so good got my eyes on you ive been watching you for so very long trying to get my nerve built up to be so strong i really want to meet you but im kind of scared cause youre the kind of lady with so much class get my thoughts together for the very next day but when i see you lady i forget what to say your eyes and hair such a beautiful tone the way you dress and walk it really turns me on ooh you really turn me on come on come on come on chorus come and talk to me i really want to meet you can i talk to you i really want to know you come and talk to me i really want to meet you can i talk to you i really want to know you oh oh oh oh oh there you are again with the same smile each day i wanna know what it is that makes me feel this way i wish i could grab you tell you what it means to me to see you walking by my way it really makes my day before i go to sleep and dream about you im a single man i hope that you are single too why do i seek something to set my mind free cause curiousity is buggin the hell outta me talk to me talk to me talk to me baby come and talk to me i really want to meet you can i talk to you i really want to know you come and talk to me i really want to meet you can i talk to you i really want to know you i wanna know you wanna tell me your name let me play your game i wanna know you wanna tell me your name let me play your game repeat chorus until fade",3
32,"smells like teen spirit","nirvana",1992," load up on guns bring your friends its fun to lose and to pretend shes overbored and selfassured oh no i know a dirty wordhello hello hello how low hello hello hello how low hello hello hello how low hello hello hellowith the lights out its less dangerous here we are now entertain us i feel stupid and contagious here we are now entertain us a mulatto an albino a mosquito my libido yeah heyim worse at what i do best and for this gift i feel blessed our little group has always been and always will until the endhello hello hello how low hello hello hello how low hello hello hello how low hello hello hellowith the lights out its less dangerous here we are now entertain us i feel stupid and contagious here we are now entertain us a mulatto an albino a mosquito my libido yeah hey yehand i forget just why i taste oh yeah i guess it makes me smile i found it hard its hard to find oh well whatever never mindhello hello hello how low hello hello hello how low hello hello hello how low hello hello hellowith the lights out its less dangerous here we are now entertain us i feel stupid and contagious here we are now entertain us a mulatto an albino a mosquito my libido a denial a denial a denial a denial a denial a denial a denial a denial a denial ",1
33,"humpin around","bobby brown",1992," when you trust someone and you know youre on their back you aint got no trustin about youand you claim that you dont care where im at youve given me reason to doubt yousay you trust someone why ya callin all around think ive got some dip on the sidegirl you dont trust no one and you constantly in doubt you lose the game if you play that wayget up off me back save your heart attack aint nobody is humpin aroundno matter what they say no it aint that way aint nobody humpin aroundwhen you love someone and you want to love em right got to get more lovin about chawhen you know that youre holdin on too tight soon they will be leavin without yousay that you love someone why you callin all my friends thinkin i got somethin to hidegirl you dont love no one you dont know what loves about you lose the game if you if you play that wayget up off me back save your heart attack aint nobody is humpin aroundno matter what they say no it aint that way aint nobody humpin aroundgirl when you love someone you dont call on everybody aint nobody foolin aroundand the more i think about it youll lose all your clout and you lose the game baby if you play that wayback to the bb brown back to the bb brown back to the bb brownmy name is brown thats what im called so dont try to step on me wrong or youll fall slow cuz i just want to kick soul to ya maybe baby take control of ya just like i told yai wanna roll on the tip thats moving able to make you move and groove and leave you like ooh when i touch ya give you so much of the feeling of the deck that im dealing when i rub ya up and down yo stylz kick itwell i know its been a while since you heard a change in our style so what ive come to do is kick you something fly and new a change different from the typical a bit more than regular not like the others original cuz originality and creativity add it up together equals the bbb posse yeah weve in the house yo kick itget up off me back save your heart attack aint nobody is humpin aroundno matter what they say no it aint that way aint nobody humpin aroundget up off me back save your heart attack aint nobody is humpin aroundno matter what they say no it aint that way aint nobody humpin aroundget up off me back save your heart attack aint nobody is humpin aroundno matter what they say no it aint that way aint nobody humpin around ",1
34,"damn i wish i was your lover","sophie b hawkins",1992," that old dog has chained you up alright give you everything you need to live inside a twisted cage sleep beside an empty rage i had a dream i was your herodamn i wish i was your lover ill rock you till the daylight comes make sure you are smilin and warm i am everything tonight ill be your mother i will do such things to ease your pain free your mind and you wont feel ashamed oh oh open up on the inside gonna fill you up gonna make you crythis monkey cant stand to see you black and blue give you somethin sweet each time you come inside my jungle book what is it just too good dont say youll stay cause then you go awaydamn i wish i was your lover ill rock you till the daylight comes make sure you are smilin and warm i am everything tonight ill be your mother i will do such things to ease your pain free your mind and you wont feel ashamedshucks for me there is no other youre the only shoe that fits i cant imagine ill grow out of it damn i wish i was your loverif i was your girl believe me id turn on the rollin stones we could groove along and feel much better let me in i could do it forever and ever and ever and evergive me an hour to kiss you walk through heavens door im sure we dont need no doctor to feel much better let me in forever and ever and ever and everi sat on a mountainside with peace of mind and i lay by the ocean makin love to her with visions clear walked the days with no one near and i return as chained and bound to youdamn i wish i was your lover ill rock you till the daylight comes make sure you are smilin and warm i am everything tonight ill be your mother i will do such things to ease your pain free your mind and you wont feel ashamedshucks for me there is no other youre the only shoe that fits i cant imagine ill grow out of it damn i wish i was your loverjust open up im gonna come inside i wanna fill you up i wanna make you cry damn i wish i was your lover gettin on the subway and im comin uptown damn i wish i was your lover standin on a street corner waitin for my love to change damn i wish i was your loverfeelin like a school boy too shy and too young damn i wish i was your lover open up i wanna come inside i wanna fill you up i wanna make you cry damn i wish i was your lover gettin on my camel and ill ride it uptown ooh damn i wish i was your lover hanging around this jungle wishing that this ",1
35,"tell me what you want me to do","tevin campbell",1992," oh baby girl baby yeah yeah i love you girlyou called me up and i came to see you you say youve been awake all night it hurts me deep inside when i see you cryin whatevers wrong ill make it rightif you understand how i feel you should know that my love is real ohtell me what you want me to do my love is always here for you oh tell me what you want me to do my love is always here for you so tell me what you want me to do tell me girlthere were times that i didnt show it just how much i care for you im so sorry now dont keep sayin its too late to think it over my baby after all that weve been throughgirl im beggin you im down on my knees dont walk away baby please dont leave me nowtell me what you want me to do oh my love is always here for you oh tell me what you want me to do oh my love is always here for you so tell me what you want me to do oh baby yeahgirl i know that we can work it out somehow isnt that what loves all about im gonna be by your side were gonna see it through this time i wont let you slip away say youll stay with me stay with me girl cause youre the finest girl that ive ever seentell me tell me what you want me to do baby my love is always here for you and only you oh tell me what you want me to do my love is always here for you so tell me what you want me to do yeah yeah yeah so tell me what you want me to do yeah tell me girl ",1
36,"aint 2 proud 2 beg","tlc",1992," yo mic check 12 12 we in the house yeah come on 1992 tlc kickin off in your mutha so ya best be duckin fast yo tboz is ya being a boss chilli whats up wit dat sauce dis is it yo t step on that shhhi aint 2 proud i aint 2 proud 2 beg thinkin short of what you got better get it while its hot aint no better love than your own unmistakin urge 2 be sexin with society how can you be happy alonewhen i need 2 feel love why wait 4 so long cause i aint 2 proud 2 beg 4 something that i call my own and i want 2 be touched and feeling so much see cause everybody needs some good lovinyo if i need it in the morning or the middle of the night i aint 2 proud 2 beg no if the lovin is strong then he got it goin on and i aint 2 proud 2 beg no 2 inches or a yard rock hard or if its saggin i aint 2 proud 2 beg no so it aint like im braggin just join the paddywagon cause i aint 2 proud 2 beg i aint 2 proud 2 begscreaming loud and holdin sheets scsared that youll be called a freak gotta let it go while you can aint 2 proud 2 beg you see cause my man belongs 2 me and i know that he understandsrealize the realism of reality treats us both the same cause satisfaction is the name of this game so i choose to explain its evident left eye dont mean the rest of my body is irrelevant in outher words lets refresh your head about pullin down curtains and breakin da waterbed yeah i like it when you kiss both sets of lips oooh on the tlc tip i aint 2 proud 2 beg i aint 2 proud 2 beg what i call my own just you and me uh heyyyyyyyi aint 2 proud 2 beg tlc isnt 2 proud 2 beg i aint 2 proud 2 beg no ",1
37,"its so hard to say goodbye to yesterday","boyz ii men",1992," how do i say goodbye to what we had the good times that made us laugh outweigh the badi thought wed get to see forever but forevers gone away its so hard to say goodbye to yesterdayi dont know where this road is going to lead all i know is where weve been and what weve been throughif we get to see tomorrow i hope its worth all the wait its so hard to say goodbye to yesterdayand ill take with me the memories to be my sunshine after the rain its so hard to say goodbye to yesterdayand ill take with me the memory to be my sunshine after the rain its so hard to say goodbye to yesterday ",1
38,"move this","technotronic featuring ya kid k",1992," yo come on move this shake that body shake that body shake that body shake that bodypeople dont you know dont you know its about time cant you hear the jam is pumpin while you taste the piece of mine many different flavors and the spice is strong get into the hot stuff let me pour a little somebaby let me show you how to do this youve gotta move this youre doing fine theres nothing to it you gotta groove it come on and move this shake that body forpeople dont you know dont you know its about time cant you hear the jam is pumpin while you taste the piece of mine many different flavors and the spice is strong get into the hot stuff let me pour a little somebaby let me show you how to do this youve gotta move this youre doing fine theres nothing to it you gotta groove it come on and move this shake that body for me shake that body for me shake that bodypeople dont you know dont you know its about time cant you hear the jam is pumpin while you taste the piece of mine can you feel the mellow crawlin fast drum on baby rhythms blast pump it pump it pump pump it up nothin can make this one stopyouve gotta move this youve gotta move this oh yeah you gotta move this and groove this and move this on shake that body forbaby let me show you how to do this youve gotta move this you gotta move that you gotta move move move this and groove it shake that body for meshake that body shake that body shake that body for me shake that body shake that body shake that body shake that body for me shake it shake ityouve gotta move this come on and move this move this move this move this youve gotta move this come on and move this move it move itbaby let me show you how to do this youve gotta move this youre doing fine theres nothing to it you gotta groove it come on and move it shake that body forpeople dont you know dont you know its about time cant you hear the jam is pumpin while you taste the piece of mine can you feel the mellow crawlin fast drum on baby rhythms blast pump it pump it pump pump it up nothin can make this one stoptoes be tappin fingers snappin hands wrapped round ma rabbit talkin about cold lappin shut up and do the walk use what you got show me youre on the floor so let me see dont say nothin unless i saw and remember i like it rawyouve gotta move this youve gotta move this oh yeah yeah yeah youve gotta move this uh uh uh uh shake that body for mebaby let me show you how to do this youve gotta move this youre doing fine theres nothing to it you gotta groove it come on and move this shake that body forbaby let me show you how to do this youve gotta move this you gotta move that really aint nothin to it you gotta move it move move it shake that body for meshake that body for me shake that body for me shake that body shake that body for me shake that body shake that body for me ",1
39,"bohemian rhapsody","queen",1992," is this the real life is this just fantasy caught in a landslide no escape from reality open your eyes look up to the skies and see im just a poor boy i need no sympathy because im easy come easy go a little high little low anyway the wind blows doesnt really matter to me to memama just killed a man put a gun against his head pulled my trigger now hes dead mama life had just begun but now ive gone and thrown it all away mama ooo didnt mean to make you cry if im not back again this time tomorrow carry on carry on as if nothing really matterstoo late my time has come sends shivers down my spine bodys aching all the time goodbye everybody ive got to go gotta leave you all behind and face the truth mama ooo anyway the wind blows i dont want to die i sometimes wish id never been born at alli see a little silhouetto of a man scaramouch scaramouch will you do the fandango thunderbolt and lightning very very frightening me gallileo gallileo gallileo gallileo gallileo figaro  magnificobut im just a poor boy and nobody loves me hes just a poor boy from a poor family spare him his life from this monstrosity easy come easy go will you let me go bismillah no we will not let you go  let him go bismillah we will not let you go  let him go bismillah we will not let you go let me go will not let you go let me go never never let you go let me go never let me go ooo no no no no no no no oh mama mia mama mia mama mia let me go beelzebub has a devil put aside for me for me for meso you think you can stop me and spit in my eye so you think you can love me and leave me to die oh baby cant do this to me baby just gotta get out just gotta get right outta hereooh yeah ooh yeah nothing really matters anyone can see nothing really matters nothing really matters to meanyway the wind blows ",1
40,"tennessee","arrested development",1992," lord ive really been real stressed down and out losing ground although i am black and proud problems got me pessimistic brothers and sisters keep messin up why does it have to be so damn tuff i dont know where i can go to let these ghosts out of my skull my grandma past my brothers gone i never at once felt so alone i know youre supposed to be my steering wheel not just my spare tire home but lord i ask you home to be my guiding force and truth home for some strange reason it had to be home he guided me to tennesseehome take me to another place take me to another land make me forget all that hurts me let me understand your plan take me to another place take me to another land make me forget all that hurts me let me understand your planlord its obvious we got a relationship talkin to each other every night and day although youre superior over me we talk to each other in a friendship way then outta nowhere you tell me to break outta the country and into more country past dyesburg and ripley where the ghost of childhood haunts me walk the roads my forefathers walked climb the trees my forefathers hung from ask those trees for all their wisdom they tell me my ears are so young home go back from whence you came home my family tree my family name home for some strange reason it had to be home he guided me to tennessee homehome take me to another place take me to another land make me forget all that hurts me let me understand your plan take me to another place take me to another land make me forget all that hurts me let me understand your plannow i see the importance of history why my people be in the mess that they be many journeys to freedom made in vain by brothers on the corner playin ghetto games i ask you lord why you enlightened me without the enlightenment of all my folks he said cuz i set myself on a quest for truth and he was there to quench my thirst but i am still thirsty the lord allowed me to drink some more he said what i am searching for are the answers to all which are in front of me the ultimate truth started to get blurry for some strange reason it had to be it was all a dream about tennesseehome take me to another place take me to another land make me forget all that hurts me let me understand your plan take me to another place take me to another land make me forget all that hurts me let me understand your plan oh wont you let me wont you help me wont you help me understand your plan take me home take me home home take me to another place take me home take me home home take me to another place ",1
41,"the best things in life are free","luther vandross and janet jackson",1992," boy when you look at me boy do you judge me by my cover ya got to be kiddin me to think that im that kind of loveri dont mean to disagree sorry you cant buy my kisses open your heart and see true love comes for freeim keepin my heart open hopin you wont stab me in it cause ive been in love before and when i had to pay i didntill lose my sanity tryin to measure your intentions what do you want from me how much will it beno more than youre willing to give cause you wont pay nothin for this good lovin its for freeand i wont make you promises ill just do all that i can to be your lover cause i understandthe best things in life are free now that ive discovered what you mean to me the best things in life are free now that weve got each other the best things in life are freei know you are my baby my one and only baby you said it twice ill say it thrice my baby baby babyi got so much love for you and its easy to give it when i know you feel the same way toothats all i expect from you just do all that you can to be my lover cause i understand i dothe best things in life are free now that ive discovered what you mean to me the best things in life are free now that weve got each other the best things in life are freeno more than youre willing to give cause you wont pay nothin for this good lovin its for freeand i wont make you promises you see im gonna be m gonna be were gonna be im gonna be the very best i can to be your lover cause i understandthe best things in life are free now that ive discovered what you mean to me the best things in life are free now that weve got each other the best things in life are free ",1
42,"make it happen","mariah carey",1992," not more than three short years ago i was abandoned and alone without a penny to my name so very young and so afraid no proper shoes upon my feet sometimes i couldnt even eat i often cried myself to sleep but still i had to keep on going never knowing if i could take it if i would make it through the night i held on to my faith i struggled and i prayed and now ive found my wayif you believe in yourself enough and know what you want youre gonna make it happen make it happen and if you get down on your knees at night and pray to the lord hes gonna make it happen make it happenyoure gonna make it happen oh yeahi know life can be so tough and you feel like giving up but you must be strong baby just hold on youll never find the answers if you throw your life away i used to feel the way you do still i have to keep going never knowing if i could take it if i would make it through the night i held on to my faith i struggled and i prayed and now ive finally found my wayif you believe in yourself enough and know what you want youre gonna make it happen make it happen and if you get down on your knees at night and pray to the lord hes gonna make it happen make it happenif you believe in yourself enough and know what you want youre gonna make it happen make it happen and if you get down on your knees at night and pray to the lord hes gonna make it happen make it happenmake it happen oh yeah make it youre gonna make it make iti held on to my faith i struggled and i prayed and finally found a wayif you believe in yourself enough and know what you want youre gonna make it happen make it happen and if you get down on your knees at night and pray to the lord hes gonna make it happen make it happenif you believe in yourself enough and know what you want youre gonna make it happen make it happen and if you get down on your knees at night and pray to the lord hes gonna make it happen make it happeni once was lost but now im found i got my feet on solid ground thank you lord if you believe within your soul just hold on tight and dont let go you can make it make it happen yeah you can make it make it happenif you believe in yourself enough and know what you want youre gonna make it happen make it happen and if you get down on your knees at night and pray to the lord hes gonna make it happen make it happenif you believe in yourself enough and know what you want youre gonna make it happen make it happen and if you get down on your knees at night and pray to the lord hes gonna make it happen make it happen ",1
43,"the one","elton john",1992," i saw you dancing out the ocean running fast along the sand a spirit born of earth and water fire flying from your handsin the instant that you love someone in the second that the hammer hits reality runs up your spine and the pieces finally fitand all i ever needed was the one like freedom fields where wild horses run when stars collide like you and i no shadows block the sun youre all ive ever needed baby youre the onethere are caravans we follow drunken nights in dark hotels when chances breathe between the silence where sex and love no longer gel ohfor each man in his time is cain until he walks along the beach and sees his future in the water a long lost heart within his reachand all i ever needed was the one like freedom fields where wild horses run when stars collide like you and i no shadows block the sun youre all ive ever needed oh baby youre the oneand all i ever needed was the one like freedom fields where wild horses run when stars collide like you and i no shadows block the sun oh youre all ive ever needed oh baby youre the oneall i ever needed was the one like freedom fields where wild horses run when stars collide like you and i no shadows block the sun oh youre all ive ever needed oh baby youre the one ",1
44,"set adrift on memory bliss","pm dawn",1992," do da da da da do da da da da do da da da da da da da dado da da da da do da da da da do da da da da da da da dathe candle plays the hourglass the days go and all i do is think of you and wonder where you are at nighti remember everything every smile even all the reasons why you say i pushed you out of my lifebaby you set me baby you set me set adrift on memory bliss of you baby you set me set adrift on memory blissdestiny is everything realitys replaced you with the biggest empty void ive ever had in lifebet you say that i dont care i bet you say that i dont even think of you but god knows how wrong you arebaby will you be there when the mornin comes just give me time to fix my life babybaby will you be there when i open my eyes after all the time ive spent wishing youbaby you set me baby you set me set adrift on memory bliss of you baby you set me set adrift on memory blisssadness has overwhelmed me my mind flies carelessly i imagine that youre happy with your life right nowi guess thats just the way it goes forevers gone so now i must place you with all the things that i could never havebaby you set me baby you set me baby you set me set adrift on memory bliss set adrift set adrift yeah come on yeahi know this much is true i know this much is true oh baby yeah ",1
45,"stay","shakespears sister",1992," if this world is wearing thin and youre thinking of escape ill go anywhere with you just wrap me up in chainsbut if you try to go out alone dont think ill understand stay with me stay with mein the silence of your room in the darkness of your dreams you must only think of me there can be no in betweenwhen your pride is on the floor ill make you beg for more stay with me stay with meyoud better hope and pray that you make it safe back to your own world youd better hope and pray that youll wake one day in your own worldcause when you sleep at night they dont hear your cries in your own world only time will tell if you can break the spell back in your own worldstay with me stay with me stay stay with me stay stay stay stay stay stay with me ",1
46,"2 legit 2 quit","hammer",1992,NA,NA
47,"please dont go","kws",1992,"we love you yeah lee we love you so we want you to know that were going to miss your love the minute you walk out that door so please dont go dont go dont go to cleeve please dont go dont go were begging you dont leave if you leave at least in our lifetime weve had one dream come true we were blessed to be loved by someone as wonderful as you so please dont go dont go dont go to cleeve please dont go dont go were begging you dont leave hey hey hey yeah lee we love you so we want you to know that were going to miss your love the minute you walk out that door so please dont go dont go dont go away hey hey hey i need your love were down on our knees beggin please please please dont go dont you hear me baby please dont go dont leave me now oh no no no no please dont go we want you to know that we we we love you so dont leave me baby please dont go",5
48,"breakin my heart pretty brown eyes","mint condition",1992," pretty brown eyespretty brown eyes you know i see you its a disguise the way you treat meyou keep holding on to your thoughts of rejection if youre with me youre securedyou keep telling me that your time is always taken but i keep seeing you out alone yeahlisten to love your heart is pounding with desire waiting to be unleashedquit breakin my heart breakin my heart yeah breakin my heart yeah breakin my heart sugar yeah yeahdont tell your friends that i dont mean nothin to you please dont deny the truthtell me right now i know your heart is in the right place you know i wont let you down yeahyou cant disguise all the pounding of your heart yeah i see your eyes and you cant hidestart to make sense and quit playin these love games tell me what youre gonna do yeahquit breakin my heart yeah im breakin my heart yeah breakin my heart im breakin my heart yeah yeah oh babypretty brown eyes pretty brown eyesi just wanna know one thing will you be with meoh baby here comes my darling here comes romance here comes my love and please honey will you dancequit breakin my heart breakin my heart yeah breakin my heart yeah breakin my heart breakin my heart girl got me crying all insideim talking about im talking about you im talking about me im talking about we im talking about we wehere comes my darling here comes romance here comes my love and will you dance hold me incomprehensible around babyhere comes my darling here comes romance will you dance with me babyheart breakin my breakin my heart breakin my heart ",1
49,"wishing on a star","the cover girls",1992,"im wishin on a star to follow where you are im wishin on a dream to follow what it means im wishin on a star to follow where you are im wishin on a dream to follow what it means and i wish on all the rainbows that i see i wish on all the people who really dream and im wishin on tomorrow praying itll comes and im wishing on all the loving weve never done i never thought id see a time when you would be so far away from home so far away from me just think of all the moments that wed spent i just cant let you go from me you were meant and i didnt mean to hurt you but i know that in the game of love you reap what you sow i feel its time we should make up baby i feel its time for us to get back together and make the best of things oh baby when were together oh whether or never i feel its time we should make up baby i feel its time for us to get back together make the best of things oh baby when were together whether or never ooh im wishin on a star to follow where you are im wishin on a dream to follow what it means and i wish on all the rainbows that i see i wish on all the people well never be and im hopin on all the days to come and days to go and im hopin on days of lovin you so wishin on a star follow where you are wishin on a star oh and i wish on all the rainbows that i see ooh wishin on wishin on a wishin on a star wishin on wishin on a wishin on a star wishin on wishin on a wishin on a star wishin on wishin on a wishin on a star",3
50,"shes playing hard to get","hifive",1992,NA,NA
51,"id die without you","pm dawn",1992," is it my turn to wish you were lying here i tend to dream you when im not sleeping is it my turn to fictionalize my world or even imagine your emotions tell myself anythingis it my turn to hold you by your hands tell you i love you and you not hear me is it my turn to totally understand to watch you walk out of my life and not do a damn thingif i have to give away the feeling that i feel yeah if i have to sacrifice oh whatever babe whatever baby if i have to take apart all that i am is there anything that i would not do since id die without you yeah baby since id die without you since id die without youoh i apologize for all the things ive done but now im underwater and im drowning is it my turn to be the one to cry isnt it amazing how some things completely turn aroundso take every little piece of my heart yeah take every little piece of my soul yeah take every little bit of piece of my mind cause if youre gone inside id die without youif i have to give away the feeling that i feel yeah if i have to sacrifice oh whatever babe whatever baby if i have to take apart all that i am is there anything that i would not do since id die without yousince id die without you since id die without you since id die without you since id die without you since id die without you since id die without you since id die without you since id die without you ",1
52,"good for me","amy grant",1992," you like to dance and listen to the music i like to sing with the band you like your hands splashing in the ocean well i like my feet on the sanddoes anybody have it any better isnt it easy to see just how well we fit togetherwhen i start to sing the blues you pull out my dancing shoes i think you could be so good for me you get brave when i get shy just another reason why i think you could be so good for me so goodyou like to drive like mario andretti i like it taking my time but let me say wherever you are going you know it suits me just finedoes anybody have it any better isnt it easy to see just how well we fit togetherwhen i start to sing the blues you pull out my dancing shoes i think you could be so good for me good for me yeah you get brave when i get shy just another reason why i think you could be so good for mecould be so good for me you could be so good could be so good could be so good for meyou get brave when i get shy another reason why you could be so good for good for me baby good for me babywhen i want to sing the blues good for me baby oh when i want to sing the blues good for me baby you could be so good good for me baby when i want to sing the blues good for me baby ",1
53,"all i want","toad the wet sprocket",1992," nothings so loud as hearing when we lie the truth is not kind and youve said neither am i but the air outside so soft is saying everything everythingall i want is to feel this way to be this close to feel the same all i want is to feel this way the evening speaks hear it saynothings so cold as closing the heart when all we need is to free the soul but we wouldnt be that brave i know and the air outside so soft confessing everything everythingall i want is to feel this way to be this close to feel the same all i want is to feel this way the evening speaks i feel it sayand it wont matter now whatever happens will be though the air speaks of all well never be it wont trouble meall i want is to feel this way to be this close to feel the same all i want is to feel this way the evening speaks i feel it sayand it feels so close let it take me in let it hold me so i can feel it say ",1
54,"when a man loves a woman","michael bolton",1992," when a man loves a woman cant keep his mind on nothin else hed trade the world for the good thing hes foundif she is bad he cant see it she can do no wrong and turn his back on his best friend if he puts her downwhen a man loves a woman spend his very last dime and trying to hold on to what he needshed give up all his comforts and sleep out in the rain if she said thats the way it ought to bewhen a man loves a woman i give you everything ive got trying to hold on to your precious love and baby baby please dont treat me badwhen a man loves a woman deep down in his soul she can bring him such miseryif she is playing him for a fool hes the last one to know loving eyes can never seeyes when a man loves a woman i know exactly how he feels cause baby babywhen a man loves a woman when a man loves a woman when a man loves a woman when a man when a man when a man loves a woman ",1
55,"i cant dance","genesis",1992," no i cant dance i cant talk only thing about me is the way i walk no i cant dance i cant sing im just standing here selling everythingbut i can walk no i cant dance i cant dancehot sun beating down burning my feet just walking around hot sun making me sweat gators getting close hasnt got me yeti cant dance i cant talk only thing about me is the way i walk i cant dance i cant sing im just standing here selling everythingbilly jeans sitting on the beach her dogs talking to me but shes out of reach shes got a body under that shirt but all she wants to do is rub my face in the dirtcause i cant dance i cant talk only thing about me is the way i walk i cant dance i cant sing im just standing here sellingoh and checking everything is in place you never know whos looking onyoung punk spilling beer on my shoes fat guys talking to me trying to steal my blues thick smoke see her smiling through i never thought so much could happen just shooting poolbut i cant dance i cant talk the only thing about me is the way that i walk i cant dance i cant sing im just standing here sellingoh and checking everything is in place you never know whos looking on a perfect body with a perfect faceno i cant dance i cant talk the only thing about me is the way i walk no i cant dance i cant sing im just standing here selling everythingno no i cant dance no i said i cant sing but i can walk ",1
56,"hazard","richard marx",1992," my mother came to hazard when i was just seven even then the folks in town said with prejudiced eyes that boys not right three years ago when i came to know mary first time that someone looked beyond the rumors and the lies and saw the man insidewe used to walk down by the river she loved to watch the sun go down we used to walk along the river and dream our way out of this townno one understood what i felt for mary no one cared until the night she went out walking alone and never came home man with a badge came knocking next morning here was i surrounded by a thousand fingers suddenly pointed right at mei swear i left her by the river i swear i left her safe and sound i need to make it to the river and leave this old nebraska towni think about my life gone by and how its done me wrong theres no escape for me this time all of my rescues are gone long gonei swear i left her by the river i swear i left her safe and sound i need to make it to the river and leave this old nebraska town ",1
57,"mysterious ways","u2",1992," johnny take a walk with your sister the moon let her pale light in to fill up your room youve been living underground eating from a can youve been running away from what you dont understand loveshes slippy youre sliding down shell be there when you hit the groundits alright its alright its alright she moves in mysterious ways its alright its alright its alright she moves in mysterious waysjohnny take a dive with your sister in the rain let her talk about the things you cant explain to touch is to heal to hurt is to steal if you want to kiss the sky better learn how to kneel on your knees boyshes the wave she turns the tide she sees the man inside the child yeahits alright its alright its alright she moves in mysterious ways its alright its alright its alright she moves in mysterious ways its alright its alright its alright lift my days light up my nightsone day youll look back and when you see where you were held how by this love while you could stand there you could move on this moment follow this feelingits alright its alright its alright she moves in mysterious ways its alright its alright its alright she moves in mysterious ways ah oh oh ah huh move move move move she moves with it she moves me like lift my days and light up my nights love ",1
58,"too funky","george michael",1992," hey youre just too funky for me i gotta get inside of you and ill show you heaven if you let me hey youre just too funky for me i gotta get inside i gotta get inside i gotta get inside of you so when will that bei watch youre fingers working overtime overtime ive got to thinking that they should be mine oh id love to see you naked baby id like to think that sometime maybe tonight if thats all right yeahhey youre just too funky for me i gotta get inside of you wont let you go i wont let you no no hey youre just too funky for me i gotta get inside i gotta get inside i gotta get inside of you ill let you love mei watch you drinkin and i take my time i watch you sinkin all over that cheap red wine oh ive got to see you naked baby id like to think that sometime maybe tonight my goals in sight yeahbaby baby baby why do you do this to me wont let you go wont let you go youre such a youre such a baby baby baby why do you do this to me ive got to know ive got to knowim gonna be the kind of lover that you never had hey your just too funky your never gonna have another lover in your bed your just too funky for mewould you like me to seduce you is that what your trying to tell meeverybody wants a lover like that baby everybody wants a lover like that yeah yeah everybody wants a lover like that everybody everybody everybody wants a lover like thatis that what you are trying to tell meeverybody wants a lover everybody wants a lover like that everybody wants a lover everybody wants a lover like that everybody wants a lover everybody wants a lover like that everybody wants a lover everybody wants a lover like thatwould you like me to seduce you your such a your such a would you like me to seduce you yeah yeah would you like me to seduce you your such a your such a yeah yeahwould you stop playing with that radio of yours im trying to get to sleep sleep ",1
59,"how do you talk to an angel","the heights",1992,"i hear a voice in my mind i know her face by heart heaven and earth are moving in my soul i dont know where to start tell me tell me the words to define the way i feel about someone so fine how do you talk to an angel how do you hold her close to where you are how do you talk to an angel its like trying to catch a falling star at night i dream that she is there and i can feel her in the air tell me tell me the words to define the way i feel about someone so fine how do you talk to an angel how do you hold her close to where you are how do you talk to an angel its like trying to catch a falling star how do you talk to an angel how do you hold her close to where you are how do you talk to an angel its like trying to catch a falling star how do you talk to an angel how do you hold her close to where you are how do you talk to an angel its like trying to catch a falling star yeah yeah",3
60,"one","u2",1992," is it getting better or do you feel the same will it make it easier on you now you got someone to blameyou say one love one life when its one need in the night its one love we get to share it it leaves you baby if you dont care for itdid i disappoint you or leave a bad taste in your mouth you act like you never had love and you want me to go withoutwell its too late tonight to drag the past out into the light were one but were not the same we get to carry each other carry each other onehave you come here for forgiveness have you come to raise the dead have you come here to play jesus to the lepers in your head did i ask too much more than a lot you gave me nothing now its all i got were one but were not the same we hurt each other then we do it againyou say love is a temple love a higher law love is a temple love the higher law you ask me to enter but then you made me crawl and i cant be holding on to what you got when all you got is hurtone love one blood one life you got to do what you shouldone life with each other sisters brothersone life but were not the same we get to carry each other carry each otheroneone ",1
61,"keep on walkin","cece peniston",1992," you can just walk on keep onsittin waitin anticipatin waiting for your call tossin turnin my hearts burnin from the things i saw im sorry baby you cant play me i just cant be used im so fed up time to get up baby we are throughbridge i thought that what we had would never end now its too late my heart wont mend and although what we had was good ive got to make this understoodchorus keep on walkin i aint talkin to you keep on walkin keep on walkin you can just go on keep on walkin i aint talkin to you keep on walkin keep on walkin you can just go on we aint talkin no morei thought i told you it was over why are you confused made your choice and now im voicing my opinion to you i think youre crazy to try to play me for a foolish girl youll soon discover youre not the only lover in this worldbridgechorusyou you can just walk on you you can just keep onbridgei know i know i know i know its just too late i know i know i know i know its just too latechorusyou can just go you can just go you can just go you can just go you can just go you can just go oh oh oh oh yeah oh oh oh oh yeah 2x ",1
62,"hold on my heart","genesis",1992," hold on my heart just hold on to that feeling we both know weve been here before we both know what can happenhold on my heart cause im looking over your shoulder ooh please dont rush in this time dont show her how you feelhold on my heart throw me a lifeline ill keep a place for you somewhere deep insideso hold on my heart please tell her to be patient cause there has never been a time that i wanted something moreif i can recall this feeling and i know theres a chance oh i will be there yes i will be therebe there for you whenever you want me to whenever you call oh i will be there yes i will be therehold on my heart dont let her see you crying no matter where i go shell always be with meso hold on my heart just hold on to that feeling we both know weve been here before we both know what can happenso hold on my heart just hold on my heart im gonna hold on to that heart hold on just hold on just hold on just hold on just hold on hold on hold on ",1
63,"the way i feel about you","karyn white",1992,"day after day just thinking about you i cant wait to see your smiling face could this be love im feeling for you ive never felt this way before no i made a wish upon a shooting star and baby here you are just you and me thats the way it should be my heart is waiting its an open door each day im gonna love you more of this im sure thats the way i feel about you bye bye cloudy days sunshines here to stay tell the world thats the way i feel about you happy days are here whenever youre near this is clear thats the way i feel about you i feel about you im so satisfied with you in my life youre everything ive dreamed of ooh and it feels so good when im in your arms nothing even matter as long as youre lovin me i made a wish upon a shooting star and baby here you are just you and me thats the way it should be my heart is waiting its an open door each day im gonna love you more of this im sure thats the way i feel about you bye bye cloudy days sunshines here to stay tell the world thats the way i feel about you happy days are here whenever youre near this is clear thats the way i feel about you bye bye cloudy days sunshines here to stay tell the world thats the way i feel about you happy days are here whenever youre near this is clear thats the way i feel about you the way i feel about you the way i feel about you every time you hold me in your arms i look into your eyes and i see happiness and my heart just cant deny what im feelin i love what you do when you do all the things that you do to me bye bye cloudy days sunshines here to stay tell the world thats the way i feel about you happy days are here whenever youre near this is clear thats the way i feel about you the way i feel about you bye bye cloudy days sunshines here to stay tell the world thats the way i feel about you happy days are here whenever youre near this is clear thats the way i feel about you bye bye cloudy days sunshines here to stay tell the world thats the way i feel about you happy days are here whenever youre near this is clear thats the way i feel about you",3
64,"beauty and the beast","celine dion and peabo bryson",1992," tale as old as time true as it can be barely even friends then somebody bends unexpectedlyjust a little change small to say the least both a little scared neither one preparedbeauty and the beastever just the same ever a surprise ever as before and ever just as sure as the sun will riseever just the same ever a surprise ever as before ever just as sure as the sun will risetale as old as time tune as old as song bitter sweet and strange finding you can change learning you were wrong certain as the sun certain as the sun rising in the east tale as old as time song as old as rhyme beauty and the beasttale as old as time song as old as rhyme beauty and the beast ",1
65,"warm it up","kris kross",1992,"uh well this is how nice and smooth it is  hey uh listen to them warm it up kris im about to  warm it up kris cause thats what i was born to do  warm it up kris im about to  warm it up kris cause thats what i was born to do so many times i heard you rhyme but you cant touch this  im kicking the type of flow that makes you say youre too much kris  so feel the fire of the one they call the mac dad  the fires what i pack and what i pack is real bad  id like to grab a hold of your soul and never let go  never til they jump til they say hoooo  now thats the state of mind im in huh  with rhyme after rhyme i win  the mac the mac  nuff for breakin em off somethin  they layin in the back and front  keepin the speakers pumpin  the miggida miggida miggida mac came to get a warm  and my pants to the back thats my everyday uniform  you little cream puff mac daddy wannabe  keep dreaming cause the mac you will never be  so all yall with the dr seuss riddles  you can get the finger the middle warm it up kris im about to  warm it up kris cause thats what i was born to do  warm it up kris im about to  warm it up kris hey yo kris kick it first  you know its sto its sto  peepin at my rhymes its dope its dope  and for you theres know call my name what  the daddy mac baby totally krossed out  catchin all the ladies  the age i be i should be playin with toys  instead i put my hand into make you make noise  thats how i kick it thats my everyday life and  i rehearse to keep it sharp as a knife man im the wrong brotha that sucks to be messin with  cause when i put the mic in my hand i start wreckin it  they call me the dadouble dymac  and there aint another brotha bad as me  when i let go  somethin from the ghetto  word a little brother kickin rhymes like you never ever heard  daddy of them all shootin to kill like a gun  showin suckas how its done warm it up kris im about to  warm it up kris cause thats what i was born to do repeat 3 times yea now you all know  whats up  and the mac to all that  yea we gonna kick one more verse for you all so many times i heard you rhyme but you cant touch this  im kicking the type of flow that makes you say youre too much kris  so feel the fire of the one they call the mac dad  the fires what i pack and what i pack is real bad  id like to grab a hold of your soul and never let go  never til they jump til they say hoooo  now thats the state of mind im in huh  with rhyme after rhyme i win im the wrong brotha that sucks to be messin with  cause when i put the mic in my hand i start wreckin it  they call me the dadouble dymac  and there aint another brotha bad as me  when i let go  somethin from the ghetto  word a little brother kickin rhymes like you never ever heard  daddy of them all shootin to kill like a gun  kris kross show em how its done warm it up kris im about to  warm it up kris cause thats what i was born to do repeat 6 times  warm it up kris repeat 13 times",3
66,"in the closet","michael jackson",1992," shes just a lover who makes me high is it worth the giving is it worth the try you cannot cleave it or put it in the furnace you cannot wet it you cannot burn itshe wants to give it she wants to give it she wants to give it dare me she wants to give it she wants to give it she wants to give it she wants to give it she wants to give it yea she wants to give it she wants to give itone thing in life you must understand the truth of lust woman to man so open the door and you will see there are no secrets make your move set me freebecause theres something about you baby that makes me want to give it to you i swear theres something about you babyjust promise me whatever we say whatever we do to each other for now we take a vow to just keep it in the closetif you can get it its worth a try i really want it i cant deny its just desire i really love it cause if its aching you have to rub it she wants to give itshe wants to give it she wants to give it she wants to give it dare me she wants to give it she wants to give it she wants to give it she wants to give it she wants to give it yea she wants to give it she wants to give itjust open the door and you will see this passion burns inside of me dont say to me youll never tell touch me there make the move cast the spellbecause theres something about you baby that makes me want to give it to you i swear theres something about you babyjust promise me whatever we say or do to each other for now well make a vow to just keep it in the closetbecause theres something about you baby that makes me want to give it to youbecause theres something about you baby that makes me want to give it to youbecause theres something about you baby that makes me want to give it to youbecause theres something about you baby that makes me want to give it to youbecause theres something about you baby that makes me want to give it to youbecause theres something about you babyjust promise me whatever we say or do to each other for now well make a vow to just keep it in the closetshe wants to give it she wants to give it oh she wants to give it she wants to give it oh she wants to give it she wants to give it she wants to give it oh she wants to give it she wants to give it she wants to give it oh she wants to give it ",1
67,"people everyday","arrested development",1992," see i was resting at the park minding my own business as i kick up the treble tone on my radio tape player box right just loud enough so folks could hear its hype see  outta nowhere comes the woman im dating investigation maybe she was demonstrating but nevertheless i was pleased my day was going great and my soul was at easeuntil a group of brothers started bugging out drinking the 40 oz going the nigga route disrespecting my black queen holding their crotches and being obscene at first i ignored them cause see i know their type they got drunk and got guns and they wanna fight and they see a young couple having a time thats good and their egos wanna test a brothers manhoodso they came to test speech cause of my hairdo and the loud bright colors that i wear i was a target cause im a fashion misfit and the outfit that im wearing brothers dissing it well i stay calm and pray the niggaz leave me be but theyre squeezing parts of my dates anatomy why lord do brothers have to drill me  cause if i start to hit this man theyll have to kill mesee i am everyday people see i am everyday peoplei told the niggaz please let us pass friend i said please cause i dont like killing africans but he wouldnt stop and i aint ice cube but i had to take the brother out for being rude and like i said before i was mad by then it took three or four cops to pull me off of him but thats the story yall of a black man acting like a nigga and get stomped by an africanyou see i am everyday people you see i am everyday peoplethe moral of the story is you better look very hard on who you step into as you might get killed or shot and its not worth africans need to be loving each other and you know ",1
68,"no son of mine","genesis",1992," well the key to my survival was never in much doubt the question was how i could keep sane trying to find a way outthings were never easy for me peace of mind was hard to find and i needed a place where i could hide somewhere i could call minei didnt think much about it till it started happening all the time soon i was living with the fear everyday of what might happen that nighti couldnt stand to hear the crying of my mother and i remember when i swore that that would be the last theyd see of me and i never went home againthey say that time is a healer and now my wounds are not the same i rang a bell with my heart in my mouth i had to hear what hed sayhe sat me down to talk to me he looked me straight in the eyes he said youre no son youre no son of mine youre no son youre no son of mine you walked out you left us behind and youre no son youre no son of mineoh his words how they hurt me ill never forget it and as the time it went by i lived to regret it youre no son youre no son of mine but where should i go and what should i do youre no son youre no son of mine but i came here for help oh i came here for youwell the years they passed so slowly i thought about him everyday what would i do if we passed on the street would i keep running awayin and out of hiding places soon id have to face the facts wed have to sit down and talk it over and that would mean going backthey say that time is a healer and now my wounds are not the same but i rang that bell with my heart in my mouth i had to hear what hed sayhe sat me down to talk to me he looked me straight in the eyes he said youre no son youre no son of mine youre no son youre no son of mine you walked out you left us behind and youre no son youre no son of mineoh his words how they hurt me ill never forget it and as the time it went by i lived to regret it youre no son youre no son of mine but where should i go and what should i do youre no son youre no son of mine but i came here for help oh i was looking for youyoure no son youre no son of mine oh youre no son ha yeah ha yeah ha yeah youre no son youre no son of mine oh oh ",1
69,"wildside","marky mark and the funky bunch",1992," ah yeah huh american the beautiful huh yeah let me introduce yall to the wildside annie was a high school cheerleader pom poms and bobby socks and no girl was sweeter come prom time everybody was on the line all the fellas singing nickel and dime tales about love and lust and trust but annie took it in all in stride cause deep inside annie had aspirations wanted to be a chemical engineer making 50 to 55 thousand a year her first year of college was a success but along came billy possessed and obsessed he took annie on a fatal date and showed her things that made heart beats accelerate annie took a hit breathed two short breaths one for life the last for death now shes gone a former valedictorian ended up becoming a topic for historians washed up dreams shattered pride all because annie took a hit on the wildside chorus ron had enough of being broke every day saying to himself theres gotta be a better way cause 9 to 5 wasnt worth the headaches so ron figured out a faster way to make money before you know it hes a rich man gold on every finger of his hand a brand new bmw a condo ron ended up a john doe a body was found in the alley but never claimed full of bullet holes but none to blame ron became another victim of homicide because he chose to walk on the wildside chorus charles had everything going for him a top paying job a good life a good wife a baby boy on the way any day a gentleman attitude is all he displayed carol was the wife he loved and adored her family and friends treated him like an ambassador one night on the other side of town a police dispatcher picked up a weird sound charles on the car phone asking for help claiming a burglar shot his wife and himself his pregnant wife lay slumped over dreams corrupt and a young life over extensive searches throughout the projects put a lot of people through misery and wreck everyone a suspect till someone was found interrogated cause their skin was brown then there was benny guilty until proven so but soon as the case started moving slow what do you know sure as a sea gull gets webbed toed charles was the culprit the whole plot was an insurance scam charles and his brother came up with a plan kill carol collect a big check blame it on a black man what the heck and just before the story was known charles had a feeling his cover was blown so he jumped off a bridge committed suicide this is how it is on the wildside chorus little tiffany only thirteen came to the city place of big dreams visiting family and friends for the summer time sitting on a mailbox watching the boys climb trees and the girls play hopscotch so far her vacation was top notch but of the blue a mercedes at top speed gang bangers chasing the robbers on the stampede quick as a blink shots rang out loud and a hail of bullets zipped through the crowd one hit tiffany and instantly she died innocently on the wildside ",1
70,"do i have to say the words","bryan adams",1992," NA ",1
71,"friday im in love","the cure",1992," i dont care if mondays blue tuesdays gray and wednesday too thursday i dont care about you its friday im in lovemonday you can fall apart tuesday wednesday break my heart oh thursday doesnt even start its friday im in lovesaturday wait and sunday always comes too late but friday never hesitatei dont care if mondays black tuesday wednesday heart attack thursday never looking back its friday im in lovemonday you can hold your head tuesday wednesday stay in bed or thursday watch the walls instead its friday im in lovesaturday wait and sunday always comes too late but friday never hesitatedressed up to the eyes its a wonderful surprise to see your shoes and your spirits rise throwing out your frown and just smiling at the sound and as sleek as a shriek spinning round and round always take a big bite its such a gorgeous sight to see you in the middle of the night you can never get enough enough of this stuff its friday im in lovei dont care if mondays blue tuesdays gray and wednesday too thursday i dont care about you its friday im in lovemonday you can fall apart tuesday wednesday break my heart thursday doesnt even start its friday im in love ",1
72,"everything about you","ugly kid joe",1992," i hate the rain and sunny weather and i i hate the beach and mountains too and i dont like a thing about the city no no and i i i hate the country side tooand i hate everything about you everything about youand i dont like a thing about your mother and i i hate your daddys guts too and i dont like a thing about your sister no no cause i i i think sex is overrated tooand i get sick when im around i cant stand to be around i hate everything about you everything about you everything about you everything about yousome say i got a bad attitude but that dont change the way i feel about you if you think all this might be bringing me down look again cause i aint wearin no frowni dont really care about your sister forget the little bitch cause i already kissed her one thing that i did to your lady put her on the bed and she didnt say maybe i know you know everybody knows the way it comes the way it goes you think its sad well thats too bad cause im havin a ball and never cared a thing about youeverything about you everything about you i get sick when im around i cant stand to be around i hate everything about you ",1
73,"blowing kisses in the wind","paula abdul",1992," so tell baby tell your true heart say what you say when youre all alone im trying trying to try and feel you and see if i see im feeling aloneand all i want is to get through so maybe youd see that the way youre leaving me it wont doits like im blowing kisses in the wind giving you love that you havent been given i cross my heart and hope to die im only wishing youd love me like iblowing kisses in the wind waiting waiting waiting waiting for you is its like blowing blowing kissesso please baby please release me if time after time your hearts growing cold im saying if you dont believe in believing then how could true love ever be soand all i want is to get through so maybe youd see that the way youre leaving me it wont doits like im blowing kisses in the wind giving you love that you havent been given i cross my heart and hope to die im only wishing youd love me like iblowing kisses in the wind waiting waiting waiting waiting for you is its like blowing blowing kisseslike im like blowing kisses like blowing kissesand all i want is to get through so maybe youd see that the way youre leaving me it wont doits like im blowing kisses in the wind giving you love that you havent been given i cross my heart and hope to die im only wishing youd love me like iblowing kisses in the wind waiting waiting waiting waiting for you is its like blowing blowing kissesits like im blowing kisses in the wind giving you love that you havent been given i cross my heart and hope to die im only wishing youd love me like iblowing kisses in the wind waiting waiting waiting waiting for you is its like blowing blowing kisseslike im blowing kisses in the wind like im blowing kisses in the wind like im blowing kisses in the wind waiting for you is its like blowing kisses ",1
74,"thought id died and gone to heaven","bryan adams",1992," NA ",1
75,"rhythm is a dancer","snap",1992," rhythm is a dancer its a soul companion you can feel it everywhere lift your hands and voices free your mind and join us you can feel it in the airoh its a passion oh you can feel it yeah oh its a passion ohhcheck this out let the rhythm ride you guide you sneak inside you set your mind to move to its pulsation bass vibrations sense sensation pause is not implicit mind and body must be free too please take it all way nothing to lose everything to winlet it control you hold you mold you not the old the new touch it taste it free your soul let it invade you gotto to be what you wanna if the groove dont get you the rhyme flows gonna im serious as cancer when i say rhythm is a dancerrhythm is a dancer its a source companion people feel it everywhere lift your hands and voices free your mind and join us you can feel it in the airoh its a passion oh you can feel it yeah oh its a passion ohhim serious as cancer when i say rhythm is a dancerrhythm is a dancer its a source companion people feel it everywhere lift your hands and voices free your mind and join us you can feel it in the airoh its a passion oh you can feel it yeah oh its a passion ohhrhythm is a dancer its a source companion people feel it everywhere lift your hands and voices free your mind and join us you can feel it in the airoh its a passion oh you can feel it yeah oh its a passion ohhcheck this out let the rhythm ride you guide you sneak inside you set your mind to move to its pulsation bass vibrations sense sensation pause is not implicit mind and body must be free too please take it all way nothing to lose everything to winlet it control you hold you mold you not the old the new touch it taste it free your soul let it invade you gotto to be what you wanna if the groove dont get you the rhyme flows gonna im serious as cancer when i say rhythm is a dancerrhythm is a dancer its a source companion people feel it everywhere lift your hands and voices free your mind and join us you can feel it in the airoh its a passion oh you can feel it yeah oh its a passion ohh ",1
76,"addams groove","hammer",1992,"they do what they wanna do say what they wanna say live how they wanna live play how they wanna play dance how they wanna dance kick and the slap a friend the addams family now i was cold coolin you know maxin and relaxin just kickin it around the house oak town kicking it when a knock a knock a knock and a voice yo can hammer come out whats up now i dont mind being a friend mind and showin a little bit of flava flava but wednesday pugsley gomez fester oh man man them some strange neighbors they do what they wanna do say what they wanna say live how they wanna live play how they wanna play dance how they wanna dance kick and the slap a friend the addams family i remember the day i needed to borrow a little of pepper for my chicken the next thing you know comin at me was a hand with the fingers high steppin im witcha now i tried to play it along you know and act like i was havin a ball ha ha but what do i see yo a perm with feet cousin it standin about three feet tall im outta here they do what they wanna do say what they wanna say live how they wanna live play how they wanna play dance how they wanna dance kick and the slap a friend the addams family speakin and thinkin about the addams you know the hammer is with it im with it act a fool no bones swooop goofy and randy you know we kick it the posse now is the time to get in your mind its okay to be yourself be yourself take foolish pride and put it aside like the addams yo they def thats a family they do what they wanna do say what they wanna say live how they wanna live play how they wanna play dance how they wanna dance kick and the slap a friend the addams family addams too legit addams too legit addams too legit whos too legit the addams family you know what im saying the addams addams too legit oh yeah addams too legit talkin bout the addams now addams too legit im saying its the addams now the addams family yo take to the bridge thank you fester oh yeah yeah oh this is the addams groove right here ha ha addams yeah yeah addams just like that addams oh yeah the addams family you know you gotta fully understand they dok what they wanna do say what they wanna say live how they wanna live play how they wanna play dance how they wanna dance kick and they slap a friend the addams family addams too legit addams too legit addams too legit im tellin you i saw the hand the addams family thing man i saw they do what they wanna do say what they wanna say live how they wanna live play how they wanna play dance how they wanna dance kick and they slap a friend the addams family its the addams yeah thank you fester i needed to go back to the bridge again thank you thank you now check this out",3
77,"missing you now","michael bolton",1992," i talk to you but its not the same as touchin you and every time you whisper my name i wanna run to you well be together it wont be long it wont be long but it feels like forever and its hard to be strongbaby cause im missing you now and its drivin me crazy how im needin you baby im missing you now cant wait till im alone with you show you how im missing you nowwishin you were here by my side is all that i can do my arms around my pillow at night they should be holdin you thought i was stronger how could i know how could i know i cant take this much longer so hard on my soulbaby cause im missing you now and its drivin me crazy i got to be with you baby im missing you now i dont know what im gonna do thats the way im missing you nowbaby i just cant wait till i see your face chase away this loneliness inside when youre close to my heart right here in my arms then and only then will i be satisfied missing you nowi know well be together it wont be long it wont be long but it feels like forever and its hard to be strongbaby cause im missing you now and its drivin me crazy im needin you baby missing you now cant wait till im alone with you show you how im missing youmissing you missing you baby i should be holding you caressing you i just missing you now i dont know what im gonna do thats the way im missing youmissing you missing you now its drivin me crazy oh im feeling you baby im just missing you ",1
78,"back to the hotel","n2deep",1992,"vtown brother check it out im by the dope town dick in hand you shoulda had your toke down a little city chillin in the north bay needless to say my boyz dont play fool yo que sabo you know how the songs goes in the back sippin purple chongos dont look for trouble but it always seems to find us forty gripin panties sippin and the seats are right behind us quick left one blow k o hit the road to the next episode in the saga of a few fellows oh what the hell i guess i better tell ya its friday night i got a brand new kick on i bet theyre heedin for me to get bent on hit the country of the picked up ml eighty west back to the hotel at the tele bones is doing butt work johnny ziti had his hand up her miniskirt the late in the corner started to flirt and i knew that when she saw me baby doll was gonna jaw me set for the night so i took her to my ride grab my mickeys and my boda and i met her outside whoride incomprehensible id like to do this honey to the triple gold zs acid in my bottle so i gotta get some more put the pedal to the metal back to the liquor store cause you know what i mean when im feelin kinda funky a sick honky straight going donkey money in my sock jimmy in my glove layin in the livin cause im about to make good love and burn rubber up the block back to the tele i gotta get some new cock oh now could it be i just got a page an a broad wanna do me hooked it up told her meet me at the hotel she had a friend with her so i called tl smooth me up sally wanted me dicked and monty licked so try an make it real quick oh yeah i jumped in the ftrain but wait a minute we gotta hit the store main i got to get some gum and some tictacs two tall cans and a packet of blackjack we got the goods now were headed for the hoe down there goes the tele so fella wont you slow down park the ride in front like a sick one just in case we gotta bust a quick one lock the load incomprehensible one eighteen but law low cause i really dont wanna be seen is this the one oh yeah thats the right one i got the black bod and you got the white one so hit the light an i just might man try an throw this thing all night an get her so strung that shell drop some melt so i can catch turf and hit another hotel",3
79,"everything changes","kathy troccoli",1992," well you came in my life like a ray of light shining through the clouds in my heart i just looked at you and the world was new it was right right from the startyou came to me with a love so sweet and ill never never ever be the sameeverything changes nothing looks the same through the eyes of love everything changes when you love some love some love someone everything changesthought there never would be anyone for me then you came and changed everything now i shine like new because ive got you oh aint love a wonderful thingyou took my blues made them yesterdays news and iii never never ever be the sameeverything changes nothing looks the same through the eyes of love everything changes when you love some love some love someoneeverything changes standing in the light of a bright new sun everything changes when you love some love some love someone everything changes everything changesim looking around me and im loving what i see cause i found somebody somebody who loves meyou came to me with a love so sweet and ill never never ever be the sameeverything changes nothing looks the same through the eyes of love everything changes when you love some love some love someoneeverything changes standing in the light of a bright new sun everything changes when you love some love some love someoneeverything changes nothing looks the same through the eyes of love everything changes when you love some love some love someoneeverything changes standing in the light of a bright new sun everything changes when you love some love some love someoneeverything changes ",1
80,"have you ever needed someone so bad","def leppard",1992," here i am im in the wrong bed again its a game i just cant win there you are breathin soft on my skin yeah still you wont let me inwhy save your kisses for a rainy day baby let the moment take your heart awayhave you ever needed someone so bad yeah have you ever wanted someone you just couldnt have did you ever try so hard that your world just fell apart have you ever needed someone so badand to the girl i gotta have i gotta have you babythere you go midnight promises again yeah but theyre broken by the dawn you want to go further faster every day baby but in the morning youll be gone and im alonewhy save your kisses for a rainy day baby let the moment take your heart awayhave you ever needed someone so bad yeah have you ever wanted someone you just couldnt have did you ever try so hard that your world just fell apart have you ever needed someone so badevery dream i dream is like some kind of rash n reckless scene to give out such crazy love you must be some kind of drug and if my time dont ever come for me youre still the one damned if i dont damned if i do i gotta get a fix on youhave you ever needed someone so bad yeah have you ever wanted someone you just couldnt have did you ever try so hard that your world just fell apart have you ever needed someone so badhave you ever wanted someone did you ever try so hard that your world just fell apart have you ever needed someone so badand to the girl i gotta have i gotta have you baby its a game i just cant win have you ever needed someone so bad yeah have you ever wanted someone ",1
81,"take this heart","richard marx",1992," ive been where you are before no one understands it more you fear every step you take so sure that your heart will breakits not how the story ends youll be back on your feet againbaby this time there aint nothing gonna take this heart away no more goodbyes there aint nothing gonna take my heart awaythe pains still alive in you for what one man put you through you say that were all the same but im called by no other namewe all need a place to run wont you let me be the onebaby this time there aint nothing gonna take this heart away no more goodbyes there aint nothing gonna take my heart awaydont keep the dream in you locked outside your door just believe in this love and dont be afraid anymorei need you to please be strong ive waited for you too longbaby this time there aint nothing gonna take this heart away no more long nights there aint nothing gonna take my heart awaythis time baby nothings gonna take this heart away no more goodbyes there aint nothing gonna take my heart away there aint nothing gonna take my heart away ",1
82,"when i look into your eyes","firehouse",1992," i see forever when i look in your eyes youre all i ever wanted i always want you to be mine lets make a promise till the end of time well always be together and our love will never dieso here we are face to face and heart to heart i want you to know we will never be apart now i believe that wishes can come true cause i see my whole world i see only youwhen i look into your eyes i can see how much i love you and it makes me realize when i look into your eyes i see all my dreams come true when i look into your eyesive looked for you all of my life now that ive found you we will never say goodbye i cant stop this feelin and theres nothin i can do cause i see everythin when i look at youwhen i look into your eyes i can see how much i love you and it makes me realize when i look into your eyes i see all my dreams come true when i look into your eyesoh when i look into your eyes i can see how much i love you and it makes me realize when i look into your eyes well always be together and our love will never diewhen i look into your eyes i see all my dreams come true when i look into your eyes when i look into your eyes ",1
83,"i wanna love you","jade",1992," your reputation caught my attention i just cant help myself i want nobody else you look so fine lets spend some time i wanna make love to you youre all that i wanna doi wanna give you a tasty secret i wanna melt in your hand just gotta show you that i can love you until you understandi wanna love you i wanna love you down baby i wanna love you i wanna love you down babyyouve got it goin on with you i belong you undress my heart from the very first start you do understand me give your body to me baby dont let me go feel my love overflowim gonna give you a tasty secret thats gonna melt in your hand just wanna show you that i can love you until you understandi wanna love you i wanna love you down baby i wanna love you i wanna love you down babyi wanna love you i wanna love you down baby i wanna love you i wanna love you down babylet me love you let me love you down boy i love you adore me and i adore adore adore adore youi wanna love you i wanna love you down baby i wanna love you i wanna love you down babyi wanna love you i wanna love you down baby i wanna love you i wanna love you down babyi wanna love you i wanna love you down baby i wanna love you i wanna love you down baby ",1
84,"uhh ahh","boyz ii men",1992," 10 9 8 7 6 5 4 3 2 1 injection fellasuhh aah uhhh aah uhh aah uhhh aahin a minute well be finished was i all that you hoped and dreamed was i strong enough to make you feel me did i dig too deep in your mindyou were thinking of ways to make me work for something people wanted all through the night all i heard you say wasuhh aah uhhh aah uhh aah uhhh aahnow that were there what are you thinking should we talk about it baby baby you look so beautiful like this with the moonlight shining on you through the shadeswhat has come over me ohh you feel so good ohh you feel so gooduhh aah uhhh aah uhh aah uhhh aahtoss and turn back and forth the love goes as the night flows ever so smoothly i move you as you groove me taking our time as our bodies join to extract pure satisfaction holding and molding while im watching your reaction to pure bliss as i rub kiss every pleasure kept for moments like thisuhh aah uhhh aah uhh aah uhhh aah uhh aah uhhh aah  ",1
85,"real love","mary j blige",1992," we are lovers through and through and though we made it through the storm i really want you to realize i really want to put you onive been searchin for someone to satisfy my every need wont you be my inspiration be the real love that i needreal love im searchin for a real love someone to set my heart free real love im searchin for a real loveooh when i met you i just knew that you would take my heart and run until you told me how you felt for me you said im not the oneso i slowly came to see all of the things that you were made of and now i hope my dreams and inspirations lead me to want some real lovereal love im searchin for a real love someone to set my heart free real love im searchin for a real love i got to have a real lovelove so true and oh baby i thought that your love was true i thought you were the answer to the questions in my mind but it seems that i was wrong if i stay strong maybe ill find my real loveso i try my best and pray to god hell send me someone real to caress me and to guide me towards a love my heart can feelnow i know i can be faithful i can be your all in all ill give you good lovin through the summer time winter spring and fallreal love im searchin for a real love someone to set my heart free real love im searchin for a real lovereal love im searchin for a real love someone to set my heart free real love im searchin for a real loveyou see im searching for a real love and i dont know where to go real love im searchin for a real love been around the world and high and low and still ill never know someone to set my heart free how it feels to have a real love cause it seems its not around real love im searchin for a real love gotta end it in this way because it seems he cant be foundreal love im searchin for a real love someone to set my heart free real love im searchin for a real lovereal love im searchin for a real love someone to set my heart free real love im searchin for a real love real love ",1
86,"justified and ancient","the klf",1992,"okay man take it away um hm hmm hm hm hmm whoa na na na na naa hm hm hmm um hm hmm yeah um hm hmm yeah um hm hmm yeah um hm hmm theyre justified and theyre ancient and they like to roam the land theyre justified and theyre ancient i hope you understand they dont want to upset the apple cart and they dont want to cause any harm but if you dont like what theyre going to do you better not stop them cause theyre comin through theyre justified and theyre ancient and they know what time is love theyre justified and theyre ancient did they come from up above rock man hes just made of bricks and king boy lost his screws their jams dont need no master plan to do whatever ever they can hu hu hu hu huu aah ah aah hm hm hmm oo oh oh whoa na na na na naa aaa yea yea yea all right uhh huh yea theyre justified and theyre ancient and they like to roam the land theyre justified and theyre ancient i hope you understand they dont want to upset the apple cart and they dont want to cause any harm but if you dont like what theyre goin to do you better not stop them cause theyre coming through theyre justified and theyre ancient and they know what time is love theyre justified and theyre ancient did they come from up above rock man hes just made of bricks and king boy lost his screws their jams dont need no master plan to do whatever ever they can hm hm hmm whoa na na na na naa aa ha haa hu hu huu hu huu huu uu uu uu aah",3
87,"slow motion","color me badd",1992," ooh sock it to me mama oh i thought i saw a pussy cat baby ya she looks like she can be my personal steady ya let me make this movebaby i want cha very bad babe i do and ive been wanting you for so long oh and i could never love you fast babe not you i take my time and love you all night longall night you know that i want your love let me make it right for you all night youre the one im thinking of once i make it right baby i know you will never go slowi like to love you in slow motion ooh ya got it goin on slow let me love you slow slow i like to love you slow so morning will come before i do let me love you slowah come on my motor is runnin you got this animal hype in ya i gotta slow it down to get my timing rightbaby i think youre very sexy i do come over here and get a little bit closer to me yeah the time has come for me to love you real slow slow motion lover is what they call me slowi like to love you in slow motion ooh ya got it goin on slow let me love you slow slow i like to love you slow so morning will come before i do let me love you slowhow do you wanna do it baby oh 20 miles an hour is the speed i drive all night aint nothin wrong i just take my time yeah but yo check this out dont get offended if i fall for a little behind baby yeah all right 20 miles an hour and uh your rump is mine yeahi like to love you in slow motion ya got it goin on slow let me love you slow slow i like to love you slow so morning will come before i do let me love youooh sock it to me mamaall night you know that i want your love let me make it right for you all night youre the one im thinkin of once i make it rightoh make it good is my national anthem babyall night you know that i want your love let me make it right for you all night youre the one im thinkin of once i make it rightall night you know that i want your love let me make it right for you all nightlike a turtle and hare i promise i will be there oh am i in on my honor i will do my best to steal all i can and bonk the rest yeah you all just as crazy as joy ",1
88,"what about your friends","tlc",1992," what about your friends what about what about your friends what about what aboutevery now and then i get a little crazy thats not the way its supposed to be sometimes my vision is a little hazy i cant tell who i should trust or just who i let trust me yeahpeople try to say i act a little funny but thats just a figure of speech to me they tell me i changed because i got money but if you were there before then youre still down with mewhat about your friends will they stand their ground will they let you down again what about your friends are they gonna be low down will they ever be around or will they turn their backs on youwell is it me or can it be im a little too friendly so to speak hypothetically say i supply creativity to what others must take as a form of selfhate only to make an enemy which results in unfortunate destiny they dog me out then be next to me just cause i am what some choose to envyevery now and then i get a little easy i let a lot of people depend on me i never thought they would ever deceive me dont you know when times got rough i was standing on my ownill never let another get that close to me you see ive grown a lot smarter now sometimes you have to choose and then youll see if your friend is true theyll be there with you through the thick and thinwhat about your friends will they stand their ground will they let you down again what about your friends are they gonna be low down will they ever be around or will they turn their backs on youyo this is me well is it me or can it be im a little too friendly so to speak hypothetically say i supply creativity to what others must take as a form of selfhate only to make an enemy which results in unfortunate destiny they dog me out then be next to me just cause i am what some choose to envywhat about your friends will they stand their ground will they let you down again what about your friends are they gonna be low down will they ever be around or will they turn their backs on youpeople say i act a little funny i wouldnt change not for no money ill be a friend as long as youre a friend to me yeah yeah even though i might seem easy it dont give you no cause to deceive me its not the way i want my friends to ever bewhat about your friends will they stand their ground will they let you down again what about your friends are they gonna be low down will they ever be around or will they turn their backs on youwhat about your friends will they stand their ground will they let you down again what about your friends are they gonna be low down will they ever be around or will they turn their backs on you ",1
89,"thinkin back","color me badd",1992," ohh baby oh baby yeah we goin take you back a little furtherthinkin back on you and me remembering how it use to be those times are precious i cherish every moment we spent yeah thinkin back on all the arguments thinkin back way back when we kissed and made up and all was fair in loveso now we gotta go back baby maybe we can turn the hands of time going back to when going back to when when you were mine when we were one remembering the times when we were one one in love love was fun ohh baby dig itremembering the first time you showed me your love the feeling was so strong heaven sent from above but you had no right to play with my heart you showed no shametime after time and place after place nght after night and day after day im still missing your love and the feelings we share sometimes i cry at night cause i feel so all alone i need your love right here with me to keep me safe and warmmaybe we can turn the hands of time im going back to when going back to when when you were mine when we were one we were one girl remembering the times when we were one one in lovemaybe we can turn the hands of time ooh baby girl going back to when when you were mine when we were one remembering the times when we were one one in love baby save me im thinkin thinkin thinkin backplay mr music man play yeah play mr music man play mr music man play play mr music manplay mr music man play yeah play mr music man play mr music man play im thinkin thinkin thinkin backmaybe we can turn the hands of time ooh baby girl going back to when when you were mine when we were one remembering the times when we were one one in love baby save me im thinkin thinkin thinkin backmaybe we can turn the hands of time when we were one going back to when when you were mine remembering the times when we were one one in love girl im thinkin im thinkin back ",1
90,"would i lie to you","charles  eddie",1992,"look into my eyes cant you see theyre open wide would i lie to you baby would i lie to you dont you know its true girl theres no one else but you would i lie to you baby would i lie to you everybody wants to know the truth in my arms is the only proof ive hidden my heard behind the bedroom door now its open i cant do no more im telling you baby you will never find another girl in this heart of mine look into my eyes cant you see theyre open wide would i lie to you baby would i lie to you dont you know its true girl theres no one else but you would i lie to you baby would i lie to you everybodys got their history on every page a mystery you can read my diary youre in every line jealous minds never satisfied satisfied im telling you baby you will never find another girl in this heart of mine look into my eyes cant you see theyre open wide would i lie to you baby would i lie to you dont you know its true girl theres no one else but you would i lie to you baby would i lie to you would i lie to you when you wanna see me night and day would i lie to you if i tell you that im here to stay would i lie to you do you think i give my love away would i lie thats not the kind of game i play im telling you baby you will never find another girl in this heart of mine look into my eyes cant you see theyre open wide would i lie to you baby would i lie to you dont you know its true girl theres no one else but you would i lie to you baby would i lie to you",3
91,"thats what love is for","amy grant",1992," sometimes we make it harder than it is well take a perfect night and fill it up with words we dont mean dark sides best unseen and we wonder why were feeling this waysometimes i wonder if we really feel the same why we can be unkind questioning the strongest of hearts thats when we must start believing in the one thing that has gotten us this farthats what love is for to help us through it thats what love is for nothing else can do itmelt our defenses bring us back to our senses give us strength to try once more baby thats what love is forsometimes i see you and you dont know i am there and im washed away by emotions i hold deep down inside getting stronger with time its living through the fire and holding on we findthats what love is for to help us through it thats what love is for nothing else can do itmelt our defenses bring us back to our senses give us strength to try once more baby thats what love is forbelieving in the one thing that has gotten us this farthats what love is for to help us through it thats what love is for nothing else can do itround off the edges talk us down from the ledges give us strength to try once more baby thats what love is forthats what love is for thats what love is for thats what love is formelt our defenses bring us back to our senses give us strength to try once more baby thats what love is forthats what love is for thats what love is for thats what love is for nothing else can do it try to sense through it ",1
92,"keep coming back","richard marx",1992," hey uhhknow just how to hurt me how to take all my pain away girl you must be the devil in disguise there were times i think you knew when i was so afraid of you theres some kind of madness in your eyes you know a place buried deep in my heart nobody else can see something in you has taken some kind of hold on mei dont know why i keep coming back to you babe i dont know why i keep coming back to you to you babywoh huh you say we shouldnt be lovers and i say we cant just be friends all this talking just makes me want you more youve got a way of confusin a heart nobody else could do why should i try i dont want to get over youno ha i dont know why i keep coming back to you babe dont know why just still be waiting i keep coming back to you my baby i dont know why i dont know why i keep coming back to you i i keep on coming keep on coming keep on keep on keep on coming just tell me why i keep coming back to you i iim so in love so in love with the games that you play so in love nothing can keep me away youve got a way of confusing a heart that nobody else could do why should i try i dont want to get over youohh i dont know why i keep coming back to you babe oh just tell me why i keep coming back to you baby i keep coming coming to you i dont know why i keep coming back to you keep on coming keep on coming keep on coming keep on coming just tell me why i keep coming back to you baby oooh to you baby oh oh woh coming right over to you yeah ",1
93,"free your mind","en vogue",1992," i wear tight clothing and high heel shoes it doesnt mean that im a prostitute i like rap music wear hip hop clothes that doesnt mean that im sellin dope oh please forgive me for having straight hair it doesnt mean theres another blood in my heirs i might date another race or color doesnt mean i dont like my strong black brotherswhy oh why must it be this way before you can read me you gotta learn how to see me i said free your mind and the rest will follow be colour blind dont be so shallow free your mind and the rest will follow be colour blind dont be so shallowso im a sistah buy things with cash that really doesnt mean that all my credits bad oooh so why dispute me and waste my time because you really think the price is high for me i cant look without being watched no you rang my buy before i made up my mind ow oh now attitude why even bother i cant change your mind you cant change my colourwhy oh why must it be this way before you can read me you gotta learn how to see me i said free your mind and the rest will follow be colour blind dont be so shallow free your mind and the rest will follow be colour blind dont be so shallow free your mind and the rest will follow be colour blind dont be so shallow free your mind and the rest will follow be colour blind dont be so shallow free your mind ",1
94,"keep it comin","keith sweat",1992,"kick it one time chorus keep it comin girl i want you to turn me on with all the kissing and hugging do me baby drive me crazy i can never get enough of your lovin feels so good when im with you you know i gotta have your love every day and every night youre the one im thinking of youve got all i love everything that i like oh yes you do lets make love tonight all you gotta do is bring your body right here babe chorus ooh ooh baby kissing you is such a thrill take you for a natural high cant explain the way it feels when it goes up deep inside let me hold you tight hold you tight and have your body all night long girl give me all you got give me all you got babe dont you ever smile babe chorus background vocal line let your hair down come lay next to me feel my body give me the love that i need all you do is let your pretty hair down girl baby youre right next to me chorus with ad libs",3
95,"just take my heart","mr big",1992," its late at night and neither one of us is sleeping i cant imagine living my life after youre gone wondering why so many questions have no answers i keep on searching for the reason why we went wrongwhere is our yesterday you and i could use it right now but if this is goodbyejust take my heart when you go i dont have the need for it anymore ill always love you but youre too hard to hold just take my heart when you gohere we are about to take the final step now i just cant fool myself i know theres no turning back face to face its been endless conversation but when the love is gone youre left with nothing but talkid give my everything if only i could turn you around but if this is goodbyejust take my heart when you go i dont have the need for it anymore ill always love you but youre too hard to hold just take my heart when you gojust take my heart just take my heart when you go i dont have the need for it anymore ill always love you but youre too hard to hold just take my heart baby just take my heart when you gotake my heart just take my heart ",1
96,"i will remember you","amy grant",1992," i will be walking one day down a street far away and see a face in a crowd and smileknowing how you made me laugh hearing sweet echoes of you from the pasti will remember youlook in my eyes while youre near tell me whats happening here see that i dont want to say goodbyeour love is frozen in time ill be your champion and you will be minei will remember i will remember youlater on when this fire is an ember later on when the nights not so tender given time though its hard to remember darlin i will be holding ill still be holding to youi will remember youso many years come and gone and yet the memory is strong one word we never could learn goodbyetrue love is frozen in time ill be your champion and youll be minei will remember you so please rememberi will remember you i will remember youi will remember you i will remember you ",1
97,"we got a love thang","cece peniston",1992," cant stand it when youre away without a doubt youre the best thing thats happened to me yeah baby and i just cant wait to have you by my side you know whenever youre around a smile is all that youre gonna see cause you make me feel so good inside and there is no doubt yeah im satisfiedbridge i know that i wont find a better love i got a love that other girls dream ofchorus we got a love thang feels so good to me this is our thang thats how a love should bewe got a we got a love we got a we got a love we got a thats how a love should bei used to be lonely cause i couldnt find someone that i could call my own oh no suddenly you stepped in my life now youre here with me and all my lonely days are gone i dont know if its wrong or right but its better than a lonely nightbridge ",1
98,"lets get rocked","def leppard",1992," do you want to get rocked lets get lets get lets get lets get rockedim your average ordinary everyday kid happy to do nothin in fact thats what i did i got a million ways to make my day but daddy dont agree cause when i try to get away he says he got plans for me get your butt right out of bed stop buggin me get up and move your sleepy head dont shake my tree he said mow the lawn who me walk the dog not my style man take out the trash no way tidy your room cmon get real sorry dad gotta disappear lets get the rock out of hereseven day weekend up all night in at the deep end hang on tight wont take a minute it wont take long so get on in it come on cmon cmonlets get lets get lets get lets get rocked lets get lets get lets get lets get rocked lets go all the way get it night n day cmon lets get lets get lets get lets get rockedim your average ordinary everyday dude drivin with my baby to get her in the mood shes dialin through my radio and im ready to make my move but what she got aint rock n roll and it really blew my groove it was chopin mozart beethoven it makes me want to scream bach tschaikovsky violins turn it off that aint my scene well im sorry girl heres my confession i suppose a rocks out of the questionseven day weekend up all night in at the deep end hang on tight wont take a minute it wont take long so get on in it come on cmon cmonlets get lets get lets get lets get rocked lets get lets get lets get lets get rocked lets go all the way get it night n day cmon lets get lets get lets get lets get rockedall i want to do is take a ride into the blue every time i want to love you i get stuck inside my room heaven knows im sick n tired of dancin with this broomi feel lucky today hey look at that man do you want to get rocked do you want to get rockedit wont take you a minute it wont take that long yeah get on get with it oh cmon everybodylets get lets get lets get lets get rocked get on top baby lets get lets get lets get lets get rocked do you want to do you want to lets get lets get lets get lets get rocked get on top of it lets get lets get lets get lets get rocked love to rock your body baby lets get lets get lets get lets get rocked lets go all the way lets do it night n day lets get out and play rock the night away cmon lets get lets get lets get lets get rocked do you want to get rocked ",1
99,"they want efx","das efx",1992," bum stiggedy bum stiggedy bum hon i got the old pa rum pum pum pum but i can fe fi fo fum diddly bum here i come so peter piper im hyper than pinocchios noseim the supercalafragilistic tic tac pro i gave my oopsy daisy now youve got the crazy crazy with the books googley goo wheres the gravy so one two unbuckle my um shoeyabba doo hippity hoo crack a brew so trick or treat smell my feet yup i drippedydropped a hit so books get on your mark and spark that old censorship drats and double drats i smiggedysmacked some whiz kidsthe boogedywoogedly brooklyn boys about to get his dig my waist bones connected to my hip bone my hip bones connected to my thigh bone my thigh bones connected to my knee bone my knee bones connected to my hardyharharharthe jibbedyjabber jaw jajabbing at your funny bone um skip the ovaltine id rather have a honeycomb or preferably the sesame lets spiggedyspark the blunts um dun dun dun dun dun dun dunthey want efx some live efx they want efx some live efx they want efx some live efx snap a neck for some live efxwell ill be darned shiver me timbers yo head for the hills i picked a weeping willow and a daffodil so back up bucko or ill pulverize mcgruff cause this little piggy gets busy and stuffarrivederci heavens to mercy honky tonk i get swift i caught a snuffleufagus and smoked a boogaloo spliff i got the nooks the cranies the nitty gritty fodeydoe all aboard cast away hey wheres my boogaloooh im steaming agony whys everybody always picking on me they call me puddin tane and raps my game you ask me again and ill ttell you the samecause im the vulgar vegemintarian so stick em up freeze so no park sausages mom please ablitz shoots the breeze twiddlydee shoots his lip crazy dazy shot the sheriff yup and i shot the giftand thats pretty sneaky sis oh yep i got my socks off my rocks off my nestles cup of cocoa holly hobby tried to slob me tried to rob me silly stunt diggedydun dun dun dun dun dun dunthey want efx some live efx they want efx some live efx they want efx some live efx snap a neck for some live efxyahoo hideeho yup im coming around the stretch so here fido boy fetch boy fetch i got the ropeadope a slippery choker look at me get raw and im the hickorydickory top of morning boogoloo big jawwith the yippedy zippedy winnie the pooh bad boy blue yo crazy got the gusto what up i swing that too so nincompoop give a hoot and stomp a troop without a strain like roscoe b coltranei spiggedyspark a spiff and give a twist like chubby checker i take my froot loops with two scoops make it double decker oh vince the baby come to papa duke a babaloo ooh a babaloo boogedy booi went from gucci to stussy to fliggedyflam a groupie to zsa zsa to yibbedyyabba dabba hoochie koochie tally ho iill take my stove top instead of potatoes so maybe ill shoot em now nope maybe ill shoot em later yepi used to have a dog and bingo was his name oh so uh b i n g o oh you do the hokey pokey and you turn yourself around hon so uh dun dun dun dun dun dun dunthey want efx some live efx they want efx some live efx they want efx some live efx snap a neck for some live efx ",1
100,"i cant make you love me","bonnie raitt",1992," turn down the lights turn down the bed turn down these voices inside my head lay down with me tell me no lies just hold me close dont patronize dont patronize mecause i cant make you love me if you dont you cant make your heart feel something it wont here in the dark in these final hours i will lay down my heart and ill feel the power but you wont no you wont cause i cant make you love me if you dontill close my eyes then i wont see the love you dont feel when youre holding me morning will come and ill do whats right just give me till then to give up this fight and i will give up this fightcause i cant make you love me if you dont you cant make your heart feel something it wont here in the dark in these final hours i will lay down my heart and ill feel the power but you wont no you wont cause i cant make you love me if you dont ",1
1,"i will always love you","whitney houston",1993," if i should stay ill only be in your way so ill go but i know ill think of you every step of the wayand i will always love you i will always love you you my darling you hmmmbittersweet memories that is all im taking with me so goodbye please dont cry we both know im not what you you needand i will always love you i will always love youi hope life treats you kind and i hope you have all youve dreamed of and i wish to you joy and happiness but above all this i wish you loveand i will always love you i will always love you i will always love you i will always love you i will always love you i i will always love youyou darling i love you oh ill always ill always love you ",1
2,"whoomp there it is","tag team",1993," party people yeah tag team music in full effect thats me dc the brain supreme and my man steve rolln were kicking the flow were kickin the flow and it goes a little somethin like this tag team back again check its records lets begin party on party people let me hear some noise dcs in the house jump jump rejoice theres a party over here a party over there wave your hands in the air shake your deriere these three words when youre gettin busy whoomp there it is hit meupside down and inside out im about to show all you folks whats its all about now its time for a nigga to get on the mic and make this mother fucking party hype im taking it back to the old school cause im an old fool whos so cool if you want to get down im gonna show you the way whoomp there it is let me hear you saywhoomp chak a laka chack a laka chak a laka chak a whoomp chak a laka chack a laka chak a laka chak a whoomp chak a laka chack a laka chak a laka chak a whoomp chak a laka chack a laka chak a laka chak apoint blank gin and juice i drank gettin bent and bent and as i puff on a dankt rock a mic uh oh i crave skin rip shit find a honey to to dip it in slam dunk it stick it flip it and ride that b double o t y oh my ooh thats it come on come on whoomp there it is im donesome say im crazy cause im pushin up daises the underground sound that you have found amazing outstanding demanding commanding you people dancin shit thats a breath taker i produce aka the undertaker you want to come down to the underground old school  heres a shovel can you dig it fool can you dig it we can dig it can yll dig it we can dig itw h double o m p as i flow to the fly shit from the school of old hardcore keep the folk lore wreck three to the two and one miccheck mad skill flow ill on the mesh of steel thats the grill of the microphone i just killed party people its your party tag team is through whoomp there it is i thought you knewyeah tag team music comin straight atcha thats me dc the brain supreme and my man steve rolln bring it back yall bring it back yall bring it back here we gowhoomp there it is ",1
3,"cant help falling in love","ub40",1993," wise men say only fools rush in but i cant help falling in love with youwise men say only fools rush in but i cant help falling in love with youshall i stay would it be a sin but i cant help falling in love with youas the river flows gently to the sea darling so we go some things were meant to betake my hand take my whole life too but i cant help falling in love with youas the river flows gently to the sea darling so we go some things were meant to betake my hand take my whole life too but i cant help falling in love with youi cant help falling in love with you i cant help falling in love with you i cant help falling in love with you ",1
4,"thats the way love goes","janet jackson",1993," like a moth to a flame burned by the fire my love is blind cant you see my desire thats the way love goeslike a moth to a flame burned by the fire my love is blind cant you see my desire thats the way like a moth to a flame burned by the fire thats the way my love is blind cant you see my desire thats the way love goes like a moth to a flame burned by the fire thats the way love goes my love is blind cant you see my desire thats the way thats the way thats the way love goescome with me dont you worry im gonna make you crazy ill give you the time of your life im gonna take you places youve never been before and youll be so happy that you came oh im gonna take you there ooh thats the way love goes thats the way love goes thats the way love goes thats the way love goes dont mind if i light candles i like to watch us play and baby ive got on what you like come closer baby closer reach out and feel my body im gonna give you all my love oh sugar dont you hurry youve got me here all night just close your eyes and hold on tight oh baby dont stop dont stop go deeper baby deeper you feel so good im gonna cryoh im gonna take you there ooh thats the way love goes thats the way love goes thats the way love goes thats the way love goes thats the way love goes thats the way love goes dont you know like a moth to a flame burned by the fire my love is blind cant you see my desire like a moth to a flame burned by the fire my love is blind cant you see my desire thats the way thats the way thats the way thats the way thats the way thats the way thats the way love goes thats the way thats the way thats the way thats the way thats the way thats the way thats the way love goes thats the way love goes thats the way love goes thats the way love goes thats the way love thats the way love thats the way love thats the way love thats the way love thats the way love thats the way love goes ",1
5,"freak me","silk",1993," freak me baby ahh yeah freak me baby freak me baby ahh yeah freak me babylet me lick you up and down til you say stop let me play with your body baby make you real hot let me do all the things you want me to do cuz tonight baby i wanna get freaky with youbaby dont you understand i wanna be your nasty man i wanna make your body scream and you will know just what i24 carat gold to warm the nights when you get cold i wanna lick you up and down and then i wanna lay you down cmon silklet me lick you up and down til you say stop let me play with your body baby make you real hot let me do all the things you want me to do cuz tonight baby i wanna get freaky with youi love the taste of whip cream spread it on dont be mean you know i cant resist you girl ill fly you all around the worldi wanna make your body drip cmon let me take a sip take off what you cherish most cuz when i brag i like to brag and boastlet me lick you up and down til you say stop let me play with your body baby make you real hot let me do all the things you want me to do cuz tonight baby i wanna get freaky with youyou you you you oh you you you you you let me freak you you you you you all of you yeah come on come onyou you you you oh you you you you you let me do you cuz tonight baby i wanna get freaky with youlet me lick you up and down til you say stop let me play with your body baby make you real hot let me do all the things you want me to do cuz tonight baby i wanna get freaky with youlet me lick you up and down til you say stop let me play with your body baby make you real hot let me do all the things you want me to do cuz tonight baby i wanna get freaky freakylet me lick you up and down til you say stop let me play with your body baby make you real hot let me do all the things you want me to do cuz tonight baby i wanna get freaky with you ",1
6,"weak","swv",1993," i dont know what it is that youve done to me but its caused me to act in such a crazy way whatever it is that you do when you do what youre doing its a feeling that i dont understandcause my heart starts beating triple time with thoughts of loving you on my mind i cant figure out just what to do when the cause and cure is youi get so weak in the knees i can hardly speak i lose all control and something takes over me in a daze and its so amazing its not a phase i want you to stay with me by my side i swallow my pride your love is so sweet it knocks me right off of my feet cant explain why your loving makes me weaktime after time after time ive tried to fight it but your love is strong it keeps on holding on resistance is down when youre around starts fading in my condition i dont want to be alonecause my heart starts beating triple time with thoughts of loving you on my mind i cant figure out just what to do when the cause and cure is you ohi get so weak in the knees i can hardly speak i lose all control and something takes over me in a daze and its so amazing its not a phase i want you to stay with me by my side i swallow my pride your love is so sweet it knocks me right off of my feet cant explain why your loving makes me weaki try hard to fight it no way can i deny it your loves so sweet it knocks me off my feeti get so weak in the knees i can hardly speak i lose all control and something takes over me in a daze and its so amazing its not a phase i want you to stay with me by my side i swallow my pride your love is so sweet it knocks me right off of my feet cant explain why your loving makes me weaki get so weak blood starts racing through my veins i get so weak boy its something i cant explain i get so weak something bout the way you do the things you do it knocks me right off of my feet off my feet i cant explain why your loving makes me weaki get so weak in the knees i can hardly speak i lose all control and something takes over me in a daze and its so amazing its not a phase i want you to stay with me by my side i swallow my pride your love is so sweet it knocks me right off of my feet ",1
7,"if i ever fall in love","shai",1993," the very first time that i saw your brown eyes your lips said hello and i said hi i knew right then you were the onebut i was caught up in physical attraction but to my satisfaction baby you were more than just a phaseand if i ever ever fall in love again again i will be sure that the lady is a friendand if i ever ever fall in love so true so true i will be sure that the ladys just like youoh yeah yeah yyeah the very next time shell be my friendif i say that i could be your one and only promise that youll never leave me lonely i just wanna be the one you need oh babyi just wanna be the one to serve you sometimes i feel as if i dont deserve you i cherish every moment that we shareand if i ever ever fall in love again again i will be sure that the lady is a friendand if i ever fall ever fall in love so true so true i will be sure that the ladys just like youi need someone wholl be my friend to be with me through thick and thin please share my love with me my friend i need someone like youand if i ever ever fall in love again again i will be sure that the lady is a friendand if i ever fall ever fall in love so true true i will be sure that the ladys just like you ",1
8,"dreamlover","mariah carey",1993," i need a lover to give me the kind of love that would last always i need somebody uplifting to take me awayi want a lover who knows me who understands how i feel inside someone to comfort and hold me through the long lonely nights till the dawn why dont you take me awaydream lover come rescue me take me up take me down take me anywhere you want to baby now i need you so desperately wont you please come around cause i wanna share forever with you babyi dont want another pretender to disillusion me one more time whispering words of forever playing with my mindi need someone to hold on to the kind of love that wont fly away i just want someone to belong to everyday of my life always so come and take me awaydream lover come rescue me take me up take me down take me anywhere you want to baby now i need you so desperately wont you please come around cause i wanna share forever with you babybaby come and take me awaydream lover come rescue me take me up take me down take me anywhere you want to baby now i need you so desperately wont you please come around cause i wanna share forever with you babydream lover come rescue me take me up take me down take me anywhere you want to baby now i need you so desperately wont you please come around cause i wanna share forever with you baby ",1
9,"rump shaker","wreckxneffect",1993,NA,NA
10,"informer","snow",1993," informer you no say daddy me snow me ill go blame a licky boomboom down detectivemon said daddy me snow me stab someone down the lane a licky boomboom downinformer you no say daddy me snow me ill go blame a licky boomboom down detectivemon said daddy me snow me stab someone down the lane a licky boomboom downinformer you no say daddy me snow me ill go blame a licky boomboom down detectivemon said daddy me snow me stab someone down the lane a licky boomboom downpolice them come and now they blow down me door one him come crawl through through my window so then they put me in the back the car at the station from that point on me reach my destination when the destination reached it was the east detention where them whipped down me pants looked up me bottom soinformer you no say daddy me snow me ill go blame a licky boomboom down detectivemon said daddy me snow me stab someone down the lane a licky boomboom downinformer you no say daddy me snow me ill go blame a licky boomboom down detectivemon said daddy me snow me stab someone down the lane a licky boomboom downbigger they are they think they have more power theyre on the phone me say that on every hour me for want to use it once an now me call me lover lover who ill be callin is the one tammy an me love her in me heart down to my belly yes me daddy me snow me i feel cool and deadly as the one mc shan an the one daddy snow together wea love em as a tornadoinformer you no say daddy me snow me ill go blame a licky boomboom down detectivemon said daddy me snow me stab someone down the lane a licky boomboom downinformer you no say daddy me snow me ill go blame a licky boomboom down detectivemon said daddy me snow me stab someone down the lane a licky boomboom downlisten for me you better listen for me now listen for me you better listen for me now when me rocking the microphone me rock it steady yes sir daddy me snow me are the article don but in the in an the out of a dance them they say where you come from people them say you come from jamaica but me born an raised in the ghetto thats the one i want you to know pure black people mon thats all i mon know yeah me shoes are tear up an me toes used to show where me born in on the one toronto soinformer you no say daddy me snow me ill go blame a licky boomboom down detectivemon said daddy me snow me stab someone down the lane a licky boomboom downinformer you no say daddy me snow me ill go blame a licky boomboom down detectivemon said daddy me snow me stab someone down the lane a licky boomboom downcome with a nice young lady intelligent yes shes gentle and irie everywhere me go me never left her at all yes its daddy snow me are the roam dance mon roam between a dancing in a in a nationa you never know say daddy me snow me are the boom shakata me never laya down flat in that one cardboard box yes say me daddy me snow me ill go reaching at the top soinformer you no say daddy me snow me ill go blame a licky boomboom down detectivemon said daddy me snow me stab someone down the lane a licky boomboom downinformer you no say daddy me snow me ill go blame a licky boomboom down detectivemon said daddy me snow me stab someone down the lane a licky boomboom downme sitting round cool with my dibbiedibbie girl police knock my door lick up my pal rough me up and i cant do a thing pick up my line when my telephone ring take me to the station black up my hands trail me down cause im hanging with the snowman what im gonna do im backed and im trapped slap me in the face and took all of my gap they have no clues and they wanna get warmer but shan wont turn informerinformer you no say daddy me snow me ill go blame a licky boomboom down detectivemon said daddy me snow me stab someone down the lane a licky boomboom down ",1
11,"nuthin but a g thang","dr dre",1993," 1 2 3 and to the 4 snoop doggy dogg and dr dre is at the door ready to make an entrance so back on up cause you know were about to rip shit up give me the microphone first so i can bust like a bubble compton and long beach together now you know you in trouble aint nothing but a g thang baby two loced out niggas so were crazy death row is the label that pays me unfadeable so please dont try to fade this but um back to the lecture at hand perfection is perfected so imma let em understand from a young gs perspective and before me dig out a bitch i have to find a contraceptive you never know she could be earning her man and learning her man  and at the same time burning her man now you know i aint with that shit lieutenant aint no pussy good enough to get burnt while im up in it yeah and thats realer than realdeal holyfield and now you hookers and hoes know how i feel well if its good enough to get broke off a proper chunk ill take a small piece of some of that funky stuffits like this and like that and like this and uh its like that and like this and like that and uh its like this and like that and like this and uh dre creep to the mic like a phantom    meaning  byamandah   editor    if leon haywoods i wanta do something freaky to you sounds familiar its because its sampled in nuthin but a g thang    see all   well im peeping and im creeping and im creepin but i damn near got caught cause my beeper kept beepin now its time for me to make my impression felt so sit back relax and strap on your seat belt you never been on a ride like this before with a producer who can rap and control the maestro at the same time with the dope rhyme that i kick you know and i know i flow some old funky shit to add to my collection the selection symbolizes dope take a toke but dont choke if you do youll have no clue on what me and my homey snoop dogg came to doits like this and like that and like this and uh its like that and like this and like that and uh its like this and like that and like this and uhand who gives a fuck about those so just chill til the next episodefalling back on that ass with a hellafied gangsta lean getting funky on the mic like a old batch of collard greens its the capital s oh yes im fresh n doubleo p d o doubleg y d o doubleg ya see showing much flex when its time to wreck a mic pimping hoes and clocking a grip like my name was dolomite yeah and it dont quit i think they in the mood for some motherfuckin g shit hell yeah so dre whattup dogg gotta give them what they want whats that g we gotta break em off something hell yeah and its gotta be bumpin city of comptonis where it takes place so when asked your attention mobbing like a motherfucker but i aint lynchin dropping the funky shit thats making the sucker niggas mumble when im on the mic its like a cookie they all crumble try to get close and your assll get smacked my motherfucking homie doggy dogg has got my back never let me slip cause if i slip then im slippin but if i got my nina then you know im straight trippin and imma continue to put the rap down put the mack down and if you bitches talk shit ill have to put the smack down yeah and you dont stop i told you im just like a clock when i tick and i tock but im never off always on to the break of dawn compton and the city they call long beach putting the shit together like my nigga doc no one can do it better ",1
12,"in the still of the nite","boyz ii men",1993," sha doop shobe doo sha doop shobe doo sha doop shobe dooin the still of the nite i held you held you tight oh i love love you so promise ill never let you go in the still of the nite in the still of the nitei remember that night in bed i remember i remember well the stars were bright up above i remember i remember i hope and i pray i remember i remember to keep your precious loveso before the light hold me again with all of your might in the still of the nite in the still of the niteshoo wap shoo wa shoo wap shoo wa shoo wap shoo waso before the light hold me again with all of your might in the still of the nite in the still of the nite in the still of the nitesha doop shobe doo sha doop shobe doo sha doop shobe doo ",1
13,"dont walk away","jade",1993," hi we are not in right now but if you leave your name and number well get back to youall this love waiting just for you i just gotta know that your love is true cant keep running boy in and out my life wanna be your girl not cause the mood is rightif i let you come inside tomorrow will you hide will you be there for me when i need someone to hold me baby dont misunderstand i do want for my man i just need a little time before i invest my love dont walk away boy my love wont hurt you dont walk away boy ill be right there for youyou said all the things that i like to hear you push all my buttons baby love to have close to me wanna feel your love wanna be for sure that its me you need baby each and every nightif i let you come inside tomorrow will you hide will you be there for me when i need someone to hold baby dont misunderstand i do want you for my man i just need a little time before i invest my love dont walk away boy my love wont hurt you dont walk away boy ill be right there for youdont misunderstand i want you for my man i need a little time before i give you my love dont walk away boy ill be right there for youdont walk away this is what is sounds like when we make lovedont walk away boy dont walk away boy ill be right there for you dont walk away boy my love wont hurt you dont walk away boy ill be right there for you dont walk away boy my love wont hurt you ",1
14,"knockin da boots","htown",1993," yeah we doin this one for all da ladies ha htown boys kickin it with my boy luc fo da 93 you know what im sayin cause we will be knockin da boots gi shazzam and dino they gon do something a lil sexy like you know what im sayin yo check da versea late night i thought to back to when we made good love listening to some marvin gaye all night long but i want that whole thing back make these moments once again go right so wontcha so wontcha do it for us babegood loving body rockin knockin boots all night long yeah making love until were tired till the break of dawn oh come on oh come on and turn the lights down and let me get on it yeah cause when i do just me and you itll be so rightgive me some good love some body rockin knockin da boots give me some good love some body rockin knockin da boots some body rockin baby give me some good love some body rockin knockin da boots thats all i need i need give me some good love some body rockin knockin da bootsi feel so good when im near you thats why i always wanna be close to you im so addicted im so addicted to making love to you baby all night long baby all night long long longgood loving body rockin knockin boots all night long oh oh making love until were tired till the break of dawn ohh come on oh come on and turn the lights down and let me get on it oh cause when i do just me and you itll be so right so right so rightgive me some good love some body rockin knockin da boots give me some good love some body rockin knockin da boots thats all i want baby yeah give me some good love some body rockin knockin da bootsgive me some good love some body rockin knockin da boots some sweet rocking some sweet love some body rockin knockin da boots giving you mounts of pleasure cause im ready some body rockin knockin da bootsim so ready im so ready baby some body rockin knockin da boots to give you every thing that weve been waiting on so come on and give it to me babe some body rockin knockin da bootsaww yeah right about now were in the intermission tip so all you ladies go get your towels you know what im saying hah cause its laid out like that you know but wait a minute we aint through kick the ampwoah oh ooh ooohh aww babe i want your good touch baby you hearin me my baby its driving me crazy some body rockin knockin da bootsso wontcha come on come and rock my body rock my body baby go on and rock my body yeah i wanna lay you down some body rockin knockin da boots so let me make some sweet love ",1
15,"lately","jodeci",1993," lately ive had the strangest feeling with no vivid reason here to find but yet the thought of losing you been hanging around my mind kci sing itfar more frequently your wearing perfume with you say the special place to go but when i ask will you be coming back soon you dont know never knowoh im a man of many wishes i hope my premonition misses but what i really feel my eyes wont let me hide cuz they always start to cry cuz this time could mean goodbyelately ive been staring in the mirror and its very slowly picking me apart ive tried to tell myself i have no reason with your heartnow just the other night while you were sleeping i vaguely heard you whisper someones name but when i ask you of the thoughts your keeping you just say nothings changedwell im a man of many wishes i hope my premonition misses but what i really feel my eyes wont let me hide cuz they always start to cry cuz this time could mean goodbyeoh im a man of many wishes i hope my premonition misses but what i really feel my eyes wont let me hide cuz they always start to cry cuz this time could mean goodbyeunverified ",1
16,"dazzey duks","duice",1993,"come on baby and kick them dazzeys look at them girls with the dazzey duks on i want you to look at them girls with the dazzey duks on everybody look at them girls with the dazzey duks on i want you to look at them girls with the dazzey duks on say look at them girls with the dazzey duks on they really got it going on looking all nice and sweet showing leg and a little butt cheek i do like it a lot when youre showing some of what you got yall girls you be looking real cute the way yall kicking them dazzey duks come on baby and kick them dazzeys look at them girls with the dazzey duks on i want you to look at them girls with the dazzey duks on everybody look at them girls with the dazzey duks on i want you to look at them girls with the dazzey duks on hey you in the black boots knee high with the dazzey duks looking real fly while in cahoots in the park where i can meet you im a snow here to relate to you what started the trend of them dazzey duks ever since the summer of the 90s girls had a deal with the future behind see many terms they use to express were talking about the butt cheeks not the breasts baby got back the junk in the trunk she got a six pack or a hell of a rump yo need some fries with that shake see many terms they use to relate i love the girls with the big old booties right up front they call em dukies pretty brown cheeks hanging from the jeans even city girls can be country things so if you get it got it good to dip to dug out dem damn dazzey duks are turning out sing come on baby and kick them dazzeys look at them girls with the dazzey duks on i want you to look at them girls with the dazzey duks on everybody look at them girls with the dazzey duks on i want you to look at them girls with the dazzey duks on say look at them girls with them dazzey duks on they really got it going on yeah they be kicking it sweet while all the brothers show thier freak and check out the way they step make a brother wanna think about sex especially when they have nice legs and theyre tan to the top all the way it dont matter what kinda legs you like still be kicking if those legs are lily white so it makes no difference to you as long as youre kicking them dazzey duks come on baby and kick them dazzeys look at them girls with the dazzey duks on i want you to look at them girls with the dazzey duks on everybody look at them girls with the dazzey duks on i want you to look at them girls with the dazzey duks on hold it now wait a minute yo bring that funky track back bring that funky track back bring that funky track back bring that funky track back oh bring it baby oh kick them dazzeys oh let me see you rock it baby oh kick them dazzeys oh let me see you rock it baby la snow like the girls with them dazzey duks creo d like the girls with them dazzey duks taylor boy like them girls in them dazzey duks tony mercedes like them girls with them dazzey duks new york bel air miami alabama tennessee new jersey boston augusta atlanta like them girls in the dazzey duks all of texas like them girls in the dazzey duks la like them girls in the dazzey duks come on baby and kick them dazzeys look at them girls with the dazzey duks on i want you to look at them girls with the dazzey duks on everybody look at them girls with the dazzey duks on i want you to look at them girls with the dazzey duks on oh kick them dazzeys incomprehensible wear em wear now kick them dazzeys baby yeah she gonna wear em wear now kick them dazzeys baby she gonna wear em wear now kick them dazzeys baby",3
17,"show me love","robin s",1993," ahh yeah yeah youve got to show me loveheartbreaks and promises ive had more than my share im tired of giving my love and getting nowhere nowherewhat i need is somebody who really cares i really need a lover a lover that wants to be thereits been so long since i touched a wanting hand i cant put my love on the line that i hope youll understandso baby if you want me youve got to show me love words are so easy to say oh ah yeah youve got to show me loveim tired of getting caught up in those one night affairs what i really need is somebody who will always be theredont you promise me the world all that ive already heard this time around for me baby actions speak louder than wordsif youre looking for devotion talk to me come with your heart in your hand because my love is guaranteedso baby if you want me youve got to show me love words are so easy to say oh ah yeah youve got to show me loveshow me show me baby youve got to give it to me give it to me give it to me yeah i dont want no fakes dont want no phoney i need your loveshow me show me show me baby give it to me give it to me i am not a toy im not a play thang youve got to understandif youre looking for devotion talk to me come with your heart in your hand because my love is guaranteed yeah yeah yeah yeah yeah ",1
18,"a whole new world","peabo bryson and regina belle",1993," ooh i can show you the world shining shimmering splendid tell me princess now when did you last let your heart decidei can open your eyes take you wonder by wonder over sideways and under on a magic carpet ridea whole new world a new fantastic point of view no one to tell us no or where to go or say were only dreaminga whole new world a dazzling place i never knew but now from way up here its crystal clear that now im in a whole new world with youunbelievable sights indescribable feeling soaring tumbling free wheeling through an endless diamond skya whole new world dont you dare close your eyes a hundred thousand things to see hold your breath it gets better im like a shooting star ive come so far i cant go back to where i used to bea whole new world with new horizons to pursue ill chase them anywhere theres time to spare let me share this whole new world with youa whole new world a whole new world a new fantastic point of view no one to tell us no or where to go or say were only dreaminga whole new world every turn a surprise with new horizons to pursue every moment redletter ill chase them anywhere theres time to spare anywhere theres time to spare let me share this whole new world with youa whole new world a whole new world thats where well be where we will be a thrilling chase a wondrous place for you and me ",1
19,"if","janet jackson",1993," sittin over here starin in your face with lust in my eyes sure dont give a damn and ya dont know that ive been dreamin of ya in my fantasynever once you looked at me dont even realize that im wantin you to fulfill my needs think what you want let your mind free run free to a place no one dares tohow many nights ive laid in bed excited over you ive closed my eyes and thought of us a hundred different waysive gotten there so many times i wonder how bout you day and night night and day all ive got to say isif i was your girl oh the things id do to you id make you call out my name id ask who it belongs to if i was your woman the things id do to you but im not so i cant then i wont but if i was your girlallow me some time to play with your mind and youll get there again and again close your eyes and imagine my body undressed take your time cause weve got all night oohyou on the rise as youre touchin my thighs and let me know what you like if you like ill go down down down down da down down ill hold you in my hand and maybeyour smooth and shiny feels so good against my lips sugar i want you so bad i can taste your love right now babyday and night night and day all ive got to say isif i was your girl oh the things id do to you id make you call out my name id ask who it belongs to if i was your woman the things id do to you but im not so i cant then i wont but if i was your girlif i was your girl oh the things id do to you id make you call out my name id ask who it belongs to if i was your woman the things id do to you but im not so i cant then i wont but if i was your girlive laid in bed excited over you one hundred different ways ive thought of many many all i want to say isif i was your girl oh the things id do to you id make you call out my name id ask who it belongs to if i was your woman the things id do to you but im not so i cant then i wont but if i was your girlif i was your girl oh the things id do to you id make you call out my name id ask who it belongs to if i was your woman the things id do to you but im not so i cant then i wont but if i was your girlif i was your girl oh the things id do to you id make you call out my name id ask who it belongs to if i was your woman the things id do to you but im not ",1
20,"im so into you","swv",1993," boy there you go youre telling me that you love me but boy you know that you belong to another girl who loves youyou are so fine you blow my mind with the things you do to me blind shes not blind things you do for me but i knowim so into you i dont know what im gonna do boy you got me so confused i dont know what im gonna dofriends ask how could i give myself to one who belongs to someone else they just dont know your loves so good that they would want it for themselvesanyone can see so fine you blow my mind with the things you do to me blind shes not blind things you do for me oh my godim so into you i dont know what im gonna do boy you got me so confused i dont know what im gonna doim so into you i dont know what im gonna do boy you got me so confused i dont know what im gonna doyoure not youre not mine youre not youre not mine youre not youre not mine youre not what am i supposed to doim so into you i dont know what im gonna do boy you got me so confused i dont know what im gonna doim so into you i dont know what im gonna do boy you got me so confused i dont know what im gonna doim so into you i dont know what im gonna do boy you got me so confused i dont know what im gonna doim so into you boy you got me so confused i dont know what im gonna do im so into you ",1
21,"love is","vanessa williams and brian mcknight",1993," they say its a river that circles the earth a beam of light shining to the edge of the universe it conquers all it changes everythingthey say its a blessing they say its a gift they say its a miracle and i believe that it is it conquers all but its a mysterylove breaks your heart love takes no less than everything love makes it hard and it fades away so easilyin this world weve created in this place that we live in the blink of an eye babe the darkness slips in love lights the world unites the lovers for eternitylove breaks the chains love aches for everyone of us love takes the tears and the pain and it turns it in to the beauty that remainslook at this place it was paradise but now its dying ill pray for love ill take my chances that its not too latelove breaks your heart love takes no less than everything love makes it hard and it fades away so easily oh oh ohlove breaks the chains love aches for everyone of us love takes the tears and the pain and it turns it in to the beauty that remains ",1
22,"runaway train","soul asylum",1993," call you up in the middle of the night like a firefly without a light you were there like a slow torch burning i was a key that could use a little turningso tired that i couldnt even sleep so many secrets i couldnt keep promised myself i wouldnt weep one more promise i couldnt keepit seems no one can help me now im in too deep theres no way out this time i have really led myself astrayrunaway train never going back wrong way on a one way track seems like i should be getting somewhere somehow im neither here nor therecan you help me remember how to smile make it somehow all seem worthwhile how on earth did i get so jaded lifes mystery seems so fadedi can go where no one else can go i know what no one else knows here i am just drownin in the rain with a ticket for a runaway traineverything is cut and dry day and night earth and sky somehow i just dont believe itrunaway train never going back wrong way on a one way track seems like i should be getting somewhere somehow im neither here nor therebought a ticket for a runaway train like a madman laughin at the rain little out of touch little insane just easier than dealing with the painrunaway train never comin back wrong way on a one way track seems like i should be getting somewhere somehow im neither here nor thererunaway train never comin back runaway train tearin up the track runaway train burnin in my veins runaway but it always seems the same ",1
23,"ill never get over you getting over me","expose",1993," i hear youre taking the town again having a good time with all your good time friends i dont think that you think of me youre on your own now and im alone and free i know that i should get on with my life but a life lived without you could never be rightas long as the stars shine down from the heavens as long as the rivers run to the sea ill never get over you getting over mei try to smile so the hurt wont show tell everybody i was glad to see you go but the tears just wont go away wont go away loneliness found me looks like its here to stay i know that i oughta find someone new but all i find is myself always thinking of youas long as the stars shine down from the heavens as long as the rivers run to the sea ill never get over you getting over meoh no matter what i do each nights a lifetime to live through i cant go on like this i need your touch youre the only one ill ever love ohhinsrumental breakand as long as the stars shine down from the heavens as long as the rivers run to the sea ill never get over you getting over me ill never get over you getting over never get over you getting over ill never get over you getting over me ",1
24,"ditty","paperboy",1993," yo this is how im comin for the nine deuce another fat fat track so rhythm d pour the orange juice and lets relax while sippin on yak because its like that im conscious of hoes so paperboy wears prophylactic i wear a jimmy for the skins cuz its a long trim front row seats aiyo i know shes on the nine inchjust to get a piece of the green but shes an undertaker now you know the paper is an around the world heartbreaker me sink i float from dough but yo had to have a breakdown paid in full so now you know why my bellys round pickin the rap back up and scoopin up crowds just like a steel shovel not from the ghetto but yo takin it to another level let the beat ride but hold on to your women g cuz now that im rich so many women wanna do meit make a man say damn im finally taxin more play than homey sam but let me speak to the weak i mean the rookies my time is help up extremely for cookies just let me clock this groove in ninety two hey you dont bother me and i sure never wont bother youand ah you just watch a brother flowin like niagra think before you step because these niggas just might stag ya although im labeled with the black fade its gold ds on my four and gold lex cuz i got it made i brought the beat on once again because i had to and just like jody watley baby girl i can have you just let me work this track and yo any way is ok your place or mine all night until the next day unhdo the ditty if you want to because then i can see if i want you just do the ditty ditty if you want to because then i can see if i want younow here we go from the top second verse of the same song with the conclusion all should be happy with dingdong its since a man clock a grip g its like every rhythm that i see be like do you remember me a hustler and his snow with more hoes to lego keep em chunky like prego so they can play with my eggo i have a tendency to flow start off with my own groovepick up the mic and all of a sudden i see high movin guess its like magic and paperboy is the magician if i was a vacuum id be suckin up competition let it ride again and yo believe i got my own thing straight behind my hoes so miss me with the chick from soul train and im a break my note just to show up tokin tote on his ass when i scoop him cuz we bud smokin a black man tryin to make it and that aint no fair but just like bebe and cece ill take you there huhdo the ditty if you want to because then i can see if i want you just do the ditty ditty if you want to because then i can see if i want younow here we go uh lets take a trip to another land clock a grip come back and watch the hoes tan jump in the lexo and roll out to my cabin believe me my brother more hoes than you can imagine all on the dingaling just because the gold rings but im like whats up witcha you aint heard a damn thing make sure you got the jim hats strapped for protection because to me my life is more than my erectionand give me a hand if you a fan it aint over yet cuz doin the ditty with paperboy makes the ocean sweat leave you kinda startled like the funk off of fritos make you man jealous while hoes cheese like doritos it aint my fault i lay the piper with concern and i aint from mount vernon but a brothers moneyearnin and for those disagree and then jock thats a pitty just bob your head for paperboy and the ditty yeahdo the ditty if you want to because then i can see if i want you just do the ditty ditty if you want to because then i can see if i want you ",1
25,"rhythm is a dancer","snap",1993," rhythm is a dancer its a soul companion you can feel it everywhere lift your hands and voices free your mind and join us you can feel it in the airoh its a passion oh you can feel it yeah oh its a passion ohhcheck this out let the rhythm ride you guide you sneak inside you set your mind to move to its pulsation bass vibrations sense sensation pause is not implicit mind and body must be free too please take it all way nothing to lose everything to winlet it control you hold you mold you not the old the new touch it taste it free your soul let it invade you gotto to be what you wanna if the groove dont get you the rhyme flows gonna im serious as cancer when i say rhythm is a dancerrhythm is a dancer its a source companion people feel it everywhere lift your hands and voices free your mind and join us you can feel it in the airoh its a passion oh you can feel it yeah oh its a passion ohhim serious as cancer when i say rhythm is a dancerrhythm is a dancer its a source companion people feel it everywhere lift your hands and voices free your mind and join us you can feel it in the airoh its a passion oh you can feel it yeah oh its a passion ohhrhythm is a dancer its a source companion people feel it everywhere lift your hands and voices free your mind and join us you can feel it in the airoh its a passion oh you can feel it yeah oh its a passion ohhcheck this out let the rhythm ride you guide you sneak inside you set your mind to move to its pulsation bass vibrations sense sensation pause is not implicit mind and body must be free too please take it all way nothing to lose everything to winlet it control you hold you mold you not the old the new touch it taste it free your soul let it invade you gotto to be what you wanna if the groove dont get you the rhyme flows gonna im serious as cancer when i say rhythm is a dancerrhythm is a dancer its a source companion people feel it everywhere lift your hands and voices free your mind and join us you can feel it in the airoh its a passion oh you can feel it yeah oh its a passion ohh ",1
26,"the river of dreams","billy joel",1993," in the middle of the night i go walking in my sleep from the mountains of faith to a river so deepi must be looking for something something sacred i lost but the river is wide and its too hard to crossand even though i know the river is wide i walk down every evening and i stand on the shore and try to cross to the opposite side so i can finally find out what ive been looking forin the middle of the night i go walking in my sleep through the valley of fear to a river so deepand ive been searching for something taken out of my soul something i would never lose something somebody stolei dont know why i go walking at night but now im tired and i dont want to walk anymore i hope it doesnt take the rest of my life until i find what it is that ive been looking forin the middle of the night i go walking in my sleep through the jungle of doubt to a river so deepi know im searching for something something so undefined that it can only be seen by the eyes of the blindin the middle of the nightim not sure about a life after this god knows ive never been a spiritual man baptized by the fire i wade into the river that runs to the promised landin the middle of the night i go walking in my sleep through the desert of truth to the river so deepwe all end in the ocean we all start in the streams were all carried along by the river of dreamsin the middle of the night ",1
27,"im gonna be 500 miles","the proclaimers",1993," when i wake up yeah i know im gonna be im gonna be the man who wakes up next to you when i go out yeah i know im gonna be im gonna be the man who goes along with you if i get drunk yes i know im gonna be im gonna be the man who gets drunk next to you and if i have yeah i know im gonna be im gonna be the man whos havering to youbut i would walk 500 miles and i would walk 500 more just to be the man who walked 1000 milesto fall down at your door when im working yes i know im gonna be im gonna be the man whos working hard for you and when the money comes in for the work ill doill pass almost every penny on to you when i come home yeah i know im gonna be im gonna be the man who comes back home to you and if i grow old well i know im gonna be im gonna be the man whos growing old with you ",1
28,"two princes","spin doctors",1993," yeah one two princes kneel before you thats what i said now princes princes who adore you just go ahead now one has diamonds in his pockets thats some bread now this one said he wants to buy you rockets aint in his head nowaah dee dee dee deethis one got a princely racket thats what i said now got some big seal upon his jacket aint in his head now you marry him your father will condone you how bout that now you marry me your father will disown you hell eat his hat nowmarry him or marry me im the one that loves you baby cant you see i aint got no future or a family tree but i know what a prince and lover ought to be i know what a prince and lover ought to besaid if you want to call me baby just go ahead now and if you like to tell me maybe just go ahead now and if you wanna buy me flowers just go ahead now and if you like to talk for hours just go ahead nowsaidone two princes kneel before you thats what i said now princes princes who adore you just go ahead now one has diamonds in his pockets thats some bread now this one he wants to buy you rockets aint in his head nowmarry him or marry me im the one that loves you baby cant you see i aint got no future or a family tree but i know what a prince and lover ought to be i know what a prince and lover ought to besaid if you want to call me baby just go ahead now and if you like to tell me maybe just go ahead now and if you wanna buy me flowers just go ahead now and if you like to talk for hours just go ahead nowand if you want to call me baby just go ahead now and if you like to tell me maybe just go ahead now and if you like buy me flowers just go ahead now and if you like to talk for hours just go ahead nowand if you want to call me baby just go ahead now if you like to tell me maybe just go ahead now if you want to buy me flowers just go ahead now and if you like to talk for hours just go ahead nowwhoa whoa baby just go ahead now whoa just just go ahead now just go ahead now whoa youre majesty just go ahead now come on forget the king and marry me just go ahead now cmon cmon come on just go ahead now just go ahead now yeah just go ahead now if you want to buy me flowers just go ahead now ",1
29,"right here","swv",1993," lately there seems to be some insecurities about the way i feel where i wanna be boy you know its with you no one can do the things you do to menever to be mistaking long as its love were making therell be no hesitating you and me and it always will be and i wont leave your side cause you knowlove will be right here be right here right here be right here no fear have no fear no tears love is heretrue love some dont believe in thats just what im giving im gonna keep it strong ill be holding on to you no one can do me like you do its truesure as the sun is shining our love will keep on climbing theres gonna be some rain gonna be some pain but as long as i know boy time will show our love will grow and i knowlove will be right here be right here right here be right here no fear have no fear no tears love is herelove will be right here be right here right here be right here no fear have no fear no tears love is herewont let go you should know this thing is real no questions just listen to you heart and love will be rightbaby whats the problem its seems like were having trouble you dont seem to understand the life i lead aint doublemy heart belongs to you and only you and you know its true a phony imitation just wont do relax your mindim not the kind who runs around and wastes time other fine brothers just dont compare ill be there i swear far or near have no fear i dont care you can count on me im right hereright here be right here right here be right here no fear have no fear no tears love is hereright here be right here right here be right here no fear have no fear no tears love is hereright here be right here right here be right here no fear have no fear no tears love is hereright here be right here right here be right here no fear have no fear ",1
30,"i have nothing","whitney houston",1993," share my life take me for what i am cause ill never change all my colors for youtake my love ill never ask for too much just all that you are and everything that you doi dont really need to look very much further i dont want to have to go where you dont follow i will hold it back again this passion inside cant run from myself theres nowhere to hidedont make me close one more door i dont want to hurt anymore stay in my arms if you dare or must i imagine you there dont walk away from me i have nothing nothing nothing if i dont have you you you you youyou see through right to the heart of me you break down my walls with the strength of your lovei never knew love like ive known it with you will a memory survive one i can hold on toi dont really need to look very much further i dont want to have to go where you dont follow i will hold it back again this passion inside i cant run from myself theres nowhere to hide your love ill remember foreverdont make me close one more door i dont want to hurt anymore stay in my arms if you dare or must i imagine you there dont walk away from me i have nothing nothing nothingdont make me close one more door i dont want to hurt anymore stay in my arms if you dare or must i imagine you there dont walk away from me no dont walk away from me dont you dare walk away from me i have nothing nothing nothing if i dont have you you if i dont have you oh oh ",1
31,"mr wendal","arrested development",1993," here have a dollar in fact now brotherman here have two two dollars means a snack for me but it means a big deal to yoube strong serve god only know that if you do beautiful heaven awaits thats the poem i wrote for the first time i saw a man with no clothes no money no platemr wendal thats his name no one ever knew his name cuz hes a no one never thought twice about spending on an old bum until i had the chance to really get to know onenow that i know em to give him money isnt charity he gives me some knowledge i buy him some shoes and to think blacks spend all their money on big colleges still most of you come out confusedgo ahead mr wendal go ahead mr wendalmr wendal has freedom a free that you and i think hes dumb free to be without the worries of a quick to diss society for mr wendals a bumhis only worries are sickness and occasional harassment by the police and their chase uncivilized we call him but i just saw him eat off the food we wastecivilization are we really civilized yes or no who are we to judge when thousands of innocent man could be brutally enslaved and killed over a racist grudgemr wendal has tried to warn us about our ways but we dont hear him talk its not his fault when were goin too far and we got too far cuz on him we walkmr wendal a man a human in flesh but not by law i feed you dignity to stand with pride realize now that all in all we stand tall go ahead mr wendalmr wendal mr wendal mr wendal  ",1
32,"have i told you lately","rod stewart",1993," have i told you lately that i love you have i told you theres no one else above you fill my heart with gladness take away all my sadness ease my troubles thats what you dofor the morning sun in all its glory meets the day with hope and comfort too you fill my life with laughter somehow you make it better ease my troubles thats what you dotheres a love less defined and its yours and its mine like the sun and at the end of the day we should give thanks and pray to the one to the onehave i told you lately that i love you have i told you theres no one else above you fill my heart with gladness take away all my sadness ease my troubles thats what you dotheres a love less defined and its yours and its mine like the sun and at the end of the day we should give thanks and pray to the one to the onehave i told you lately that i love you have i told you theres no one else above you fill my heart with gladness take away all my sadness ease my troubles thats what you dotake away all my sadness fill my life with gladness ease my troubles thats what you do ",1
33,"saving forever for you","shanice",1993," ive never been so sure about anything before but this loving feeling gonna be a feeling i feel forever more looking in your eyes tomorrows all i see as long as theres forever baby i will always besaving forever for you ooh baby you are the only one ill ever give forever to love for a lifetime wont do ooh baby wanna always stay together so ill be saving forever for youyoull be my world as long as theres a world turning around and youll be my heaven baby till the heavens all come falling down look inside my heart love is all youll see ill loving you forever baby leave it just to mesaving forever for you ooh baby you are the only one ill ever give forever to love for a lifetime wont do ooh baby wanna always stay together so ill be saving forever for youforever ill be loving you as long as time passes by ill be there besides you all through it all ill be standing by you looking in your eyes tomorrows all i see long as theres forever baby i will always be needing you here with mesaving forever for you ooh baby you are the only one ill ever give forever to love for a lifetime wont do ooh baby wanna always stay together so ill be saving forever saving forever for yousaving forever for you ooh baby you are the only one ill ever give forever to love for a lifetime wont do ooh baby wanna always stay together so ill be saving forever saving forever for yousaving forever for you ooh baby you are the only one ill ever give forever to ",1
34,"ordinary world","duran duran",1993," came in from a rainy thursday on the avenue thought i heard you talking softly i turned on the lights the tv and the radio still i cant escape the ghost of youwhat has happened to it all crazy someone say where is the life that i recognize gone awaybut i wont cry for yesterday theres an ordinary world somehow i have to find and as i try to make my way to the ordinary world i will learn to survivepassion or coincidence once prompted you to say pride will tear us both apart well now prides gone out the window cross the rooftops run away left me in the vacuum of my heartwhat is happening to me crazy someone say where is my friend when i need you most gone awaybut i wont cry for yesterday theres an ordinary world somehow i have to find and as i try to make my way to the ordinary world i will learn to survivepapers in the roadside tell of suffering and greed fear today forgot tomorrow besides the news of holy war and holy need ours is just a little sorrowed talkjust blown awayand i dont cry for yesterday theres an ordinary world somehow i have to find and as i try to make my way to the ordinary world i will learn to surviveevery world is my world i will learn to survive any world is my world i will learn to survive any world is my world every world is our world ",1
35,"if i had no loot","tony toni tone",1993," dadadaday dadadadadayay dadadaday dadadadadayay dadadaday dadadadadayayif the shoe fits i want you to wear it and wear it good ahah ahahyeah ahahhahtalkin bout them times when i was by myself i would always be lookin for somebody else but as time went on i had a talk with my mind friends like you and you i gotta leave behindand so you call me your friend but you only want my gifts and ill never see you if i had no loot ill never see them im just glad i know the truth and im payin my own bills and ill never ever depend on youfriends and enemies around me everyday i cant believe half the things they say takin me for granted givin no credit at all ill just keep bouncin like a bouncin ball everybody seems to disappear on me cant trust no one as far as i can see if i could be that fly thats on the wall listenin to my friends talk about it allyou call me your friend but you only want my gifts and ill never see you if i had no loot ill never see them im just glad i know the truth and im payin my own bills and ill never ever depend on you some soul you arei dont mean to step on nobodys foot but ah when i need somebody theres nobody to call when they need me my phone rings off the wall but these are my friends and that so what they say constantly takin from me everyday you sayyou call me your friend but you only want my gifts and ill never see you if i had no loot ill never see them im just glad i know the truth and im payin my own bills and ill never ever depend on you some soul you are ",1
36,"id do anything for love but i wont do that","meat loaf",1993," and i would do anything for love id run right into hell and back i would do anything for love ill never lie to you and thats a fact but ill never forget the way you feel right now oh no no way and i would do anything for love but i wont do that i wont do thatanything for love oh i would do anything for love i would do anything for love but i wont do that oh i wont do thatsome days it dont come easy and some days it dont come hard some days it dont come at all and these are the days that never end some nights youre breathing fire and some nights youre carved in ice some nights youre like nothing ive ever seen before or will againmaybe im crazy but its crazy and its true i know you can save me no one else can save me now but you as long as the planets are turning as long as the stars are burning as long as your dreams are coming true you better believe itthat i would do anything for love and ill be there til the final act i would do anything for love and ill take a vow and seal a pactbut ill never forgive myself if we dont go all the way tonight and i would do anything for love oh i would do anything for love oh i would do anything for love but i wont do that no i wont do thati would do anything for love anything youve been dreaming of but i just wont do that i would do anything for love anything youve been dreaming of but i just wont do that i would do anything for love anything youve been dreaming of but i just wont do thatsome days i pray for silence and some days i pray for soul some days i just pray to the god of sex and drums and rock n roll some nights i lose the feeling and some nights i lose control some nights i just lose it all when i watch you dance and the thunder rollsmaybe im lonely and thats all im qualified to be theres just one and only the one and only promise i can keep as long as the wheels are turning as long as the fires are burning as long as your prayers are coming true you better believe itthat i would do anything for love and you know its true and thats a fact i would do anything for love and therell never be no turning backbut ill never do it better than i do it with you so long so long and i would do anything for love oh i would do anything for love i would do anything for love but i wont do that no no no i wont do thati would do anything for love anything youve been dreaming of but i just wont do that i would do anything for love anything youve been dreaming of but i just wont do thati would do anything for love anything youve been dreaming of but i just wont do that i would do anything for love anything youve been dreaming of but i just wont do thati would do anything for love anything youve been dreaming of but i just wont do that i would do anything for love anything youve been dreaming of but i just wont do thati would do anything for love anything youve been dreaming of but i just wont do thatbut ill never stop dreaming of you every night of my life no way and i would do anything for love oh i would do anything for love i would do anything for love but i wont do that no i wont do thatwill you raise me up will you help me down will you get me right out of this godforsaken town will you make it all a little less cold i can do that i can do thatwill you hold me sacred will you hold me tight can you colorize my life im so sick of black and white can you make it all a little less old i can do that oh oh now i can do thatwill you make me some magic with your own two hands can you build an emerald city with these grains of sand can you give me something i can take home i can do that oh oh now i can do thatwill you cater to every fantasy i got will ya hose me down with holy water if i get too hot will you take me places ive never known i can do that oh oh now i can do thatafter a while youll forget everything it was a brief interlude and a midsummer nights fling and youll see that its time to move on i wont do that no i wont do thati know the territory ive been around itll all turn to dust and well all fall down and sooner or later youll be screwing around i wont do that no i wont do thatanything for love oh i would do anything for love i would do anything for love but i wont do that no i wont do that ",1
37,"slam","onyx",1993," slam da duh duh da duh duh let the boys be boys slam da duh duh da duh duh make noise bboyswell its another one in the gutter one ghetto running em troublesome extra double dumb i come to beat em defeat em and mistreat em so what if that im cheating now everybody wanna sound grimey yeah i know ima show ya how come on all in together now yeah oh yeah yeah thats how it gotta be so stop trying to be loud as me cause you cant do that think about it playing russian roulette with an automatic i bet my ass against the line the last bullets first on line stab and step and repping and run packing a weapon is wild peace to the brothers on rikers isle tough enough and trembling blend in like a chameleon buck bye tough guy oh my god im so high cause they say i rhyme they say i look like a gremlin but what does it take to make a kid make a million children slamslam da duh duh da duh duh let the boys be boys slam da duh duh da duh duh make noise bboys slam da duh duh da duh duh let the boys be boys slam da duh duh da duh duh make noise bboysim the nitty nasty gritty smashing never slow gassing strictly swift blast of the raspyrasp fashion that i provide i abide the usg besides the ghetto vibe make me flip like jekyll and hyde of course i come across with the pure for sure unadulterated uncut raw disgusted busted you wanna touch it too hot you forgot youre not ready your head could get ruptured hit between the eyes i plan to vandalize i supply the static i run with the bad guys the villains crooks highlighters and the fighters see the big black picture if you look inside of my mind its graphic expressed it drastic so kill the copycat act kid its all mastered directed it when yall least expected it and thought it was safe onyx hit you in the face so slamslam da duh duh da duh duh let the boys be boys slam da duh duh da duh duh make noise bboys slam da duh duh da duh duh let the boys be boys slam da duh duh da duh duh make noise bboysim a bboy standing in my bboy stance hurry up and give me the microphone before i bust in my pants the mad author of anguish my language polluted onyx is heavyweight and still undisputed you took the words right out my mouth now walk a mile in my shoes i paid so many dues i feel used and abused and im so confused excuse me for example im an inspiration of a whole generation and unless you got ten sticky fingers its an imitation a figment of your imagination bubububut wait it gets worse im not watered down so im dying of thirst coming through with a scam foolproof plan bboys make some noise and just just slamslam da duh duh da duh duh make noise bboys slam da duh duh da duh duh let the boys be boys slam da duh duh da duh duh make noise bboys slam da duh duh da duh duh make noise bboys slam da duh duh da duh duh let the boys be boys slam da duh duh da duh duh make noise bboys slam da duh duh da duh duh let the boys be boys slam da duh duh da duh duh make noise bboys slam da duh duh ",1
38,"looking through patient eyes","pm dawn",1993," whatever it is i do i try to think about you i have a love for you that nothing hides whatever it is i do im only thinking of you i hope you look at me through patient eyesive become amused ive become blind ive become what i know not breathes you seem illiterate to all my emotions i stand corrected how well you readyou speak the truth you speak the me you feel the love i have yet to find i know its there i know its there but i let the sandcastles kill my mindpathetic me i long to be you i think im close but i stand so far the turbulent one sheds a turbulent tear i miss the love only cause they starveoil and water lust and sympathy are life and death my way through the sun where originates all the pain that leaves my memory a traumatic sponge and sings to youwell define my love with attitude open up your mind and it will sing to you you can always tell but i know remorse so well i left reality early due to the lack of love reasonwhatever it is i do i try to think about you i have a love for you that nothing hides whatever it is i do im only thinking of you i hope you look at me through patient eyesthe channel a professional liar how i long to contradict those vibes joni help me i think im falling its not for love and i quest the whyi dont know if im right im right but if im wrong then show me im wrong the fear of pity is always awake but infinite sympathy is completely goneits the windows the doors the passage ways to the truth oh my god it echoes the mind in total recall as wild as the deuceits so deceiving is the clouded heart so superficial is the open wound i caress the infinite light that even at night overshadows the moon that sings to youwell define my love that lives within you even when i die it will sing to you you can only tell if remorse has done you well the misconstrued my answers thanks to the lack of love reasonwhatever it is i do i try to think about you i seek the sympathy and i cant lie whatever it is i do im only thinking of you i hope you look at me through patient eyeswhatever it is i do i try to think about you i seek the sympathy and i cant lie whatever it is i do im only thinking of you i hope you look at me through patient eyeswhatever it is i do i try to think about you i seek the sympathy and i cant lie whatever it is i do im only thinking of you i hope you look at me through patient eyes ",1
39,"im every woman","whitney houston",1993," whatever you want whatever you need anything you want done baby ill do it naturally cause im every woman every woman its all in me its all in me yeahim every woman its all in me anything you want done baby ill do it naturallyim every woman its all in me i can read your thoughts right now every one from a to z whoa whoa whoa whoa whoa whoai can cast a spell of secrets you can tell mix a special brew put fire inside of you anytime you feel danger or fear then instantly i will appear causeim every woman its all in me anything you want done baby ill do it naturally whoa whoa whoa whoa whoa whoai can sense your needs like rain unto the seeds i can make a rhyme of confusion in your mind and when it comes back to some good oldfashioned love ive got it ive got it ive got it got it baby causeim every woman its all in me anything you want done baby ill do it naturallyim every woman its all in me i can read your thoughts right now every one from a to z whoa whoa whoa whoa whoa whoai aint braggin cause i am the one you just ask me ooh it shall be done and dont bother to compare ive got it whoa whoa whoa whoa whoa whoa whoa whoa whoaim every woman im every woman im every woman im every woman im every woman im every woman im every woman im every woman im every woman chaka khan im every woman chaka khan im every woman im every woman ",1
40,"baby im yours","shai",1993," understand girl that my heart is in your hands and im cautious of falling in love again so please dont hurt me im scared dont desert me im afraid of being a fool againso baby im yours if you want me and if you want my sweet love baby im yours if you need me loving you forever if you want me give me your love baby im yours if you need merealize girl that my faith is kind of torn watch your step girl because my heart is weak and worn so wont you please be careful im fragile i cant imagine the damage i have to handle if you hurt me one more time please be minebaby im yours if you want me and if you want my sweet love baby im yours if you need me loving you forever if you want me give me your love baby im yours if you need me oh babybaby ive been through a whole lot of relationships whole lot of broken promises but now im ready for a real one sweet heart yes i amyou dont have to worry baby dont you every go no waybaby im baby baby im yours baby im baby baby im yours baby im baby baby im yours baby im baby baby im yoursbaby im baby baby im yours baby im baby baby im yours baby im baby baby im yours baby im baby baby im yoursbaby im yours if you want me and baby im yours if you need me loving you forever if you want me baby im yours if you need me  ",1
41,"come undone","duran duran",1993," mine immaculate dream made breath and skin ive been waiting for you signed with a home tattoo happy birthday to you was created for youcant ever keep from falling apart at the seams can i believe youre taking my heart to piecesahh itll take a little time might take a little crime to come undone now well try to stay blind to the hope and fear outside hey child stay wilder than the wind and blow me in to crywho do you need who do you love when you come undonewho do you need who do you love when you come undonewords playing me deja vu like a radio tune i swear ive heard before chill is it something real or the magic im feeding off your fingerscant ever keep from falling apart at the seams can i believe youre taking my heart to pieceslost in a snow filled sky well make it alright to come undone now well try to stay blind to the hope and fear outside hey child stay wilder than the wind and blow me in to crywho do you need who do you love when you come undonewho do you need who do you love when you come undonewho do you need who do you love when you come undone who do you need who do you love when you come undonecant ever keep from falling apart who do you need who do you love when you come undone who do you need who do you love when you come undone ",1
42,"i dont wanna fight","tina turner",1993," theres a pale moon in the sky the kind you make your wishes on oh like the light in your eyes the one i built my dreams uponits not there any longer something happened somewhere and we both know why but me im getting stronger we must stop pretending i cant live this lifei dont care whos wrong or right i dont really wanna fight no more too much talkin babe lets sleep on it tonight i dont really wanna fight no more this is time for letting goi hear a whisper in the air it simply doesnt bother me oh cant you see that i dont care or are you looking right through meit seems to me that lately seems to me that lately you look at me the wrong way and i start to cry could it be that maybe could it be that maybe this crazy situation is the reason why ohi dont care whos wrong or right i dont really wanna fight no more too much talkin babe lets sleep on it tonight i dont really wanna fight no more tired of all these gamesoh baby dont you know that i dont wanna hurt no more its time im walking babe dont care now whos to blame i dont really wanna fight no more this is time for letting gohanging on to the past it only stands in our way we had to grow for our love to last but we just grew apart oh dont wanna hurt no morebut baby dont you know no i dont wanna hurt no more too much talkin babe dont care now whos to blame i dont really wanna fight no more tired of all these gamesi dont care whos wrong or right i dont really wanna fight no more its time im walkin babe so lets sleep on it tonight i dont really wanna fight no more this is time for letting gono i dont wanna hurt no more too much hey baby dont care now whos to blame i dont really wanna fight no more cause this is time for letting gohmm let it go let it go let it go let it go hmm let it go let it go hmm so let it go ",1
43,"id die without you","pm dawn",1993," is it my turn to wish you were lying here i tend to dream you when im not sleeping is it my turn to fictionalize my world or even imagine your emotions tell myself anythingis it my turn to hold you by your hands tell you i love you and you not hear me is it my turn to totally understand to watch you walk out of my life and not do a damn thingif i have to give away the feeling that i feel yeah if i have to sacrifice oh whatever babe whatever baby if i have to take apart all that i am is there anything that i would not do since id die without you yeah baby since id die without you since id die without youoh i apologize for all the things ive done but now im underwater and im drowning is it my turn to be the one to cry isnt it amazing how some things completely turn aroundso take every little piece of my heart yeah take every little piece of my soul yeah take every little bit of piece of my mind cause if youre gone inside id die without youif i have to give away the feeling that i feel yeah if i have to sacrifice oh whatever babe whatever baby if i have to take apart all that i am is there anything that i would not do since id die without yousince id die without you since id die without you since id die without you since id die without you since id die without you since id die without you since id die without you since id die without you ",1
44,"whoot there it is","95 south",1993,"excuse me sonny you know where i can find some booty whoot there it is let me hear you say it whoot there it is yeah i like that whoot there it is a little louder whoot there it is yeah whoot there it is come on come on yeah whoot there it is i like that come on whoot there it is yeah whoot there it is baby baby on the floor with the girl in the blue yeah i got a pocket full of chance so what you gonna doturn around and let me peek and lets play a little game of hideandseek show me now how to get into this a twenty dollar bill thats nice and crisp what you gotta do work shake it down and watch me go berserk you know just what im talkin about pop that thing move it in and out like thatget on the stage and work that chap and yo fellas where the booty at whoot there it is one more gain where the booty at whoot there it isall my friends where the booty at whoot there it isall the fellas where the booty at whoot there it iseverybody where the booty at whoot there it is one more gain where the booty at whoot there it isall my friends where the booty at whoot there it isall the fellas where the booty at whoot there it iseverybody where the booty at whoot there it is like a hitter like a hitter like a hitter uh boy like a hitter like a hitter like a hitter like a hitter uh boy like a hitter like a hitter like a hitter like a hitter uh boy like a hitter excuse me sonny you know where i can find some booty whoot there it is find some booty whoot there it is find some booty whoot there it is find some booty whoot there it is oohe ooo e look at that booty oohe ooo e excuse me sonny oohe ooo e look at that booty oohe ooo e excuse me sonny oohe uh look at that booty oohe uh look at that booty oohe uh look at that booty come on come on oohe uh look at that booty yeah baby baby whoot whoot work that thing like a real dealer come on whoot whoot work that thing like a real dealer come on whoot whoot work that thing like a real dealer come on whoot whoot work that thing like a real dealer come on whoot there it is come on come on come on whoot there it is let me hear you say it whoot there it is yeah everybody whoot there it is yeah i like that whoot there it is i see you like that whoot there it is come on everybody whoot there it is i like that whoot there it is come on come on come on like a hitter like a hitter like a hitter uh boy like a hitter like a hitter like a hitter like a hitter uh boy like a hitter like a hitter like a hitter like a hitter uh boy like a hitter come on say you get on the floor work that thing till it works no more shake it just like a salt shaker you gotta work that big muthafaker if you wanna get paid you gotta sing that big old thing on the stage make em fellas go wild work that thing like its going out of style girl you look so cute with your long boots and your gstring suit got on the stage and work that chap and yo fellas where the booty at whoot there it is whoot there it is whoot there whoot there whoot whoot whoot whoot whoot there it is all the fellas where the booty at whoot there it islet me know where the booty at whoot there it isall the ladies where the booty at whoot there it islet me know where the booty at whoot there it isall the fellas where the booty at whoot there it islet me know where the booty at whoot there it isall the ladies where the booty at whoot there it islet me know where the booty at whoot there it is whoot there it iswhoot whoot whoot there it is whoot there it iswhoot whoot whoot there it is whoot there it iswhoot whoot whoot there it is whoot whoot there it iswhoot whoot whoot there it is whoot there it iswhoot whoot whoot there it is whoot there it iswhoot whoot whoot there it is whoot there it iswhoot whoot whoot there it is whoot there it iswhoot whoot whoot there it is oohe uh look at that booty oohe uh look at that booty oohe uh look at that booty come on come on oohe uh look at that booty yeah baby baby work that thing  work that chap whoot hey hey you damn kids get off my lawn",3
45,"hip hop hooray","naughty by nature",1993," hip hop hooray ho hey hovinnie you drew a picture of my morning but you couldnt make my day hey im rockin and youre yawning but you never look my way hey im licking down you darlin in every single way hey your funny flow is foreign and a green cards on the waytreach this aint got shit to do wit shampoo but watch your head n shoulders brother older bold enough to fold ya yo i told ya a raid afraid of what i made plus played a funky fit so save ya flips plus tricks for that music plus the monkey bitvinnie triggas from the grilltown illtown some ask how it feels how the deal is that were real so were still around dont lamp wit a freestyle phantom aint tryin to be handsome shrinkin what ya thinkin cause im vampini live and die for hip hop this is hip hop for today i give props to hip hop so hip hop hooray ho hey hotreach you heard a lot about a brother gaining mo ground being low down i do the showdown wit any little ho round no i want to know who youre believing through youre funny reasons even when im sleeping you think im cheatin you said i know youre mr opp man yo pp man wont only see me man you shouldve known that i was wit if a bit when i aint hit it and step not to consider the rep heck i did your partner cause shes hot as a baker cause im naughty by nature not cause i hate cha you put your heart in a part of a part that spreads apart even though i forgave ya when you had a sparkyou try to act like something really big is missing even though my names graffiti written on your kitten i love black women always and disrespect aint the way lets start a family today hip hop hooray ho heyhip hop hip hip hop hip hip hop hooray theres many hungry hip hoppers one reason hip hops hip top today swerve what cha heard cause i aint bailing no hey aint choppin no crops but still growin every dayvinnie heres a thunder sound from the wonders found from the underground town down the hill feel how illtown drown smiles to frowns snatchin crowns from clowns beat downs are found dont know me dont come aroundtippy tippy tippy tippy sometimes creepin up i eat em up your style is older than lou rawls peace to this one and that one and them that way i shout out and i didnt miss one friend fools get foolish neither them or parker lewis knew us you could have crews wit shoes and cant step to us some kitty purr i call em sir too any trick that diss gets a curfew i put my projects for boots step through troops and leave proof my problem solvers name is mook i hittin woodys in a hoody peace to jesette jobete jojo genae and every hood gee thats right my fight is ill peace goes to lons and quest nice  smooth  cypress hill i live and die for hip hop this is hip hop of today i give props to hip hop so hip hop hoorayhoheyhosmooth it out now ",1
46,"another sad love song","toni braxton",1993," baby since youve been gone ive been hangin around here lately with my mind messed up jumped in my car tried to clear my mind didnt help me i guess im all messed up now babyas soon as i jumped into my ride those memories start to play a song comes on on the radio and there you are baby once againits just another sad love song rackin my brain like crazy guess im all torn up be it fast or slow it doesnt let go or shake me and its all because of yousince youve been gone i keep thinkin about you baby gets me all choked up this heart of mine keeps dreamin of you and its crazy baby youd think id had enough yeahas soon as i get you out my head im in my car again ooh darlin just one request from the radio im back in love sugar once againits just another sad love song rackin my brain like crazy guess im all torn up be it fast or slow it doesnt let go or shake me and ooh its all because of youits just another sad love song rackin my brain like crazy guess im all torn up be it fast or slow it doesnt let go or shake me ooh babyhere comes the strings then somebody sings only takes a beat and then it starts killin me darlin only takes one note i tell you from that radio its just another lonely love songits just another sad love song rackin my brain like crazy guess im all torn up be it fast or slow it doesnt let go or shake me and ohhh yeaits a sad its a sad its a sad sad love song and its all because of you its a sad its a sad its a sad sad love song ",1
47,"will you be there","michael jackson",1993," hold me like the river jordan and i will then say to thee you are my friendcarry me like you are my brother love me like a mother will you be therewhen weary tell me will you hold me when wrong will you scold me when lost will you find mebut they told me a man should be faithful and walk when not able and fight till the end but im only humaneveryones taking control of me seems that the worlds got a role for me im so confused will you show to me youll be there for me and care enough to bear mehold me lay your head lowly softly then boldly carry me therehold me love me and feed me kiss me and free me i will feel blessedcarry carry me boldly lift me up slowly carry me theresave me heal me and bathe me softly you say to me i will be therelift me lift me up slowly carry me boldly show me you carehold me lay your head lowly softly then boldly carry me thereneed me love me and feed me kiss me and free me i will feel blessed ",1
48,"comforter","shai",1993," talk to me baby im listeninglay down and tell me whats on your mind what exactly did he do to make you cry this time well i will be your comforter i will make it right he cast a shadow on your heart and i will bring back your lightcome in i see hes hurt you again when you are in pain im in pain thats part of being a friend but this is a special case i held my feelings back because of him and now i can see it more than ever i made a big big big big mistakei dont mean to disregard your feelings but i think that hes a fool he dont know how sensitive you are and baby that just aint cool im just glad i can be there for you when you need a helping hand when deep inside my heart from the start i know i shouldve been your manlay down and tell me whats on your mind what exactly did he do to make you cry this time well i will be your comforter i will make it right he cast a shadow on your heart and i will bring back your lighti will comfort comfort comfort you i will comfort i will comfort you i will comfort comfort comfort you i will comfort i will comfort youi will comfort comfort comfort you i will comfort i will comfort you i will comfort comfort comfort you i will comfort i will comfort youlay down and tell me whats on your mind what exactly did he do to make you cry this time well i will be your comforter i will make it right he cast a shadow on your heart and i will bring back your light ",1
49,"good enough","bobby brown",1993," yeah feels like the old times i know a lot of you all out there can relate to the old time so this ones for you yeah listenif i take you back in the room spent you around my baby take off your clothes and all of mine too laid you down way downwe could be discreet nobody has to know we dont need no sheets we can just close the door my baby i can take you places you aint been before soon as we get there baby youll be coming back for morecuz if it aint good enough good enough baby ill work harder i keep pumpin every minute girl and baby ill do you up do you up baby and i will not stop til i know youre hotif i touch your body tonight will you touch mine will you touch me baby right here kiss both your lips and rub on those thighs taste your wine lemme taste you baby aahi can do it soft i can do it hard i can make you scream if you let down your guard my baby its not too far from here to ecstasy i know you want good lovin so lay your body next to meif it aint good enough good enough baby ill work harder pumpin every minute girl and baby ill do you up do you up baby and i will not stop til i know youre hotif it aint good enough good enough baby ill work harder pumpin every minute girl and baby ill do you up do you up baby and i will not stop til i know youre hotslow moving in your body it feels like im gonna be in here all night and when the love gets rolling its no telling when ill stop filled to the brim im gonna trim you down to the very last dropand if it aint good enough for you baby ha i do it all for you and i will not stop til i know youre hotif it aint good enough good enough baby ill work harder pumpin every minute girl and baby ill do you up do you up baby and i will not stop til i know youre hotif it aint good enough then ill work harder turn it up ill please you darling do it up do it up just for you and baby ill taste the wine and give you pleasure close the door ill do whatever til i know youre hotif it aint good enough good enough baby ill work harder pumpin every minute girl and baby ill do you up do you up baby and i will not stop til i know youre hotif it aint good enough good enough baby ill work harder pumpin every minute girl and baby ill do you up do you up baby and i will not stop til i know youre hotif it aint good enough good enough baby ",1
50,"whats up","4 non blondes",1993," twentyfive years and my life is still trying to get up that great big hill of hope for a destinationi realized quickly when i knew i should that the world was made up of this brotherhood of man for whatever that meansand so i cry sometimes when im lying in bed just to get it all out whats in my head and i i am feeling a little peculiarand so i wake in the morning and i step outside and i take a deep breath and i get real high and i scream from the top of my lungs whats going onand i say hey yeah yeah hey yeah yeah i said hey whats going onand i say hey yeah yeah hey yeah yeah i said hey whats going onoh oh oh oh oh ohand i try oh my god do i try i try all the time in this institutionand i pray oh my god do i pray i pray every single day for a revolutionand so i cry sometimes when im lying bed just to get it all out whats in my head and i i am feeling a little peculiarand so i wake in the morning and i step outside and i take a deep breath and i get real high and i scream from the top of my lungs whats going onand i say hey hey hey hey i said hey whats going onand i say hey hey hey hey i said hey whats going onand i say hey hey hey hey i said hey whats going onand i say hey hey hey hey i said hey whats going onoh oh oh ohtwentyfive years and my life is still trying to get up that great big hill of hope for a destination ",1
51,"all that she wants","ace of base",1993," she leads a lonely life she leads a lonely lifewhen she woke up late in the morning light and the day had just begun she opened up her eyes and thought oh what a morningits not a day for work its a day for catching tan just lying on the beach and having fun shes going to get youall that she wants is another baby shes gone tomorrow boy all that she wants is another baby yeaall that she wants is another baby shes gone tomorrow boy all that she wants is another baby yeaso if you are in sight and the day is right shes the hunter youre the fox the gentle voice that talks to you wont talk foreverit is a night for passion but the morning means goodbye beware of what is flashing in her eyes shes going to get youall that she wants is another baby shes gone tomorrow boy all that she wants is another baby yeaall that she wants is another baby shes gone tomorrow boy all that she wants is another baby yeaall that she wants is another baby shes gone tomorrow boy all that she wants is another baby yeaall that she wants is another baby shes gone tomorrow boy all that she wants is another baby yeaall that she wants all that she wants ",1
52,"7","prince and the new power generation",1993," all seven and well watch them fall they stand in the way of love and we will smoke them all with an intellect and a saviorfaire no one in the whole universe will ever comparei am yours now and you are mine and together well love through all space and time so dont cry one day all seven will dieall seven and well watch them fall they stand in the way of love and we will smoke them all with an intellect and a savoirfaire no one in the whole universe will ever comparei am yours now and you are mine and together well love through all space and time so dont cry one day all seven will dieand i saw an angel come down unto me in her hand she holds the very key words of compassion words of peace and in the distance an armys marching feet one two three four one two three four but behold we will watch them falland we lay down on the sand of the sea and before us animosity will stand and decree that we speak not of love only blasphemy and in the distance six others will curse me but thats alright thats alright for i will watch them fall one two three four five six sevenall seven and well watch them fall they stand in the way of love and we will smoke them all with an intellect and a savoirfaire no one in the whole universe will ever comparei am yours now and you are mine and together well love through all space and time so dont cry one day all seven will diejust how oldand we will see a plague and a river of blood and every evil soul will surely die in spite of and seven tears but do not fear four in the distance twelve souls from now you and me will still be here we will still be herethere will be a new city with streets of gold the young so educated they never grow old and a there will be no death four with every breath a voice of many colors sings a song thats so bold sing it while we watch them fallall seven and well watch them fall they stand in the way of love and we will smoke them all with an intellect and a savoirfaire no one in the whole universe will ever comparei am yours now and you are mine and together well love through all space and time so dont cry one day all seven will diejust how old ",1
53,"dre day","dr dre featuring snoop doggy dogg",1993,"yeah hell yeah ha know what im sayin yeah mista busta where the fuck ya at cant scrap a lick so i know ya got your gat your dick on hard from fuckin your road dogs the hood you threw up with niggaz you grew up with dont even respect your ass thats why its time for the doctor to check your ass nigga used to be my homey used to be my ace now i wanna slap the taste out yo mouth nigga bow down to the row fuckin me now im fuckin you little hoe oh dont think i forgot let you slide let me ride just another homicide yeah its me so ima talk on stompin on the eazyest streets that you can walk on so strap on your compton hat your locs and watch your back cause you might get smoked loc and pass the bud and stay lowkey bg cause you lost all your homeys love now call it what you want to you fucked with me now its a must that i fuck wit you yeah thats what the fuck im talkin about we have your motherfuckin record company surrounded put down the candy and let the little boy go you know what im sayin punk motherfucker we want eazy we want eazy bow wow wow yippy yo yippy yay doggy doggs in the motherfuckin house bow wow wow yippy yo yippy yay death rows in the motherfuckin house bow wow wow yippy yo yippy yay the sounds of a dog brings me to another day play with my bone with ya jimmy it seems like youre good for makin jokes about your jimmy but heres a jimmy joke about your mama that you might not like i heard she was the frisco dyke but fuck your mama im talkin about you and me toe to toe tim m u t your bark was loud but your bite wasnt vicious and them rhymes you were kickin were quite bootylicious you get with doggy dogg oh is he crazy with ya mama and your daddy hollin baybee so wont they let you know that if you fuck with dre nigga youre fuckin wit death row and i aint even slangin them thangs im hollin oneeightseven with my dick in yo mouth beeyatch yeah nigga compton and long beach together on this motherfucker so you wanna pop that shit get yo motherfuckin cranium cracked nigga step on up now we aint no motherfuckin joke so remember the name mighty mighty d r yeah motherfucker now understand this my nigga dre cant be touched lukes bendin over so lukes gettin fucked busta musta thought i was sleazy or though i was a mark cause i used to hang with eazy animosity made ya speak but ya spoke ay yo dre whattup check this nigga off loc if it aint another ho that i gots ta fuck with gap teeth in ya mouth so my dicks gots to fit with my nuts on ya tonsils while ya on stage rappin at your wackass concerts and ima snatch your ass from the backside to show you how death row pull off that whoride now you might not understand me cause ima rob you in compton and blast you in miami then we gon creep to south central on a street knowledge mission as i steps in the temple spot him got him as i pulls out my strap got my chrome to the side of his white sox hat you tryin to check my homey you better check yo self cause when you diss dre you diss yourself motherfucker yeah nigga yeah ninedeuce dr dre dropin chronic once again it dont stop punishing punk motherfuckers real quick like compton style nigga doggy dogg in the motherfuckin house yeah long beach in the motherfuckin house yeah yeah straight up really doe breakin all you suckaz off somethin real proper like you know what im sayin all these sucka ass niggaz can eat a fat dick yeah eazye eazye eazye can eat a big fat dick tim dog can eat a big fat dick luke can eat a fat dick yeah",3
54,"one last cry","brian mcknight",1993," my shattered dreams and broken heart are mending on the shelf i saw you holding hands standing close to someone else now i sit all alone wishing all my feeling was gonei gave my best to you nothing for me to do but have one last cryone last cry before i leave it all behind ive gotta put you outta my mind this time stop living a lie i guess im down to my last cry cryi was here you were there guess we never could agree while the sun shines on you i need some love to rain on me still i sit all alone wishing all my feeling was gonegotta get over you nothing for me to do but have one last cryone last cry before i leave it all behind ive gotta put you outta my mind this time stop living a lie i know ive gotta be strong cause round me life goes on and on and on and onim gonna dry my eyes right after i had my one last cryone last cry before i leave it all behind ive gotta put you outta my mind for the very last time been living a lie i guess im down i guess im down i guess im down to my last cry ",1
55,"just kickin it","xscape",1993," lay back kick it and enjoy the ride lay back kick it and enjoy the ride lay back kick it and enjoy the ride lay back kick it and enjoy the rideevery man wants a woman where him and her can just go hang just the two of them alone kick back doing their own thing and every man wants a woman that can always keep him in the mood and im that kind of girl so this is what i tell my dudei tell him to kick off your shoes and relax your feet party on down to the xscape beat just kick it lay back kick it and enjoy the ride just kick it just kick iti tell him to kick off your shoes and relax your feet party on down to the xscape beat just kick it lay back kick it and enjoy the ride just kick it just kick itevery man wants a woman that can cook him up a good meal a woman he can treat like his homie and take her out on the ave and just chill every man wants a woman that aint good for just laying on her back im that kind of woman so before me and my man get in the sacki tell him to kick off your shoes and relax your feet party on down to the xscape beat just kick it lay back kick it and enjoy the ride just kick it just kick itkick off your shoes and relax your feet party on down to the xscape beat just kick it lay back kick it and enjoy the ride just kick it just kick itkick off your shoes and relax your feet party on down to the xscape beat just kick it lay back kick it and enjoy the ride just kick it just kick itkick off your shoes and relax your feet party on down to the xscape beat just kick it lay back kick it and enjoy the ride just kick it just kick itlay back kick it and enjoy the ride lay back kick it and enjoy the ride lay back kick it and enjoy the ride lay back kick it and enjoy the ridekick off your shoes and relax your feet party on down to the xscape beat just kick it just kick it just kick itkick off your shoes and relax your feet party on down to the xscape beat just kick it lay back kick it and enjoy the ride just kick it just kick it ",1
56,"i get around","2pac",1993," aw yeah i get around still clown with the underground when we come around stronger than everback to get wreck all respect to those who break their neck to keep their hoes in check cause oh they sweat a brother majorly and i dont know why your girl keeps paging me she tell me that she needs me cries when she leaves me and every time she sees me she squeeze me lady take it easy hate to sound sleazy but tease me i dont want it if its that easy ay yo bust it baby got a problem saying bye bye just another hazard of a fly guy you ask why dont matter my pockets got fatter now everybodys looking for the latter and aint no need in being greedy if you wanna see me dial the beeper number baby when you need me and ill be there in a jiffy dont be picky just be happy with this quickie but when you learn you cant tie me down baby doll check it out i get aroundwhat you mean you dont know i get around the underground just dont stop for hoes i get around still down with the underground i get around yeah ay yo shock let them hoes knownow you can tell from my everyday fits i aint rich so cease and desist with them tricks tricks im just another black man caught up in the mix mix trying to make a dollar out of fifteen cents a dime and a nickel just cause im a freak dont mean that we could hit the sheets baby i can see that you dont recognize me im shock g the one who put the satin on your panties never knew a hooker that could share me i get aroundwhats up love how you doing all right well ive been hanging singing trying to do my thing oh you heard that i was banging your home girl you went to school with thats cool but did she tell you about her sister and your cousin thought i wasnt see weekends were made for michelob but its a monday my day so just let me hit it yo and dont mistake my statement for a clown we can keep in the down low long as you know that i get around2pacalypse now dont stop for hoes i get around why i aint call you ha ha pleasefinger tips on the hips as i dip gotta get a tight grip dont slip loose lips sink ships its a trip i love the way she licks her lips see me jocking put a little twist in her hips cause im watching conversations on the phone til the break of dawn now we all alone why the lights on turn em off time to set it off get you wet and soft somethings on your mind let it off you dont know me you just met me you wont let me well if i couldnt have it silly rabbit why you sweating me its a lot of real gs doing time cause a groupy bit the truth and told a lie you picked the wrong guy baby if youre too fly you need to hit the door search for a new guy cause i only got one night in town break out or be clown baby doll are you down i get aroundround and round round we go round and round round we go round and round round we go round and round round we goround and round round we go round and round round we go round and round round we go round and round round we go ",1
57,"bed of roses","bon jovi",1993," sitting here wasted and wounded at this old piano trying hard to capture the moment this morning i dont know cause a bottle of vodka is still lodged in my head and some blond gave me nightmares think that shes still in my bed as i dream about movies they wont make of me when im deadwith an ironclad fist i wake up and french kiss the morning while some marching band keeps its own beat in my head while were talking about all of the things that i long to believe about love the truth what you mean to me and the truth is baby youre all that i needi wanna lay you down in a bed of roses for tonight ill sleep on a bed of nails i wanna be just as close as the holy ghost is and lay you down on a bed of roseswell im so far away each step that i takes on my way home a kings ransom in dimes id give each night to see through this pay phone still i run out of time or its hard to get through till the bird on the wire flies me back to you ill just close my eyes whisper baby blind love is truei wanna lay you down in a bed of roses for tonight ill sleep on a bed of nails i wanna be just as close as the holy ghost is and lay you down on a bed of roseswell this hotel bars hangover whiskeys gone dry the barkeepers wigs crooked and shes giving me the eye well i might have said yeah but i laughed so hard i think i diedooh yeahnow as you close your eyes know ill be thinking about you while my mistress she calls me to stand in her spotlight again tonight i wont be alone but you know that dont mean im not lonely ive got nothing to prove for its you that id die to defendi wanna lay you down in a bed of roses for tonight ill sleep on a bed of nails i wanna be just as close as the holy ghost is and lay you downi wanna lay you down in a bed of roses for tonight ill sleep on a bed of nails i wanna be just as close as the holy ghost is and lay you down on a bed of roses ",1
58,"real love","mary j blige",1993," we are lovers through and through and though we made it through the storm i really want you to realize i really want to put you onive been searchin for someone to satisfy my every need wont you be my inspiration be the real love that i needreal love im searchin for a real love someone to set my heart free real love im searchin for a real loveooh when i met you i just knew that you would take my heart and run until you told me how you felt for me you said im not the oneso i slowly came to see all of the things that you were made of and now i hope my dreams and inspirations lead me to want some real lovereal love im searchin for a real love someone to set my heart free real love im searchin for a real love i got to have a real lovelove so true and oh baby i thought that your love was true i thought you were the answer to the questions in my mind but it seems that i was wrong if i stay strong maybe ill find my real loveso i try my best and pray to god hell send me someone real to caress me and to guide me towards a love my heart can feelnow i know i can be faithful i can be your all in all ill give you good lovin through the summer time winter spring and fallreal love im searchin for a real love someone to set my heart free real love im searchin for a real lovereal love im searchin for a real love someone to set my heart free real love im searchin for a real loveyou see im searching for a real love and i dont know where to go real love im searchin for a real love been around the world and high and low and still ill never know someone to set my heart free how it feels to have a real love cause it seems its not around real love im searchin for a real love gotta end it in this way because it seems he cant be foundreal love im searchin for a real love someone to set my heart free real love im searchin for a real lovereal love im searchin for a real love someone to set my heart free real love im searchin for a real love real love ",1
59,"here we go again","portrait",1993,"twelve equals three a line wrapped around a string girls in the classroom concentrate boy a line around gravity spiritual individual corrosion and humanity the mathematics of love and the science of sanity living it up in the atmosphere nobodys dies if the heart is here kiss me goodbye for the doctors are comin we all know why because i wasnt born here we go again as time passes by here we dont live and lie here were all going to die in the end standing on the corner holes in my shirt girls drivin by oh come here dont flirt cause shes never had a girlfriend and i dont want one either and i dont want the people knowing that i was smoking ether ive been thinking about science in my spare time ive been thinking about the reason to the rhyme heck yea livin it up in the atmosphere nobody dies if the heart is here kiss me goodbye for the doctors are comin we all know why because i wasnt born here we go again as time passes by here we dont live and lie here were all going to die in the end kiss me goodbye for the doctors are comin we all know why because i wasnt born here we go again as time passes by here we dont live and lie here were all going to die in the end rock science and people got talk talk science and people see stars sometimes and some people raise cadavers but not me i see the sun is made of string lights out from the underworld people talk about god are they insane i dont think so i say theyre maybe spreading some love spreading it around and it feels good in your skin",3
60,"cryin","aerosmith",1993," there was a time when i was brokenhearted love wasnt much of a friend of mine the tables have turned  yeah cause me and them ways have parted that kinda love was the killin kind all i want is someone i cant resist i know  all i  need to know by the way i got kissed i was cryin when i met you now im tryin to forget you your love is sweet misery i was cryin just to get you now im dryin cause i let you do what you do down on me now theres not even breathing room between pleasure and pain yeah you cry when were makin love must be one and the same its down on me yeah i got to tell you one thing its been on my mind girl i gotta say were partners in crime you got that certain something what you do to me takes my breath away now the word out on the street is the devils in your kiss if our love goes up in flames thats a fire i cant resist i was cryin when i met you now im tryin to forget you your love is sweet misery i was cryin just to get you now im dyin cause i let you do what you do to me cause what you got inside aint where your love should stay yeah our love sweet love aint love til you give your heart away i was cryin when i met you now im tryin to forget you your love is sweet misery i was cryin just to get you now im dyin just to let you do what you do what you do down on me baby baby baby i was cryin when i met you now im tryin to forget you your love is sweet misery i was cryin when i met you now im dyin cause i let you do what you do down to down to down to i was cryin when i met you now im tryin to forget you your love is sweet misery ",1
61,"cats in the cradle","ugly kid joe",1993," my child arrived just the other day came to the world in the usual way but there were planes to catch and bills to pay he learned to walk while i was awayhe was talkin fore i knew it and as he grew he said im gonna be like you dad you know im gonna be like youand the cats in the cradle and the silver spoon little boy blue and the man on the moon when you comin home son i dont know when well get together then you know well have a good time thenwell my son turned ten just the other day he said thanks for the ball dad come on lets play could you teach me to throw i said not today i got a lot to do he said thats okayand he walked away and he smiled and he said you know im gonna be like him yeah you know im gonna be like himand the cats in the cradle and the silver spoon little boy blue and the man on the moon when you comin home son i dont know when well get together then you know well have a good time thenwell he came from college just the other day so much like a man i just had to say im proud of you could you sit for a whilehe shook his head and he said with a smile what id really like dad is to borrow the car keys see you later can i have them pleaseand the cats in the cradle and the silver spoon little boy blue and the man on the moon when you comin home son i dont know when well get together then you know well have a good time thenive long since retired my sons moved away i called him up just the other day id like to see you if you dont mind he said id love to dad if i could find the timeyou see my new jobs a hassle and the kids have the flu but its sure nice talkin to you dad its been sure nice talkin to you and as i hung up the phone it occurred to me hed grown up just like me my boy was just like meand the cats in the cradle and the silver spoon little boy blue and the man on the moon when you comin home son i dont know when well get together then you know well have a good time thenand the cats in the cradle and the silver spoon little boy blue and the man on the moon when you comin home son i dont know when well get together then you know well have a good time then ",1
62,"what about your friends","tlc",1993," what about your friends what about what about your friends what about what aboutevery now and then i get a little crazy thats not the way its supposed to be sometimes my vision is a little hazy i cant tell who i should trust or just who i let trust me yeahpeople try to say i act a little funny but thats just a figure of speech to me they tell me i changed because i got money but if you were there before then youre still down with mewhat about your friends will they stand their ground will they let you down again what about your friends are they gonna be low down will they ever be around or will they turn their backs on youwell is it me or can it be im a little too friendly so to speak hypothetically say i supply creativity to what others must take as a form of selfhate only to make an enemy which results in unfortunate destiny they dog me out then be next to me just cause i am what some choose to envyevery now and then i get a little easy i let a lot of people depend on me i never thought they would ever deceive me dont you know when times got rough i was standing on my ownill never let another get that close to me you see ive grown a lot smarter now sometimes you have to choose and then youll see if your friend is true theyll be there with you through the thick and thinwhat about your friends will they stand their ground will they let you down again what about your friends are they gonna be low down will they ever be around or will they turn their backs on youyo this is me well is it me or can it be im a little too friendly so to speak hypothetically say i supply creativity to what others must take as a form of selfhate only to make an enemy which results in unfortunate destiny they dog me out then be next to me just cause i am what some choose to envywhat about your friends will they stand their ground will they let you down again what about your friends are they gonna be low down will they ever be around or will they turn their backs on youpeople say i act a little funny i wouldnt change not for no money ill be a friend as long as youre a friend to me yeah yeah even though i might seem easy it dont give you no cause to deceive me its not the way i want my friends to ever bewhat about your friends will they stand their ground will they let you down again what about your friends are they gonna be low down will they ever be around or will they turn their backs on youwhat about your friends will they stand their ground will they let you down again what about your friends are they gonna be low down will they ever be around or will they turn their backs on you ",1
63,"i got a man","positive k",1993," aiyyo sweetie youre lookin kinda pretty whats a girl like you doin in this rough city im just here tryin to hold my own ground yeah i think i like how that soundwhat you say we gets to know each other better that sounds good but i dont think that i can let ya i dont know tell me is it so do you get a kick out of tellin brothers nono its not that see you dont understand how should i put it i got a man whats your man got to do with me i told yaim not tryin to hear that see im not one of those girls that go rippin around im not a dog baby so dont play me like a clown ill admit i like how you kick itnow youre talkin baby dats da ticket now dont get excited and chuck your own in i already told ya i got a man whats your man got to do with mei got a man im not tryin to hear that see i got a man whats your man got to do with mei got a man im not tryin to hear that now you can persist to play don juan all day but aint nothin gonna changeyeah baby sure youre right ima break it down and do whatever i gots to do i tell you know i got eyes for you you got eyes but they not for meyou better use them for what they for and thats to see you know whats the problem ya not used to learnin im big daddy longstroke and your mans pee wee herman i got a question to ask you troopare you a chef cause you keep feedin me soup you know what they say about those who sweat thyself you might find yourself by yourself im not waitin because im no waiterso when i blow up dont try to kick it to me later all them girls must got you gassed awhen they see a good thing they dont let it pass well thats okay cause see if thats their plan cause for me i already got a man whats your man got to do with mei got a man im not tryin to hear that see i got a man whats your man got to do with mei got a man im not tryin to hear that what am i some crab inmate that just came home from jail sweatin you for a datei dont want no beef i just wants to get together but how you talkin pssh whatevah we cant have nothin it all dependswell if we cant be lovers than we cant be friends well then i guess its nothing well hey i think youre bluffing well ima call my manwell i can get raggamuffin ya better catch a flashback remember im not crabbin it you know my style from im not havin it all i remembers an excuse me missyou cant get a guy like me with a line like this well look ill treat you good my man treats me better i talk sweet on the phonemy man writes love letters ill tell you that i want you and tell you that i care my man says the same except hes sincere well im clean cut and dapper thats what im aboutmy man buys me things and he takes me out well you can keep your man cause i dont go that route dont you know yu haffa respect me theres a lot of girls out there who wont say noyoure out for mami with your dj money boom batter my pockets is gettin fatter i wanna turn you on and excite you let me know the spot on your body and i bite youso when your man dont treat you like he used to i kick in like a turbo booster you want lovin you dont have to ask when your mans a headache ill be your aspirinall confusion you know ill solve em i got a man you got a what how long you had that problem whats your man got to do with mei got a man im not tryin to hear that see i got a man whats your man got to do with mei got a man im not tryin to hear that i got a man aiyyo baby put the dial numbers or your addressi got a man i told ya i treat you right i got a man aww cmon now aint no future in frontinim not havin it cmon miss oh we back on that again uhh im not tryin to hear that seei got a man but your man aint me uhh uhh i got a man you got a what uhh uhh uhh i got a man you got a what ",1
64,"hey mr dj","zhane",1993," everybody move your body now do it here is somethin thats gonna make you move and groove hey dj keep playin that song all night on and on and oneverybody move your body now do it here is somethin thats gonna make you move and groove hey dj keep playin that song all night on and on and onits friday night and the weekends here i need to unwind with the party mr dj dji am ready to call my friends so we can boogie down with a party heey heeeey mr djhey mr dj you can get this started everybodys ready to party all night all night all the girls are ready so we can all get to it so we can party till the break of dawneverybody move your body now do it here is somethin thats gonna make you move and groove hey dj keep playin that song all night on and on and oneverybody move your body now do it here is somethin thats gonna make you move and groove hey dj keep playin that song all night on and on and onits friday night and the weekends here i need to unwind with the party mr dji am ready to call my friends so we can boogie down with the party heey heeeey mr djhey mr dj you can get this started everybodys ready to party all night all night all the girls are ready so we can all get to it so we can party till the break of dawnrap verseeverybody move your body now do it here is somethin thats gonna make you move and groove hey dj keep playin that song all night on and on and oneverybody move your body now do it here is somethin thats gonna make you move and groove hey dj keep playin that song all night on and on and oneverybody move your body now do it here is somethin thats gonna make you move and groove hey dj keep playin that song all night on and on and ondo it ",1
65,"insane in the brain","cypress hill",1993," who you tryin ta mess with ese dont you know im locoto da one on da flam boy its tough i just toss that ham in the fryin pan like spam its done when i come in slam damn i feel like the son of sam dont make me wrek ya hectic automatic got me goin like genral electric damn the lights are blinking im thinking its all over when i go out drinking oh makin my mind slow thats why i dont fuck wit da big fouroh bro i got ta maintain cause a nigga like me is goin insaneinsane in the membrane insane in the braininsane in the membrane insane in the braininsane in the membrane insane in the braininsane in the membrane insane in the braindo my shit undercover now its time for for the blubber blabber to watch dat belly get fatter fat boy on a diet dont try it ill check your ass like a looter in a riot much too fast like a sumo slammin dat ass leavin your face in the grass you know i dont take a chulo lightly bitch just jealous cause he cant outwrite me so kick that style wicked wild happy face nigga never seen me smile whip dat mainframe ill explain a nigga like me is goin insaneinsane in the membrane insane in the braininsane in the membrane insane in the braininsane in the membrane insane in the braininsane in the membrane insane in the brainlike louie armstrong play the trumpet ill hit dat bong and break ya off somethin soon i got ta get my props cops come and try ta snatch my crops these pigs want to blow my house down head underground to the next town they get mad when they come to raid my pad and im off in the night deuce cad yes im the pirate pilot of this ship if i get wit the ultraviolet dream hide from the red light beam now do you believe in the unseen look but dont make ya eyes strain a nigga like me is goin insaneinsane in the membrane insane in the braininsane in the membrane insane in the braininsane in the membrane insane in the braininsane in the membrane insane in the brain ",1
66,"deeper and deeper","madonna",1993," deeper and deeper and deeper and deeper sweeter and sweeter and sweeter and sweeteri cant help falling in love i fall deeper and deeper the further i go kisses sent from heaven above they get sweeter and sweeter the more that i knowwhen you know the notes to sing you can sing most anything thats what my mama told me round and round and round you go when you find love youll always know i let my father mold medaddy couldnt be all wrong not gonna let you slip away im gonna be there and my mama made me learn this song youre gonna bring your love to me im gonna get you thats whyi cant help falling in love i fall deeper and deeper the further i go kisses sent from heaven above they get sweeter and sweeter the more that i knowthe deeper i go all is fair in love she said think with your heart not with your head thats what my mama told me all the little things you do will end up coming back to you i let my father mold medaddy couldnt be all wrong not gonna let you slip away im gonna be there and my mama made me learn this song youre gonna bring your love to me im gonna get you thats whyi cant help falling in love i fall deeper and deeper the further i go kisses sent from heaven above they get sweeter and sweeter the more that i knowi cant help falling in love i fall deeper and deeper the further i go kisses sent from heaven above they get sweeter and sweeter the more that i knowsomeone said that romance was dead and i believed it instead of remembering what my mama told me let my father mold me then you tried to hold me you remind me what they said this feeling inside i cant explain but my love is alive and im never gonna hide it againdaddy couldnt be all wrong not gonna let you slip away im gonna be there and my mama made me learn this song youre gonna bring your love to me im gonna get you thats whyi cant help falling in love i fall deeper and deeper the further i go kisses sent from heaven above they get sweeter and sweeter the more that i knowdeeper and deeper and deeper and deeper never gonna hide it again sweeter and sweeter and sweeter and sweeter never gonna have to pretenddeeper and deeper and deeper and deeper never gonna hide it again sweeter and sweeter and sweeter and sweeter never gonna have to pretendyou got to just let your body move to the music you got to just let your body go with the flow falling in love falling in love falling in love i cant keep from falling in love with you you know theres nothing better that id like to do ",1
67,"rain","madonna",1993," i feel it its coming rainfeel it on my finger tips hear it on my window pane your loves coming down like rain wash away my sorrow take away my pain your loves coming down like rainwhen your lips are burning mine and you take the time to tell me how you feel when you listen to my words and i know youve heard i know its real rain is what this thunder brings for the first time i can hear my heart sing call me a fool but i know im not im gonna stand out here on the mountain top till i feel yourrain feel it on my finger tips hear it on my window pane your loves coming down like rain wash away my sorrow take away my pain your loves coming down like rainwhen you looked into my eyes and you said goodbye could you see my tears when i turned the other way did you hear me say id wait for all the dark clouds bursting in a perfect sky you promised me when you said goodbye that youd return when the storm was done and now ill wait for the light ill wait for the sun till i feel yourrain feel it on my finger tips hear it on my window pane your loves coming down like rain wash away my sorrow take away my pain your loves coming down likehere comes the sun here comes the sun and i say never go awaywaiting is the hardest thing i tell myself that if i believe in you in the dream of you with all my heart and all my soul that by sheer force of will i will raise you from the ground and without a sound youll appear and surrender to me to loverain is what the thunder brings for the first time i can hear my heart sing call me a fool but i know im not im gonna stand out here on the mountain top till i feel yourrain i feel it its coming your loves coming down like raini feel it its coming your loves coming down like rainfeel it on my finger tips hear it on my window pane your loves coming down like rain wash away my sorrow take away my pain your loves coming down like raini feel it its coming your loves coming down like raini feel it its coming your loves coming down like rainill stand out on the mountain top until i hear you call my namerain ",1
68,"the right kind of love","jeremy jordan",1993," its the right kind of love its the right kind of night youre the right kind of girl ooh oh yeah hey hey ooh its the right kind of love kind of lovedaydreamin about you baby and it must be love girl you make my heart go crazy high as the heavens above oh yeahi hope youre thinkin about me girl because all of my thoughts are with you my love theres no reason to doubt me believe me its true girl i know that i can give youthe right kind of love its the right kind of night youre the right kind of girl and were right on timeoh now baby you know we cant go wrong no why you trying to hold back baby tell me what you feel yeah if youre having mixed emotions ill show you that im for realwhat can i do to make you see theres nobody but you and girl its not magic or fantasy its simple and true i know that i can give youthe right kind of love its the right kind of night youre the right kind of girl im the right kind of guyits the right kind of love on the right kind of night theres the right kind of stars in the right kind of skyoh now baby you know we cant go wrong girl i got a heart thats true i got the right kind of love im gonna give it to you and you got me romantic cant you see im the guy for you and youre the girl for mei got a heart thats true and a soul thats deep ill be the right kind of lover baby cant you see im gonna treat you the right kind of way you know it so come on girl staykind of love kind of night youre the right kind of girl and were right on time its the right kind of love on the right kind of night theres the right kind of stars oohi could do with a girl like you i could do with a girl like you i could do with a girl like you see what i can do with a girl like you yeah its you and me together its the right kind of love right kind of stars ",1
69,"bad boys","inner circle",1993," bad boys whatcha want watcha want whatcha gonna do when sheriff john brown come for you tell me whatcha wanna do whatcha gonna dobad boys bad boys whatcha gonna do whatcha gonna do when they come for you bad boys bad boys whatcha gonna do whatcha gonna do when they come for youwhen you were eight and you had bad traits you go to school and learn the golden rule so why are you acting like a bloody fool if you get hot you must get coolbad boys bad boys whatcha gonna do whatcha gonna do when they come for you bad boys bad boys whatcha gonna do whatcha gonna do when they come for youyou chuck it on that one you chuck it on this one you chuck it on your mother and you chuck it on your fatheryou chuck it on your brother and you chuck it on your sister you chuck it on that one and you chuck it on mebad boys bad boys whatcha gonna do whatcha gonna do when they come for you bad boys bad boys whatcha gonna do whatcha gonna do when they come for youbad boys bad boys whatcha gonna do whatcha gonna do when they come for you bad boys bad boys whatcha gonna do whatcha gonna do when they come for younobody now give you no break police now give you no break not soldier man give you no break not even you idren now give you no breaksbad boys bad boys whatcha gonna do whatcha gonna do when they come for you bad boys bad boys whatcha gonna do whatcha gonna do when they come for youbad boys bad boys whatcha gonna do whatcha gonna do when they come for you bad boys bad boys whatcha gonna do whatcha gonna do when they come for youwhy did you have to act so mean dont you know youre human being born of a mother with the love of a father reflections come and reflections go i know sometimes you wanna let go i know sometimes you want to let gobad boys bad boys whatcha gonna do whatcha gonna do when they come for you bad boys bad boys whatcha gonna do whatcha gonna do when they come for youyoure too bad youre too rude youre too bad youre too rudebad boys bad boys whatcha gonna do whatcha gonna do when they come for you bad boys bad boys whatcha gonna do whatcha gonna do when they come for youyou chuck it on that one you chuck it on this one you chuck it on your mother and you chuck it on your fatheryou chuck it on your brother and you chuck it on your sister you chuck it on that one and you chuck it on mebad boys bad boys whatcha gonna do whatcha gonna do when they come for you ",1
70,"thats what love can do","boy krazy",1993,"thats what love can do i dont wanna break your heart in two and leave you crying thats what love can do oh no i want you to know im letting you go youre just a fool you say that im number one and youll always be true how can this be you say youve fallen in love you dont know what it means but look around and you will see broken promises and jealousy is that what you should want for us to be one time lover turned enemy but thats what love can do i dont wanna break your heart in two and leave you crying thats what love can do oh no i want you to know im letting you go all i can say is that is that im looking no further ahead than today too young for this game on the road to forever we dont know the way so just forget about eternity all the promises we just cant keep look down any street thats what youll see i dont want to bring you to your knees but thats what love can do i dont wanna break your heart in two and leave you crying thats what love can do oh no i want you to know im letting you go thats what love can do i dont wanna break your heart in two and leave you crying thats what love can do oh no i want you to know im letting you go",5
71,"do you believe in us","jon secada",1993," i tremble inside just thinking about the world around us scared cant help to wonder dont want any changes about the way we feel do you know what i mean ohhcatch me im falling say its gonna be alright its gonna be alright i know that we belong do you believe in us ill give you all i canyes our love will still be strong girl i believe in us girl i beleive in us ill give you all i can oh oh oh time has redefined the meaning of love the way we know itlove the way we show it i dont want any changes when it comes to you i like us the way it is no matter what happenssay its gonna be alright its gonna be alright i know i know that we belong do you believe in us just give me another chance yes our love still be strong girl i believe in us ill give you all i cani dont want any changes unless you want them too forever aint long enough baby nothing can change us say its gonna be alright its gonna be alrighti know i know that we belong do you believe in us yes i do just give me another chanceyes our love will still be strong girl i believe in us girl i beleive in us ill give you all i can ooh oh ohi know that we belong do you believe in us do you beleive just give me another chanceyes our love will still be strong girl i believe in us girl i beleive in us ill give you all i cani know that we belong do you believe in us do you believe in us just give me another chanceyes our love will still be strong girl i believe in us girl i beleive in us ill give you all i can ",1
72,"angel","jon secada",1993," i i cant read the future but i still want to hold you close right now i need that from you so give me the morning sharing another day with you is all i want to knowand baby i ive tried to forget you but the light of your eyes still shines you shine like an angel a spirit that wont let me gono i i didnt want to tell you things i didnt want to know myself i was afraid to show but you you gave me a reason a reason to face the truth oh yes you did to face the truth face the truth face the truthand baby i ive tried to forget you but the light of your eyes still shines shines you shines like an angel a spirit that wont let me go wont let me go let go of my heartand baby i ive tried to forget you but the light of your eyes still shines like an angel a spirit that wont let me goi know wont let me go ",1
73,"forever in love","kenny g",1993,"  ",1
74,"again","janet jackson",1993," i heard from a friend today and she said you were in town suddenly the memories came back to me in my mindhow can i be strong ive asked myself time and time ive said that ill never fall in love with you againa wounded heart you gave my soul you took away good intentions you had many i know you didi come from a place that hurts and god knows how ive cried and i never want to return never fall againmaking love to you felt so good and oh so righthow can i be strong ive asked myself time and time ive said that ill never fall in love with you againso here we are alone again didnt think id come to this and to know it all began with just a little kissive come too close to happiness to have it swept away dont think i can take the pain never fall againkinda late in the game and my heart is in your hands dont you stand there and then tell me you love me then leave again cause im falling in love with you againhold me hold me dont ever let me go say it just one time say you love me god knows i do love you again ",1
75,"boom shake the room","dj jazzy jeff  the fresh prince",1993,"yo back up now an give a brother room the fuse is lit an im about to go boom mercy mercy mercy me my life is a cage but on stage im free hyped up psyched up ready for wilin standin in a crowd of girls like an island i see the one i wanna sit come here cutie i flip em around an then i work that booty work the body work work the body slow down girl youre bout to hurt somebody oh an yo lets get just one thing clear theres only one reason why i came here ya really dont want me to tig a tig a tig a tell ya wassup go ya really dont want me to tig a tig a tig a tell ya wassup go ya really dont want me to tig a tig a tig a tell ya wassup go i came here tonight to hear the crowd go boom shake shake shake the room boom shake shake shake the room boom shake shake shake the room tic tic tic tic boom well yo are yall ready for me yet pump it up prince well yo are yall ready for me yet pump it up prince well yo are yall ready for me yet pump it up prince well here i go here i go here i here i go yo dance in the aisles when the prince steps to it the rhyme is a football yall an i went an threw it out in the crowd an yo it was a good throw how do i know because the crowd went ̢hoo̢ in response to the way that i was kickin it smooth an individual rhymes always original like the dr jekyll man an this is my hyde side i am the driver an youre on a rap ride so fellas yeah are yall wit me yeah i said fellas yeah are yall wit me yeah why dont you tell the girls what yall wanna do ya wanna ooh ahh ahh ahh ahh ooh thats right yo an im in the flow so pump up the volume along with the tempo i want everybody in the house to know i came here tonight to hear the crowd go boom shake shake shake the room boom shake shake shake the room boom shake shake shake the room tic tic tic tic boom boom shake shake shake the room boom shake shake shake the room boom shake shake shake the room tic tic tic tic boom pump it up pump it up come on now pump it up pump it up come on now pump it up pump it up come on now pump it up pump it up come on now pump it up pump it up come on now pump it up pump it up come on now pump it up pump it up come on now pump it up pump it up come on now boom shake shake shake the room boom shake shake shake the room boom shake shake shake the room tic tic tic tic boom the the fffresh ppprince is who i am so tell my mother that i never make a whack jam but some times i get nnnervous an start to stutter an i fffumble every word for word i utter so i just try to chchchill but it gets worse a but worse a but but but worse still i need the cccrowd to kkkick into it they help me calm down an i can get through it so higher higher get ya hands to the ceilin let it go yall dont fight the feelin mic in a strangle hold sweat pourin an like jordan yo im scorin yeah thats right yall an i am in the flow so pump up the volume along with the tempo many have died tryin to stop my show i came here tonight to here the crowd go boom shake shake shake the room boom shake shake shake the room boom shake shake shake the room tic tic tic tic boom boom shake shake shake the room boom shake shake shake the room boom shake shake shake the room tic tic tic tic boom boom shake shake shake the room boom shake shake shake the room boom shake shake shake the room tic tic tic tic boom boom shake shake shake the room",3
76,"when she cries","restless heart",1993," the road i have traveled on is paved with good intentions its littered with broken dreams that never quite came truewhen all of my hopes were dying her love kept me trying she does her best to hide the pain that shes been throughwhen she cries at night and she doesnt think that i can hear her she tries to hide all the fear she feels insideso i pray this time i can be the man that she deserves cos i die a little each time when she criesshes always been there for me whenever ive fallen when nobody else believes shell be there by my sidei dont know how she takes it just once id like to make it then therell be tears of joy that fill her lovin eyeswhen she cries at night and she doesnt think that i can hear her she tries to hide all the fear she feels insideso i pray this time i can be the man that she deserves cos i die a little each time when she criesso i pray this time i can be the man that she deserves cos i die a little each time when she cries ",1
77,"sweat a la la la la long","inner circle",1993,"ive been watching you a la la la la long a la la la la long long li long long long cmon a la la la la long a la la la la long long li long long long hey standing across the room i saw you smile i said i want to talk to yooou for a little while but before i make my move my emotions start running wild my tongue gets tied and thats no lie im looking in your eyes im looking in you big brown eyes ooh yeah and ive got this to say to you hey girl i want to make you sweat sweat till you cant sweat no more and if you cry out im gonna push it some more girl i want to make you sweat sweat till you cant sweat no more and if you cry out im gonna push it push it push it some more a la la la la long a la la la la long long li long long long cmon a la la la la long a la la la la long long li long long long ooh so i said to myself if she loves me or not but the dreads done know that love is his to get with a little bit of this and a little bit of that the lyrics goes on the attack my tongue gets tied and thats no lie im looking in your eyes im looking in your big brown eyes ooh girl and ive got this to say to you hey girl i want to make you sweat sweat till you cant sweat no more and if you cry out im gonna push it some more girl i want to make you sweat sweat till you cant sweat no more and if you cry out im gonna push it push it push it some more a la la la la long a la la la la long long li long long long ooh yeah a la la la la long a la la la la long long li long long long one more time a la la la la long a la la la la long long li long long long sing it a la la la la long a la la la la long long li long long long hey woo woo woo woo wee yeah eyes im lookin in your big brown eyes ooh yeah and ive got this to say to you hey girl i want to make you sweat sweat till you cant sweat no more and if you cry out im gonna push it some more girl i want to make you sweat sweat till you cant sweat no more and if you cry out im gonna push it push it push it some more a la la la la long a la la la la long long li long long long yeah a la la la la long a la la la la long long li long long long push it push it some more a la la la la long a la la la la long long li long long long alright a la la la la long a la la la la long long li long long long push it push it some more",3
78,"it was a good day","ice cube",1993," break me shit yojust waking up in the morning gotta thank god i dont know but today seems kinda odd no barking from the dogs no smog and momma cooked a breakfast with no hog i got my grub on but didnt pig out finally got a call from a girl want to dig out hooked it up on later as i hit the do thinking will i live another twenty fo i gotta go cause i got me a drop top and if i hit the switch i can make the ass drop had to stop at a red light looking in my mirror not a jacker in sight and everything is alright i got a beep from kim and she can fuck all night called up the homies and im askin yall which park are yall playin basketball get me on the court and im trouble last week fucked around and got a triple double freaking brothers every way like mj i cant believe today was a good daydrove to the pad and hit the showers didnt even get no static from the cowards cause just yesterday them fools tried to blast me saw the police and they rolled right past me no flexin didnt even look in a niggas direction as i ran the intersection went to hort dogs house they was watchin yo mtv raps whats the haps on the craps shake em up shake em up shake em up shake em roll em in a circle of niggaz and watch me break em with the seven seveneleven seveneleven seven even back do little joe i picked up the cash flow then we played bones and im yellin domino plus nobody i know got killed in south central la today was a good dayleft my niggas house paid picked up a girl been tryin to fuck since the twelfth grade its ironic i had the brew she had the chronic the lakers beat the supersonics i felt on the big fat fanny pulled out the jammy and killed the punanny and my dick runs deep so deep so deep put her ass to sleep woke her up around one she didnt hesitate to call ice cube the top gun drove her to the pad and im coasting took another sip of the potion hit the threewheel motion i was glad everything had worked out dropped her ass off then i chirped out today was like one of those fly dreams didnt even see a berry flashing those high beams no helicopter looking for a murder two in the morning got the fat burger even saw the lights of the goodyear blimp and it read ice cubes a pimp yeah drunk as hell but no throwing up half way home and my pager still blowing up today i didnt even have to use my ak i got to say it was a good day ",1
79,"more and more","captain hollywood project",1993," more and more and more i dont know where were going to more and more and more theres so much we dont wanna do cause without we cheat and we learn from each and every heart affair its without we cheat and we hurt till somebodys in despairboom keep in tune hollywood will soon left the point right to the point smokin like its a joint makin aint got time to be fakin its my turn and im takin everything without shakin yo here with the baconmore and more and more i dont know where were going to more and more and more theres so much we dont wanna do cause without we cheat and we learn from each and every heart affair its without we cheat and we hurt till somebodys in despairmore and more and more more and more and moremore and more bam dont give a damn pump the music and jam theres no time for the problem not a thought to some but just make sure you get it show the fellas you with it being prompt you get it never will you forget itmore and more and more i dont know where were going to more and more and more theres so much we dont wanna do cause without we cheat and we learn from each and every heart affair its without we cheat and we hurt till somebodys in despairmore and more and more more and more and more ",1
80,"how do you talk to an angel","the heights",1993,"i hear a voice in my mind i know her face by heart heaven and earth are moving in my soul i dont know where to start tell me tell me the words to define the way i feel about someone so fine how do you talk to an angel how do you hold her close to where you are how do you talk to an angel its like trying to catch a falling star at night i dream that she is there and i can feel her in the air tell me tell me the words to define the way i feel about someone so fine how do you talk to an angel how do you hold her close to where you are how do you talk to an angel its like trying to catch a falling star how do you talk to an angel how do you hold her close to where you are how do you talk to an angel its like trying to catch a falling star how do you talk to an angel how do you hold her close to where you are how do you talk to an angel its like trying to catch a falling star yeah yeah",3
81,"rebirth of slick cool like dat","digable planets",1993," we like the breeze flow straight out of our lids them they got moved by these hardrock brooklyn kids us flow a rush when the djs boomin classics you dig the crew on the fattest hip hop records he touch the kinks and sinks into the sounds she frequents the fatter joints called undergrounds our funk zooms like you hit the mary jane they flock to booms man boogie had to change who freaks the clips with mad amount percussion where kinky hair goes to unthoughtof dimensions whys it so fly cause hip hop kept some drama when butterfly rocked his light bluesuede pumas what by the cut we push it off the corner how was the buzz entire hip hop era was fresh and fat since they started sayin outie cause funks made fat from right beneath my hoodie the puba of the styles like miles and shit like sixties funky worms with waves and perms just sendin chunky rhythms right down ya block we be to rap what key be to lockbut im cool like dat x7 im coolim coolladybugwe be the chocolates taps on my raps she innovates at the sweeta cat naps he at the funk club with the vibrate them they be crazy down with the five plate it can kick a plan then a crowd burst me i be diggin it with s bump verse us we be freakin til dawn blinks an eye he gives the strangest smile so i say hi wassup who understood yeah understood the plan him heard a beat and put it to his hands what i just flip let borders get loose how to consume or theyll be just like juice if its the shit well lift it off the plastic the babesll go spastic hip hop gains a classic pimp playin shock it dont matter im fatter ax butta how i zone man cleopatra jonesand im chill like dat x7 im chillim chillallblinkblinkblinkblinkblinkblinkblink thinkthinkthinkthinkthinkthinkthinkdoodlebugwe get ya free cause the clips be fat boss them theyre the jams and commence to goin off she sweats the beat and ask me cause she puffed it me i got crew kids seven and a crescent us cause a buzz when the nickel bags are dealt him thats my man with the asteroid belt they catch a fizz from the mr doodlebig he rocks a tee from the crooklyn nonpigs the rebirth of slick like my gangsta stroll the lyrics just like loot come in stacks and rolls you used to find a bug in a box with fade now he boogies up your stage plaits twist or braidsand im peace like dat x7 im peacebutterflycheck it out man i groove like dat im smmoce like dat i jive like dat i roll like datladybugyeah im thick like dat i stack like dat im down like dat im black like datdoodlebugwell yo i funk like dat im fat like dat im in like dat cause i swing like datbutterflywe jazz like dat we freak like dat we zoom like dat we outwe out ",1
82,"what is love","haddaway",1993," what is love baby dont hurt me dont hurt me no morebaby dont hurt me dont hurt me no more what is love yeahi dont know why youre not fair i give you my love but you dont care so what is right and what is wrong gimme a signwhat is love baby dont hurt me dont hurt me no morewhat is love baby dont hurt me dont hurt me no morewoahwoahwoah oh oh woahwoahwoah oh ohoh i dont know what can i do what else can i say its up to you i know were one just me and you i cant go onwhat is love baby dont hurt me dont hurt me no morewhat is love baby dont hurt me dont hurt me no morewoahwoahwoah oh oh woahwoahwoah oh ohwhat is love what is love what is love baby dont hurt me dont hurt me no more dont hurt me dont hurt mei want no other no other lover this is our life our time we are together i need you forever is it lovewhat is love baby dont hurt me dont hurt me no morewhat is love baby dont hurt me dont hurt me no moreyeah yeah woahwoahwoah oh oh woahwoahwoah oh ohwhat is love baby dont hurt me dont hurt me no morewhat is love baby dont hurt me dont hurt me no morebaby dont hurt me dont hurt me no morebaby dont hurt me dont hurt me no more what is love ",1
83,"to love somebody","michael bolton",1993," theres a light a certain kind of light never shone on me i want my life to be to live with you to live with youtheres a way everybody says to do each and every little thing but what does it bring if i aint got you i aint got youbaby you dont know what its like baby you dont know what its like to love somebody to love somebody the way i love youin my mind i see your face again i know my frame of mind you aint got to be so blind im blind so very blindim a man cant you see what i am i live and breathe for you but what good does it do if i aint got you if i aint got youbaby you dont know what its like baby you dont know what its like to love somebody to love somebody the way i love youoh yeah you dont know what its like baby you dont know what its like to love somebody to love somebody to love somebody you dont knowto love somebody the way i love you you dont know you dont knowto love somebody to love somebody you dont know ooh to love somebody to love somebody the way i love you ",1
84,"give it up turn it loose","en vogue",1993," i believe in yesterday i believe in yesterdaywhats the problem you keep comin in and keep comin out and singin flat im sorry im sorry whats wrong whats wrong youre not concentrating yes i am concentrating no youre not im sorry lets just do it again no no no no no whats the problem theres no problemdawn whats wrong theres nothing wrong terry kevin please dont tell me its kevin ewe kevin swahili i knew it hes got cooties and hes seeing tamika right now and everybody else he is not seeing raneka he is how you knowwait a minute guys wait wait wait you guys we should not attack her it sounds like its serious because we cant concentrate and get this right so lets deal with he problem you see ive been through this myself and lets talk and it goes a little something like this hit itbaby girl unfair but true can love him once but not twice who plays games with no rules a fool tears for fears are no surprise happens almost every time love knocks you on your behind loved you hard loved you long now his love is gone love em and leave em is the rule of most dogsyou must be strong stand up on your own take control of your life ive seen it time and time again its not worth it no dont be down and miserable you and only you can bring yourself aroundgive it up give it up turn it loose oh if it dont wantcha you dont need em girl yeah give it up turn it loose oh you got to havefact of life so sad but true love can often hurt you leaving scars most of your life nightmares can haunt you but fairy tales of love can come true both play tricks on your mind youll be fine take this time to find piece in mind sooner or later bad feelings will dieyou must be strong dont blame it all on love in time good things will come ive seen it time and time again its not worth it no no dont be down and miserable you and only you can bring yourself aroundgive it up give it up turn it loose oh if it dont wantcha you dont need em girl yeah give it up turn it loose oh yeah yeahgive it up give it up come ongive up give it up give up give it up give it up turn it loose turnin it loose babygive up give it up give up give it up give it up turn it loose turnin it loose babygive up give up give it up turn it loose and turn it loosegive up give up give it up turn it loose give up give up give it up ",1
85,"alright","kris kross",1993," just kick a little somethin for them cars that be bumpin somethin real smooth you can just ride to tell me how you feel here we gothe day seems nice and bright and everything feels alright went to school without a fool tryin to pick a fight i was loced out kris kross shirts and khakis lookin and feelin like nothin but a mac see the bell rang and i got my dash fellin good cause it was the last day of school and i passed no moms trippin so me and my mom went dippin to celebrate the fact that i wasnt slippin the downtown scene was packed people screamin from they ride to my ride and to the mac i says what i am is what i am is who i be and yall should have seen how they was tryin to get to me cool cause dissin and no pay theyre the reason why we are who we are to this very day and all that love keeps me and chris tight long as we give some love back everythings alrightnow everything feels alright when im rollin through my hood and i see the one that used to do the dirt then turned good little kids try to be like me with the braids the shades some pants and some nikes g and yet more letters and the letters sayin im your number one fan could you write me back man yesssss i try to pass em my autograph i try to do as many as i can now it feels good when im rollin through my hood aint nobody dissin and a nigga thinks hes too good cause im down like four flat tires just a little nappy headed kid from the proj showin i can do right and not do wrong rappers and the beejees comin up strong and we aint got no love for the side we only love those who love us back rightnow people seem to think what i do is a blast cause im always on the road and im makin some cash but they dont know really know the pressure it is for some kids tryin to make it in this here biz early mornin interviews then we step to school step from school back to interviews then its on to other dues so warm it up chris i said ya warm it up chris thats what i was born to do now throw your hands in the air and wave from sidetoside if the feelin thatcha feelin is the feelin of pride see i aint come out wack i come out right unlike those mose who tried to pass the mike its the daddy mac big thing everything is real but you wanna dis cause a nigga sold a couple mill look here ya cant say nothin if ya last in a line so when you dis it just lets me know im on your mind and its alright ",1
86,"check yo self","ice cube featuring das efx",1993," you better check yo self before you wreck yo self cause im bad for your health i come real stealth dropping bombs on your moms fuck car alarms doing foul crime im that nigga witcha alpine sold it for a sixo always let tricks know and friends know we got the indo no im not a sucker sitting in a house of pain and no im not the butler ill cut you headbutt you you say you cant touch this and i wouldnt touch ya punk mothafucka here to let you know boy oh boy i make dough but dont call me dough boy this aint no fucking motion picture a guy or bitcha ill get witcha and hit you taking that yack to the neck so you better run a checkso come on and chickitycheck yo self before you wreck yo self chickitycheck yo self before you wreck yo self yeah come on and check yo self before you wreck yo self cause shotgun bullets are bad for your healthtricks wanna step to cube and then they get played cause they bitchmade pulling out a switchblade thats kinda trifle cause thats a knifeo ak47 assault rifle hold the fifty im nifty pow i gotta new style watch out now i hate motherfuckers claiming that they folding bank but steady talking shit in the holding tank first you wanna step to me now your ass screaming for the deputy they send you to charliebakerdenver row now they running up in you slow youre gone used to be the don juan check that shit out now your name is just twan switch it snap it rolling your eyes and neck you better run a checkso chickitycheck yo self before you wreck yo self come on and check yo self before you wrickitywreck yo self so chickitycheck yo self before you wreck yo self cause big dicks up yo ass is bad for yo healthif youre foul you better run a make on that license plate you coulda had a v8 instead of a treeight slug to the cranium i got six and im aiming em will i shoot or keep you guessing cause fuck you and that shit you stressing bitch get off the wood youre no good there goes the neighbourhood hooker go ahead and keep your drawers giving up the claps and who needs applause at a time like this pop the coochie and you dead the bitch is a miami hurricane head sprung niggas call her lips and lungs nappy dugout get the fuck out cause women like you gets no respect bitch you better run a checkso chickitycheck yo self before you wreck yo self so chickitycheck yo self before you wreck yo self come on and check yo self before you wrickitywreck yo selfcause bitches like you is bad for my health ",1
87,"fields of gold","sting",1993," youll remember me when the west wind moves upon the fields of barley youll forget the sun in his jealous sky as we walk in fields of gold so she took her love for to gaze awhile upon the fields of barley in his arms she fell as her hair came down among the fields of gold    memory  byamandah   editor    ellie goulding covered this sting staple in front of the queen at westminster abbey in london on march 14th 2016 to celebrate commonwealth day in the uk    see all   will you stay with me will you be my love among the fields of barley well forget the sun in his jealous sky as we lie in fields of gold see the west wind move like a lover so upon the fields of barley feel her body rise when you kiss her mouth among the fields of goldi never made promises lightly and there have been some that ive broken but i swear in the days still left well walk in fields of gold well walk in fields of goldmany years have passed since those summer days among the fields of barley see the children run as the sun goes down among the fields of gold youll remember me when the west wind moves upon the fields of barley you can tell the sun in his jealous sky when we walked in fields of gold when we walked in fields of gold when we walked in fields of gold ",1
88,"ooh child","dino",1993,"dont you worry bout a thing oh no no ooh child things are gonna get easier ooh child thingsll get brighter ooh child things are gonna get easier ooh child thingsll get brighter some day yeah well put it together and well get it undone some day when your head is much lighter some day yeah well walk in the rays of a beautiful sun some day when the world is much brighter ooh child things are gonna be easier ooh child thingsll be brighter ooh child things are gonna be easier ooh child thingsll be brighter some day yeah well put it together and well get it undone some day when your head is much lighter some day yeah well walk in the rays of a beautiful sun some day when the world is much brighter la la la la la some day some day well put it together and well get it undone some day when your head is much lighter some day some day well walk in the rays of a beautiful sun some day when the world is much brighter oh oh dont you worry about a thing cause life goes up and down you gotta keep moving on ooh child things are gonna get easier ooh child thingsll get brighter ooh child things are gonna get easier ooh child thingsll get brighter oh right now oh yeah right now right now oh baby you just wait and see things are gonna be you just wait and see things are gonna be all right yeah all right yeah yeah baby open your soul now baby dont you let go now no no no baby youve got to give it just a little more time",3
89,"faithful","go west",1993," oh yeahdont cry baby kiss me and say farewell nothings gonna break the spell and if youre thinking time will tell that girl i want you to knowevery minute of every single day even when im miles away ill keep the promises i made i want you to knowi will be faithful to my lovers prayer faithful and i dont care if the world around us gives up on love i will make you see you can count on me i will be faithful faithful to my lovers prayer to my lovers prayerlisten baby you can lean on me though we sail on stormy seas nothing good comes easily but i wont let you downi will be faithful to my lovers prayer faithful and i dont care if the world around us gives up on love i will make you see you can count on me i will be faithful faithful to my lovers prayerbaby you can lean on me you can lean on me baby you can lean on me you can lean on mebaby you can lean on me you can lean on me baby you can lean on me you can lean on metrust me baby this is not goodbye theres no need for you to cry what weve gots too strong to be denied yeahi will be faithful to my lovers prayer faithful and i dont care if the world around us gives up on love i will make you see you can count on mei will be faithful to my lovers prayer i will be faithful to the dream we share if the world around us gives up on love i will make you see you can count on me i will be faithful faithful to my lovers prayer faithful to the dream we share ill be faithfulfaithful faithful faithful faithful faithful faithful faithful faithful faithful  ",1
90,"reason to believe","rod stewart",1993," if i listened long enough to you id find a way to believe that its all true knowing that you lied straightfaced while i cried still i look to find a reason to believesomeone like you makes it hard to live without somebody else someone like you makes it easy to give never think about myselfif i gave you time to change my mind id find a way just to leave the past behind knowing that you lied straightfaced while i cried still i look to find a reason to believeif i listened long enough to you id find a way to believe that its all true knowing that you lied straightfaced while i cried still i look to find a reason to believesomeone like you makes it hard to live without somebody else someone like you makes it easy to give never think about myselfsomeone like you makes it hard to live without somebody else someone like you makes it easy to give never think about myselfsomeone like you makes it hard to live without somebody else someone like you makes it easy to give never think about myselfsomeone like you makes it hard to live without somebody else ",1
91,"break it down again","tears for fears",1993," break it down againso those are my dreams and these are my eyes stand tall like a man head strong like a horsewhen its all mixed up better break it down in the world of secrets in the world of soundits in the way youre always hiding from the light see for yourself you have been sitting on a time bomb no revolution maybe someone somewhere else could show you something new about you and your inner songand all the love and all in love in the world wont stop the rain from falling waste seeping underground break it down again i want to break it down break it down again break it down againso these are my schemes and these are my plans hot tips for the boys fresh news from the forcewhen its all mixed up better break it down in the world of silence in the world of soundno sleep for dreaming say the architects of life big bouncing babies bread and butter can i have a slice they make no mention of the beauty of decay blue yellow pink umbrella save it for a rainy dayand all the love and all in love in the world wont stop the rain from falling waste seeping underground break it down again i want to break it down break it down againhorsin around pray to the power play to the crowd with your big hit sound and they wont simmer wont simmer wont simmer down play to the crowd play to the crowd playits in the way youre always hiding from the light fast off to heaven just like moses on a motorbike no revolution maybe someone somewhere else could show you something new to help you with the ups and downsbreak it down again i want to break it down break it down again break it down again break it down again break it down againbreak it down again no more sleepy dreaming no more building up it is time to dissolve break it down it again no more sleepy dreaming ",1
92,"nothin my love cant fix","joey lawrence",1993,"why is my baby blue cant see the colors of a sunny day stuck in that point of view what can i do to take your tears away im not denying theres a time for crying just tell me why you look so sad tonight i know its crazy living in a world these days but if you take me by the hand oh oh oh theres nothing my love cant fix for you baby im positive of this i tell you oh oh oh theres nothing my love cant fix for you baby aw girl please look in my caring eyes ill take you up so high youll start forgetting you were ever down kisses will dry your eyes this is the way to turn your world around we all get lonely but if you just hold me we both can go beyong the stars tonight oh once you have it love works like magic just open open up your heart oh oh oh theres nothing my love cant fix for you baby im positive of this ill tell you theres nothing my love cant fix for you baby love is the glue that binds us when we get lost it finds us youll lose your blues soon cuz baby my love is true break it 1 2 3 oh once you have it love works like magic just open up your heart oh oh oh theres nothin my love cant fix for you baby im positive of this ill tell you oh oh oh theres nothing my love cant fix for you baby oh oh oh theres nothin my love cant fix for you baby im positive of this ill tell you oh oh oh theres nothing my love cant fix for you baby aw you know its true all i gotta say is baby baby i love you in every way cuz lady ya gotta get away with me ya gotta get away with me today cuz our love has got to shine through and baby you got to see it too that we were meant girl me and you but lately you been acting like i smell like a zoo philly zoo to be exact and hey phillys my origin as a matter of fact but lets get back to the subject at hand baby baby baby oh you is back in demand when i look at you girl my heart goes right into a whirl and all i gotta say about the situation oh oh oh yeah theres nothin my love cant fix",5
93,"three little pigs","green jell""y",1993," why dont you sit right back and i i may tell you a tale a tale of three little pigs and a big bad wolfwell the first little piggy well he was kinda hip he spent most of his days just a dreaming of the city and then one day he bought a guitar he moved to hollywood to become a star but living on the farm he knew nothing of the city built his house out of straw what a pity and then one day jamming on some chords along came the wolf knocking on his doorlittle pig little pig let me in not by the hair of my chinny chin chin little pig little pig let me in not by the hair of my chinny chin chin well im huffing im puffing ill blow your house in huffing puffin blow your house in huffing puffin blow your house in huffing and a puffin and ill blow your house inwell the second little piggy well he was kinda stoked he spent most of his time just a ganga smoking huffing and a puffin down on venice beach getting paid money for religious speech he built his shelter from what he garbage picked mostly made up of old cans and sticks then one day he was cranking out bob marley and along came the wolf on his big bad harleylittle pig little pig let me in not by the hair of my chinny chin chin little pig little pig let me in not by the hair of my chinny chin chin well im huffing im puffing ill blow your house in huffing puffin blow your house in huffing puffin blow your house in huffing and a puffin and ill blow your house inwell the third little piggy the grade a student his daddy was a rock star named pig nugent earned his masters degree from harvard college built his house from his architect knowledge a trilevel mansion hollywood hills daddys rock stardom paid for the bills and then one day came the old house smasher the big bad wolf the little piggy slasherlittle pig little pig let me in not by the hair of my chinny chin chin little pig little pig let me in not by the hair of my chinny chin chin well im huffing im puffing ill blow your house in huffing puffin blow your house in huffing puffin blow your house in huffing and a puffin and ill blow your house inwell the big bad wolf well he huffed and he puffed all that he could and low and behold the little piggys house stood its made out of concrete the little piggy shouted the wolf just frowned as he pouted so they called nineeleven like any piggy would the sent out rambo just as fast as they couldyo wolfface im your worst nightmare your ass is minewell the wolf fell dead as you can plainly see thats to end the story for you and me if you still give a listen you just may here the big wolf or little piggy saylittle pig little pig let me in not by the hair of my chinny chin chin little pig little pig let me in not by the hair of my chinny chin chin well im huffing im puffing ill blow your house in huffing puffin blow your house in huffing puffin blow your house in huffing puffin blow your house in huffing and a puffin and ill blow your house in huffing and a puffin and ill blow your house in huffing and a puffin and ill blow your house in huffing and a puffin and ill blow your house inand the moral of the story is a band with no talent can easily amuse idiots with a stupid puppet show ",1
94,"livin on the edge","aerosmith",1993," theres something wrong with the world today i dont know what it is somethings wrong with our eyeswere seeing things in a different way and god knows it aint his it sure aint no surpriseya were livin on the edge were livin on the edge were livin on the edge were livin on the edgetheres something wrong with the world today the lightbulbs gettin dimmed theres meltdown in the skyif you can judge a wise man by the color of his skin then mister youre a better man than iwere livin on the edge were livin on the edge were livin on the edge were livin on the edgelivin on the edge you cant help yourself from fallin livin on the edge you cant help yourself from fallin livin on the edge you cant help yourself from fallin livin on the edge you cant help yourself from fallintell me what you think about our situation complication  aggravation is getting to youif chicken little tells you that the sky is fallin even if it wasnt would you still come crawling back again  i bet you would my friend again  again  again  again  againtell me what you think about our situation complication  aggravation is getting to youif chicken little tells you that the sky is fallin even if it wasnt would you still come crawling back again i bet you would my friend again and again and again and againsomething right with the world today and everybody knows its wrong but we can tell em no or we could let it go but i would rather be a hanging onwere livin on the edge were livin on the edge were livin on the edge were livin on the edge yeah yeah yeah yeah yeah yeah yeah yeah were livin on the edge were livin on the edge were livin on the edge were livin on the edge ",1
95,"hey jealousy","gin blossoms",1993," tell me do you think itd be all right if i could just crash here tonight you can see im in no shape for driving and anyway ive got no place to goand you know it might not be that bad you were the best id ever had if i hadnt blown the whole thing years ago i might not be alonetomorrow we can drive around this town and let the cops chase us around the past is gone but something might be found to take its place hey jealousy hey jealousy hey jealousy hey jealousyand you can trust me not to think and not to sleep around and if you dont expect too much from me you might not be let downcause all i really want is to be with you feeling like i matter too if i hadnt blown the whole thing years ago i might be here with youtomorrow we can drive around this town and let the cops chase us around the past is gone but something might be found to take its place hey jealousytomorrow we can drive around this town and let the cops chase us around the past is gone but something might be found to take its place hey jealousy hey jealousy hey jealousy hey jealousyyoud tell me and do you think itd be all right if i could just crash here tonight youd see im in no shape for driving and anyway ive got no place to goand you know it might not be that bad you were the best id ever had if i hadnt blown the whole thing years ago i might not be alonetomorrow we can drive around this town and let the cops chase us around the past is gone but something might be found to take its place hey jealousyhey jealousy listen to my heart theres only one thing i couldnt start ",1
96,"if i ever lose my faith in you","sting",1993," NA ",1
97,"anniversary","tony toni tone",1993,"tomorrow will come and girl i cant wait its our anniversary anniversary the first thing ill do is run straight to you its our anniversary anniversary its our anniversary its our anniversary anniversary its our anniversary made for you and me and ive only made plans to hold your little hand its our anniversary anniversary the pleasures all mine ̢cause we have seen good times its our anniversary anniversary victoria will be no secret at the end of the day its our anniversary anniversary a small cup of tea then you can have me its our anniversary all i really want to say my darling today is a special day we call our own so take me in your arms and hold me and tell me you love me and ill be there for you do you know what today is its our anniversary anniversary   its our special day do you know what today is its our anniversary made for you and me today is a special day not just any day because you can have everything you want your way tell your supervisor youre leaving early today and im willing to pay for the rest of your day girl do you know what today is   its our anniversary its our anniversary anniversary do you know what today is    today i have lots of fun in store for you girl its our anniversary made for you and me do you know what today is    i know girl its our anniversary anniversary   i know its our anniversary do you know what today is its our anniversary made for you and me   and i love you in a special way do you know what today is its our anniversary anniversary   i remember the first letter and i remember the first day do you know what today is its our anniversary made for you and me   made for you and me do you know what today is its our anniversary anniversary",3
98,"one woman","jade",1993," shoo doo doo wop shoo doo doo woo shoo doo doo wop shoo doo doo woo shoo doo doo wop shoo doo doo woo shoo doo doo wopyou never have to worry about my love as long as youre taking care of business with my heart see im a kind of girl to dedicate my world and you gotta give me all you got i need it all baby every dropyou got to show me and mean the words you say its not a game for me baby its just not that wayim only one woman baby treat me like a lady you gotta take the time to show me that im your one and only im only one woman baby and i need a one woman manshoo doo doo wop shoo doo doo woo shoo doo doo wop shoo doo doo woo shoo doo doo wop shoo doo doo woo shoo doo doo wopyou never have to wonder if i care if youre sharing the way i feel for love you know im real im the kind of girl to dedicate my world but you gotta give me all you got i need it all baby every dropyou got to show me and mean the words you say its not a game for me baby its just not that wayyou got to show me and mean the words you say its not a game for me baby its just not that wayim only one woman baby treat me like a lady you gotta take the time to show me that im your one and only im only one woman baby and i need a one woman manim only one woman baby treat me like a lady you gotta take the time to show me that im your one and only im only one woman baby and i need a one woman manim only one woman baby treat me like a lady you gotta take the time to show me that im your one and only im only one woman baby and i need a one woman manim only one woman baby treat me like a lady you gotta take the time to show me that im your one and only im only one woman baby and i need a one woman man ",1
99,"cant get enough of your love","taylor dayne",1993," ive heard people say that too much of anything is not good for you baby but i dont know about that as many times as weve loved shared love and made love it doesnt seem to me like its ever ever enough its just not enoughchorus my darling i  cant get enough of your love baby i dont know i dont know why i cant get enough of your love babyoh some things i cant get used to no matter how i try it seems the more you give the more i want and baby thats no lie oh notell me what can i say what am i gonna do how should i feel when everything is you you you what kind of a love is this that youre giving me is it in your kiss or just because youre sweet youre all i know and every time youre near i feel a change somethings moving i scream your name what you got me doingchorusif i could make you see and make you understand your love for me is all i need and more than i can stand oh well babehow can i explain all the things i feel youve given me so much youre so unreal unreal unreal still i keep loving you more and more each time what am i gonna do cause youve blown my mind i get the same old feeling every time youre near i feel a change somethings moving i scream your name what you got me doingchorus ",1
100,"two steps behind","def leppard",1993," walk away if you want to its okay if you need to you can run but you can never hide from the shadow thats creepin up beside youtheres a magic runnin through your soul but you cant have it allwhatever you do ill be two steps behind you wherever you go and ill be there to remind you that it only takes a minute of your precious time to turn around ill be two steps behindtake the time to think about it just walk the line you know you just cant fight it take a look around and see what you can find like the fire thats burnin up inside metheres a magic runnin through your soul but you cant have it allwhatever you do ill be two steps behind you wherever you go and ill be there to remind you that it only takes a minute of your precious time to turn around ill be two steps behindtheres a magic runnin through your soul but you you cant have it allwhatever you do ill be two steps behind you wherever you go and ill be there to remind you that it only takes a minute of your precious time to turn around ill be two steps behind yeah baby two steps behind oh sugar two steps behind ",1
1,"the sign","ace of base",1994," i i gotta new life you would hardly recognize me im so glad how could a person like me care for you i why do i bother when youre not the one for me its enough enoughi saw the sign and it opened up my eyes i saw the sign life is demanding without understanding i saw the sign and it opened up my eyes i saw the sign no ones gonna drag you up to get into the light where you belong but where do you belongi under the clear moon for so many years ive wondered who you are how could a person like you bring me joy under the pale moon where i see a lot of stars its enough enoughi saw the sign and it opened up my eyes i saw the sign life is demanding without understanding i saw the sign and it opened up my eyes i saw the sign no ones gonna drag you up to get into the light where you belong but where do you belong oh oh ohi saw the sign and it opened up my mind and i am happy now living without you ive left you oh oh ohi saw the sign and it opened up my eyes i saw the sign no ones gonna drag you up to get into the light where you belongi saw the sign i saw the sign i saw the sign i saw the sign i saw the sign i saw the sign i saw the sign i saw the sign and it opened up my eyes i saw the sign ",1
2,"i swear","all4one",1994,NA,NA
3,"ill make love to you","boyz ii men",1994," close your eyes make a wish and blow out the candlelight for tonight is just your night were gonna celebrate all through the nightpour the wine light the fire girl your wish is my command i submit to your demands i will do anything girl you need only askill make love to you like you want me to and ill hold you tight baby all through the night ill make love to you when you want me to and i will not let go till you tell me togirl relax lets go slow i aint got nowhere to go im just gonna concentrate on you girl are you ready its gonna be a long nightthrow your clothes on the floor im gonna take my clothes off too i made plans to be with you girl whatever you ask me you know i can doill make love to you like you want me to and ill hold you tight baby all through the night ill make love to you when you want me to and i will not let go till you tell me tobaby tonight is your night and i will do you right just make a wish on your night anything that you ask i will give you the love of your lifeill make love to you like you want me to and ill hold you tight baby all through the night ill make love to you when you want me to and i will not let go till you tell me toill make love to you like you want me to and ill hold you tight baby all through the night ill make love to you when you want me to and i will not let go till you tell me to ",1
4,"the power of love","celine dion",1994,"the whispers in the morning of lovers sleeping tight are rolling by like thunder now as i look in your eyes i hold on to your body and feel each move you make your voice is warm and tender a love that i could not forsake cause i am your lady and you are my man whenever you reach for me ill do all that i can even though there may be times it seems im far away never wonder where i am cause i am always by your side cause i am your lady and you are my man whenever you reach for me ill do all that i can were heading for something somewhere ive never been sometimes i am frightened but im ready to learn of the power of love the sound of your heart beating made it clear suddenly the feeling that i cant go on is light years away cause i am your lady and you are my man whenever you reach for me im gonna do all that i can were heading for something somewhere ive never been sometimes i am frightened but im ready to learn of the power of love the power of love incomprehensible the power of love",3
5,"hero","mariah carey",1994," theres a hero if you look inside your heart you dont have to be afraid of what you are theres an answer if you reach into your soul and the sorrow that you know will melt awayand then a hero comes along with the strength to carry on and you cast your fears aside and you know you can survive so when you feel like hope is gone look inside you and be strong and youll finally see the truth that a hero lies in you    meaning  byamandah   editor    hero was originally intended for gloria esteban to record would it have been as successful as mariahs    see all   its a long road when you face the world alone no one reaches out a hand for you to hold you can find love if you search within yourself and the emptiness you felt will disappearand then a hero comes along with the strength to carry on and you cast your fears aside and you know you can survive so when you feel like hope is gone look inside you and be strong and youll finally see the truth that a hero lies in youlord knows dreams are hard to follow but dont let anyone tear them away hold on there will be tomorrow in time youll find the wayand then a hero comes along with the strength to carry on and you cast your fears aside and you know you can survive so when you feel like hope is gone look inside you and be strong and youll finally see the truth that a hero lies in you that a hero lies in you that a hero lies in you ",1
6,"stay i missed you","lisa loeb and nine stories",1994," you say i only hear what i want to and you say i talk so all the time soand i thought what i felt was simple and i thought that i dont belong and now that i am leaving now i know that i did something wrong cause i missed you yeah i missed youand you say i only hear what i want to i dont listen hard i dont pay attention to the distance that youre running or to anyone anywherei dont understand if you really care im only hearing negative no no no badso i i turned the radio on iturned the radio up and this woman was singing my song lovers in love and the others run away lover is crying cause the other wont stayand some of us hover when we weep for the other who was dying since the day they were born well well this is not that i think that im throwing but im thrownand i thought id live forever but now im not so sure you try to tell me that im clever but that wont take me anyhow or anywhere with youand you said that i was naive and i thought that i was strong i thought hey i can leave i can leave oh but now i know that i was wrong cause i missed you yeah i missed youyou said you caught me cause you want me and one day ill let you go you try to give away a keeper or keep me cause you know youre just so scared to loseand you say stay you say i only hear what i want to ",1
7,"breathe again","toni braxton",1994," if i never feel you in my arms again if i never feel your tender kiss again if i never hear i love you now and then will i never make love to you once againplease understand if love ends then i promise you i promise you that that i shall never breathe again breathe again breathe again that i shall never breathe again breathe againand i cant stop thinkin about about the way things used to be and i cant stop thinkin about about the love that you make to meand i cant get you out of my head how in the world will i begin to let you walk right out my life and blow my heart awayand i cant stop carin about about the apple of my eye and i cant stop doin without without the center of my lifeand i cant get you out of my head and i know i cant pretend that i wont die if you decide you wont see me againif i never feel you in my arms again if i never feel your tender kiss again if i never hear i love you now and then will i never make love to you once againplease understand if love ends then i promise you i promise you that that i shall never breathe again breathe again breathe again that i shall never breathe again breathe againand i cant stop thinkin about about the way my life would be no i cant stop thinkin about how could your love be leavin meand i cant get you out of my mind god knows how hard i tried and if you walk right out my life god knows id surely dieand i cant stop doin without without the rythm of my heart no i cant stop doin without for i would surely fall apartand i cant get you out of my mind cause i know i cant deny and i would die if you decide you wont see me againif i never feel you in my arms again if i never feel your tender kiss again if i never hear i love you now and then will i never make love to you once againplease understand if love ends then i promise you i promise you that that i shall never breathe again breathe again breathe again that i shall never breathe again breathe again that i shall never breathe again breathe again breathe again that i shall never breathe again breathe again ",1
8,"all for love","bryan adams rod stewart and sting",1994,"when its love you give ill be a man of good faith then in love you live ill make a stand i wont break ill be the rock you can build on be there when youre old to have and to hold when theres love inside i swear ill always be strong then theres a reason why ill prove to you we belong ill be the one that protects you from the wind and the rain from the hurt and the pain lets make it all for one and all for love let the one you hold be the one you want the one you need cause when its all for one its one for all when theres someone that should know then just let your feelings show and make it all for one and all for love when its love you make ill be the fire in your night then its love you take i will defend i will fight ill be there when you need me when honors at stake this vow i will make that its all for one and all for love let the one you hold be the one you want the one you need cause when its all for one its one for all when theres someone that should know then just let your feelings show and make it all for one and all for love dont lay our love to rest cause we could stand up to the test we got everything and more than we had planned more than the rivers that run the land weve got it all in our hands now its all for one and all for love let the one you hold be the one you want the one you need cause when its all for one its one for all when theres someone that should know then just let your feelings show when theres someone that you want when theres someone that you need lets make it all all for one and all for love",3
9,"all that she wants","ace of base",1994," she leads a lonely life she leads a lonely lifewhen she woke up late in the morning light and the day had just begun she opened up her eyes and thought oh what a morningits not a day for work its a day for catching tan just lying on the beach and having fun shes going to get youall that she wants is another baby shes gone tomorrow boy all that she wants is another baby yeaall that she wants is another baby shes gone tomorrow boy all that she wants is another baby yeaso if you are in sight and the day is right shes the hunter youre the fox the gentle voice that talks to you wont talk foreverit is a night for passion but the morning means goodbye beware of what is flashing in her eyes shes going to get youall that she wants is another baby shes gone tomorrow boy all that she wants is another baby yeaall that she wants is another baby shes gone tomorrow boy all that she wants is another baby yeaall that she wants is another baby shes gone tomorrow boy all that she wants is another baby yeaall that she wants is another baby shes gone tomorrow boy all that she wants is another baby yeaall that she wants all that she wants ",1
10,"dont turn around","ace of base",1994," if you want to leave i wont beg you to stay and if you gotta go darling maybe its better that way im gonna be strong im gonna do fine dont worry about this heart of mine just walk out that door see if i care go on and go now butdont turn around cause youre gonna see my heart breakingdont turn around i dont want you seeing me cry just walk away its tearing me apart that youre leaving im letting you go but i wont let you know i wont let you know i wont miss your arms around me holding me tight and if you ever think about me just know that ill be alright im gonna be strong im gonna do fine dont worry about this heart of mine i will survive ill make it through ill even learn to live without youdont turn around cause youre gonna see my heart breaking dont turn around i dont want you seeing me cry just walk away its tearing me apart that youre leaving im letting you go but i wont let you knowi wish i could scream out loud that i love you i wish i could say to you dont goas he walks away he feels the pain getting strong people in your life they dont know whats going on too proud to turn around hes gonedont turn around cause youre gonna see my heart breaking dont turn around i dont want you seeing me cry just walk away its tearing me apart that youre leaving im letting you go baby dont turn around dont turn around just walk away its tearing me apart that youre leaving im letting you go dont turn around ",1
11,"bump n grind","r kelly",1994," my mind is tellin me no but my body my bodys tellin me yes baby i dont want to hurt nobody but there is something that i must confess to youi dont see nothing wrong with a little bump and grind i dont see nothing wrong hey baby hey i dont see nothing wrong i dont see nothing wrong with a little bump and grind i dont see nothing wrong heysee i know just what you want and i know just what you need girl so baby bring your body to me bring your body here im not fooling around with you baby baby my love is true with you with you is where i want to be girl you need someone someone like me to satisfy your every needsi dont see nothing wrong with a little bump and grind i dont see nothing wrong baby baby i dont see i dont see nothing wrong i dont see nothing wrong with a little bump and grind i dont see nothing wrong baby heyyou say hes not treating you right lady spend the night now ill love you like you need to be loved girl why dont you try some of me no need to look no more because ive opened up my door youll never youll never want another love baby youll never find another me you see you need someone someone like me yeah to make love to you baby constantlyi dont see nothing wrong with a little bump and grind i dont see nothing wrong oh i dont see nothing wrong with a little bump and grind i dont see nothing wrong baby baby alrighti dont see nothing wrong i dont see nothing wrong with a little bump and grind i dont see nothing wrong i dont see i dont see nothing wrong i dont see nothing wrong no no no with a little bump and grind i dont see nothing wrong nothing wrong nothing wrong nothing wrong i dont see nothing wrong with a little bump and grind ",1
12,"again","janet jackson",1994," i heard from a friend today and she said you were in town suddenly the memories came back to me in my mindhow can i be strong ive asked myself time and time ive said that ill never fall in love with you againa wounded heart you gave my soul you took away good intentions you had many i know you didi come from a place that hurts and god knows how ive cried and i never want to return never fall againmaking love to you felt so good and oh so righthow can i be strong ive asked myself time and time ive said that ill never fall in love with you againso here we are alone again didnt think id come to this and to know it all began with just a little kissive come too close to happiness to have it swept away dont think i can take the pain never fall againkinda late in the game and my heart is in your hands dont you stand there and then tell me you love me then leave again cause im falling in love with you againhold me hold me dont ever let me go say it just one time say you love me god knows i do love you again ",1
13,"ill remember","madonna",1994," hmm hmm say goodbye not knowing when the truth in my whole life began say goodbye not knowing how to cry you taught me thatand ill remember the strength that you gave me now that im standing on my own ill remember the way that you saved me ill rememberinside i was a child that could not mend a broken wing outside i looked for a way to teach my heart to singand ill remember the love that you gave me now that im standing on my own ill remember the way that you changed me ill rememberi learned to let go of the illusion that we can possess i learned to let go i travel in stillness and ill remember happiness ill remember hmmill remember hmm and ill remember the love that you gave me now that im standing on my own ill remember the way that you changed me ill remember ill rememebernow ill never be afraid to cry now i finally have a reason whyill remember ill remember now ill never be afraid to cry now i finally have a reason whyill remember ill remember now ill never be afraid to cry and i finally have a reason whyill remember ill remember now ill never be afraid to cry and i finally have a reason whyremember ",1
14,"whatta man","saltnpepa and en vogue",1994,NA,NA
15,"wild night","john mellencamp featuring meshell ndegeocello",1994," as you brush your shoes and stand before your mirror and you comb your hair and grab your coat and hat and you walk the streets trying to remember all those wild nights breeze through your mindand everything looks so complete when youre walking out on the street and the wind catches your feet and sends you flying crying ooh ooh wee the wild night is callingall the girls walk by dressed up for each other and the boys do the boogiewoogie on the corner of the street and the people passing by just stare with the wild wonder yeah and the inside jukebox roars just like thunderand everything looks so complete oh when youre walking out on the street and the wind catches your feet and sends you flying crying ooh ooh wee the wild night is callingthe wild night is calling the wild night is calling come on out and dance come on out and dance come on out and make romance come on out and dance come on out and dance come on out and make romanceand everything looks so complete when youre walking out on the street and the wind catches your feet and sends you flying crying ooh ooh wee the wild night is calling ooh ooh wee the wild night is calling ",1
16,"without you  never forget you","mariah carey",1994,NA,NA
17,"you mean the world to me","toni braxton",1994," if you could give me one good reason why i should believe you believe in all the things that you tell i would sure like to believe you my heart wants to receive you just make me know that you are sincereyou know id love for you to lead me and follow through completely so wont you give me all i ask for and if you give your very best to bring me happiness ill show you just how much i adore youcause you mean the world to me you are my everything i swear the only thing that matters matters to me oh baby baby baby baby baby cause you mean so much to menow its gonna take some workin but i believe youre worth it long as your intentions are good so good there is just one way to show it and boy i hope you know it that no one could love you like i couldlord knows i want to trust you and always how id love you im not sure if love is enough and i will not be forsaken and i hope theres no mistakin so tell me that youll always be truecause you mean the world to me you are my everything i swear the only thing that matters matters to me oh baby baby baby baby baby cause you mean so much to me darlincause you mean the world to me you are my everything i swear the only thing that matters matters to me oh baby baby baby baby baby cause you mean so much to me babytheres a feeling in my heart that i know i cant escape so please dont let me fall dont let it be too late theres a time when words are good then they just get in the way so show me how you feel baby im for real oh baby baby baby baby babycause you mean the world to me you are my everything i swear the only thing that matters matters to me oh baby baby baby baby baby oh yeah cause you mean so much to meyou mean the world to me you are my everything i swear the only thing that matters matters to me oh baby baby baby baby baby cause you mean so much to me babyyou mean the world to me you are my everything the only thing that really really really matters to me cause you mean so much to me baby ",1
18,"can you feel the love tonight","elton john",1994," theres a calm surrender to the rush of day when the heat of a rolling world can be turned away an enchanted moment and it sees me through its enough for this restless warrior just to be with youand can you feel the love tonight it is where we are its enough for this wide eyed wanderer that we got this far and can you feel the love tonight how its laid to rest its enough to make kings and vagabonds believe the very besttheres a time for everyone if they only learn that the twisting kaleidoscope moves us all in turn theres a rhyme and reason to the wild outdoors when the heart of this star crossed voyager beats in time with yoursand can you feel the love tonight it is where we are its enough for this wide eyed wanderer that we got this far and can you feel the love tonight how its laid to rest its enough to make kings and vagabonds believe the very best its enough to make kings and vagabonds believe the very best ",1
19,"the most beautiful girl in the world","prince",1994," could you be the most beautiful girl in the world its plain to see youre the reason that god made a girlwhen the day turns into the last day of all time i can say i hope you are in these arms of mine and when the night falls before that day i will cry i will cry tears of joy cause after you all one can do is diecould you be the most beautiful girl in the world could you be its plain to see youre the reason that god made a girl youre the reason that god made a girl oh yes you arehow can i get through days when i cant get through hours i can try but when i do i see you and im devoured oh yes whod allow whod allow a face to be soft as a flower i could bow and feel proud in the light of this power oh yes bow downcould you be could you be the most beautiful girl in the world could you be its plain to see youre the reason that god made a girl oh yes you areand if the stars ever fell one by one from the sky i know mars could not be too far behind cuz baby this kind of beauty has got no reason to ever be shy cuz honey this kind of beauty the kind that comes from insidecould you be could you be the most beautiful girl in the world so beautiful beautiful  its plain to see plain to see youre the reason that god made a girl oh yeah oh yes you arecould you be ",1
20,"fantastic voyage","coolio",1994," come on yall lets take a ride dont you say shit just get inside its time to take your ass on another kind of trip cause you cant have the hop if you dont have the hipgrab your gat with the extra clip and close your eyes and hit the switch were going to a place where everybody kick it kick it kick it yeah thats the ticketaint no bloodin aint no crippin aint no punk ass niggas set trippin everybodys got a stack and it aint no crack and it really dont matter if youre white or blacki wanna take you there like the staple singers put something in the tank and i know that i can bring ya if you cant take the heat get yo ass out the kitchen we on a missioncome along and ride on a fantastic voyage slide slide slippity slide with switches on the block in a 65 come along and ride on a fantastic voyage slide slide who ride no valley low enough or mountain highim tryin to find a place where i can live my life and maybe eat some steak with my beans and rice a place where my kids can play outside without livin in fear of a drivebyand even if i get away from them driveby killers i still got to worry about those snitch ass niggas i keep on searching and i keep on looking but niggas are the same from watts to brooklyni try to keep my faith in my people but sometimes my people be acting like they evil you dont understand about runnin with a gang cause you dont gang bangand you dont have to stand on the corner and slang cause you got your own thang you cant help me if you cant help yourself you better make a leftcome along and ride on a fantastic voyage slide slide slippity slide i do what i do just to survive come along and ride on a fantastic voyage slide slide who ride thats why i pack my 45life is a bitch and then you die still tryin to get a peace of the apple pie every game aint the same cause the game still remains dont it seem kinda strange aint a damn thing changeif you dont work then you dont eat and only down ass niggas can ride with me hop hop hop your five quickly down the block stay suckafree and keep the busters off your jockyou gotta have heart son if you wanna go watch this sweet chariot swing low aint nobody cryin aint nobody dyin aint nobody worried everybodys tryinnothin from nothin leaves nothin if you wanna have something you better start frontin what ya gonna do when the 5 roll by you better be ready so you can ridecome along and ride on a fantastic voyage slide slide slippity slide when youre living in a city its do or die come along and ride on a fantastic voyage slide slide who ride you better be ready when the 5 roll byjust roll along thats what you do just roll along thats right just roll along thats what you do just roll along thats rightdo you want to ride with me do you want to ride with me do you want to ride with me do you want to ride with me do you want to ride with me do you want to ride with me do you want to ride with me do you want to ride with me ",1
21,"baby i love your way","big mountain",1994," ooh baby i love your way everyday yeah ooh baby i love your way everydayshadows grow so long before my eyes and theyre moving across the page suddenly the day turns into night far away from the citybut dont oh no hesitate cause your love just wont waitooh baby i love your way everyday yeah i wanna tell you i love your way everyday i wanna be with you night and daymoon appears to shine and light the sky with the help from some fireflies i wonder how they have the power to shine shine shine well i can see them under the pinebut dont oh no no hesitate la di da cause your love just wont waitooh baby i love your way everyday yeah i wanna tell you i love your way everyday yeah i wanna be with you night and day whoah baby oh baby pleaseeveryday i will love i will love hon i love your way oh baby pleasei can see the sunset in your eyes brown and gray and blue besides clouds are stalking islands in the sun i wish i could buy one out of seasonbut dont oh no no hesitate la di da cause your love just wont wait just wont waitooh baby i love your way every everyday yeah i wanna tell you i love your way i wanna tell you i will love your pretty ways i wanna be with you night and day everyday and in everywayooh baby i love your way ooh baby how i love your little ways yeah i wanna tell you i love your way i wanna tell how i i wanna tell you how i love your little ways i wanna be with you night and dayooh baby i love your way ooh baby baby baby yeah i wanna tell you how i love your pretty ways ",1
22,"regulate","warren g featuring nate dogg",1994," it was a clear black night a clear white moon warren g is on the streets trying to consume some skirts for the eve so i can get some funk just rollin in my ride chillin all alonejust hit the eatside of the lbc on a mission trying to find mr warren g seen a car full of skirts aint no need to tweak all you skirts know whats up with 213so i hooks a left on the 21 to lewis some brothas shootin dice so i said lets do this i jumped out the ride and saidwhats up some brothas pulled some gats so i said im stucksince these girls peepin me ima glide and swerve these hookers lookin so hard they straight hit the curb gonna think of better things than some horny tricks i see my homey and some suckers all in his mixim gettin jacked im breakin myself i cant believe theyre taking warrens wealth they took my rings they took my rolex i looked at the brothas and said damn whats nextthey got my homey hemmed up and they all around aint none of them seeing if they going straight pound for pound i gotta come up real quick before they start to clown i besta pull out my strap and lay them busters downthey got guns to my head i think im going down i cant believe this happened in my home town if i had wings i would fly let me contemplate i glanced in the cut and i see my homey natesixteen in the clip and one in the hole nate dogg is about to make some bodies turn cold now they droppin and yellin its a tad bit late nate dogg and warren g had to regulatei laid all them busters down i let my gat explode now im switching my mind back into freak mode if you want skirts step back and observe i just left a gang of those over there on the curbnow nate got the freaks and thats a known fact before i got jacked i was on the same track back up back up cause its on nate and me the warren to the gjust like i thought they were in the same spot in need of some desperate help the nate dogg and the gchild were in need of something else one of them dames was sexy as hell i said ooh i like your size she said my cars broke down and you seem real nice would you let me ride i got a car full of girls and its going real swell the next stop is the east side motelim tweaking onto a whole new level gfunk stept towards i dare ya funk on a whole new level the rythmn is the base and the base is the treble chords strings we brings melody gfunk where rythmn is life and life is rythmn if you know like i know you dont want to step to this its the gfunk era funked out with a gangster twist if you smoke like i smoke then you high like everyday and if your ass is a buster 213 will regulate ",1
23,"if you go","jon secada",1994," taking a day at a time dealing with feelings i dont want to hide learning to love as i go baby without taking you along for a ride itried to find myself tried to find the truth get out from this shellgirl im almost there to show you how much i really careif you go say goodbye therell be something missing in my life cause you know that all i really want is you yousorry if you felt misled but i know what i feel i know what i said baby god i hope you believe believe in all that we can be the future in us together in loveyoure the reason im strong dont you think i dont know this is where i belong give me the time to say that youre mine to say that youre mineif you go say goodbye therell be something missing in my life cause you know that all i really want is you all i really want is youif you go say goodbye say goodbye therell be something missing in my life cause you know cause you know that all i really want is youtried to find myself tried to find myself tried to find the truth get out from this shellgirl im almost there so let me show you so let me show youif you go say goodbye therell be something missing in my life in my life cause you know baby that all i really want is you youbaby if you go say goodbye say goodbye therell be something missing in my life cause you know baby that all i really want is you all i really all i really want all i really want is youif you go say goodbye therell be something missing in my life in my life cause you know that all i really want is you ",1
24,"back  forth","aaliyah",1994,"x5 let me see you go back let me see you go forth its friday and im ready to swing pick up my girls and hit the party scene tonight oh oh its alright umm so get up and let this funky mellow grove get you in the mood cause you know its alright back round  so mr dj keep the music grooving dont stop moving let me see you let me see you go back back forth and forth x4 see you go back and forth now its time for you to make your move to the dance floor so throw your hands in the air and wave them around like you just dont care ya oh its the liyah living up to the stage i got jazz personality g mentality peace to soul train so if the dj keep on moving dont stop moving know let me hear you go back and forth chores x4 come on and let me hear you go r kelly hey heres the forth mellowed get upon the floor you see show your personality be who you wanna be now tell me aaliyah see can you feel the groove hey i want to get this party going all night background so mr dj keep the music grooving dont stop moving now let me hear you go chorus till fade",3
25,"now and forever","richard marx",1994," whenever im weary from the battles that rage in my head you make sense of madness when my sanity hangs by a thread i lose my way but still you seem to understand now and forever i will be your mansometimes i just hold you too caught up in me to see im holding a fortune that heaven has given to me ill try to show you each and every way i can now and forever i will be your mannow i can rest my worries and always be sure that i wont be alone anymore if id only known you were there all the time all this timeuntil the day the ocean doesnt touch the sand now and forever i will be your man now and forever i will be your man ",1
26,"when can i see you","babyface",1994," when can my heart beat again when does the pain ever end when do the tears stop from running over when does youll get over it begini hear what youre saying but i swear that its not making sense so when can i see youwhen can i see you again when can my heart beat again when can i see you again when can i breathe once again and when can i see youwhen does my someday begin when ill find someone again and what if i still am not truly over what am i supposed to do then babedo you see what im saying even if if its not making sense so when can i see youwhen can i see you again when can my heart beat again when can i see you again and when can i breathe once again and when can i see you againyeah baby do you see what im saying even if if its not making sense baby so when can i see you againwhen can i see you again can my heart beat again baby when can i see you again and when can i breathe once again and when can i see babe againwanna see you again again ",1
27,"please forgive me","bryan adams",1994," it still feels like our first night together feels like the first kiss its getting better baby no one can better this still holding on youre still the one first time our eyes met same feeling i get only feels much stronger i wanna love you longer do you still turn the fire onso if youre feeling lonely dont youre the only one ill ever want i only want to make it good so if i love you a little more than i should please forgive me i know not what i do please forgive me i cant stop loving you dont deny me this pain im going through please forgive me if i need you like i do please believe me oh believe it every word i say is true please forgive me i cant stop loving youstill feels like our best times are together feels like the first touch still getting closer baby cant get closer enough still holding on youre still number one i remember the smell of your skin i remember everything i remember all the moves i remember you yeah i remember the nights you know i still doso if youre feeling lonely dont youre the only one ill ever want i only want to make it good so if i love you a little more than i should please forgive me i know not what i do please forgive me i cant stop loving you dont deny me this pain im going through please forgive me if i need you like i do please believe me oh believe it every word i say is true please forgive me i cant stop loving youthe one thing im sure of is the way we make love the one thing i depend on is for us to stay strong with every word and every breath im praying thats why im sayingplease forgive me i know not what i do please forgive me i cant stop loving you dont deny me this pain im going through please forgive me if i need you like i do babe believe it every word i say is true please forgive me if i cant stop loving you no believe i dont know what i do please forgive me i cant stop loving you i cant stop loving you ",1
28,"so much in love","all4one",1994,NA,NA
29,"shoop","saltnpepa",1994,NA,NA
30,"any time any place","janet jackson",1994," in the thundering rain you stare into my eyes i can feel your hand movin up my thighs skirt around my waist wall against my face i can feel your lipsi dont wanna stop just because people walkin by are watchin us i dont give a damn what they think i want you nowi dont wanna stop just because you feel so good inside oh my love im not gonna stop no no no i want you all i wanna say isat any time and any place i dont care whos around any time and any place i dont care whos around no no no no nodancing on the floor feelin the slow groove my mind is starting to burn with forbidden thoughts strangers all around with the lights down low i was thinking maybe we could well you knowi dont wanna stop just because people standin round are watchin us i dont give a damn what they think i want you nowi dont wanna stop just because you feel so good inside of my love im not gonna stop no no no i want you all i wanna say isany time and any place i dont care whos around nno no no no yeah any time baby and any place i dont care whos around say it again say it againany time and any place i dont care whos around incomprehensible i dont care whos around yeahany time baby any place ",1
31,"shine","collective soul",1994," give me a word give me a sign show me where to look tell me what will i find lay me on the ground fly me in the sky show me where to look tell me what will i find oh heaven let your light shine downlove is in the water love is in the air show me where to look tell me will love be there teach me how to speak teach me how to share teach me where to go tell me will love be there oh heaven let your light shine downgive me a word give me a sign show me where to look tell me what will i find lay me on the ground fly me in the sky show me where to look tell me what will i find oh heaven let your light shine downim gonna let it shine im gonna let it shine heaven send a light let it shine on me hey yeah hey yeah heaven send a light let it shine on me its gonna shine on shine on me its gonna shine on well come on and shine ",1
32,"said i loved youbut i lied","michael bolton",1994,"you are the candle loves the flame a fire that burns through wind and rain shine your light on this heart of mine till the end of timeyou came to me like the dawn through the night just shinin like the sun out of my dreams and into my life you are the one you are the one said i loved you but i lied cause this is more than love i feel inside said i loved you but i was wrong cause love could never ever feel so strong said i loved you but i lied with all my soul ive tried in vain how can mere words my heart explain this taste of heaven so deep so true ive found in you so many reasons in so many ways my life has just begun need you forever i need you to stay you are the one you are the one said i loved you but i lied cause this is more than love i feel inside said i loved you but i was wrong cause love could never ever feel so strong said i loved you but i lied you came to me like the dawn through the night just shinin like the sun out of my dreams and into my life you are the one you are the one said i loved you but i lied cause this is more than love i feel inside said i loved you but i was wrong cause love could never ever feel so strong said i loved you but this is more than love i feel inside said i loved you but i lied",5
33,"return to innocence","enigma",1994," love devotion love devotion feeling emotion feeling emotiondont be afraid to be weak dont be too proud to be strong just look into your heart my friend that will be the return to yourselfthe return to innocencethe return to innocenceand if you want then start to laugh if you must then start to cry be yourself dont hide just believe in destinydont care what people say just follow your own way dont give up and use the chance to return to innocencethats not the beginning its the end thats the return to yourself the return to innocenceits the return to innocence ",1
34,"all i wanna do","sheryl crow",1994," hit it this aint no disco and it aint no country club either this is laall i want to do is have a little fun before i die says the man next to me out of nowhere its apropos of nothing he says his name is william but im sure hes bill or billy or mac or buddyand hes plain ugly to me and i wonder if hes ever had a day of fun in his whole lifewe are drinking beer at noon on tuesday in the bar that faces the giant car wash and the good people of the world are washing their cars on their lunch breaks hosing and scrubbing as best they can in skirts and suitsand they drive their shiny datsuns and buicks back to the phone company the record stores too well theyre nothing like billy and mecauseall i wanna do is have some fun i got a feeling im not the only one all i wanna do is have some fun i got a feeling im not the only one all i wanna do is have some fun until the sun comes up over santa monica boulevardi like a good beer buzz early in the morning billy likes to peal the labels from his bottles of bud he shreds them on the bar then he lights up every match in an oversized pack letting each one burn down to his thick fingers before blowing and cursing them out hes watching the bottles of bud as they spin on the floorand a happy couple enters the bar dangerously close to one another the bartender looks up from his want adsbutall i wanna do is have some fun i got a feeling im not the only one all i wanna do is have some fun i got a feeling im not the only one all i wanna do is have some fun until the sun comes up over santa monica boulevardotherwise the bar is ours the day and the night and the car wash too the matches and the buds and the clean and dirty cars the sun and the moon but all i wanna do is have some fun i got a feeling im not the only one all i wanna do is have some fun i got a feeling im not the only one all i wanna do is have some fun i got a feeling the party has just begun all i wanna do is have some fun i wont tell you that youre the only one all i wanna do is have some fun until the sun comes up over santa monica boulevard until the sun comes up over santa monica boulevard ",1
35,"mmm mmm mmm mmm","crash test dummies",1994," once there was this kid who got into an accident and couldnt come to school but when he finally came back his hair had turned from black into bright white he said that it was from when the cars had smashed him so hardmmm mmm mmm mmmonce there was this girl who wouldnt go and change with the girls in the change room but when they finally made her they saw birthmarks all over her body she couldnt quite explain it theyd always just been theremmm mmm mmm mmm mmm mmm mmm mmmbut both the girl and boy were glad cause one kid had it worse than thatcause then there was this boy whose parents made him come directly home right after school and when they went to their church they shook and lurched all over the church floor he couldnt quite explain it theyd always just gone theremmm mmm mmm mmm mmm mmm mmm mmmoh oh oh oh ",1
36,"can we talk","tevin campbell",1994," last night i i saw you standing and i started started pretending i knew you and you knew me too and just like a roni you were too shy but you werent the only cause so was i and ive dreamed of you ever since now i build up my confidence the next next time you come my way ill know just what to say can we talk for a minute girl i want to know your name can we talk for a minute girl i want to know your name i started to write you letters but i wanted to be more clever i wanted to get down and sweet talk you hey baby but just like a baby i could not talk and i tried to come closer but could not walk and i think of it every night how i just could not get it right oh if we ever come close again i know what ill say then can we talk for a minute can we talk baby can we talk for a minute girl i want to know your name i want to know your name can we talk for a minute can we talk for a minute baby girl i want to know your name oh girl one more chance with you again i will not let it go oh please give me just one more chance for love love love love can we talk for a minute yeah yeah baby girl i want to know your name i wanna know can we talk for a minute can we talk for a minute baby girl i want to know your name oh baby baby baby baby can we talk for a minute come on talk to me baby come on and talk to me baby girl i want to know your name i wanna know i wanna know i wanna know your name can we talk for a minute can we talk for a minute come on and talk to me baby girl i want to know your name come on baby come on baby can we talk for a minute i said can we talk for a minute come on and talk to me baby see i wanna know you better tell me your name baby can we talk for a minute i said talk to me for a minute come on and talk for a minute i wanna know i wanna know i wanna know your name can we talk for a minute talk to me for a minute come on and talk for a minute come on come on come on and talk ",1
37,"funkdafied","da brat",1994," hard times in the funk yeah so funkdafied so lets take a ride with the brattattattattattat on that assso so so funkdafied so so so funkdafiedopen up open up and let the funk flow in from this nigga named j and his new found friend im hittin switches like eric on the solo creep for yo jeep its the b r a tputtin the dip in your hip from right to left its that ghetto west bitch and im so so def nigga thats my click nigga thats who i rolls with and we kicks nothing but the fat shitthem calls me the funkdafied funkalistic vocalistic with the real shit we got the shit you cant fuck wit why because we so funkdafied why we make you move from side to sidewell its the g h the e t t o nigga brat and jd comin like that big baby so lay back and listen as i catch up on my pimpin and freak this duet just like ashford and simpsoncause im so so so funkdafied so so so funkdafied so so so funkdafied so so so funkdafiedputtin it down puttin it down aint no thing to me and aint too many hoes that can hang with me its like that and as a matter of fact when it comes to the brat i got the shit thatll make your neck snap backmeaning i got the shit that a getcha bent tearin the roof off this motha like parliament im on a roll in control like janet damnit ranch oh the funk bandit and they cant handle iti know thats why i keep hittin em with this grammar lettin niggas know that im the real mama jama straight to the head like a chronic sack i passed the mic to the brat and yo i passed it backwella sistas and fellas its time to get your groove on i provide the funkdafied sound to make you move on breakin these fools off proper like its s o s o d e f dynamitehumminah humminah comin up at ya like ralph k and since this aint no honeymoon im here to stay and the way we comin at ya baby we cant miss theres a new tag team in town nigga whoomp there it isso so so funkdafied so so so funkdafied so so so funkdafied so so so funkdafied ",1
38,"id do anything for love but i wont do that","meat loaf",1994," and i would do anything for love id run right into hell and back i would do anything for love ill never lie to you and thats a fact but ill never forget the way you feel right now oh no no way and i would do anything for love but i wont do that i wont do thatanything for love oh i would do anything for love i would do anything for love but i wont do that oh i wont do thatsome days it dont come easy and some days it dont come hard some days it dont come at all and these are the days that never end some nights youre breathing fire and some nights youre carved in ice some nights youre like nothing ive ever seen before or will againmaybe im crazy but its crazy and its true i know you can save me no one else can save me now but you as long as the planets are turning as long as the stars are burning as long as your dreams are coming true you better believe itthat i would do anything for love and ill be there til the final act i would do anything for love and ill take a vow and seal a pactbut ill never forgive myself if we dont go all the way tonight and i would do anything for love oh i would do anything for love oh i would do anything for love but i wont do that no i wont do thati would do anything for love anything youve been dreaming of but i just wont do that i would do anything for love anything youve been dreaming of but i just wont do that i would do anything for love anything youve been dreaming of but i just wont do thatsome days i pray for silence and some days i pray for soul some days i just pray to the god of sex and drums and rock n roll some nights i lose the feeling and some nights i lose control some nights i just lose it all when i watch you dance and the thunder rollsmaybe im lonely and thats all im qualified to be theres just one and only the one and only promise i can keep as long as the wheels are turning as long as the fires are burning as long as your prayers are coming true you better believe itthat i would do anything for love and you know its true and thats a fact i would do anything for love and therell never be no turning backbut ill never do it better than i do it with you so long so long and i would do anything for love oh i would do anything for love i would do anything for love but i wont do that no no no i wont do thati would do anything for love anything youve been dreaming of but i just wont do that i would do anything for love anything youve been dreaming of but i just wont do thati would do anything for love anything youve been dreaming of but i just wont do that i would do anything for love anything youve been dreaming of but i just wont do thati would do anything for love anything youve been dreaming of but i just wont do that i would do anything for love anything youve been dreaming of but i just wont do thati would do anything for love anything youve been dreaming of but i just wont do thatbut ill never stop dreaming of you every night of my life no way and i would do anything for love oh i would do anything for love i would do anything for love but i wont do that no i wont do thatwill you raise me up will you help me down will you get me right out of this godforsaken town will you make it all a little less cold i can do that i can do thatwill you hold me sacred will you hold me tight can you colorize my life im so sick of black and white can you make it all a little less old i can do that oh oh now i can do thatwill you make me some magic with your own two hands can you build an emerald city with these grains of sand can you give me something i can take home i can do that oh oh now i can do thatwill you cater to every fantasy i got will ya hose me down with holy water if i get too hot will you take me places ive never known i can do that oh oh now i can do thatafter a while youll forget everything it was a brief interlude and a midsummer nights fling and youll see that its time to move on i wont do that no i wont do thati know the territory ive been around itll all turn to dust and well all fall down and sooner or later youll be screwing around i wont do that no i wont do thatanything for love oh i would do anything for love i would do anything for love but i wont do that no i wont do that ",1
39,"gangsta lean","drs",1994,"this song is dedicated to my homies in that gangsta lean whyd you have to go so soon it seems like yesterday we were hanging round the hood now im gonna keep your memory alive like a homie should a lifetime of memories going down the drain id like to keep stepping but i cant get past the pain i tip my 40 to your memory take a drink and i start to think and i i know one day soon well be well be hanging out this is for my homies this is for my homies see you when i get there in that gangsta lean in that gangsta lean this is for my homies this is for my homies see you when i get there in that gangsta lean in that gangsta lean my god my god wont you pass on a message for me tell him put down those dice for a second lord and listen to his homies could you tell him ill never let go of his memory so his son will know he dont have to cry no more cause gods got his back i said gods got his back a lifetime of memories going down the drain id like to keep stepping but i cant get past the pain i tip my 40 to your memory take a drink and i start to think and i i know one day soon well be well be hanging out this is for my homies this is for my homies see you when i get there in that gangsta lean in that gangsta lean this is for my homies this is for my homies see you when i get there in that gangsta lean in that gangsta lean you know i miss you you know i miss you my homies this song is dedicated to my homies in that gangsta lean tommy the masters touch and my boy yb and my boy eb and whoever else out there got a homie thats in the gangsta lean and also my boys in the pen that aint gone never see the street again cause you know what it dont matter what they was doing when they was here they could have been banging slanging but they aint here no more and thats somebodys daddy somebodys baby thats somebodys homie so go and let them rest in piece while they in that gangsta lean you know what im saying thats on the real loc this is for my homies this is for my homies see you when i get there in that gangsta lean in that gangsta lean this is for my homies this is for my homies see you when i get there in that gangsta lean in that gangsta lean i cant believe that youre gone ill see you ill see you ill see you now that youre in that gangsta lean well well well im so sorry youre gone but ive got to keep on ive got to keep moving i gotta keep moving i gotta keep moving moving moving moving ill see you ill see you right there inside there homie someday",3
40,"because the night","10000 maniacs",1994," take me now baby here as i am hold me close n try n understand desire is hunger is the fire i breathe love is a banquet on which we feedcmon now try n understand the way i feel under your command take my hand as the sun descends they cant hurt ya now cant hurt ya now cant hurt ya nowbecause the night belongs to lovers because the night belongs to lust because the night belongs to lovers because the night belongs to ushave i doubt baby when im alone love is a ring on the telephone love is an angel disguised as lust here in our bed til the morning comescmon now try n understand the way i feel under your command take my hand as the sun descends they cant hurt ya now cant hurt ya now cant hurt ya nowbecause the night belongs to lovers because the night belongs to lust because the night belongs to lovers because the night belongs to uswith love we sleep with doubt the vicious cycle turns n burns without you oh i cannot live forgive the yearnin burnin i believe its time too real to feel so take me now take me now take me nowbecause the night belongs to lovers because the night belongs to lust because the night belongs to lovers because the night belongs to us ",1
41,"cantaloop flip fantasia","us3",1994,"ladies and gentlemen as you know we have something special down here at bird land this evening a recording for blue note records yeah yeah yeah whats that yeah yeah yeah funky funky how bout a big hand now wait wait a minute groovy groovy jazzy funky pounce bounce dance as we dip in the melodic sea the rhythm keeps flowin it drips to mc sweet sugar pop sugar pop rocks it pops ya dont stop till the sweet beat drops i show and prove as a stick in move hear the poems recited on top of the groove smooth mind floating like a butterfly notes start to float subtle like a lullaby brace yourself as the beat hits ya drip trip flip fantasia yeah yeah yeah whats that biggity biggity bop yeah biggity biggity bop funky funky feel the beat drop jazz and hip hop drippin in the dome mix is on the lock funk and fusion a fly illusion keeps ya coastin on the river we cruisin up down round and round found the found but nevertheless ya gots to get down finesse freak through the beat so unique ya move your feet the sweat from the heat back to the fact im the mack and i know that the way i kick the rhymes some would call me a poet funky flowin goin on with the sweet sound caught in the groove in fantasia im found many trip the tour upon the rhymes they soar to an infinite height to the realm of the hardcore here we go off i take ya dip trip flip fantasia yeah yeah yeah whats that biggity biggity bop yeah biggity biggity bop funky funky yeah yeah yeah whats that biggity biggity bop yeah biggity biggity bop funky funky jump to the jam boogy woogy jam slam bust the dialect im the man in command come flow with the sounds of the mighty mic masta rhyme them on the mic i bring a sucka disasta beau coup bucks but i still rock nike with the razzle dazzle star i might be scribble scrabble on the microphone i babble as i flip the funky words into a puzzle yes yes yes on and on as i flex get with the flow words manifest feel the vibe from here to asia dip trip flip fantasia oh you dont stop come on come on come on come on come on come on give me more of that funky horn whats that yeah funky funky biggity biggity bop biggity biggity bop funky funky yeah yeah yeah whats that biggity biggity bop yeah biggity biggity bop funky funky yeah yeah yeah whats that yeah yeah yeah funky funky yeah yeah yeah whats that biggity biggity bop yeah biggity biggity bop funky funky yeah yeah yeah whats that biggity biggity bop yeah biggity biggity bop funky funky",3
42,"whoomp there it is","tag team",1994," party people yeah tag team music in full effect thats me dc the brain supreme and my man steve rolln were kicking the flow were kickin the flow and it goes a little somethin like this tag team back again check its records lets begin party on party people let me hear some noise dcs in the house jump jump rejoice theres a party over here a party over there wave your hands in the air shake your deriere these three words when youre gettin busy whoomp there it is hit meupside down and inside out im about to show all you folks whats its all about now its time for a nigga to get on the mic and make this mother fucking party hype im taking it back to the old school cause im an old fool whos so cool if you want to get down im gonna show you the way whoomp there it is let me hear you saywhoomp chak a laka chack a laka chak a laka chak a whoomp chak a laka chack a laka chak a laka chak a whoomp chak a laka chack a laka chak a laka chak a whoomp chak a laka chack a laka chak a laka chak apoint blank gin and juice i drank gettin bent and bent and as i puff on a dankt rock a mic uh oh i crave skin rip shit find a honey to to dip it in slam dunk it stick it flip it and ride that b double o t y oh my ooh thats it come on come on whoomp there it is im donesome say im crazy cause im pushin up daises the underground sound that you have found amazing outstanding demanding commanding you people dancin shit thats a breath taker i produce aka the undertaker you want to come down to the underground old school  heres a shovel can you dig it fool can you dig it we can dig it can yll dig it we can dig itw h double o m p as i flow to the fly shit from the school of old hardcore keep the folk lore wreck three to the two and one miccheck mad skill flow ill on the mesh of steel thats the grill of the microphone i just killed party people its your party tag team is through whoomp there it is i thought you knewyeah tag team music comin straight atcha thats me dc the brain supreme and my man steve rolln bring it back yall bring it back yall bring it back here we gowhoomp there it is ",1
43,"come to my window","melissa etheridge",1994," come to my window crawl inside wait by the light of the moon come to my window ill be home sooni would dial the numbers just to listen to your breath i would stand inside my hell and hold the hand of death you dont know how far id go to ease this precious ache you dont know how much id giveor how much i can take just to reach you just to reach you oh to reach youcome to my window crawl inside wait by the light of the moon come to my window ill be home soonkeeping my eyes open i cannot afford to sleep giving away promises i know that i cant keep nothing fills the blackness that has seeped into my chesti need you in my blood i am forsaking all the rest just to reach you just to reach you oh to reach you ohcome to my window crawl inside wait by the light of the moon come to my window ill be home sooni dont care what they think i dont care what they say what do they know about this love anywaycome come to my window ill be home ill be home ill be home i am coming homecome to my window ohho crawl inside wait by the light of the moon come to my window ill be home soon ill be home ill be home i am coming homecome to my window ohho crawl inside wait by the light of the moon come to my window ill be home soon ill be home ill be home ill be home ",1
44,"stroke you up","changing faces",1994," relax baby im gonna make you feel real good tonight is your night come here lets get this shirt off now tell me what you like cause i make it everything you want now come closer uh uh closer dont be scared touch me right there oh yeah uhh you go boyyou asked for me so whatcha wanna see me for i wanna show you something oh yeah and whats that turn the lights down half way huh hey yo thats cooldo you mind if i stroke you up i dont mind do you mind if i stroke you down i dont mind all through the night i dont mind until your bodys tired i dont mind do you mind if i stroke you up i dont mind do you mind if i stroke you down i dont mind all through the night i dont mind makin you feel so right i dont mindcmon in and close the door ive got what youre looking for dim the lights unplug the phone and turn the radio on ive got what you need just put your trust in me and i wont let you down so give me your love right nowgive it up thats what i wanna do keep it comin dont stop ive got a question for youdo you mind if i stroke you up i dont mind do you mind if i stroke you down i dont mind all through the night i dont mind until your bodys tired i dont mind do you mind if i stroke you up i dont mind do you mind if i stroke you down i dont mind all through the night i dont mind makin you feel so right i dont mindi know the things to do to make you feel alright giving you all of me and keepin you satisfied boy theres no mystery you know how i feel right now i want to lift you up and make your love come downgive it up thats what i wanna do keep it comin dont stop ive got a question for youdo you mind if i stroke you up i dont mind do you mind if i stroke you down i dont mind all through the night i dont mind until your bodys tired i dont mind do you mind if i stroke you up i dont mind do you mind if i stroke you down i dont mind all through the night i dont mind makin you feel so right i dont mindgive it up thats what i wanna do keep it comin dont stop ive got a question for youdo you mind if i oh yeah baby does it feel good yeah come on uh up and down up and down stroke me baby up and down yeah come on babydo you mind if i stroke you up i dont mind do you mind if i stroke you down i dont mind all through the night i dont mind until your bodys tired i dont mind do you mind if i stroke you up i dont mind do you mind if i stroke you down i dont mind all through the night i dont mind makin you feel so right i dont minddo you mind if i stroke you up i dont mind do you mind if i stroke you down i dont mind all through the night i dont mind until your bodys tired i dont mind do you mind if i stroke you up i dont mind do you mind if i stroke you down ",1
45,"im ready","tevin campbell",1994," yeah baby ah come onbaby it was uncool to love me then leave me standing here now without a goodbye and maybe i am the fool you call me cause ill be here standing waiting to hear you say to meim ready you know im ready to love you to love you forever forever hey love now come love me forever moreim ready you know im ready to love you to love you forever forever hey love now come love me forever moresometimes when im alone i feel sad i know youll leave me once again and take my pride and maybe i am the fool you call me yeah cause ill be here standin waiting to hear you say to me yeahim ready you know im ready to love you to love you forever forever hey love now come love me forever moresee im ready you know im ready to love you to love you forever baby forever hey love now come love me forever moreand once again ill be right here waiting to share your love but i hope this time for once well forever mend it upsee im ready you know im ready to love you to love you forever forever hey love now come love me forever moreim ready you know im ready to love you to love you forever baby forever hey love now come love me forever moreim ready yes i am im ready you know im ready to love you to love you forever forever and ever baby hey love now come love me forever moreim ready you know im ready to love you to love you forever forever hey love now come love me forever moreim ready im ready to love you forever forever hey love now come love me forever moreim ready to love you forever ",1
46,"100 pure love","crystal waters",1994," its 12 past midnight dont close your eyes your souls half alive and ill be by your side ive come to take you there show you how to care just be aware that youll have to sharei want your love i want it tonight im taking your heart so dont you fight ill be your answer ill be your wish ill be your fantasy your favorite dishfrom the back to the middle and around again im gonna be there til the end 100 pure love from the back to the middle and around again im gonna be there til the end 100 pure loveyou saw a brand new high thought that you could fly did i hear you cry or did you like the ride you call my name again no its not a sin ill show you how to win and where ive beeni want your love i want it tonight im taking your heart so dont you fight ill be your answer ill be your wish ill be your fantasy your favorite dishfrom the back to the middle and around again im gonna be there til the end 100 pure love from the back to the middle and around again im gonna be there til the end 100 pure love from the back to the middle and around again im gonna be there til the end 100 pure loveyoull never have to run away youll always have a friend to play youll never go out on your own in me you will find a home homefrom the back to the middle and around again im gonna be there til the end 100 pure love from the back to the middle and around again im gonna be there til the end 100 pure love ",1
47,"anytime you need a friend","mariah carey",1994," if youre lonely and need a friend and troubles seem like they never end just remember to keep the faith and love will be there to light the wayanytime you need a friend i will be here youll never be alone again so dont you fear even if youre miles away im by your side so dont you ever be lonely love will make it alrightwhen the shadows are closing in and your spirit diminishing just remember youre not alone and love will be there to guide you homeanytime you need a friend i will be here youll never be alone again so dont you fear even if youre miles away im by your side so dont you ever be lonely love will make it alrightif you just believe in me i will love you endlessly take my hand take me into your heart ill be there forever baby i wont let go ill never let goanytime you need a friend i will be here youll never be alone again so dont you fear even if youre miles away im by your side so dont you ever be lonely its alright its alright its alrightyes you know its alright oh dont ever feel it oh im by your side dont you ever be lonely yeah anytime oh youll never be alone ",1
48,"because of love","janet jackson",1994," because of love because of lovebecause of love i know you better because of love we are together because of love you have my heart because of love well never partwhen i first met you i knew that my life would never be the same and i knew that you felt it to never feel alone againboy cause youre love makes me feel so secure you got me singinbecause of love i know you better because of love we are together because of love you have my heart because of love well never partbecause of love i know you better because of love we are together because of love you have my heart because of love well never parti dont care what people say youre the one that brings me so much joy when i look your smilin eyes my heart wants to dance boytheres only you on my mind and i never want to leave your side it feels right so lets stay together never feel alone againboy cause youre love makes me feel so secure you got me singinbecause of love i know you better because of love we are together because of love you have my heart because of love well never partits cause of love weve shared great memories the way you make me feel its cause of love i feel so high i dont need nobody else because of love because of lovebecause of because of love because of love i know you better because of because of love i know you betterbecause of love i know you better because of love we are together because of love you have my heart because of love well never partbecause of love i know you better because of love we are together because of love you have my heart because of love well never partbecause of love because of love because of love because of love because of love because of love because of love ",1
49,"linger","the cranberries",1994,"if you if you could return dont let it burn dont let it fade im sure im not being rude but its just your attitude its tearing me apart its ruining everything i swore i swore i would be true and honey so did you so why you were you holding her hand is that the way we stand were you lying all the time was it just a game to you but im in so deep you know im such a fool for you you got me wrapped around your finger do you have to let it linger do you have to do you have to do you have to let it linger oh i thought the world of you i thought nothing could go wrong but i was wrong i was wrong if you if you could get by trying not to lie things wouldnt be so confused and i wouldnt feel so used but you always really knew i just wanna be with you and im in so deep you know im such a fool for you you got me wrapped around your finger do you have to let it linger do you have to do you have to do you have to let it linger and im in so deep you know im such a fool for you you got me wrapped around your finger do you have to let it linger do you have to do you have to do you have to let it linger you know im such a fool for you you got me wrapped around your finger do you have to let it linger do you have to do you have to do you have to let it linger",3
50,"loser","beck",1994," in the time of chimpanzees i was a monkey butane in my veins and im out to cut the junkie with the plastic eyeballs spray paint the vegetables dog food stalls with the beefcake pantyhosekill the headlights and put it in neutral stock car flamin with a loser in the cruise control babys in reno with the vitamin d got a couple of couches sleep on the love seatsomeone came in sayin im insane to complain about a shotgun wedding and a stain on my shirt dont believe everything that you breathe you get a parking violation and a maggot on your sleeveso shave your face with some mace in the dark savin all your food stamps and burnin down the trailer park yo cut itsoy un perdedor im a loser baby so why dont you kill me double barrel buckshot soy un perdedor im a loser baby so why dont you kill meforces of evil on a bozo nightmare ban all the music with a phony gas chamber cause ones got a weasel and the others got a flag ones on the pole shove the other in a bagwith the rerun shows and the cocaine nosejob the daytime crap of the folksinger slob he hung himself with a guitar string a slab of turkey neck and its hangin from a pigeon wingyou cant write if you cant relate trade the cash for the beef for the body for the hate and my time is a piece of wax fallin on a termite thats chokin on the splinterssoy un perdedor im a loser baby so why dont you kill me get crazy with the cheese whiz soy un perdedor im a loser baby so why dont you kill me driveby body pierceyo bring it on downim a driver im a winner things are gonna change i can feel itsoy un perdedor im a loser baby so why dont you kill me i cant believe you soy un perdedor im a loser baby so why dont you kill mesoy un perdedor im a loser baby so why dont you kill me sprechen sie deutsche baby soy un perdedor im a loser baby so why dont you kill me know what im sayin ",1
51,"found out about you","gin blossoms",1994," all last summer in case you dont recall i was yours and you were mine forget it all is there a line that i could write sad enough to make you cry and all the lines you wrote to me were liesmonths roll past the love that you struck dead did you love me only in my head well the things you said and did to me seemed to come so easily the love i thought id won you give for freewhispers at the bus stop i heard about nights out in the school yard i found out about you i found out about yourumors follow everywhere you go when you left and i was last to know famous now and theres no doubt all the places you hang out they know your name and know what youre aboutwhispers at the bus stop i heard about nights out in the school yard i found out about you i found out about youstreet lights break on through the car window and the time too often on a m radio well you know its all i think about i write your name drive past your house your boyfriends over i watch your light go outwhispers at the bus stop i heard about nights out in the school yard i found out about you i found out about youwhispers at the bus stop i heard about nights out in the school yard i found out about you i found out about you i found out about you ",1
52,"gin and juice","snoop doggy dogg",1994," heah hah hah im serious nigga one of yall niggaz got this ass motherfuckin up aiy baby aiy baby aiy baby get some bubblegum in this motherfucker steady long steady long niggawith so much drama in the lbc its kinda hard bein snoop dodoubleg but i somehow some way keep comin up with funky ass shit like every single day may i kick a little something for the gs yeah and make a few ends as yeah i breeze through two in the mornin and the partys still jumpin cause my momma aint home i got bitches in the living room gettin it on and they aint leavin til six in the mornin six in the mornin so what you wanna do sheeeit i got a pocket full of rubbers and my homeboys do too so turn off the lights and close the doors but but what we dont love them hoes yeah so we gonna smoke a ounce to this gs up hoes down while you motherfuckers bounce to thisrollin down the street smokin indo sippin on gin and juice laid back with my mind on my money and my money on my mind rollin down the street smokin indo sippin on gin and juice laid back with my mind on my money and my money on my mindnow that i got me some seagrams gin everybody got they cups but they aint chipped in now this types of shit happens all the time you got to get yours but fool i gotta get mine everything is fine when you listenin to the dog i got the cultivating music that be captivating he who listens to the words that i speak as i take me a drink to the middle of the street and get to mackin to this bitch named sadie sadie she used to be the homeboys lady oh that bitch eighty degrees when i tell that bitch please raise up off these nuts cause you gets none of these at ease as i mob with the dogg pound feel the breeze beeeitch im justrollin down the street smokin indo sippin on gin and juice laid back with my mind on my money and my money on my mind rollin down the street smokin indo sippin on gin and juice laid back with my mind on my money and my money on my mindlater on that day my homey dr dre came through with a gang of tanqueray and a fat ass j of some bubonic chronic that made me choke shit this aint no joke i had to back up off of it and sit my cup down tanqueray and chronic yeah im fucked up now but it aint no stoppin im still poppin dre got some bitches from the city of compton to serve me not with a cherry on top cause when i bust my nut im raisin up off the cot dont get upset girl thats just how it goes i dont love you hoes im out the do and ill berollin down the street smokin indo sippin on gin and juice laid back with my mind on my money and my money on my mind rollin down the street smokin indo sippin on gin and juice laid back with my mind on my money and my money on my mindrollin down the street smokin indo sippin on gin and juice beeotch laid back with my mind on my money and my money on my mind rollin down the street smokin indo sippin on gin and juice beeotch laid back with my mind on my money and my money on my mind ",1
53,"never lie","immature",1994," friends come a dime a dozen and i know that ill never find a friend like you and thats why i wanna sing this song wherever you are i just want to let you know that ill never lie to you again i promisei will never lie again cause you will always be my friend i will never lie again cause a friend like you will last foreversitting in my window thinking of you all the fun things we use to do i feel the pain please come back to me cause a friend like you will only come once in a lifetimei will never lie again cause you will always be my friend i will never lie again cause a friend like you will last foreveron the phone when you were here laughing and joking cryin and sulkin in my dreams youre still with me cause a friend like you will only come once in a lifetimei will never lie again cause you will always be my friend i will never lie again cause a friend like you will last foreverwhen i think of you i think of someone special and how it used to be i know youll always be my friend im so sad it had to end oh yeah babyi will never lie again cause you will always be my friend i will never lie again cause a friend like you will last foreveri will never lie again cause youll always be my friend i will never lie again cause a friend like you will last forever i will never lie again ",1
54,"streets of philadelphia","bruce springsteen",1994," i was bruised and battered i couldnt tell what i felt i was unrecognizable to myself i saw my reflection in a window i didnt know my own face oh brother are you gonna leave me wastin away on the streets of philadelphiai walked the avenue til my legs felt like stone i heard the voices of friends vanished and gone at night i could hear the blood in my veins black and whispering as the rain on the streets of philadelphiaaint no angel gonna greet me its just you and i my friend my clothes dont fit me no more i walked a thousand miles just to slip this skinthe night has fallen im lyin awake i can feel myself fading away so receive me brother with your faithless kiss or will we leave each other alone like this on the streets of philadelphia ",1
55,"getto jam","domino",1994," here we go here we go as the tune starts to bloom with a phat phat track pumpin gas 1 2 3 and this is o g the freaks would ya move ya pretty aassthe getto jam is about to slam with some notes from the diggady dde as i key whats really goin on would ya reminisce with meesaturday morning just gettin up with a hangover smellin like a fuck i really cant remember cause im still kinda faded so i close my eyes and thank god that i made itnow im gettin flashbacks of some oj with a green glass thats tangere took it to the hand gulped it down with the quickness now i need a trick so i can handle my businesswhat do you know a freaks in my reach threw her on the flo stuck it in her deep shes screamin and shes screamin and shes screamin gettin horse but then i busted her gut and that was that so kick the chorushere we go here we go as the tune starts to bloom with a phat phat track pumpin gas 1 2 3 and this is o g the freaks would ya move ya pretty aassthe getto jam is about to slam with some notes from the diggady dde as i key whats really goin on would ya reminisce with meemy homies are down chillin in the hood got them hootchies well they aint no good to the other man well she might be some good cat but the homies in the hood label her as a hood ratshes standing there so those with game can dare and ooh shell pound that ass real fast if it aint that bigand when your in that thing shell make the homies sing dubabwaa dubabwaa dubabwaa but you dont hear me doeaint nuthin wrong with being a trojan man when ya ridin so lets kick the chorus please if ya like ithere we go here we go as the tune starts to bloom with a phat phat track pumpin gas 1 2 3 and this is o g the freaks would ya move ya pretty aassthe getto jam is about to slam with some notes from the diggady dde as i key whats really goin on would ya reminisce with meemy homies crowding in this dope yellow chevy 203 to be prox ken was kickin that funk in the trunk clean with the rag on top yeahrollin down the shore guess what we saw some hootchies theyre fine as wine is doggin me shes showing bootyso i approached the freak of the week and i played it like a game of blackjack and for all that ass that she toted around well i offered a backpackand since im a mack well you know how the story goes so all ya bros freaks ya know here we gohere we go here we go as the tune starts to bloom with a phat phat track pumpin gas 1 2 3 and this is o g the freaks would ya move ya pretty aassthe getto jam is about to slam with some notes from the diggady dde as i key whats really goin on would ya reminisce with meehere we go here we go as the tune starts to bloom with a phat phat track pumpin gas 1 2 3 and this is o g the freaks would ya move ya pretty aassthe getto jam is about to slam with some notes from the diggady dde as i key whats really goin on would ya reminisce with meehere we go here we go as the tune starts to bloom with a phat phat track pumpin gas 1 2 3 and this is o g the freaks would ya move ya pretty aassthe getto jam is about to slam with some notes from the diggady dde as i key whats really goin on would ya reminisce with mee ",1
56,"endless love","luther vandross and mariah carey",1994," my love theres only you in my life the only thing thats right my first love youre every breath i take youre every step i makeand i i want to share all my love with you no one else will do and your eyes your eyes your eyes they tell me how much you care oh yes youll always be my endless lovetwo hearts two hearts that beat as one our lives have just begun and forever ill hold you close in my arms i cant resist your charmsand i id play the fool for you im sure you know i dont mind no you know i dont mind and yes you mean the world to me i know ive found in you my endless love ",1
57,"i miss you","aaron hall",1994," we used to talk and laugh all night girl what happened to those days did they all just fade away holding you in my arms made me feel so happy then you said you had to go whats wrong baby i need to knowbut now is the day i wish you could come back to make us true but youre long gone away now im missing you im missing you baby i miss you im talking to you baby i miss youi thought youd be with me forever but i guess someone took my place took the place of me loving you making love to you all through the night i wish you were still here so i could see your pretty face again please come back and rescue me from all this pain and miserytheres nothing i wouldnt do to get back next to you im missing you every day im missing you every day i just cant go on this way i just cant go on this way come back to me im begging you please im down on my knees im begging you please i miss you ",1
58,"understanding","xscape",1994," what i need from you is understanding how can we communicate if you dont hear what i saywhat i need from you is understanding so simple as 1 23 understanding is what we needyou dont really know me you just wanna do what you wanna do thats not the way it should beno you should listen to me boy i try so very hard to make you understand but the choices you make baby theyre all demandsi try so very hard to keep our love alive but you dont wanna meet me half way then the understanding diestheres no way that we can work it out if we dont pull together i dont mean to be demanding but i want some understanding i wanna be with youwhat i need from you is understanding how can we communicate if you dont hear what i saywhat i need from you is understanding so simple as 123 understanding is what we needi listen to you baby and i know the things youre going through i try to understand thats why im still here with youbabysee everyday were living is one thing that will always be unsure thats why i need you baby pleading baby please let our love endurei try so very hard to keep our love alive but you dont wanna meet me half way then the understanding diestheres no way that we can work it out if we dont pull together i dont mean to be demanding but i want some understanding i wanna be with youwhat i need from you is understanding how can we communicate if you dont hear what i saywhat i need from you is understanding so simple as 123 understanding is what we needi try so very hard to keep our love alive but you dont wanna meet me half way then the understanding diestheres no way that we can work it out if we dont pull together i dont mean to be demanding but i want some understanding i wanna be with youwhat i need from you is understanding how can we communicate if you dont hear what i saywhat i need from you is understanding so simple as 123 understanding is what we needwhat i need from you is understanding how can we communicate if you dont hear what i saywhat i need from you is understanding so simple as 123 understanding is what we need ",1
59,"this dj","warren g",1994,"introchorus warren g its kind of easy when youre listening to the gdub sound pioneer speakers bumpin as i smoke on a pound i got the sound for yo ass and its easy to see singing that this d j be warren g verse one warren g can i get in where i fit in sit in listen uhhuh let me conversate better yet regulate shake the spot with my knot may fade cause i dont like to dream about gettin paid i played ball through the halls of cis with snoop doggs big brother call him dirty left rack em up crack em up stack em up against the gate the homies tryin ta catch me but they caint wait damn the street lights just came on and my mommas in the streets tellin me to come home i hit the gate and i hops on my schwinn and i tell the homies aight then yeah chorus 2x verse two warren g verse two uhhuh now what the fuck i do catch the bus to cal state or chill with the voltron crew and make a few ends on the side here comes a baby blue van time to ride so i hops in the van with my nigga tick and baby poppa back then that was my click we groovin to santa anna and we planon makin hellafied mount of money hell yeah and what i did for extra fees was break niggaz after work playin get like me i was fourteen years old havin a sack just a young motherfucker eatin valupaks shootin dice in the corners of the public schools and i used to gangbang but now its a g thang and i still know how to make those ends you dont believe me go ask the twinz motherfucker chorus 2x outro o g l b yeah check this out this is im o g l b knowhatimsayin im on my little o g warren g and he just droppin this to let you bgs know whats happen yall got to recognize cause this is yknow a long beach thang 21st street but check this out g gonna go out there yaknowhatimsayin and handle that shit ynow yeah chorus 2x hey greg i hope you was tapin that shit",5
60,"cry for you","jodeci",1994," without you baby i feel worthless im livin on the edgeits been an hour since youve been gone and thats too long so come back homei cant live without you so ill cry for you do anything that i can to feel that touch from your hand sorry that i want you lady what do i doyou know youre everything i do ooh yeah do what you want me to i would do anything get on my knees for youooh baby what else is there to do i dont know i dont know but ill crylady i will cry for you tonight tonight yeah lady i will cry for you tonight help me out help me out yeah tonightyou spoil me girl like a child when youre not here i cant even smile i cant think without you my mind is always with youits amazing what you do to keep me falling in love with you girl you all that i know where else can i goi say you know youre everything i do ooh wee do what you want me to anything you need from me baby get on my knees for youohh ooh ohh what else is there to do i dont know i dont know but ill crylady i will cry for you tonight tonight lady i will cry for you tonight help me out baby help me out baby yes tonight i dont know what else to say i dont know what else to say kci help me sing itlady i will cry for you tonight jojo im right here yes i am i will cry for you lady tonight sometimes my pillow gets so wet with tears i dont have no one to call my own i want you back babylady i will cry for you tonight tonight ooh yeahbaby im beggin baby im beggin beggin baby baby im beggin baby im beggin beggin baby baby im beggin baby im beggin beggin baby  ",1
61,"keep ya head up","2pac",1994," little somethin for my godson elijah and a little girl named corinnesome say the blacker the berry the sweeter the juice i say the darker the flesh then the deeper the roots i give a holler to my sisters on welfare tupac cares if dont nobody else care and uh i know they like to beat ya down a lot when you come around the block brothas clown a lot but please dont cry dry your eyes never let up forgive but dont forget girl keep your head up and when he tells you you aint nuttin dont believe him and if he cant learn to love you you should leave him cause sista you dont need him and i aint tryin to gas ya up i just call em how i see em you know it makes me unhappy whats that when brothas make babies and leave a young mother to be a pappy and since we all came from a woman got our name from a woman and our game from a woman i wonder why we take from our women why we rape our women do we hate our women i think its time to kill for our women time to heal our women be real to our women and if we dont well have a race of babies that will hate the ladies that make the babies and since a man cant make one he has no right to tell a woman when and where to create one so will the real men get up i know youre fed up ladies but keep your head upkeep ya head up ooh child things are gonna get easier keep ya head up ooh child thingsll get brighterkeep ya head up ooh child things are gonna get easier keep ya head up ooh child thingsll get brighteraiyyo i remember marvin gaye used to sing to me he had me feelin like black was tha thing to be and suddenly tha ghetto didnt seem so tough and though we had it rough we always had enough i huffed and puffed about my curfew and broke the rules ran with the local crew and had a smoke or two and i realize momma really paid the price she nearly gave her life to raise me right and all i had to give her was my pipe dream of how id rock the mic and make it to tha bright screen im tryin to make a dollar out of fifteen cents its hard to be legit and still pay your rent and in the end it seems im headin for tha pen i try and find my friends but theyre blowin in the wind last night my buddy lost his whole family its gonna take the man in me to conquer this insanity it seems tha rainll never let up i try to keep my head up and still keep from gettin wet up you know its funny when it rains it pours they got money for wars but cant feed the poor said it aint no hope for the youth and the truth is it aint no hope for tha future and then they wonder why we crazy i blame my mother for turning my brother into a crack baby we aint meant to survive cause its a setup and even though youre fed up huh ya got to keep your head upkeep ya head up ooh child things are gonna get easier keep ya head up ooh child thingsll get brighterkeep ya head up ooh child things are gonna get easier keep ya head up ooh child thingsll get brighterand uh to all the ladies havin babies on they own i know its kinda rough and youre feelin all alone daddys long gone and he left you by ya lonesome thank the lord for my kids even if nobody else want em cause i think we can make it in fact im sure and if you fall stand tall and comeback for more cause aint nothin worse than when your son wants to kno why his daddy dont love him no mo you cant complain you was dealt this hell of a hand without a man feelin helpless because theres too many things for you to deal with dying inside but outside youre looking fearless while the tears is rollin down your cheeks ya steady hopin things dont all down this week cause if it did you couldnt take it and dont blame me i was given this world i didnt make it and now my sons gettin older and older and cold from havin the world on his shoulders while the rich kids is drivin benz im still tryin to hold on to my survivin friends and its crazy it seems itll never let up but please you got to keep your head up ",1
62,"whats my name","snoop doggy dogg",1994,NA,NA
63,"another night","real mccoy",1994," another night another dream but always you its like a vision of love that seems to be true another night another dream but always you in the night i dream of love so truejust another night another vision of love you feel joy you feel pain cause nothing will be the same just another night is all that it takes to understand the difference between lovers and fakes so baby i talk talk i talk to you in the night in your dream of love so true i talk talk i talk to you in the night in your dream of love so true in the night in my dreams im in love with you cause you talk to me like lovers do i feel joy i feel pain cause its still the same when the night is gone ill be aloneanother night another dream but always you its like a vision of love that seems to be true another night another dream but always you in the night i dream of love so truejust another night another dream another vision of love with me im here to set you free i am your lover your brother hey sister let me cover your body with my love is with my lovin just another vision of love that seems to be true all we do all the things that only lovers do vision of love that seems to be true all we do all the things that only lovers do in the night in my dreams im in love with you cause you talk to me like lovers do i feel joy i feel pain cause its still the same when the night is gone ill be aloneanother night another dream but always you its like a vision of love that seems to be true another night another dream but always you in the night i dream of love so truei talk talk i talk to you in the night in your dream of love so true i talk talk i talk to you in the night in your dream of love so true in the night in my dreams im in love with you cause you talk to me like lovers do i feel joy i feel pain cause its still the same when the night is gone ill be aloneanother night another dream but always you its like a vision of love that seems to be true another night another dream but always you in the night i dream of love so true ",1
64,"your bodys callin","r kelly",1994," i hear you callin here i come baby to save you oh oh baby no more stallin these hands have been longing to touch you baby and now that youve come around to seein it my way you wont regret it baby and you surely wont forget it baby its unbelieveable how your bodys calling for me i can just hear it callin callin for memy bodys callin for you my bodys callin for you my bodys callin for you my bodys callin for youtell me whats your desire baby your wish is my deal oh yes it is baby let me take you higher show you how you should feel baby oh so we speak now and forever hold your body whatever it is you want from me baby you see you dont have to say nothing knowing your body wants something and its easy for me to see that your bodys callin for memy bodys callin for you my bodys callin for you my bodys callin for you my bodys callin for youim listening baby i hear you callin me im listening baby i hear you callin me im listening baby i hear you callin me im listening baby i hear you callin memy bodys callin for you i hear you callin me my bodys callin for you i hear you callin me my bodys callin for you i hear you callin me my bodys callin for you ",1
65,"tootsee roll","69 boyz",1994," the butterfly ooh thats old let me see that tootsee roll yeah 1994 69 boyz backed up by quad city dj one time cotton candy sweet to go let me see that tootsie rollyeah tootsie roll let me see that tootsie roll get up and roll just make that tootsie oohcotton candy sweet and low let me see that tootsie roll come on tootsie roll just make that tootsie roll here we go tootsie roll just make that tootsie rollyeah tootsie roll let me see that tootsie roll get up and roll just make that tootsie rollto the left to the left to the right to the right to the front to the front to the back to the back now slide slide baby slide just slide baby slide just slide baby slide come on come onto the left to the left to the right to the right to the front to the front to the back to the back now dip baby dip come on lets dip baby dip baby dip baby just dip baby dip baby dip just dip cotton candy sweet and low let me see that tootsie rolli dont know what youve been told it aint the butterfly its the tootsie roll a brand new dance so grab a partner get on the dance floor and work them hips a little bit and do that dip a little bitoh yeah you got it no ifs andsno buts about it and you over there with the long hair keep workin that derriere cause it aint hard just a brand new dance for the 1991 69 is the place to be a yo skee what we came to seecotton candy sweet and low let me see your tootsie roll here we go come on tootsie roll come on tootsie roll let me see your tootsie roll come on tootsie roll just dip that tootsie roll and tootsie roll here we go tootsie rolljust i feel a whoop comin up a whoop comin up i just feel a whoop comin up a whoop comin up whoop come on whoop come onwhoop yeah come on come on and whoop whoop whoop yeah baby cotton candy sweet and low let me see that tootsie rollcome on tootsie roll just make that tootsie roll yeah tootsie roll gotta go make your tootsie roll here we go tootsie roll just make that tootsie roll i want to see your tootsie roll just make them tootsie rollto the left to the left to the right to the right to the front to the front to the back to the back now slide slide slide slide now slide slide slide slidei feel a whoop comin on a whoop comin on 5 4 3 2 1 come on whoop whoop whoop whoop come on whoop whoop whoop whoop cotton candy sweet and low let me see that tootsie rolli dont know what youve been told it aint the butterfly its the tootsie roll a brand new dance so grab a partner get on the dance floor 69 is the place to be a yo skee what we came to seecome on flow oh oh lets go let me see that tootsie roll here we go come on tootsie roll come on tootsie roll let me see your tootsie roll come on tootsie roll just dip that tootsie roll and tootsie roll here we go tootsie roll just tootsie rollto the left to the left to the right to the right to the front to the front to the back to the back now slide slide slide slide now slide slide slide slide come on come onto the left to the left to the right to the right to the front to the front to the back to the back now dip baby dip come on lets dip baby dip dip baby dip just dip baby dip baby dip just dipi feel a whoop comin on a whoop comin on i feel a whoop comin on a whoop comin on oh here we go now whoop whoop whoop whoop come on lets whoop whoop oh baby baby just roll just roll just roll ",1
66,"i can see clearly now","jimmy cliff",1994," i can see clearly now the rain is gone i can see all obstacles in my way gone are the dark clouds that had me blind its gonna be a bright bright bright bright sunshiny day its gonna be a bright bright bright bright sunshiny dayoh yes i can make it now the pain is gone all of the bad feelings have disappeared here is that rainbow ive been praying for its gonna be a bright bright bright bright sunshiny daylook all around theres nothing but blue skies look straight ahead theres nothing but blue skiesi can see clearly now the rain is gone i can see all obstacles in my way here is that rainbow ive been praying for its gonna be a bright bright bright bright sunshiny day its gonna be a bright bright bright bright sunshiny day bright bright bright bright bright sunshiny day its going to be a bright bright bright bright sunshiny day its gonna be a bright bright bright bright sunshiny day its gonna be a bright bright bright bright sunshiny day ",1
67,"never keeping secrets","babyface",1994," i never meant to lie to you but i needed me an easy way out i couldnt face the truth with you because i didnt want to lose my clout i always have been good to you girl i promise you that nothing has changed momentary insanity must be the reason why i did you that way babe so now im telling everybody that i that i know i was a fool to take a chance of losing and i cant take losing youso im never keeping secrets and im never telling lies i wanna make it up to you no im never keeping secrets girl i swear its all behind i only wanna be with youso im never keeping secrets and im never telling lies i wanna make it up to you no im never keeping secrets girl i swear its all behind i only wanna be with youi didnt want to lie to you but i didnt want to let you down it never did occur to me sooner or later that you would find out you know how much i care for you and i would never want to cause you pain i know that there is no excuse how could i ever treat my baby that way so now im telling everybody that i that i know i was a fool but i dont give a damn about it cause i wanna get back with you andso im never keeping secrets and im never telling lies i wanna make it up to you no im never keeping secrets girl i swear its all behind i only wanna be with youso im never keeping secrets and im never telling lies i wanna make it up to you no im never keeping secrets girl i swear its all behind i only wanna be with you baby you babyif you wanna go i want you to know girl that i understand it but i dont recommend it cause i love you more you cant ignore that i will die for you and even lay down my life for you girl girl i wanna see you standing next to me girl i apologize for each and every lie i i want you to be the only one for me forever and ever and ever and ever and everso im never keeping secrets and im never telling lies i wanna make it up to you no im never keeping secrets girl i swear its all behind i only wanna be with youso im never keeping secrets and im never telling lies i wanna make it up to you no im never keeping secrets girl i swear its all behind i only wanna be with youso im never keeping secrets and im never telling lies i wanna make it up to you no im never keeping secrets girl i swear its all behind i only wanna be with youso im never keeping secrets and im never telling lies i wanna make it up to you no im never keeping secrets girl i swear its all behind i only wanna be with you ",1
68,"crazy","aerosmith",1994," come here baby you know you drive me up the wall the way you make good on all the nasty tricks you pull seems like were makin up more than were makin love and it always seems you got somethin on your mind other than me girl you got to change your crazy ways you hear mesay youre leavin on a seven thirty train and that youre headin out to hollywood girl you been givin me that line so many times it kinda gets like feelin bad looks good yeahthat kinda lovin turns a man to a slave that kinda lovin sends a man right to his grave i go crazy crazy baby i go crazy you turn it on then youre gone yeah you drive me crazy crazy crazy for you baby what can i do honey i feel like the color blueyoure packin up your stuff and talkin like its tough and tryin to tell me that its time to go yeah but i know you aint wearin nothin underneath that over coat and its all a show yeahthat kinda lovin makes me wanna pull down the shade yeah that kinda lovin yeah now im never never never gonna be the same i go crazy crazy baby i go crazy you turn it on then youre gone yeah you drive me crazy crazy crazy for you baby what can i do honey i feel like the color blue im losin my mind girl cause im goin crai need your love honey yeah i need your love crazy crazy crazy for you baby im losin my mind girl cause im goin crazy crazy crazy crazy for you baby you turn it on then youre gone yeah you drive meooh ooh ooh ooh ooh ooh ow yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah now baby baby baby baby ",1
69,"just kickin it","xscape",1994," lay back kick it and enjoy the ride lay back kick it and enjoy the ride lay back kick it and enjoy the ride lay back kick it and enjoy the rideevery man wants a woman where him and her can just go hang just the two of them alone kick back doing their own thing and every man wants a woman that can always keep him in the mood and im that kind of girl so this is what i tell my dudei tell him to kick off your shoes and relax your feet party on down to the xscape beat just kick it lay back kick it and enjoy the ride just kick it just kick iti tell him to kick off your shoes and relax your feet party on down to the xscape beat just kick it lay back kick it and enjoy the ride just kick it just kick itevery man wants a woman that can cook him up a good meal a woman he can treat like his homie and take her out on the ave and just chill every man wants a woman that aint good for just laying on her back im that kind of woman so before me and my man get in the sacki tell him to kick off your shoes and relax your feet party on down to the xscape beat just kick it lay back kick it and enjoy the ride just kick it just kick itkick off your shoes and relax your feet party on down to the xscape beat just kick it lay back kick it and enjoy the ride just kick it just kick itkick off your shoes and relax your feet party on down to the xscape beat just kick it lay back kick it and enjoy the ride just kick it just kick itkick off your shoes and relax your feet party on down to the xscape beat just kick it lay back kick it and enjoy the ride just kick it just kick itlay back kick it and enjoy the ride lay back kick it and enjoy the ride lay back kick it and enjoy the ride lay back kick it and enjoy the ridekick off your shoes and relax your feet party on down to the xscape beat just kick it just kick it just kick itkick off your shoes and relax your feet party on down to the xscape beat just kick it lay back kick it and enjoy the ride just kick it just kick it ",1
70,"at your best you are love","aaliyah",1994," let me know let me know ah ha let me know let me know let me knowwhen i feel what i feel sometimes its hard to tell you so you may not be in the mood to learn what you think you knowthere are times when i find you want to keep yourself from me when i dont have the strength im just a mirror of what i seebut at your best you are love youre a positive motivating force within my life should you ever feel the need to wonder why let me know let me knowknow let me knowwhen you feel what you feel oh how hard for me to understand so many things have taken before this love affair began but if you feel oh like i feel confusion can give way to doubt for there are times when i fall short of what i say what i say im all about all aboutbut at your best you are love youre a positive motivating force within my life should you ever feel the need to wonder why let me know let me knowtell me what it is tell me what it is make believe no need to make believe look beyond your own look beyond your own try and find place for me try and find another place for mecause at your best you are love youre a positive motivating force within my life should you ever feel the need to wonder why let me know let me knowlet me know let me know let me know oh hah hah hah ha see stay your best baby ",1
71,"rock and roll dreams come through","meat loaf",1994," you cant run away forever but theres nothing wrong with getting a good head start you want to shut out the night you want to shut down the sun you want to shut away the pieces of a broken heartthink of how wed lay down together wed be listening to the radio so loud and so strong every golden nugget coming like a gift through the gods someone must have blessed us when he gave us those songsi treasure your love i never want to lose it girl youve been through the fires of hell and i know youve got the ashes to prove it i treasure your love i want to show you how to use it girl youve been through a lot of pain in the dirt and i know youve got the scars to prove itremember everything that i told you and im telling you again that its true when youre alone and afraid and youre completely amazed to find theres nothing anybody can dotheres always something magic theres always something new and when you really really need it the most thats when rock and roll dreams come throughthe beat is yours forever the beat is always true and when you really really need it the most thats when rock and roll dreams come through for youonce upon a time was a back beat once upon a time all the chords came to life and the angels had guitars even before they had wings if you hold onto a chorus you can get through the nighti treasure your love i never want to lose it girl youve been through the fires of hell and i know youve got the ashes to prove it i treasure your love i want to show you how to use it girl youve been through a lot of pain in the dirt and i know youve got the scars to prove itremember everything that i told you and im telling you again that its true youre never alone cause you can put on the phones and let the drummer tell your heart what to dotheres always something magic theres always something new and when you really really need it the most thats when rock and roll dreams come throughthe beat is yours forever the beat is always true and when you really really need it the most thats when rock and roll dreams come through oh for you yeah yeahthats when rock and roll dreams come through thats when rock and roll dreams come through thats when rock and roll dreams come through  ",1
72,"amazing","aerosmith",1994," NA ",1
73,"always","erasure",1994," open your eyes i see your eyes are open wear no disguise for me come into the openwhen its cold outside am i here in vain hold on to the night there will be no shamealways i want to be with you and make believe with you and live in harmony harmony oh lovemelting the ice for me jump into the ocean hold back the tide i see your love in motionwhen its cold outside am i here in vain hold on to the night there will be no shamealways i want to be with you and make believe with you and live in harmony harmony oh love ",1
74,"groove thang","zhane",1994," well its a groove thang its gotta funky swing well its a groove thang a groove thangcome onwere moving on keeping strong dont you let them steer you wrong its a groove thangwere gonna give you what you want just as long as youre around its a groove thangwere moving on keeping strong dont you let them steer you wrong its a groove thangwere gonna give you what you want just as long as youre around its a groove thangoh yeah ahpeople theres really nothing to it let your mind rest my friend and do it remember it aint over til its really over a groove thang groove thangrelax your mind listen to the rhythm its got you flowing but its in precision music is life and we are living groove thang groove thang groove thangwere moving on keeping strong dont you let them steer you wrong its a groove thangwere gonna give you what you want just as long as youre around its a groove thangoh yeah oh yeahits gonna make you touch the sky your bodys moving left to right youre grooving to the morning light its a groove thangoh yeahit takes some time to realize your bodys moving left to right the feelings oh so dynamite its a groove thangso whatcha gonna do whatcha gonna do keep your body move moving so whatcha gonna do whatcha gonna do keep your body move movingparty people its a silky fun and groove a thang party people its a silky fun and groove a thangoh yeahwere moving on keeping strong dont you let them steer you wrong its a groove thangwere gonna give you what you want just as long as youre around its a groove thangwere moving on keeping strong dont you let them steer you wrong its a groove thangwere gonna give you what you want just as long as youre around its a groove thang yeah ",1
75,"dreams","gabrielle",1994," they can come true they can come truemove a step closer you know that i want you i can tell by your eyes that you want me toojust a question of time i knew wed be together and that youd be mine i want you here foreverdo you hear what im saying gotta say how i feel i cant believe youre here but i know that youre reali know what i want and baby its you i cant deny my feelings because they are truedreams can come true look at me babe im with you you know you gotta have hope you know you gotta be strongdreams can come true look at me babe im with you you know you gotta have hope you know you gotta be strongive seen you sometimes on your own and in crowds i knew i had to have you my hopes didnt let me downnow youre by my side and i feel so good ive nothing to hide dont feel that i ever coulddo you hear what im saying gotta say how i feel i cant believe youre here but i know that youre reali know what i want and baby its you cant deny my feelings because they are truedreams can come true look at me babe im with you you know you gotta have hope you know you gotta be strongdreams can come true look at me babe im with you you know you gotta have hope you know you gotta be strongim not making plans for tomorrow lets live for tonight i know i want you baby so hold me so tightput your arms around me you make me feel so safe then you whisper in my ear that youre here to staydreams can come true look at me babe im with you you know you gotta have hope you know you gotta be strong  ",1
76,"mr vain","culture beat",1994," call him mr raider call him mr wrong call him mr vain call him mr raider call him mr wrong call him insanehed say i know what i want and i want it now i want you cause im mr vain i know what i want and i want it now i want you cause im mr vaincall me mr raider call me mr wrong call me insane call me mr vain call me what you like as long as you call me time and againfell the presence of the aura of the man none to compare loveless dying for a just to touch a hand or a moment to sharecant deny the urge that makes them want to lose themselves to the debonair one hold me back the simple fact is that im all that and im always nearone sexy cant perplex me now you know who raw as if you didnt know before i know what i want and i want it now i want you then i want a little morecall him mr raider call him mr wrong call him mr vain call him mr raider call him mr wrong call him insanehed say i know what i want and i want it now i want you cause im mr vain i know what i want and i want it now i want you cause im mr vaingirls are all over the world they hope and pray and die for man like me cause im the one begotten son that breaks the moldget a look at male epitome style has never seen that makes you want to grab and hold and squeeze real tightwhos gonna be the one to save you from yourself when you wanna take a bite please oh baby pleaseyou beg you want to stay you got to get some caught up in the charm that i laid on thick and now theres nowhereto run on the hook of my line yeah i keep many females longing for a chance to win my heart with sex and plenty ",1
77,"mary janes last dance","tom petty and the heartbreakers",1994," she grew up in an indiana town had a goodlookin mama who never was around but she grew up tall and she grew up right with them indiana boys on them indiana nightswell she moved down here at the age of eighteen she blew the boys away was more than theyd seen i was introduced and we both started groovin i said i dig you baby but i got to keep movin on keep movin onlast dance with mary jane one more time to kill the pain i feel summer creepin in and im tired of this town againwell i dont know but ive been told you never slow down you never grow old im tired of screwin up tired of going down tired of myself tired of this townoh my my oh hell yes honey put on that party dress buy me a drink sing me a song take me as i come cause i cant stay longlast dance with mary jane one more time to kill the pain i feel summer creepin in and im tired of this town againtheres pigeons down on market square shes standin in her underwear lookin down from a hotel room the nightfall will be comin soonoh my my oh hell yes you got to put on that party dress it was too cold to cry when i woke up alone i hit my last number and walked to the roadlast dance with mary jane one more time to kill the pain i feel summer creepin in and im tired of this town again ",1
78,"anything","swv",1994," there is nothing i wouldnt do for you all that you want ill be all that you need cause boy you know youve got me and ill do anythinganything you wanna do i am gonna try to boy my bodys just for you pleasure is the destination you can drive us if you choose to all this love is for youanything you wanna do i am gonna try to boy my bodys just for you pleasure is the destination you can drive us if you choose to all my love for youanything you wanna do i am gonna try to boy my bodys just for you pleasure is the destination you can drive us if you choose toanything you wanna do i am gonna try to boy my bodys just for you pleasure is the destination you can drive us if you choose to all my love for youanything you wanna do i am gonna try to boy my bodys just for you pleasure is the destination you can drive us if you choose to ",1
79,"beautiful in my eyes","joshua kadison",1994," youre my peace of mind in this crazy world youre everything ive tried to find your love is a pearl youre my mona lisa youre my rainbow skies and my only prayer is that you realize youll always be beautiful in my eyesthe world will turn and the seasons will change and all the lessons we will learn will be beautiful and strange well have our fill of tears our share of sighs my only prayer is that you realize youll always be beautiful in my eyesyou will always be beautiful in my eyes and the passing years will show that you will always grow ever more beautiful in my eyeswhen there are lines upon my face from a lifetime of smiles and when the time comes to embrace for one long last while we can laugh about how time really flies we wont say goodbye cause true love never dies youll always be beautiful in my eyesyou will always be beautiful in my eyes and the passing years will show that you will always grow ever more beautiful in my eyesthe passing years will show that you will always grow ever more beautiful in my eyes ",1
80,"stay","eternal",1994," stay stay stay staystay baby stay come on darling now stay you know i want you back stay with me tonight come on wont you stay stay oh stay stay with meit seems i have the strangest dream im dreaming that you are gonna leave me i wake up and i find its true what will i do without youi dont know i dont know just what it takes to get to you i dont know i dont know baby ill be true if only youstay baby though i made you cry stay baby dont you say goodbye stay baby look me in my eye stay with me tonightcome on babybaby though i made you cry stay baby dont you say goodbye stay wont you staythey say that love will come and go but your loves indispensable to me i really wanna be with you what are we gonna do boyi dont know i dont know just what it takes to get to you i dont know i dont know baby ill be true if only youstay baby though i make you cry stay baby dont you say goodbye stay baby look me in my eye stay with me tonighteven though i told you lies stay baby give me one more try stay stay with mecome on baby wont you wont you why dont you stay why dont you staycome on come on come on and stay come on come on come on and stay stay with me tonightoh oh oh i want you to stay stay baby though i made you cry stay baby dont you say goodbye stay with me tonight come on babymake you cry you dont have to say goodbye stay unverified ",1
81,"flava in ya ear","craig mack",1994," yo mack i dont even understand how they didnt understand you in that mary joint yeah i know man kick that ol robotic futuristic george jetson crazy jointjust like uniblab robotic kickin flab my flavor be the badder chitterchatter madder than the mad hatter 1 i bet you my shit come out fatter got the data to turn your body into antimatter 2  body into antimatter  and just like a piece of sizzlean youll fit inside my stomach with the eggs and grits between  take em down mack  the king is what i mean i mean my man get a cup and put some change inside your hand  take em down mack  now hold up lets make this official  make it official everybody lets agree that mcs need a tissue  wake em up the funks my only issue i bet your mama miss you and i bet the mack take off like an mx missile no more of your whining on the charts climbing as i make the funk kickin out more harder than a diamond  harder than a diamond and if you didnt know whos rhyming i guess im gonna say craig mack with perfect timingyou wont be around next year my raps too severe kickin mad flava in ya ear  kick it downhere comes the brand new flava in ya ear  brand new flava in ya ear  time for new flava in ya ear im kickin new flava in ya ear macks the brand new flava in ya earcraig mack 1000 degrees youll be on your knees and youll be burnin beggin please brother freeze boy  mans indisputed and deepbooted funk smoke that leaves your brains booted this bad mc with stamina like bruce jenner3 the winner tasting mcs for dinner youre crazy like that glue  youre crazy boy youre crazy to think that you could outdo my onetwo thats sick like the flu  shake em down mack boy i flip boy all the time cause boy the rhyme youre kickin haaaaaaaaa boy  aint worth a dime seems like theres no competition in this rap world expedition you come around ill knock you outofposition  knock em out no flav could ever dig a grave for the mack the power pack in black makin cement crack  make it crack and here comes the brand new flava in ya ear macks the brand new flava in ya earhere comes the brand new flava in ya ear here comes the brand new flavor time for new flava in ya ear in your ear im kickin new flava in ya ear boy macks the brand new flava in ya ear flavor down  here comes the brand new flava in ya ear flavor flavor here comes the flavor time for new flava in ya ear im kickin new flava in ya ear macks the brand new flava in ya ear flavor in ya ear boy haaaaaaa the macks dope with more hope than your pope but for mcs more knots than rope id like to break it down downbreakin forsaken lords of mcs shakin with this track that my mans makin mcs will run like a bomb threat i bet what or better yet huh make you sweat gettin hotter than the sun get yup craig mack is the flav that romps from here to tibet boy i break all rules with my action that the mack sends to mcs stop relaxin this brand new sherrif thats in towns gettin down leavin bodies buried in the ground  rest in peace  i set up rhymes for a decoy to off a bad boy ooohhhh watch the mcs i destroy and boyhere comes the brand new flava in ya ear time for new flavor time for new flava in ya ear flavor im kickin new flava in ya ear time for the flav macks the brand new flava in ya ear boy here come the mack here comes the brand new flava in ya ear haaaaaa time for new flava in ya ear wakin up with flavor im kickin brand new flava in ya earmacks the brand new flava in ya ear haaaaaaaa boy  ",1
82,"unity","queen latifah",1994," unity unity thats a unity unity love a black man from infinity to infinity unity unity thats a unity unity love a black woman from infinity to infinity unity unity thats a unity unity love a black man from infinity to infinityinstinct leads me to another flow everytime i hear a brother call a girl a bitch or a hoe trying to make a sister feel low you know all of that gots to go now everybody knows theres exceptions to this rule now dont be getting mad when we playing its cool but dont you be calling me out my name i bring wrath to those who disrespect me like a damethats why im talking one day i was walking down the block i had my cutoff shorts on right cause it was crazy hot i walked past these dudes when they passed me one of em felt my booty he was nasty i turned around red somebody was catching the wrath then the little one said yeah me bitch and laughed since he was with his boys he tried to break fly i punched him dead in his eye and said who you calling a bitchunity unity thats a unity unity love a black woman from infinity to infinity unity unity thats a unity unity love a black man from infinity to infinityi hit the bottom there aint nowhere else to go but up bad days at work give you an attitude then you were rough and take it out on me but thats about enough you put your hands on me again ill put your ass in handcuffs i guess i fell so deep in love i grew dependency i was too blind to see just how it was affecting me all that i knew was you you was all the man i had and i was scared to let you go even though you treated me badbut i dont want to see my kids see me getting beat down by daddy smacking mommy all around you say im nothing without ya but im nothing with ya a man dont really love you if he hits ya this is my notice to the door im not taking it no more im not your personal whore thats not what im here for and nothing good gonna come to ya til you do right by me brother you wait and see who you calling a bitchunity unity thats a unity unity love a black man from infinity to infinity unity unity thats a unity unity love a black woman from infinity to infinitywhats going on in your mind is what i ask ya but like yoyo you dont hear me though you wear a rag around your head and you call yourself a gangsta bitch now that you saw apaches video i saw you wilding acting like a fool i peeped you out the window jumping girls after school but where did all of this come from a minute ago you was a nerd and nobody ever heard of yanow you a wannabe hard you barely know your abcs please theres plenty of people out there with triggers ready to pull it why you trying to jump in front of the bullet young lady and real bad girls are the silent type aint none of this work getting your face sliced cause thats what happened to your homegirl right bucking with nobody she got to wear that for life who you calling a bitchunity unity thats a unity unity love a black man from infinity to infinity unity unity unity love a black woman from infinity to infinity ",1
83,"prayer for the dying","seal",1994," da da da da ah hoooohoofearless people careless needle harsh words spoken and lives are broken forceful aging help me im fading heavens waiting its time to move oncrossing that bridge with lessons ive learned playing with fire and not getting burned i may not know what youre going through but time is the space between me and you life carries on ooh it goes onjust say die and that would be pessimistic in your mind we can walk across the water please dont cry its just a prayer for the dying i just dont know whats got into mebeen crossing that bridge with lessons ive learned learned playing with fire and not getting burned burned i may not know what youre going through but time is the space between me and you there is a light through that window hold on say yes while people say no life carries on on on on ooh it goes on oheeoh whoaeeoh ho ohim crossing that bridge with lessons ive learned im playing with fire and not getting burned burned i may not know what youre going through but time is the space between me and you there is a light through that window hold on say yes while people say nocause life carries on oheeoh whoaeeoh ho on it goes on oheeon it goes on whoah whoah life carries on when nothing else matters when nothing else matters i just dont know whats got into me its just a prayer for the dying for the dying ",1
84,"secret","madonna",1994," things havent been the same since you came into my life you found a way to touch my soul and im never ever ever gonna let it gohappiness lies in your own hand it took me much too long to understand how it could be until you shared your secret with mesomethings comin over mmm mmm somethings comin over mmm mmm somethings comin over me my babys got a secretyou gave me back the paradise that i thought i lost for good you helped me find the reasons why it took me by surprise that you understood you knew all along what i never wanted to say until i learned to love myself i was never ever lovin anybody elsehappiness lies in your own hand it took me much too long to understand how it could be until you shared your secret with mesomethings comin over mmm mmm somethings comin over mmm mmm somethings comin over me my babys got a secretmmm mmm somethings comin over mmm mmm somethings comin over mmm mmm somethings comin over me my babys got a secrethappiness lies in your own hand it took me much too long to understand how it could be until you shared your secret with memmm mmm somethings comin over mmm mmm somethings comin over mmm mmm somethings comin over me my babys got a secretmmm mmm somethings comin over mmm mmm somethings comin over mmm mmm somethings comin over me my babys got a secretmmm mmm my babys got a secret mmm mmm my babys got a secret mmm mmm my babys got a secret for memmm mmm mmm mmm mmm mmm ",1
85,"here comes the hotstepper","ini kamoze",1994," hit it nah na na na nahhere comes the hot stepper murderer im the lyrical gangster murderer pick up the crew ina de area murderer still love you like that murdererno no we dont die yes we multiply anyone test will hear the fat lady sing act like you know rico i know what bo dont know touch them up and go uhoh chchchang changhere comes the hot stepper murderer im the lyrical gangster murderer excuse me mister officer murderer still love you like that murdererextraordinary juice like a strawberry money to burn baby all of the time cut to fade is me fade to cut is she come juggle with me i say every timehere comes the hot stepper murderer im the lyrical gangster murderer dial emergency number murderer still love you like that murderernah na na na nah its how we do it man nah na na na nahstart like a jackrabbit finish in front of it on the night is jack  thats it understand im the daddy of the mack daddy his are left in gold maybe aint no homie gonna play me top celebrity manmurderer im the lyrical gangster murderer excuse me mister officer murderer still love you like that murdererno no we dont die yes we multiply anyone test will hear the fat lady sing act like you know g go i know what bo dont know touch them up and go uhoh chchchang changhere comes the hot stepper murderer im the lyrical gangster murderer pick up the crew ina the area murderer still love you like that murderernah na na na nah yeah man nah na na na nah righthere comes the hot stepper murderer im the lyrical gangster murderer big up all crew bow ya murderer still love you like that murdererhere comes the hot stepper murderer im the lyrical danger murderer pick up the crew ina the area murderer still love you like that murdererhere comes the hot stepper im the lyrical gangster im a live ina me danger still love you like thathey da da da da ",1
86,"everyday","phil collins",1994," i got lost couldnt find my way and i guess theres nothin more to say love can make you blind make you act so strange but im here and here i will stayso everyday i cry yes everyday i fall do you ever wonder why why i love everythin about youbut everyday i say ill try to make my heart be still til then every way there is to cry ourselves to sleep we willit picked me up knocked me off my feet ive got no way to explain still i love you love you love you but this fire inside will never see the light of dayso everyday goes by and everyday i fall it makes me wonder why my lifes worth nothing without youbut everyday i say ill try to make my heart be still cos every way there is to cry ourselves to sleep we willyoull never know no no no no no youll never know just how close we were youll never know no no no no no youll never know no youll never seethe book closes and we try to forget but i know that things wont change how we feel how life goes on and that seems so strangeand so the light fades away try try try as i may i cant stop thinkin about you it seems my lifes worth nothing without youbut everyday i say ill try to make my heart be still til then every way there is to cry ourselves to sleep we willeveryday everyday you know i try so hard everyday everyday it gets a little harder everyday everyday you know i try so hard everyday everyday it gets a little harder ",1
87,"dont take the girl","tim mcgraw",1994," johnnys daddy was takin him fishin when he was eight years old a little girl came through the front gate holdin a fishin polehis dad looked down and smiled said we cant leave her behind son i know you dont want her to go but someday youll change your mindand johnny said take jimmy johnson take tommy thompson take my best friend botake anybody that you want as long as she dont go take any boy in the world daddy please dont take the girlsame old boy same sweet girl ten years down the road he held her tight and kissed her lips in front of the picture showstranger came and pulled a gun grabbed her by the arm said if you do what i tell you to there wont be any harmand johnny said take my money take my wallet take my credit cardsheres the watch that my grandpa gave me heres the key to my car mister give it a whirl but please dont take the girlsame old boy same sweet girl five years down the road theres gonna be a little one and she says its time to godoctor says the babys fine but youll have to leave cause his mommas fading fastand johnny hit his knees and there he prayed take the very breath you gave me take the heart from my chestill gladly take her place if youll let me make this my last request take me out of this world god please dont take the girljohnnys daddy was takin him fishin when he was eight years old ",1
88,"got me waiting","heavy d  the boyz",1994,"just when i thought i found me someone i can go with just when i thought i found me someone i can go with thats when my girl friend came to me said she told me that nigga aint nothing i seen him in the club acting like he wont no where around thats when i found out that you was nothing for me and all the love that you said that you had it turned out to be fonny and i done gave you the best part i dont know what else i can do to turn you around no you got me waiting you got me waiting when i am telling you everything you need to hear like baby come now you got me waiting but i cant keep waiting on you acting like whatever i will always be around cause you think that you something like a pimp you can hang in these streets and it will be all right with me ohh baby now you got me waiting but i cant keep waiting on you ohh look at me and tell me now if i can be the last one that that you think about thinking you can keep running out my life my life my life why is its so hard for you to pick up the phone and call me put a little time in for me to show that you really care for me remember how you used to say that nothing comes before me you now it was a lie because you put your boys before me promises promises made and broken still i keep holding on thinking you would that notice that you got me waiting you got me waiting when i telling you everything you need to hear like baby come now you got me waiting but i cant keeping waiting on you acting like whatever i will always be around cause you think that youre something like a pimp and you can hang in these streets and it will be all right with me but baby you got me waiting and i cant keep waiting on you there comes a time in every mans life where he has to do everything his girl likes because if he dont choose to play by the rules i am sure theres somebody else out there who just would love too do me hold me go the extra mile like you did when you was trying to get to no me do me hold me treat me nice and show me all the things you forgot to show me cause you got me waiting got me waiting when i am telling you everything you need to hear like baby come now you got me waiting but i cant keep waiting on you acting like whatever cause i will always be around cause you think that youre something like a pimp you can hang in these streets and it will be all right with me you got me waiting but i cant keep waiting on you",3
89,"december 1963 oh what a night","the four seasons",1994," oh what a night late december back in 63 what a very special time for me as i remember what a night oh what a night you know i didnt even know her name but i was never gonna be the same what a lady what a night oh i got a funny feeling when she walked in the room and i as i recall it ended much too soon oh what a night hypnotizing mesmerizing me she was everything i dreamed shed be sweet surrender what a night i felt a rush like a rolling ball of thunder spinning my head around and taking my body under oh what a night oh i got a funny feeling when she walked in the room and i as i recall it ended much too soon oh what a night doo dit doo dit dit doo dit doo dit dit oh what a night doo dit doo dit dit doo dit doo dit dit oh what a night doo dit doo dit dit doo dit doo dit dit oh what a night doo dit doo dit dit doo dit doo dit dit oh what a night whyd it take so long to see the light seemed so wrong but now it seems so right what a lady what a night i felt a rush like a rolling ball of thunder spinning my head around and taking my body under oh what a night i felt a rush like a rolling ball of thunder spinning my head around and taking my body under oh what a night doo dit doo dit dit doo dit doo dit dit oh what a night doo dit doo dit dit doo dit doo dit dit oh what a night doo dit doo dit dit doo dit doo dit dit oh what a night doo dit doo dit dit doo dit doo dit dit oh what a night doo dit doo dit dit doo dit doo dit dit oh what a night doo dit doo dit dit doo dit doo dit dit oh what a night doo dit doo dit dit doo dit doo dit dit oh what a night doo dit doo dit dit doo dit doo dit dit oh what a night doo dit doo dit dit doo dit doo dit dit oh what a night doo dit doo dit dit doo dit doo dit dit oh what a night doo dit doo dit dit doo dit doo dit dit ",1
90,"indian outlaw","tim mcgraw",1994," im an indian outlaw half cherokee and choctaw my baby shes a chippewa shes one of a kindall my friends call me bear claw the village chieftain is my pawpaw he gets his orders from my mawmaw she makes him walk in lineyou can find me in my wigwam ill be beatin on my tomtom pull out the pipe and smoke you some hey and pass it aroundcause im an indian outlaw half cherokee and choctaw my baby shes a chippewa shes one of a kindi aint lookin for trouble we can ride my pony double make your little heart bubble lord like a glass of winei remember the medicine man he caught runnin water in my hands drug me around by my headband said i wasnt her kindcause im an indian outlaw half cherokee and choctaw my baby shes a chippewa shes one of a kindi can kill a deer or buffalo with just my arrow and my hickory bow from a hundred yard dont you know i do it all the timethey all gather round my teepee late at night tryin to catch a peek at me in nothin but my buffalo briefs i got em standin in linecause im an indian outlaw half cherokee and choctaw my baby shes a chippewa shes one of a kindcherokee people cherokee tribe so proud to live so proud to die ",1
91,"always","bon jovi",1994," this romeo is bleeding but you cant see his blood its nothing but some feelings that this old dog kicked up its been raining since you left me now im drowning in the flood you see ive always been a fighter but without you i give upnow i cant sing a love song like the way its meant to be welli guess im not that good anymore but baby thats just meyeah i will love you baby always and ill be there forever and a day alwaysill be there till the stars dont shine til the heavens burst and the words dont rhyme i know when i die youll be on my mind and ill love you alwaysnow your pictures that you left behind are just memories of a different life some that made us laugh some that made us cry one that made you have to say goodbyewhat id give to run my fingers through your hair touch your lips to hold you near when you say your prayers try to understand ive made mistakes im just a manwhen he holds you close when he pulls you near when he says the words youve been needing to hear ill wish i was him cause these words are mine to say to you til the end of timeyeah i will love you baby always and ill be there forever and a day alwaysif you told me to cry for you i could if you told me to die for you i would take a look at my face theres no price i wont pay to say these words to youwell there aint no luck in these loaded dice but baby if you give me just one more try we can pack up our old dreams and our old lives well find a place where the sun still shinesyeah i will love you baby always and ill be there forever and a day alwaysill be there till the stars dont shine til the heavens burst and the words dont rhyme i know when i die youll be on my mind and ill love you always always ",1
92,"far behind","candlebox",1994," now maybe i didnt mean to treat you bad but i did it anyway and now maybe some would say your life was sad but you lived it anyway and so maybe your friends they stand around they watch your crumble as you falter to the ground and then someday your friends they stand beside as you were flying oh you were flying oh so highbut them someday people look at you for what they call their own they watch you suffer yeah they hear you calling home but then some day we could take our time to brush the leaves aside so you can reach us but you left me far behindnow maybe i didnt mean to treat you oh so bad but i did it anyway now maybe some would say youre left with what you had but you couldnt share the painno no no couldnt share the pain they watch you suffernow maybe i could have made my own mistakes but i live with what ive known and then maybe we might share in something great but wont you look at where weve grown wont you look at where weve gone but then someday comes tomorrow holds a sense of what i feel for you in my mind as you trip the final line and that cold day when you lost control shame you left my life so soon you should have told me but you left me far behindnow maybe i didnt mean to treat you oh so bad but i did it anyway now maybe some would say youre left with what you had but you couldnt share the pain no no nooh no oh no no no no now maybe i didnt mean to treat you oh so bad but i did it anyway now maybe some would say youre left with what you had but you couldnt share the pain i said times have changed your friends they come and watch you crumble to the ground they watch you suffer yeah they hold you down hold you down now maybe brother maybe love i didnt mean to treat you bad but you left me far behind left me far behind left me far behind ",1
93,"back in the day","ahmad",1994," back in the days when i was young im not a kid anymore but some days i sit and wish i was a kid again back in the days when i was young im not a kid anymore but some days i sit and wish i was a kid again back in the dayswhen i just a little niggerole i looked up to my bigger bro begged if i could kick it so when he went out with girls i could go taggin along naggin if she had a sis maybe could mack a baby hood ratyall remember way back then when it was 1985 all the way live i think i was about ten one of those happy little niggaz singin the blues that be always tryin to bag with the shag and karate shoessayin yo momma black his momma this his momma that then he get mad and wanna scrap we stay mad about ten minutes then its like back on the bike to play hide and go get it with the younger hoes by the bungalowsthen switch to playin ding dong ditch when that gets old and too cold to hack it threw on a bomber jacket you could tell the ballers cuz they bell wearin gazelles if they really had money raised be sportin bksand all the girls had they turkish link if it broke then they made earrings to it like they meant to do it but sometimes i still sit and reminisce then think about the years i was raised back in the daysback in the days when i was young im not a kid anymore but some days i sit and wish i was a kid again back in the days when i was young im not a kid anymore but some days i sit and wish i was a kid againback in the days when i was young im not a kid anymore but some days i sit and wish i was a kid again back in the days when i was young im not a kid anymore but some days i sit and wish i was a kid againback in the days but now the year is 87 88 thats when my crew and i were in junior high in 7th grade i hated school wish itd blown up no doubt i couldnt wait to get out and be a grownupbut let me finish this reminescin and tellin bout when girls was bellin tight courderoys like for the boys basket weaves nike cortez and footsie socks and eatin pickles with tootsie popsand it dont stop im glad cuz when jj fad hit supersonic it was kinda like a sport to wear biker shorts or to wear jeans and it seemed like the masses of hoochies had poison airbrushed on they assesdudes had on nike suits and the pumas with the fat laces cuz it was either that or kswiss i miss those days and so i pout like a grown jerk wishin all i had to do now was finish homeworkits true you dont realize really what you got till its gone and im not gonna sing another sad song but sometimes i do sit and reminisce then think about the years i was raised back in the daysback in the days when i was young im not a kid anymore but some days i sit and wish i was a kid again back in the days when i was young im not a kid anymore but some days i sit and wish i was a kid againback in the days when i was young im not a kid anymore but some days i sit and wish i was a kid again back in the days when i was young im not a kid anymore but some days i sit and wish i was a kid againniggerole i figure that now im all grown up because im eighteen years old and guess you could say im holdin down a steady job and crew steady mobbin you steady bobbin your head and im paid so i got it madebut didnt always have clout used to live in south central la thats where i stayed and figured a way out i gave it all i had so for what its worth i went from rags to riches which is a drag but now im firstso ahmad and the jones is on our way up yup we said that we was gonna make it since a kid and we finally did but sometimes i still sit and reminence think about the years i was raised back in the daysback in the days when i was young im not a kid anymore but some days i sit and wish i was a kid again back in the days when i was young im not a kid anymore but some days i sit and wish i was a kid againback in the days when i was young im not a kid anymore but some days i sit and wish i was a kid again back in the days when i was young im not a kid anymore but some days i sit and wish i was a kid againback in the days when i was young im not a kid anymore but some days i sit and wish i was a kid again back in the days when i was young im not a kid anymore but some days i sit and wish i was a kid againand everybody say i remember way back when and everybody say i remember way back whenand everybody say i remember way back when what back in the day when back in the dayand everybody say i remember way back when and everybody say i remember way back when and everybody say i remember way back when what back in the day when back in the dayand everybody say i remember way back when and everybody say i remember way back when and everybody say i remember way back when what back in the day when back in the dayand everybody say i remember way back when and everybody say i remember way back when ",1
94,"love sneakin up on you","bonnie raitt",1994," rainy night im all alone sittin here waitin for your voice on the phone fever turns to cold cold sweat thinkin about the things we aint done yettell me now ive got to know do you feel the same do you just light up at the mention of my namedont worry baby it aint nothin new thats just love sneakin up on you if your whole worlds shakin and you feel like i do thats just love sneakin up on younowhere on earth for your heart to hide once love comes sneakin up on your blind side and you might as well try to stop the rain or stand in the tracks of a runaway train you just cant fight it when a things meant to be so come on lets finish what you started with me ",1
95,"ill take you there","general public",1994,"i dont know when to start or when to stop my lucks like a button i cant stop pushing it my head feels light but im still in the dark seems like without tenderness theres something missing tenderness where is the tenderness where is it i dont know where i am but i know i dont like it i open my mouth and out pops something spiteful words are so cheap but they can turn out expensive words like conviction can turn into a sentence i held your hands rings but none on that finger we danced and danced but i was scared to go much further with it just half a chance make sure that one night youre here but next night youre not it always leaves me searching for a little tenderness where is the tenderness where is the tenderness whistling in the graveyard calling up your girlfriend just trying to make her understand youre squeezing the telephone like it was her hand no question so many questions shes going to catch you out boy it all seems so underhand now shes the only thing that ever made you feel like a man man madman madman tenderness where is the tenderness tenderness tenderness where is it i held your hands rings but none on that finger we danced and danced but i was scared to go much further with it just half a chance make sure that one night youre here but next night youre not it always leaves me searching for a little tenderness where is the tenderness when youre sick to death of second best pet why should the morning always find you unimpressed is your love like a button you cant stop pushing it oh this all night longing can be such a long time",5
96,"always in my heart","tevin campbell",1994," where do they get off tellin you that i am not the least bit into you just tell me how the hell they can tell you they know whats in my heart what do they get from tellin you that i dont give a damn about you just tell me why the hell somebody wants to tear your heart apartoh why oh why oh why oh why oh why why do them people have to tell you lies i know i know i know i know i know i love you more than words could ever show i cant i cant i cant i cant explain why do some people have to be that way i cant take much more i cant ignore i have to let you know whats in my heartif i never ever say that i love you just remember girl im sayin i do you can know that from this moment you were always in my heart if i never ever say that i love you just remember girl im sayin i do love you youll be always in my hearttheyre not the ones wholl be there for you when you need someone to turn to they wont be anywhere be anywhere when things start falling down oh yeah yeah theyre only in it to confuse you so they could turn around and use you but it cant happen it wont happen girl as long as im aroundoh why oh why oh why oh why oh why why do some people have to tell you lies i know i know i know i know i know i love you more than words could ever show i cant i cant i cant i cant explain why do some people have to be that way i cant take much more i cant ignore i have to let you know whats in my heartif i never ever say that i love you just remember girl im sayin i do you can know that from this moment you were always in my heart if i never ever say that i love you just remember girl im sayin i do love you youll be always in my heartoh why why why why yeah why did you have to listen to the lies oh girl my sweet girl oh theres only you inside my world oh please baby please yeah i wish you could believe in me right now right now if only you could knowif i never ever say that i love you just remember girl im sayin i do you can know that from this moment you were always in my heart if i never ever say that i love you just remember girl im sayin i do love you youll be always in my heartif i never ever say that i love you just remember girl im sayin i do you can know that from this moment you were always in my heart if i never ever say that i love you just remember girl im sayin i do love you youll be always in my heartif i never ever say that i love you just remember girl im sayin i do you can know that from this moment you were always in my heart if i never ever say that i love you just remember girl im sayin i do love you youll be always in my heart ",1
97,"what is love","haddaway",1994," what is love baby dont hurt me dont hurt me no morebaby dont hurt me dont hurt me no more what is love yeahi dont know why youre not fair i give you my love but you dont care so what is right and what is wrong gimme a signwhat is love baby dont hurt me dont hurt me no morewhat is love baby dont hurt me dont hurt me no morewoahwoahwoah oh oh woahwoahwoah oh ohoh i dont know what can i do what else can i say its up to you i know were one just me and you i cant go onwhat is love baby dont hurt me dont hurt me no morewhat is love baby dont hurt me dont hurt me no morewoahwoahwoah oh oh woahwoahwoah oh ohwhat is love what is love what is love baby dont hurt me dont hurt me no more dont hurt me dont hurt mei want no other no other lover this is our life our time we are together i need you forever is it lovewhat is love baby dont hurt me dont hurt me no morewhat is love baby dont hurt me dont hurt me no moreyeah yeah woahwoahwoah oh oh woahwoahwoah oh ohwhat is love baby dont hurt me dont hurt me no morewhat is love baby dont hurt me dont hurt me no morebaby dont hurt me dont hurt me no morebaby dont hurt me dont hurt me no more what is love ",1
98,"and our feelings","babyface",1994," we fell in love and who could blame us the word was we were just beside ourselves and everybody said it wouldnt last now they wonder why we didnt lastwe fell in love it seemed so righteous couldnt compare our love to no one else and everybody thought we could not win its no wonder love came to an endand our feelings just arent feelings anymore theyre just words that come from whispers from people we dont knowand our feelings just arent feelings anymore theyre just words without emotion from people who dont know who dont knowwe fell apart the bond was broken shouldve kept our thoughts between ourselves and though they say they cared they didnt help makes me wonder should we blame ourselvesso here we are broken hearted what in the world have we done to ourselves when everybody said to let it end well it makes me wonder we cant let them winand our feelings just arent feelings anymore theyre just words that come from whispers from people we dont knowand our feelings just arent feelings anymore theyre just words without emotion from people who dont knowif wed only just try we could make it by and maybe in time we could make it right if we only had done what we shouldve done wed both be here still making lovei wanna know that that we can go back back to the times when the lovin was all that when no one could come between our loveand our feelings just arent feelings anymore theyre just words that come from whispers from people we dont knowand our feelings just arent feelings anymore theyre just words without emotion from people who dont knowand our feelings just arent feelings anymore theyre just words that come from whispers from people we dont knowand our feelings just arent feelings anymore theyre just words without emotion from people who dont know ",1
99,"bop gun one nation","ice cube featuring george clinton",1994," so wide you cant get around it so low you cant get under it so high you cant get over it i cant get over itready or not here we come getting down for the one which we believe in1993 much more bounce ice cube comin with the half ounce not just knee deep jeep fulla smog atomic dog like ya behind heard it through the grapevine how much longer will you be mine and ima tell ya i dont like drama so do i have to put my handcuffs on your mama cause bertha butt did her damn boogie with her crewbut id rather boo you and make you say humdrum tweedee dum humdrum dont succumb when im done buckin hits one nation under a groove gettin down for the funk of it tear the roof of this mother like we did last night son and hit you with the bop gunheres my chance to dance my way out of my constriction gonna be freakin up and down hang up really late with the groove i only got we shall all be movedready or not here we come gettin down for the one which we believe in one nation under a groove gettin down just for the funk of it one nation and were on the move nothin can stop us nowif you hear any noise its just me and the boys playin with our toys m1 cuz everybodys gotta have fun under the sun under the sun so rough so tough when i get down the disco fiend with the monster sound i wants to get funked up when im chillin whoa the bigger the headache the bigger the pill inyou let her funk me cause my funk is the best comin from the westkickin that hits be occupied dedicated to the preservation motion of hips hittin them dips cd skips but im straight as i bounce rock skate now ill toast to that if its rough make the girls say do that stuff aw do that stuff but ya got to be you got to be a freak of the week for the top gun hit you with the bop gunone nation under a groove gettin down just for the funk of it one nation and were on the move nothin can stop us now one nation under a groove gettin down just for the funk of it one nation and were on the move nothin can stop us nowdo not attempt to adjust your radio there aint nothin wrong so hit the bong waitin on the double dutch bus for a ride as the buffalo go round the outside put a glide in your stride and a dip in your hip got daytons on the mothership and you can ring my bell if you need me to pass the dutchie on the left hand side for the salecuz nobody knows where the nose goes when the doors close dog chow got the hoes lookin for the theme from the black hole may ill big bang you with my black pole so flashlight red light we dont like cops on the bike just made bail tonight so whatcha gonna do when you get outta jail im gonna have some fun with the bop gunready or not here we come getting down on the one which we believe inone nation under a groove gettin down just for the funk of it one nation and were on the move nothin can stop us now one nation under a groove gettin down just for the funk of it one nation and were on the move nothin can stop us now ",1
100,"i wanna be down","brandy",1994," i would like to get to know if i could be the kind of girl that you could be down for cuz when i look at you i feel something tell me that your the kind of guy that i should make a move onand if i dont let you know then i wont be for real i could be wrong but i feel like something could be going on the more i see you the more that it becomes so true there aint no other for me its only youi wanna be down with what youre going through i wanna be down i wanna be down with you no matter the time of day or night its true i wanna be downi know anybodys gonna be lonely without the reason they got someone to care for maybe all you needs a shoulder to cry on if thats a fact than ill be more than you ever could dream ofif all you need is my time that i got plenty of ill dedicate all my love until you call me baby i wanna stay by your side be there to cool you out and let you know everything will be all righti wanna be down with what youre going through i wanna be down i wanna be down with you no matter the time of day or night its true i wanna be downi wanna be down with what youre going through i wanna be down i wanna be down with you no matter the time of day or night its true i wanna be downdown down down down down downi wanna be down with what youre going through i wanna be down i wanna be down with you no matter the time of day or night its true i wanna be down  ",1
1,"gangstas paradise","coolio featuring lv",1995," as i walk through the valley of the shadow of death i take a look at my life and realize theres none left cause ive been brassing and laughing so long that even my mamma thinks that my mind is gone but i aint never crossed a man that didnt deserve it me be treated like a punk you know thats unheard of you better watch how you talking and where you walking or you and your homies might be lined in chalk i really hate to trip but i gotta lope as they croak i see myself in the pistal smoke fool im the kinda g that little homies want to be like on my knees in the night saying prayers in the street lightthey been spending most their lives living in the gangstas paradise they been spending most their lives living in the gangstas paradise we keep spending most our lives living in the gangstas paradise we keep spending most our lives living in the gangstas paradisethey got the situation they got me facing i cant live a normal life i was raised by the strip so i gotta be down with the hood team too much television watching got me chasing dreams im a educated fool with money on my mind got my ten in my hand and a gleam in my eye im a loped out gangsta set trippin banger and my homies is down so gonna rouse my anger fool death aint nothing but a heart beat away im living life do or die what can i say im twenty three never will i live to see 24 the way things is going i dont knowtell me why are we so blind to see that the ones we hurt are you and methey been spending most their lives living in the gangstas paradise they been spending most their lives living in the gangstas paradise we keep spending most our lives living in the gangstas paradise we keep spending most our lives living in the gangstas paradisepower and the money money and the power minute after minute hour after hour everybodys running but half of them aint looking whats going on in the kitchen but i dont know whats cooking they say ive got to learn but nobodys here to teach me if they cant understand it how can they reach me i guess they cant i guess they wont i guess they front thats why i know my life is out of luck foolthey been spending most their lives living in the gangstas paradise they been spending most their lives living in the gangstas paradise we keep spending most our lives living in the gangstas paradise we keep spending most our lives living in the gangstas paradisetell me why are we so blind to see that the ones we hurt are you and metell me why are we so blind to see that the ones we hurt are you and me ",1
2,"waterfalls","tlc",1995," a lonely mother gazing out of her window staring at a son that she just cant touch if at any time hes in a jam shell be by his side but he doesnt realize he hurts her so much but all the praying just aint helping at all cause he cant seem to keep his self out of trouble so he goes out and he makes his money the best way he know how another body laying cold in the gutter listen to medont go chasing waterfalls please stick to the rivers and the lakes that youre used to i know that youre gonna have it your way or nothing at all but i think youre moving too fastlittle precious has a natural obsession for temptation but he just cant see she give him loving that his body cant handle but all he can say is baby its good to me one day he goes and takes a glimpse in the mirror but he doesnt recognize his own face his health is fading and he doesnt know why three letters took him to his final resting place yall dont hear medont go chasing waterfalls please stick to the rivers and the lakes that youre used to i know that youre gonna have it your way or nothing at all but i think youre moving too fasti seen rainbow yesterday but too many storms have come and gone leavin a trace of not on godgiven ray is it because my life is ten shades of gray i pray all ten fade away seldom praise him for the sunny days and like his promise is true only my faith can undo the many chances i blew to bring my life to anew clear blue and unconditional skies have dried the tears from my eyes no more lonely cries my only bleedin hope is for the folk who cant cope wit such an endurin pain that it keeps em in the pourin rain whos to blame for tootin caine in your own vein what a shame you shoot and aim for someone elses brain you claim the insane and name this day in time for fallin prey to crime i say the system got you victim to your own mind dreams are hopeless aspirations in hopes of comin true believe in yourself the rest is up to me and youdont go chasing waterfalls please stick to the rivers and the lakes that youre used to i know that youre gonna have it your way or nothing at all but i think youre moving too fastdont go chasing waterfalls please stick to the rivers and the lakes that youre used to i know that youre gonna have it your way or nothing at all but i think youre moving too fast ",1
3,"creep","tlc",1995," creep oh ah oh ah oh ah yeah creep oh ah oh ah oh ah yeahcreep oh ah oh ah oh ah yeah creep oh ah oh ah oh ah yeahthe twenty second of loneliness and weve been through so many things i love my man with all honesty but i know hes cheating on me look him in the eyes but all he tells me is lies to keep me nearill never leave him down though i might mess around its only cause i need some affection oh so i creep yeah just creepin on on the down low cept nobody is supposed to know so i creep yeah cause he doesnt know what i do and no attention goes to show ohso i creep the twenty third of loneliness and we dont talk like we used to do now this is pretty strange but im not buggin cause i still feel the same i keep giving loving till the day he pushes me away never go a strayif he knew the things i did he couldnt handle me and i choose to keep him protected oh so i creep yeah just creepin on but ill know cept nobody is supposed to know so i creep yeah cause he doesnt know what i do and no attention goes to show ohso i creep yeah just creepin on but ill know cept nobody is supposed to know so i creep yeah cause he doesnt know what i do and no attention goes to showso i creep oh ah oh ah oh ah yeah so i creep oh ah oh ah oh ah yeah so i creep oh ah oh ah oh ah yeah baby oh ah oh ah oh ah yeahso i creep yeah just creepin on but ill knowso i creep yeah cause he doesnt know what i do and no attention goes to show so i creep yeah just creepin on but ill know so i creep yeah cause he doesnt know what i do so i creep cept nobody is supposed to know ",1
4,"kiss from a rose","seal",1995," there used to be a greying tower alone on the sea you became the light on the dark side of me love remained a drug thats the high and not the pill but did you know that when it snows my eyes become large and the light that you shine can be seenbaby i compare you to a kiss from a rose on the grey ooh the more i get of you the stranger it feels yeah now that your rose is in bloom a light hits the gloom on the greythere is so much a man can tell you so much he can say you remain my power my pleasure my pain baby to me youre like a growing addiction that i cant deny wont you tell me is that healthy baby but did you know that when it snows my eyes become large and the light that you shine can be seenbaby i compare you to a kiss from a rose on the grey ooh the more i get of you the stranger it feels yeah now that your rose is in bloom a light hits the gloom on the greyive been kissed by a rose on the grey ive been kissed by a rose on the grey and if i should fall will it all go away ive been kissed by a rose on the greythere is so much a man can tell you so much he can say you remain my power my pleasure my pain to me youre like a growing addiction that i cant deny wont you tell me is that healthy baby but did you know that when it snows my eyes become large and the light that you shine can be seenbaby i compare you to a kiss from a rose on the grey ooh the more i get of you the stranger it feels yeah now that your rose is in bloom a light hits the gloom on the greyyes i compare you to a kiss from a rose on the grey ooh the more i get of you stranger it feels yeah and now that your rose is in bloom a light hits the gloom on the greynow that your rose is in bloom a light hits the gloom on the grey ",1
5,"on bended knee","boyz ii men",1995," darlin i cant explain where did we lose our way girl its drivin me insane and i know i just need one more chance to prove my love to you if you come back to me i guarantee that ill never let you go can we go back to the days our love was strong can you tell me how a perfect love goes wrong can somebody tell me how you get things back the way it used to be oh god give me the reason im down on bended knees ill never walk again until you come back to me im down on bended kneesdarlin i cant explain where did we lose our way girl its drivin me insane and i know i just need one more chance to prove my love to you if you come back to me i guarantee that ill never let you go can we go back to the days our love was strong can you tell me how a perfect love goes wrong can somebody tell me how you get things back the way it used to be oh god give me the reason im down on bended knees ill never walk again until you come back to me im down on bended kneesgonna swallow my pride say im sorry stop pointing fingers the blame is on me i want a new life and i want it with you if you feel the same dont ever let it go you gotta believe in the spirit of love it can heal all things we wont hurt anymore no i dont believe our loves terminal im down on my knees begging you please come homedarlin i cant explain where did we lose our way girl its drivin me insane and i know i just need one more chance to prove my love to you if you come back to me i guarantee that ill never let you go can we go back to the days our love was strong can you tell me how a perfect love goes wrong can somebody tell me how you get things back the way it used to be oh god give me the reason im down on bended knees ill never walk again until you come back to me im down on bended kneesso many nights i dream of you holding my pillow tight i know i dont need to be alone when i open up my eyes to face reality every moment without you seems like eternity im begging yo begging you come back to medarlin i cant explain where did we lose our way girl its drivin me insane and i know i just need one more chance to prove my love to you if you come back to me i guarantee that ill never let you go can we go back to the days our love was strong can you tell me how a perfect love goes wrong can somebody tell me how you get things back the way it used to be oh god give me the reason im down on bended knees ill never walk again until you come back to me im down on bended knees ",1
6,"another night","real mccoy",1995," another night another dream but always you its like a vision of love that seems to be true another night another dream but always you in the night i dream of love so truejust another night another vision of love you feel joy you feel pain cause nothing will be the same just another night is all that it takes to understand the difference between lovers and fakes so baby i talk talk i talk to you in the night in your dream of love so true i talk talk i talk to you in the night in your dream of love so true in the night in my dreams im in love with you cause you talk to me like lovers do i feel joy i feel pain cause its still the same when the night is gone ill be aloneanother night another dream but always you its like a vision of love that seems to be true another night another dream but always you in the night i dream of love so truejust another night another dream another vision of love with me im here to set you free i am your lover your brother hey sister let me cover your body with my love is with my lovin just another vision of love that seems to be true all we do all the things that only lovers do vision of love that seems to be true all we do all the things that only lovers do in the night in my dreams im in love with you cause you talk to me like lovers do i feel joy i feel pain cause its still the same when the night is gone ill be aloneanother night another dream but always you its like a vision of love that seems to be true another night another dream but always you in the night i dream of love so truei talk talk i talk to you in the night in your dream of love so true i talk talk i talk to you in the night in your dream of love so true in the night in my dreams im in love with you cause you talk to me like lovers do i feel joy i feel pain cause its still the same when the night is gone ill be aloneanother night another dream but always you its like a vision of love that seems to be true another night another dream but always you in the night i dream of love so true ",1
7,"fantasy","mariah carey",1995," oh when you walk by every night talking sweet and looking fine i get kinda hectic inside mmm baby im so into you darling if you only knew all the things that flow through my mindbut its just a sweet sweet fantasy baby when i close my eyes you come and you take me its so deep in my daydreams but its just a sweet sweet fantasy babyimages of rapture creep into me slowly as youre going to my head and my heart beats faster when you take me over time and time and time again    meaning  byamandah   editor    in an interview with live nation tv mariah discussed how she heard tom tom clubs genius of love while at an amusement park and immediately wanted to    see all   but its just a sweet sweet fantasy baby when i close my eyes you come and you take me its so deep in my daydreams but its just a sweet sweet fantasy babysweet sweet fantasy baby when i close my eyes you come and you take me its so deep in my daydreams but its just a sweet sweet fantasy babyim in heaven with my boyfriend my laughing boyfriend theres no beginning and there is no end feels like im dreaming but im not sleepingsweet sweet fantasy baby when i close my eyes you come and you take me its so deep in my daydreams but its just a sweet sweet fantasy babysweet sweet fantasy baby when i close my eyes you come and you take me its so deep in my daydreams but its just a sweet sweet fantasy babysweet sweet fantasy baby sweet sweet fantasy baby ",1
8,"take a bow","madonna",1995," take a bow the night is over this masquerade is getting older light are low the curtains down theres no one here theres no one here theres no one in the crowdsay your lines but do you feel them do you mean what you say when theres no one around no one around watching you watching me one lonely star one lonely star you dont know who you areive always been in love with you always with you i guess youve always known its true you know its true you took my love for granted why oh why the show is over say goodbyesay goodbye bye bye say goodbyemake them laugh it comes so easy when you get to the part where youre breaking my heart breaking my heart hide behind your smile all the world loves a clown just make em smile the whole world loves a clown wish you well i cannot stay you deserve an award for the role that you played role that you played no more masquerade youre one lonely star one lonely star and you dont know who you areive always been in love with you always with you i guess youve always known its true you know its true you took my love for granted why oh why the show is over say goodbyeive always been in love with you always with you i guess youve always known its true you know its true you took my love for granted why oh why the show is over say goodbyesay goodbye bye bye say goodbyeall the world is a stage world is a stage and everyone has their part has their part but how was i to know which way the storyd go how was i to know youd break youd break youd break youd break youd break my heartive always been in love with you ive always been in love with you guess youve always known you took my love for granted why oh why the show is over say goodbyeive always been in love with you always with you i guess youve always known its true you know its true you took my love for granted why oh why the show is over say goodbyesay goodbye bye bye say goodbye say goodbye ",1
9,"dont take it personal just one of dem days","monica",1995," its just one of dem days when i wanna be all alone its just one of dem days when i gotta be all alone its just one of dem days dont take it personal its just one of dem days and you think i treat you wrongi wanna take some time out to think things through i know it always feels like im doing you wrong but im so in love with you so understand that im only in love youre the only one i need so have no thought that i want to leave and baby trust me pleasejust one of dem days that a girl goes through when im angry inside dont want to take it out on to you just one of dem days dont take it personal i just wanna be all alone and you think i treat you wrongdont take it personal baby baby baby baby babyi sit and think about every thing we do and i find myself in misery and that aint cool hey now i really want to be with you the whole way through but the way you make me feel inside keeps me confusedas i swing back mood to mood its not because of you i never want you to be insecure so wont you understand that im only in love youre the only one i need ill be there for you when you need me boy so baby dont you leavejust one of dem days that a girl goes through when im angry inside dont want to take it out on to you just one of dem days dont take it personal i just wanna be all alone and you think i treat you wrongjust one of dem days that a girl goes through when im angry inside i dont want to take it out on you just one of dem days dont take it personal i just wanna be all alone and you think i treat you wrongdont take it personal baby baby baby baby baby dont take it personal yeah dont take it personaljust one of dem days that a girl goes through when im angry inside dont want to take it out on you just one of dem days dont take it personal i just wanna be all alone and you think i treat you wrongdont take it personal baby personal baby personal baby personal baby personal baby personal baby personal baby personal baby ",1
10,"this is how we do it","montell jordan",1995," this is how we do it this is how we do it la ra ra ra ra ra this is how we do itthis is how we do it its friday night and i feel alright the party is here on the west side so i reach for my 40 and i turn it up designated driver take the keys to my truck hit the shore cause im faded honeys in the street say monty yo we made it it feels so good in my hood tonight the summertime skirts and the guys in kani all the gang bangers forgot about the driveby you gotta get your groove on before you go get paid so tip up your cup and throw your hands up and let me hear the party sayim kinda buzzed and its all because this is how we do it south central does it like nobody does this is how we do it to all my neighbors you got much flavor this is how we do it lets flip the track bring the old school back this is how we do itthis is how we do it all hands are in the air and wave them from here to there if youre an og mack or a want tobe player you see the hoods been good to me ever since i was a lowercase g but now im a big g the girls see i got the money a hundreddollar bills yallif you were from where im from then you would know that i gotta get mine in a big black truck you can get yours in a 64whatever it is the partys underway so tip up your cup and throw your hands up and let me hear the party sayim kinda buzzed and its all because this is how we do it south central does it like nobody does this is how we do it to all my neighbors you got much flavor this is how we do it lets flip the track bring the old school back this is how we do itim kinda buzzed and its all because this is how we do it south central does it like nobody does this is how we do it ynv scc this is how we do it ill never come wack on an old school track this is how we do itcheck it out once upon a time in 94 montell made no money and life sure was slow all they said was 68 he stood and people thought the music that he made was good there lived a dj and paul was his name he came up to monty this is what he said you and og are gonna make some cash sell a million records and well make in a dashoh im buzzing because this is how we do it south central does it like nobody does this is how we do it to all my neighbors you got much flavor this is how we do it ill never come wack on an old school track this is how we do itim kinda buzzed its all because this is how we do it south central does it like nobody does this is how we do itoh its party time this is how we do it straight up comin from the west side this is how we do it ogs got the flavor this is how we do it and money doesnt like nobody does it this is how we do it ",1
11,"i know","dionne farris",1995," i know what youre doing yeah yeah i know why you dialed my number i know what youre doing yeah yeah i know why you carei know what youre doing yeah yeah i know why you say you love me i know what youre doing yeah yeah and i dont think its fairi know why you dialed my number i know why you say youre mine i know what youre doingand its not gonna work this time 2i know what youre doing yeah yeah i can never sing in that key i know what youre doing yeah yeah and youre the one to blamei know what youre doing yeah yeah i know why you cant forgive me i know why youre singing lost love the lyrics havent changed1i can recognize the symptoms you should know ive changed my mind i know what youre doing and its not gonna work this time hey hey hey said its not gonna work this timei know what youre doing baby i know why you call my name i know why you say you love me but i cant say the same repeat 1 ",1
12,"water runs dry","boyz ii men",1995," we dont even talk anymore and we dont even know what we argue about dont even say i love you no more cause saying how we feel is no longer allowedsome people will work things out and some just dont know how to changelets not wait till the water runs dry we might watch our whole lives pass us by lets not wait till the water runs dry well make the biggest mistake of our lives dont do it babynow they can see the tears in our eyes yeah but we deny the pain that lies deep in our hearts well maybe thats a pain we cant hide cause everybody knows that were both torn apartwhy do we hurt each other why do we push love awaylets not wait till the water runs dry we might watch our whole lives pass us by lets not wait till the water runs dry well make the biggest mistake of our lives dont do it babysome people will work things out and some just dont know how to changelets not wait till the water runs dry we might watch our whole lives pass us by lets not wait till the water runs dry well make the biggest mistake of our lives dont do it baby ",1
13,"freak like me","adina howard",1995," let me lay it on the line i got a little freakiness inside and you know that the man has got to deal with it i dont care what they say im not about to pay nobodys way cause its all about the dog in me mmhmmi want to freak in the morning a freak in the evening just like me i need a roughneck brother that can satisfy me just for me if you are that kind of man cause im that kind of girl i got a freaky secreteverybody sing cause we dont give a damn about a thingcause i will be a freak until the day until the dawn and we can pump pump all through the night till the early morncome on and i will take you around the hood on a gangsta lean cause we can pump pump any time of day its all good for meboy youre moving kind of slow you got to keep it up now there you go theres just one thing that a man must do mmhmmim packing all the flavor you need i got you shook up on your knees cause its all about the dog in mei want to freak in the morning a freak in the evening just like me i need a roughneck brother that can satisfy me just for me if you are that kind of man cause im that kind of girl i got a freaky secreteverybody sing cause we dont give a damn about a thingcause i will be a freak until the day until the dawn and we can pump pump all through the night till the early morncome on and i will take you around the hood on a gangsta lean cause we can pump pump any time of day its all good for mecause i will be a freak until the day until the dawn and we can pump pump all through the night till the early morncome on and i will take you around the hood on a gangsta lean cause we can pump pump any time of day its all good for meone to the two to the two to the three adina do you want to get freaky with me ",1
14,"runaround","blues traveler",1995," oh once upon a midnight dreary i woke with something in my head i couldnt escape the memory of a phone call and of what you saidlike a game show contestant with a parting gift i could not believe my eyes when i saw through the voice of a trusted friend who needs to humor me and tell me lies yeah humor me and tell me liesand ill lie too and say i dont mind and as we seek so shall we find and when youre feeling open ill still be here but not without a certain degree of fear of what will be with you and me i still can see things hopefullybut you why you wanna give me a runaround is it a surefire way to speed things up when all it does is slow me downand shake me and my confidence about a great many things but ive been there i can see it cower like a nervous magician waiting in the wingsof a bad play where the heroes are right and nobody thinks or expects too much and hollywoods calling for the movie rights singing hey babe lets keep in touch hey baby lets keep in touchbut i want more than a touch i want you to reach me and show me all the things no one else can see so what you feel becomes mine as well and soon if were lucky wed be unable to tell whats yours and mine the fishings fine and it doesnt have to rhyme so dont you feed me a linebut you why you wanna give me a runaround is it a surefire way to speed things up when all it does is slow me downtra la la la la bombardier this is the pilot speaking and ive got some news for you it seems my ship still stands no matter what you drop and there aint a whole lot that you can dooh sure the banner may be torn and the winds gotten colder perhaps ive grown a little cynical but i know no matter what the waitress brings i shall drink it and always be full yeah i will drink it and always be fulloh i like coffee and i like tea id like to be able to enter a final plea i still got this dream that you just cant shake i love you to the point you can no longer takewell all right okay so be that way i hope and pray that theres something left to sayfor you now why you wanna give me a runaround is it a surefire way to speed things up when all it does is slow me downoh yeah now why you wanna give me a runaround is it a surefire way to speed things up when all it does is slow me down ",1
15,"i can love you like that","all4one",1995,NA,NA
16,"have you ever really loved a woman","bryan adams",1995," to really love a woman to understand her you gotta know her deep inside hear every thought see every dream an give her wings when she wants to fly then when you find yourself lyin helpless in her arms you know you really love a womanwhen you love a woman you tell her that shes really wanted when you love a woman you tell her that shes the one cuz she needs somebody to tell her that its gonna last forever so tell me have you ever really really really ever loved a woman yeahto really love a woman let her hold you til you know how she needs to be touched youve gotta breathe her really taste her til you can feel her in your blood an when you can see your unborn children in her eyes you know you really love a womanwhen you love a woman you tell her that shes really wanted when you love a woman you tell her that shes the one cuz she needs somebody to tell her that youll always be together so tell me have you ever really really really ever loved a womanoh youve got to give her some faith hold her tight a little tenderness you gotta treat her right she will be there for you takin good care of you you really gotta love your woman yaand when you find yourself lyin helpless in her arms you know you really love a womanwhen you love a woman you tell her that shes really wanted when you love a woman you tell her that shes the one cuz she needs somebody to tell her that its gonna last forever so tell me have you ever really really really ever loved a woman yeahjust tell me have you ever really really really ever loved a woman oh just tell me have you ever really really really ever loved a woman ",1
17,"always","bon jovi",1995," this romeo is bleeding but you cant see his blood its nothing but some feelings that this old dog kicked up its been raining since you left me now im drowning in the flood you see ive always been a fighter but without you i give upnow i cant sing a love song like the way its meant to be welli guess im not that good anymore but baby thats just meyeah i will love you baby always and ill be there forever and a day alwaysill be there till the stars dont shine til the heavens burst and the words dont rhyme i know when i die youll be on my mind and ill love you alwaysnow your pictures that you left behind are just memories of a different life some that made us laugh some that made us cry one that made you have to say goodbyewhat id give to run my fingers through your hair touch your lips to hold you near when you say your prayers try to understand ive made mistakes im just a manwhen he holds you close when he pulls you near when he says the words youve been needing to hear ill wish i was him cause these words are mine to say to you til the end of timeyeah i will love you baby always and ill be there forever and a day alwaysif you told me to cry for you i could if you told me to die for you i would take a look at my face theres no price i wont pay to say these words to youwell there aint no luck in these loaded dice but baby if you give me just one more try we can pack up our old dreams and our old lives well find a place where the sun still shinesyeah i will love you baby always and ill be there forever and a day alwaysill be there till the stars dont shine til the heavens burst and the words dont rhyme i know when i die youll be on my mind and ill love you always always ",1
18,"boombastic","shaggy",1995," mr lover mr lover mr lover uh uh well sugar heres another one and another daymove to this let me see you jump and twist pump your fist cause you know its hard to resist as long you know youre rollin with the love specialist feel the pow let me put the groove in your hipsthe night is young so lets go roll with the fun you got some gum check it out gimme some cause im about to play an old girl like a drum she shack attack poor soul settle downgirl what you gon do with all that body shake it up all night careful with that thing before you hurt somebody tell me what you like do it babylets dance lets shout shout shake your body down to the ground lets dance lets shout shout shake your body down to the groundlets dance lets shout shout shake your body down to the ground lets dance lets shout shout shake your body down to the groundgotta holla to my fellas who be hangin by the bathroom door waitin for the honeys dance in the dance floor push up and get the niggas yall ready for the score now whos the dog youre the one that sung hardcorecome on i gotta take this part to a new high keep it tight aint got no time no fight you wanna be a player better know to do it right kissin all the honeys under the disco lightgirl what you gon do with all that body shake it up all night careful with that thing before you hurt somebody tell me what you like let em knowlets dance lets shout shout shake your body down to the ground lets dance lets shout shout shake your body down to the groundlets dance lets shout shout shake your body down to the ground lets dance lets shout shout shake your body down to the ground lets dancetake you where theres all night action dancin to the beat with a passion mr lover partys happenin doin anything you imagineill take you where theres all night action dancin to the beat with a passion mr lover partys happenin doin anything you imaginelets dance lets shout shout shake your body down to the ground lets dance lets shout shout shake your body down to the groundlets dance lets shout shout shake your body down to the ground lets dance lets shout shout shake your body down to the groundso babybaby let me see you move your body on the dance hall floor gotta one just jigga shake it up gimme more jerk chicken on the grill so make the champagne pour girl dont be a drag i might show you the door whati like to see bodies take and shake dressed in lace uh and a perfect shape girls local and out of state i got a couple of them and im gettin ready to matecassandra lets shake shout shake your body down to the ground michelle lets shake shout shake your body down to the groundi want theresa to shake shout shake your body down to the ground lisa to shake shout shake your body down to the groundlets dance lets shout shout shake your body down to the ground lets dance lets shout shout shake your body down to the groundlets dance lets shout shout shake your body down to the ground lets dance lets shout shout shake your body down to the groundlets dance lets shout shout shake your body down to the ground lets dance lets shout shout shake your body down to the groundlets dance lets shout shout shake your body down to the ground lets dance lets shout shout shake your body down to the ground ",1
19,"total eclipse of the heart","nicki french",1995,"turnaround every now and then i get a little bit lonely and youre never coming around turnaround every now and then i get a little bit tired of listening to the sound of my tears turnaround every now and then i get a little bit nervous that the best of all the years have gone by turnaround every now and then i get a little bit terrified and then i see the look in your eyes turnaround bright eyes every now and then i fall apart turnaround bright eyes every now and then i fall apart and i need you now tonight and i need you more than ever and if youll only hold me tight well be holding on forever and well only be making it right cause well never be wrong together once upon a time i was falling in love now im only falling apart theres nothing i can do a total eclipse of the heart turnaround every now and then i know youll never be the boy you always you wanted to be turnaround every now and then i know youll always be the only boy who wanted me the way that i am turnaround every now and then i know theres no one in the universe as magical and wondrous as you turnaround every now and then i know theres nothing any better and theres nothing i just wouldnt do turnaround bright eyes every now and then i fall apart turnaround bright eyes every now and then i fall apart and i need you now tonight and i need you more than ever and if youll only hold me tight well be holding on forever and well only be making it right cause well never be wrong together we can take it to the end of the line your love is like a shadow on me all of the time i dont know what to do and im always in the dark were living in a powder keg and giving off sparks i really need you tonight forevers gonna start tonight forevers gonna start tonight once upon a time i was falling in love now im only falling apart nothing i can do a total eclipse of the heart once upon a time there was light in my life now theres only love in the dark nothing i can say a total eclipse of the heart now theres only love in the dark now theres only love in the dark now theres only love in the dark now theres only love in the dark total eclipse of the heart now theres only love in the dark now theres only love in the dark now theres only love in the dark total eclipse of the heart once upon a time i was falling in love now im only falling apart nothing i can do a total eclipse of the heart once upon a time i was falling in love now im only falling apart nothing i can do a total eclipse of the heart",3
20,"you gotta be","desree",1995," listen as your day unfolds challenge what the future holds try and keep your head up to the sky lovers they may cause you tears go ahead release your fears stand up and be counted dont be ashamed to cryyou gotta be you gotta be bad you gotta be bold you gotta be wiser you gotta be hard you gotta be tough you gotta be stronger you gotta be cool you gotta be calm you gotta stay together all i know all i know love will save the dayherald what your mother said reading the books your father read try to solve the puzzles in your own sweet time some may have more cash than you others take a different view my oh my heh heyyou gotta be bad you gotta be bold you gotta be wiser you gotta be hard you gotta be tough you gotta be stronger you gotta be cool you gotta be calm you gotta stay together all i know all i know love will save the daytime asks no questions it goes on without you leaving you behind if you cant stand the pace the world keeps on spinning you cant stop it if you try to this time its danger staring you in the faceremember listen as your day unfolds challenge what the future holds try and keep your head up to the sky lovers they may cause you tears go ahead release your fears my oh my heh hey heyyou gotta be bad you gotta be bold you gotta be wiser you gotta be hard you gotta be tough you gotta be stronger you gotta be cool you gotta be calm you gotta stay together all i know all i know love will save the dayyou gotta be bad you gotta be bold you gotta be wiser you gotta be hard you gotta be tough you gotta be stronger you gotta be cool you gotta be calm you gotta stay together all i know all i know love will save the day ",1
21,"you are not alone","michael jackson",1995," another day has gone im still all alone how could this be youre not here with meyou never said goodbye someone tell me why did you have to go and leave my world so coldevery day i sit and ask myself how did love slip away something whispers in my ear and saysthat you are not alone i am here with you though youre far away i am here to stayyou are not alone i am here with you though were far apart youre always in my heartyou are not alone alone alone why alonejust the other night i thought i heard you cry asking me to come and hold you in my armsi can hear your prayers your burdens i will bear but first i need your hand then forever can beginevery day i sit and ask myself how did love slip away something whispers in my ear and saysbut you are not alone i am here with you though youre far away i am here to stayyou are not alone i am here with you though were far apart youre always in my heartyou are not aloneoh whisper three words and ill come running fly and girl you know that ill be there ill be therebut you are not alone i am here with you though youre far away i am here to stayyou are not alone i am here with you though were far apart youre always in my heartbut you are not alone you are not alone i am here with you i am here with you though youre far away though youre far away you and me i am here to stayyou are not alone you are always in my heart i am here with you though were far apart youre always in my heartyou are not alonenot alone you are not alone you are not alone say it again you are not alone you are not alone not alone not alone just reach out for me girl in the morning in the evening not alonenot alone you and me not alone alone together together just stop being alone just stop being alone ",1
22,"hold my hand","hootie  the blowfish",1995,"hootie and the blowfish cracked rear view hold my hand with a little love and some tenderness well walk upon the water well rise above this mess with a little peace and some harmony well take the world together well take em by the hand cause ive got a hand for you cause i wanna run with you yesterday i saw you standing there your head was down your eyes were red no comb had touched your hair i said get up and let me see you smile well take a walk together walk the road awhile cause cause ive got a hand for you ive got a hand for you cause i wanna run with you wont you let me run with you yeah hold my hand want you to hold my hand hold my hand ill take you to a place where you can be hold my hand anything you wanna be because i wanna love you the best that the best that i can see i was wasted and i was wasting time till i thought about your problems i thought about your crimes then i stood up and then i screamed aloud i dont wanna be part of your problems dont wanna be part of your crowd no cause ive got a hand for you ive got a hand for you cause i wanna run with you ah wont you let me run with you hold my hand want you to hold my hand hold my hand ill take you to the promised land hold my hand maybe we cant change the world but i wanna love you the best that the best that i can yeah hold my hand want you to hold my hand hold my hand ill take you to a place where you can be hold my hand anything you wanna be because iohno no no no no hold my hand want you to hold my hand hold my hand ill take you to the promised land hold my hand maybe we cant change the world but i wanna love you the best that best that i can oh the best that i can",3
23,"one more chance","the notorious big",1995," all you hoes callin here for my daddy get off his dick like that mommyhi daddy how you doin this is tyiest i was thinkin about you last night mmm you actin like you cant call me no more cause you busy and all that but you tryina tell me it wasnt goodthat shit is real fucked up what you did i hooked you up wit my girl and shit you fucked her 8 times you see her you dont say shit to her you know what im sayin and all that bitch do is call me all day talkin bout you why the fuck do he dont want meyo big this is quita kenya told me she saw you and shana in the mall and i know you aint fuckin her you fucked with me last night thats my best friend and we dont get down like thatyeah muthafucka this is stephanie i was waitin outside for your ass for like a fuckin hour i dont know whats goin on muthafuckas tryina raw me you be dissapearin and shit im waitin in the cold what the fuck is goin on when you get in give me a fuckin call alrightwhen it comes to sex im similar to the thriller in manila honeys call me bigga the condom filler whether its stiff tongue or stiff dick biggie squeeze it to make shit fit now check this shit i got the pack of rough riders in the back of the pathfinder you know the ep along by james todd smith i get swift with the lyrical gift hit you with the dick make your kidneys shifthere we go here we go but im not domino i got the funk flow to make your drawers drop slow so recognize the dick size in these karl kani jeans im in thirteens know what i mean i fuck around and hit you with the hennessey dickmess around and go blind dont get to see shit the next batter here to shatter your bladder it doesnt matter skinny or fat or lightskinned or black baby i drop these boricua mommies screamin aiy papi i love it when they call me big poppa i only smoke blunts if they roll propalook i gotcha caught up in the drunk flow fuck tae kwon do i tote da fofo for niggaz gettin mad cause they bitch chose me a big black motherfucker with g ya see all i do is separate the game from the truth big bang boots from the bronx to boliviagettin physical like olivia newt tricks suck my clique dick all day with no trivia so gimme a hoe a bankroll and a bag of weed im guaranteed to fuck her till her nose bleed even if your new mans a certified mack youll get that htown in ya youll want that old thing backoh biggie gimme one more chance i got that good dick girl ya didnt know oh biggie gimme one more chance i got that good dick girl ya didnt know oh biggie gimme one more chance i got that good dick girl ya didnt know oh biggie gimme one more chance i got that good dick girl ya didnt knowis my mind playin tricks like scarface and bushwick willie d havin nightmares of girls killin me she mad because what we had didnt last im glad because her cousin let me hit the ass fuck the past lets dwell on the 500 sl the e and j and ginger ale the way my pockets swell to the rim with benjamins another hons in the crib please send her ini fuck nonstop lick my lips a lot used to lick the clits a lot but lickin clits had to stop cause yall dont know how to act when the tongue go down below peep the funk flow really though i got the cleanest meanest penis ya never seen this stroke of genius so take off your tim boots and your bodysuit i mean the spandex and hit my man nextsex gettin rougher when it come to the nut buster pussy crusher black nasty motherfucker i dont chase em i replace em and if im caressin em im undressin em fuck whatcha heard whos the best in new york for fillin fantasies without that nigga mr rourke or tattoo i got you wrapped around my dick and when im done i got to split shitback shots is my position i gotcha wishin for an intermission fuck the kissin llickin down to your belly button i aint frontin they dont call me b i g for nuttin all of a suddenoh biggie gimme one more chance oh biggie gimme one more chance oh biggie gimme one more chance oh biggie gimme one more chance ",1
24,"here comes the hotstepper","ini kamoze",1995," hit it nah na na na nahhere comes the hot stepper murderer im the lyrical gangster murderer pick up the crew ina de area murderer still love you like that murdererno no we dont die yes we multiply anyone test will hear the fat lady sing act like you know rico i know what bo dont know touch them up and go uhoh chchchang changhere comes the hot stepper murderer im the lyrical gangster murderer excuse me mister officer murderer still love you like that murdererextraordinary juice like a strawberry money to burn baby all of the time cut to fade is me fade to cut is she come juggle with me i say every timehere comes the hot stepper murderer im the lyrical gangster murderer dial emergency number murderer still love you like that murderernah na na na nah its how we do it man nah na na na nahstart like a jackrabbit finish in front of it on the night is jack  thats it understand im the daddy of the mack daddy his are left in gold maybe aint no homie gonna play me top celebrity manmurderer im the lyrical gangster murderer excuse me mister officer murderer still love you like that murdererno no we dont die yes we multiply anyone test will hear the fat lady sing act like you know g go i know what bo dont know touch them up and go uhoh chchchang changhere comes the hot stepper murderer im the lyrical gangster murderer pick up the crew ina the area murderer still love you like that murderernah na na na nah yeah man nah na na na nah righthere comes the hot stepper murderer im the lyrical gangster murderer big up all crew bow ya murderer still love you like that murdererhere comes the hot stepper murderer im the lyrical danger murderer pick up the crew ina the area murderer still love you like that murdererhere comes the hot stepper im the lyrical gangster im a live ina me danger still love you like thathey da da da da ",1
25,"candy rain","soul for real",1995," my love do you ever dream of candy coated raindrops youre the same my candy rainhave you ever loved someone so much you thought youd lied giving so much of yourself it seems the only waytell me what you want and i and i will give it to you cause you aremy love do you ever dream of candy coated raindrops youre the same my candy rainmy love did you ever dream that it could be so right i never thought that i would find all that i need in lifeall i want all i need now i know i found it in you i found it in you cause you aremy love do you ever dream of candy coated raindrops youre the same my candy rainmy love do you ever dream of candy coated raindrops youre the same my candy rain ",1
26,"let her cry","hootie  the blowfish",1995,"hootie and the blowfish cracked rear view let her cry she sits alone by a lamppost trying to find a thought thats escaped her mind she says dads the one i love the most but stipes not far behind she never lets me in only tells me where shes been when shes had too much to drink i say that i dont care i just run my hands through her dark hair then i pray to god you gotta help me fly away and just let her cry if the tears fall down like rain let her sing if it eases all her pain let her go let her walk right out on me and if the sun comes up tomorrow let her be let her be this morning i woke up alone found a note standing by the phone saying baby maybe ill be back someday i wanted to look for you you walked in i didnt know just what i should do so i sat back down and had a beer and felt sorry for myself saying let her cry if the tears fall down like rain let her sing if it eases all her pain let her go let her walk right out on me and if the sun comes up tomorrow let her be let her be let her cry if the tears fall down like rain let her sing if it eases all her pain let her go let her walk right out on me and if the sun comes up tomorrow let her be oh last night i tried to leave cried so much i could not believe she was the same girl i fell in love with long ago she went in the back to get high i sat down on my couch and cried yellin oh momma please help me wont you hold my hand and let her cry if the tears fall down like rain let her sing if it eases all her pain let her go let her walk right out on me and if the sun comes up tomorrow let her be let her cry if the tears fall down like rain let her sing if it eases all her pain let her go let her walk right out on me and if the sun comes up tomorrow let her be oh let her be",3
27,"i believe","blessid union of souls",1995," walk blindly to the light reach out for his hand dont ask any questions and dont try to understand open up your mind and then open up your heart and you will see that you and me we arent very far apartcause i believe that love is the answer and i believe love will find a way and i believe that love is the answer i believe ohh love will find a wayviolence has spread worldwide and theres families in the streets we sell drugs to children now why cant we just see that all we do is eliminate our future with the things we do today money is our incentive now and that makes this okaybut i believe that love is the answer and i believe love will find a way and i believe that love is the answer i believe ohh love will find a way yeahive been seeing lisa now for a little over a year she said shes never been so happy but lisa lives in fear that one day daddys gonna find out shes in love with a nigger from the streets oh how he would lose it then but shes still here with me cause she believes that love will see it through and one day hell understand and hell see me as a person not just a black mancause i believe that love is the answer i believe that love will find the way i believe i believe i believe i believe that love is the answer i believe that love will find the way love will find the way love will find the way love will find the way please love find the way please love find the way ",1
28,"red light special","tlc",1995," take a good look at it look at it now might be the last time youll have a go roundill let you touch it if youd like to go down ill let you go further if you take this southern routedont go too fast dont go too slow youve got to let your body flow i like em attentive and i like em in controlbaby its yours all yours if you want it tonight ill give you the red light special all through the nightbaby its yours all yours if you want it tonight just come through my door take off my clothes and turn on the red lighti know that you want me i can see it in your eyes you might as well be honest cause the body never liestell me your secrets and ill ill tell you mine im feelin quite sexy and i want you for tonightif i move too fast too fast just let me know just let me know cause it means you move too slow i like some excitement and i like a man that goesbaby its yours all yours if you want it tonight ill give you the red light special all through the nightbaby its yours all yours if you want it tonight just come through my door take off my clothes and turn on the red lightif you want me let me know it ill make time but youve got to show itif you need me i want to see but dont mistake me i dont want you down on your kneesi need someone i need someone a real man a real man i need someone who understands who understands im a woman im a woman a real woman a real woman i know just what i want i know just who i ambaby its yours its yours all yours if you want it tonight ill give you the red light special all through the nightbaby its yours baby its yours all yours if you want it tonight just come through my door just come through my door take off my clothes take off my clothes and turn on the red lightbaby its yours all yours if you want it tonight the red light special all through the night baby its yours ",1
29,"runaway","janet jackson",1995," ive seen the world been to many places made lots of friends many different races ive had such fun around the world its true african skies with a nairobi mood ooh i fell asleep in tuscany and dreamed the one thing missing was yourunaway with me my love yeah yeah yeah yeah runaway with me my love yeah yeah yeah yeahi woke up with an australian breeze and danced the dance with aborigines oh under the moon glow down in mexico i dreamed one thing was missing thats yourunaway with me my love yeah yeah yeah yeah runaway with me my love yeah yeah yeah yeahwell sail the waters of many colours we wont need a compass love will guide our way dont need nobody as long as we got each other no need to hurry weve got everyday i wanna share the world with you you see spring time in paris feels so good to me oh this is for me reality so please make all my wishes come truerunaway with me my love yeah yeah yeah yeahand i just know well have a good time ooh and i just know well have a good time ah and i just know well have a good time and i just know well have a good time and i just know well have a good time and i just know well have a good time yeah ",1
30,"strong enough","sheryl crow",1995," god i feel like hell tonight the tears of rage i cannot lie id be the last to help you understandare you strong enough to be my man my mannothings true and nothings right so let me be alone tonight cause you cant change the way i amare you strong enough to be my manlie to me i promise ill believe lie to me but please dont leavei have a face i cannot show i make the rules up as i go just try and love me if you canare you strong enough to be my man my man are you strong enough to be my man are you strong enough to be my man are you strong enough my manwhen ive shown you that i just dont care when im throwing punches in the air when im broken down and i cant standwould you be man enough to be my manlie to me i promise ill believe lie to me but please dont leave ",1
31,"colors of the wind","vanessa williams",1995," you think you own whatever land you land on the earth is just a dead thing you can claim but i know every rock and tree and creature has a life has a spirit has a nameyou think the only people who are people are the people who look and think like you but if you walk the footsteps of a stranger youll learn things you never knew you never knewhave you ever heard the wolf cry to the blue corn moon or asked the grinning bobcat why he grinned can you sing with all the voices of the mountain can you paint with all the colors of the wind can you paint with all the colors of the windcome run the hidden pine trails of the forest come taste the sunsweet berries of the earth come roll in all the riches all around you and for once never wonder what theyre worththe rainstorm and the river are my brothers the heron and the otter are my friends and we are all connected to each other in a circle in a hoop that never endshave you ever heard the wolf cry to the blue corn moon or let the eagle tell you where hes been can you sing with all the voices of the mountain can you paint with all the colors of the wind can you paint with all the colors of the windhow high does the sycamore grow if you cut it down then youll never knowand youll never hear the wolf cry to the blue corn moon for whether we are white or copperskinned we need to sing with all the voices of the mountain need to paint with all the colors of the wind you can own the earth and still all youll own is earth until you can paint with all the colors of the wind ",1
32,"someone to love","jon b",1995," dont even like to think about it i dont know what i would do without it i only know i live and breathe for your love baby you came to in my time of needwhen i needed you you were there for me baby the love from you is what got me through its because of you i was able to give my heart again you gave mesomeone to love someone to touch someone to hold someone to know someone to love someone to touch someone to hold oh someone to knowi thought id never love again i thought my life was over and i didnt want to face or even see another daysuddenly from nowhere baby you appeared you dried my tears you cared for me baby your love for me truly rescued me its because for you i was able to fall in love againyou give me someonesomeone to love someone to touch someone to hold someone to know someone to love someone to touch someone to hold oh someone to knowfor so long in my life i wouldnt let love inside but i swallowed my pride the day you arrived now that youre by my side everything is alright its because of you i was able to give my heart again you gave me girlsomeone to love someone to touch someone to hold someone to know someone to love someone to touch someone to hold oh someone to knowsomeone to love someone to touch someone to hold someone to know someone to love someone to touch someone to hold oh someone to knowsomeone to love someone to touch someone to hold someone to know someone to love someone to touch someone to hold oh someone to know ",1
33,"only wanna be with you","hootie  the blowfish",1995,"hootie and the blowfish cracked rear view only wanna be with you you and me we come from different worlds you like to laugh at me when i look at other girls sometimes youre crazy and you wonder why im such a baby cause the dolphins make me cry but theres nothing i can do ive been looking for a girl like you you look at me you got nothing left to say im gonna pout at you until i get my way i wont dance you wont sing i just wanna love you but you wanna wear my ring but theres nothing i can do i only wanna be with you you can call me your fool i only wanna be with you put on a little dylan sittin on a fence i said that line is great you asked me what it meant by said i shot a man named gray took his wife to italy she inherited a million bucks when she died it came to me i cant help it if im lucky i only wanna be with you aint bobby so cool i only wanna be with you yeah im tangled up in blue i only wanna be with you you can call your fool only wanna be with you sometimes i wonder if itll ever end you get so mad at me when i go out with my friends sometimes youre crazy and you wonder why im such a baby and the dolphins make me cry theres nothing i can do i only wanna be with you you can call me your fool i only wanna be with you yeah im tangled up in blue i only wanna be with you only wanna be with you only wanna be with you only wanna be with you",3
34,"if you love me","brownstone",1995," ooh yeah yahoo hooi dont wanna rain on this parade but im starting to question the love that was made im not looking for just an affair wanna love that is based on truth not just dareyoull not hurt my pride if right now you decide that you are not ready to settle down but if you want my heart then its time that you start to act like youre mine in the light and the darkif you love me say it if you trust me do it if you want me show it if you need me prove itif you love me say it if you trust me do it if you want me show it if you need me prove ityou see now actions speak louder than words so dont just say things that ive already heard dont want your body without your soul i dont want a love who will come here and goyoull not hurt my pride if right now you decide that you are not ready to settle down but if you want my heart then its time that you start to act like youre mine in the light and the darkif you love me say it if you trust me do it if you want me show it if you need me prove itif you love me say it if you trust me do it if you want me show it prove itif you love me say it do it show it prove itsay it do it show it prove itoh i oh i i wanna touch you baby and spread my love all around you honey and if you care you gotta show baby true love to shareshow it prove it say it do itshow it prove it say it do itshow it prove it say it do itshow it prove it say it do itshow it prove it say it do itshow it prove itsay it do it show it prove itsay it do it show it prove it ",1
35,"in the house of stone and light","martin page",1995," o mount kailas uncover me come my restoration wash my body clean ive been walking along a crooked path where the walls have fallen and broken me in halfim telling you i will not rest till i lay down my head im gonna go in the house of stone and light i shall not cry for the blind man i leave behind when i go in the house of stone and light in the house of stone and lightholy lady show me my soul tell me of that place where i must surely go old man waiting at the gates for me give me the wisdom give me the keyim telling you i will not rest till i lay down my head in the house of stone and light ill make my way o gonna be such a beautiful day in the house of stone and light in the house of stone and lightlet me in beneath my skin yeah yeah oh oh in the house of stone and light its been to long my spirits been at war havasupai shaman let me be reborn and i will embrace the sun upon my face come the day i awake the child inside in the house of stone and light and when i go i will op op open my eyes in the house of stone and light i will see you in the house of stone and lightim looking in beneath my skin yeah yeah oh oh in the house of stone and light im coming inside in the house of stone and light looking for the child in the house of stone and light see myself got such a good shelter in the house of stone and light in the house of stone and light im gonna let this child come washing of water in the house of stone and light hes speaking softly to me i must go there to find my soul yeah in the house of stone and light i can see so clearly now i will go there to find my soul yeah in the house of stone and light well keep on knocking on my door i must go there to find my soul yeahin the house of stone and light i will go there to find my soul yeah in the house of stone and light i must go there to find my soul yeah ",1
36,"i got 5 on it","luniz",1995," ha ha the remix 5 on it we creepin in too baby we got five on that thing man we got uh dru down we got the luniz shock g yeah richie rich e40 spice 1you say you got five on my tenda you can bend over the table but be sure bring my stallion back to my stable say brushno elementary school ground plan not a five dollar bill but five double zero on the real feel im on the level stair mellowno criticism from the fellows hello being keyed during a high speed but still dont tap the bbs im dizzy dru down babylike nyquil i drop fever so either put your five up or ya gots to leave it like beaver cause see ya nigge perk land broke and smoke ya spliff all day go home and buy big tricky with his pretty impalai got five on the hennessey segrims and 40s cause this is how we do it like montell jordan im from the oakland city framed nigge is a gonna now im blowin it up like oklahomaput ya five with my fin best believe well bend mo corners than you thought to somethin writers bought more sizzacks believe that talkin where you from oaklandsmokin in attempts to crack the chest plate the zips be so fluffy the whole town loves me an every event im sacked up so if ya need me scream double r when ya see mei got five on it grab ya four lets get keyed i got five on it messin wit dat indo weed i got five on it its got me stuck and toed back i got five on it potna lets go half on a sacke40 why ya treat me so bad 40 makes it happen fives gets slapped and rubbin them girls just a little bit of light weight flamboyant potent fumes lingerin mighty clouds and molten lightsyou expect to bit the baron an youll be violatin my civil rights im startin to feel my scrilla but perhaps today my scrilla aint feelin me for the simple fact that im off to the track with hella fools three pockets empty pitchin five man im dusted took off my hat passed it around sprinkle meme an e40 to the head comin fifth plus you let the lead bust ready to do a murda man curved off the hurricane hurled again witness well bein off twofifths equalkilling people like jason facin death every sequel insane in the membrane bring the pain like method neglected smokin crips to the night to the brains for breakfast cause for the indo fins do the evil that men do give me five and i shall proceed and continuei got five on it grab ya four lets get keyed i got five on it messin wit dat indo weed i got five on it its got me stuck and toed back i got five on it potna lets go half on a sackyeah its been a while since ive hollered from the town mess around heard young genome said ive gotta be down cause new styles is goin down look around you tunes from the luniz spread round an round youback to get my o on they let me flow on the thirtyfive on it yeah im on it still brinin satin for them draws velvet for the mic and got a pound for the causerollin up the cannabis hittin the mary jane smokin the five before its twelve oclock sippin on hurricane ready to smoke on the indo rollin up my window fittin to go to the land with a hand fulla broccoliwhen it comes to the sticky im the man crunch nasty i be hittin the jank so hard i hurl fall on the floor fittin to have a stroke thc aint no joke i got five on everything lets get loaded and smoke s p i c e about to hit it an croaki got five on it grab ya four lets get keyed i got five on it messin wit dat indo weed i got five on it its got me stuck and toed back i got five on it potna lets go half on a sackha ha wassup baby its me your boy to keep the song always tight you little short on some ends dont worry ill take care of that i got you ",1
37,"baby","brandy",1995," baby baby baby baby dont you know that youre so fine baby baby baby baby think about you all the timeguess its time to say baby baby how you make me feel when you come to mind i cant keep my cool baby baby i cant hold it insidei cant wait each day just to see you walk tryin to move in close to get to where you are not tryin to be rude baby baby nothing ventured nothing gained so im telling youbaby baby baby baby dont you know that youre so fine baby baby baby baby think about you all the timewords just aint enough baby baby but thats all i can use to state my intentions hope it gets to love baby baby yeah its the perfect situationcause we fit together like a hand in glove just to be with you is all im thinking of ooh yeah what else can i say baby oh baby we are alone and im singing this song to you babybaby baby baby baby dont you know that youre so fine baby baby baby baby think about you all the timebaby baby baby baby dont you know that youre so fine baby baby baby baby think about you all the timemy darlin oh baby youre all im thinking of my darlin oh baby youre all im thinking ofhey yeah yeah yeah yeah yeah yeah yeah yeah yeah hey yeah yeah yeah yeah yeah yeah yeah yeah yeahhey yeah yeah yeah yeah yeah yeah yeah yeah yeah hey yeah yeah yeah yeah yeah yeah yeah yeah yeahbaby baby baby baby dont you know that youre so fine baby baby baby baby think about you all the timebaby baby baby baby dont you know that youre so fine baby baby baby baby think about you all the timehey yeah yeah yeah yeah yeah yeah yeah yeah yeah hey yeah yeah yeah yeah yeah yeah yeah yeah yeahhey yeah yeah yeah yeah yeah yeah yeah yeah yeah hey yeah yeah yeah yeah yeah yeah yeah yeah yeahhey yeah yeah yeah yeah yeah yeah yeah yeah yeah hey yeah yeah yeah yeah yeah yeah yeah yeah yeahhey yeah yeah yeah yeah yeah yeah yeah yeah yeah hey yeah yeah yeah yeah yeah yeah yeah yeah yeahhey yeah yeah yeahbaby baby baby baby ",1
38,"run away","real mccoy",1995," run away run away run away and save your life run away run away run away if you want to survive its time to break free oh oh oh oh run away oh oh oh oh you better break free oh oh oh oh run away oh oh oh ohmoney sex in full control a generation without soul perfect people in a perfect world behind closed doors all in control life in a world of luxury cold cash money mentality you gotta keep the faith you gotta keep the faith youd better keep the faith and run awaymoney sex in full control look big brother is watching you unlock your brain and save your soul no more limits no more curfew life in the perfect system take a stand and fight for freedom keep the faith you gotta keep the faith youd better keep the faith and run away ",1
39,"as i lay me down","sophie b hawkins",1995," it felt like spring time on this february morning in a courtyard birds were singing your praise im still recalling things you said to make me feel alright i carried them with me todaynow as i lay me down to sleep this i pray that you will hold me dear though im far away ill whisper your name into the sky and i will wake up happyi wonder why i feel so high though i am not above the sorrow heavy hearted till you call my nameand it sounds like church bells or the whistle of a train on a summer evening ill run to meet you barefoot barely breathingas i lay me down to sleep this i pray that you will hold me dear though im far away ill whisper your name into the sky and i will wake up happyoh darlin as i lay me down to sleep this i pray that you will hold me dear though im far away ill whisper your name into the sky and i will wake up happyits not too near for me like a flower i need the rain though its not clear to me every season has its change and i will see you when the sun comes out againas i lay me down to sleep this i pray that you will hold me dear though im far away ill whisper your name into the sky and i will wake up happyoh darlin as i lay me down to sleep this i pray that you will hold me dear though im far away ill whisper your name into the sky and i will wake up happyi wonder why the sun comes out again when the sun comes out again when the sun comes out again when the sun comes out againoh the sun comes out again when the sun comes out again the sun comes out comes out comes out i will wake up happy this i pray nowand every morning again and every morning again and every ",1
40,"hes mine","mokenstef",1995," he might be doing you but hes thinking about me so baby think about another lover and go find another brotheri know hes my man hes all in my hands it feels good when he calls my name dont you wish you had the samefeeling discussed working your stuff til he thinks about mine now hes feeling real high you ask why cuz hes minetell you something that just aint cool never fall in love with a man who dont love youi wouldnt waste my time telling something wrong youve been with him one night and now hes coming homehes mine you may of had him once but i got him all the time you cant sleep at nighthes mine you may of had him once but i got him all the time dont try to dry your eyeshes mine you may of had him once but i got him all the time i got him all the timewent out on a date wasnt out too late took you to a room and you gave it up too soonplayed you like a trick cuz you let him hit now hes coming home to a lover that is strongi got all his love baby dont try to take it you wanted a piece you were mistaken cuz he belongs to me baby cant you seei tell you that just aint cool never fall in love with a man who dont love youi wouldnt waste my time telling you something wrong youve been with him one night and now hes coming homehes mine you may of had him once but i got him all the time hes minehes mine you may of had him once but i got him all the time hes minehes mine you may of had him once but i got him all the time hes minewe dont have time playing these games you had him once but its me on his mindno need to cry go dry your eyes get over it it was only for one night ohhhes mine you may have had him once but i got him all the time ohh hes minehes mine you may have had him once but i got him all the time ohh hes minehes mine you may have had him once but i got him all the time ohh hes mine ",1
41,"december","collective soul",1995," why drink the water from my hand contagious as you think i am just tilt my sun towards your domain your cup runneth over againdont scream about dont think aloud turn your head now baby just spit me out dont worry about dont speak of doubt turn your head now baby just spit me outwhy follow me to higher ground lost as you swear i am dont throw away your basic needs ambiance and vanitydont scream about dont think aloud turn your head now baby just spit me out dont worry about dont speak of doubt turn your head now baby just spit me outdecember promise you gave unto me december whispers of treachery december clouds are now covering me december songs no longer i singdont scream about dont think aloud turn your head now baby just spit me out dont worry about dont speak of doubt turn your head now baby just spit me outdont scream about dont think aloud turn your head now baby just spit me out dont worry about dont speak of doubt turn your head now baby just spit me out ",1
42,"ill be there for youyoure all i need to get by","method man featuring mary j blige",1995,"  ",1
43,"shy guy","diana king",1995," i dont want no fly guy i just want a shy guy thats what i want yeah you know what i want yeahoh lord have mercy mercy mercy di man dem in a di party party party di whole a dem sexy sexy sexy watch dem just a follow me follow me follow meeverywhere me go di man dem a rush me yes a whole eep a pretty boy wah fi love me a me dem love yes a me dem lovetrue them know me sweet and me sexy everywhere me go me say me ever ready a me dem love yes a me dem lovebut i dont want somebody whos loving everybody i need a shy guy hes the kinda guy wholl only be mineoh lord have mercy mercy mercy di man dem in a di party party party di whole a dem sexy sexy sexy watch dem just a follow me follow me follow me have mercy mercy mercy but none a dem no move me move me move me shy guy a weh me wanty wanty wanty only him can make me irie irie irieroughneck man me no want none a dem beat up me body lick off me head top me no want none a dat me no want none a dat big things a gwaan fi all di shy man dem wat to be my love and wat to be my friend till the very end till the very endbut i dont want somebody whos loving everybody i need a shy guy hes the kinda guy wholl only be mineoh lord have mercy mercy mercy di man dem in a di party party party di whole a dem sexy sexy sexy watch dem just a follow me follow me follow me have mercy mercy mercy but none a dem no move me move me move me shy guy a weh me wanty wanty wanty only him can make me irie irie iriehave mercy mercy mercy mercy mercy come onshy man me wanna hear you roll up your one in the air make me ice you if ya nah one of them me nah wan see you this one dedicated to all the shy man crewshy man me wanna hear you roll up your one in the air make me ice you if ya nah one of them me nah wan see you this one dedicated to all the shy man crewcause i dont want somebody whos loving everybody i need a shy guy hes the kinda guy wholl only be mineoh lord have mercy mercy mercy di man dem in a di party party party di whole a dem sexy sexy sexy watch dem just a follow me follow me follow me have mercy mercy mercy but none a dem no move me move me move me shy guy a weh me wanty wanty wanty he can make me irie irie iriehave mercy mercy mercy di man dem in a di party party party di whole a dem sexy sexy sexy watch dem just a follow me follow me follow me have mercy mercy mercy but none a dem no move me move me move me shy guy a weh me wanty wanty wanty he can make me irie irie irieshy guy shy guy shy guy ",1
44,"im the only one","melissa etheridge",1995," please baby cant you see my minds a burnin hell i got razors a rippin and tearin and strippin my heart apart as well tonight you told me that you ache for something new and some other woman is lookin like something that might be good for yougo on and hold her till the screaming is gone go on believe her when she tells you nothings wrong but im the only one wholl walk across the fire for you im the only one wholl drown in my desire for you its only fear that makes you run the demons that youre hiding from when all your promises are gone im the only oneplease baby cant you see im trying to explain ive been here before and im locking the door and im not going back again her eyes and arms and skin wont make it go away youll wake up tomorrow and wrestle the sorrow that holds you down todaygo on and hold her till the screaming is gone go on believe her when she tells you nothings wrong but im the only one wholl walk across the fire for you im the only one wholl drown in my desire for you its only fear that makes you run the demons that youre hiding from when all your promises are gone im the only one ",1
45,"every little thing i do","soul for real",1995," you are on my mind you are on my mindevery little thing i do youre on my mind the way i feel lately its driving me crazy every little thing i do youre on my mind i cant get over you i think about you all the timecant you see what you do to me i think about you all the time my mind is hazy and im mixed up feeling crazy over you lets not waste anytimeevery little thing i do youre on my mind the way i feel lately its driving me crazy every little thing i do youre on my mind i cant get over you i think about you all the timeround and round i go where ill stop only you know i guess its all in my mind take your time think it over let me know what you wanna do baby its so goodevery little thing i do youre on my mind the way i feel lately its driving me crazy every little thing i do youre on my mind i cant get over you i think about you all the timeevery little thing i do youre on my mind youre on my mind hey every little thing i do youre on my mind youre on my mindevery little thing i do youre on my mind youre on my mind every little thing i do youre on my mind youre on my mind heyevery little thing i do youre on my mind the way i feel lately its driving me crazy every little thing i do youre on my mind i cant get over you i think about you all the timeevery little thing i do youre on my mind the way i feel lately its driving me crazy every little thing i do youre on my mind i cant get over you i think about you all the timeevery little thing i do youre on my mind the way i feel lately its driving me crazy every little thing i do youre on my mind i cant get over you i think about you all the timethe way i feel lately its driving me crazy every little thing i do youre on my mind youre on my mind hey every little thing i do youre on my mind youre on my mind heyevery little thing i do youre on my mind youre on my mind hey every little thing i do youre on my mind youre on my mind heyevery little thing i do youre on my mind youre on my mind hey every little thing i do youre on my mind youre on my mind hey every little thing i do youre on my mind ",1
46,"before i let you go","blackstreet",1995," before i let you go before i let you go can i get a kiss goodnight baby before i let you go before i let you go can i get a kiss goodnight babybefore i let you go before i let you go can i get a kiss goodnight baby before i let you go before i let you go can i get a kiss goodnight babylately ive been thinking somethings goin wrong cause you got an attitude and youre not in the mood like you used to girl i can feel it when i hold you in my arms the feeling is not the same can i be the one to blamei dont wanna lose your love i dont wanna say byebye oh no no true love is so hard to find and its right between your lips and mine and minebefore i let go before i let you go away can i get a kiss goodnight before i let you go can i get a kiss goodnightlisten baby turn the lights down low lets take it nice n slow my mission is to keep you mine dont want this to be the last timewe make sweet love baby i know you feel it too its bigger than the both of us theres one thing im so certain ofi dont wanna loose your love dont wanna loose ya i dont wanna say bye bye dont wanna loose ya its always the little things i remember and i cant just let it slip away slip awaybefore before i let you go away can i get a kiss goodnight before i let you go away can i get a kiss goodnightteddy wont you play the music for me teddy wont you play backstreet say dont wanna loose ya baby i get so lonely sometimes i dont wanna loose yababy my heart is broken sometimes i need you right now i dont dont wanna loose ya i cant let you slip away slip awaybefore i let go before i let you go away can i get a kiss goodnight before i let you go away can i get a kiss goodnightbefore i let you go before i let you go can i get a kiss goodnight baby before i let you go before i let you go can i get a kiss goodnight babybefore i let you go before i let you go can i get a kiss goodnight baby before i let you go before i let you go can i get a kiss goodnight babyi dont want lose your sweet love so dont say goodbye say goodnight ",1
47,"big poppa","the notorious big",1995,"uh uh check it out   yeah junior mafia uh um i like this yeah uh yeah 94 to all the ladies in the place with style and grace allow me to lace these lyrical duches in your bushes who rock grooves and make moves with all the mommies the back of the club sippin moet is where youll find me the back of the club mackin hoes my crews behind me mad question askin blunt passin music blastin but i just cant quit because one of these honies biggie gots ta creep with sleep with keep the ep a secret why not why blow up my spot cause we both got hot now check it i got more mack than craig and in the bed believe me sweety i got enough to feed the needy no need to be greedy i got mad friends with benzs cnotes by the layers true fuckin players jump in the rover and come over tell your friends jump in the gs3 i got the chronic by the tree cuz i love it when you call me big poppa throw your hands in the air if yous a true player i love it when you call me big poppa to the honeys gettin money playin niggaz like dummies i love it when you call me big poppa you got a gun up in your waist please dont shoot up the place why cuz i see some ladies tonight that should be havin my baby babystraight up hunnie really im askin most of these niggas think they be mackin but they be actin who they attractin with that line whats your name whats your sign soon as he buy that wine i just creep up from behind and ask what your interests are who you be with things to make you smile what numbers to dial you gon be here for a while im gon go call my crew you go call your crew we can rendezvous at the bar around two plans to leave throw the keys to lil cease pull the truck up front and roll up the next blunt so we can steam on the way to the telly go fill my belly a tbone steak cheese eggs and welchs grape conversate for a few cuz in a few we gon do what we came to do aint that right boo true forget the telly we just go to the crib and watch a movie in the jacuzzi smoke ls while you do me i love it when you call me big poppa throw your hands in the air if yous a true player i love it when you call me big poppa to the honeys gettin money playin niggaz like dummies i love it when you call me big poppa you got a gun up in your waist please dont shoot up the place why cuz i see some ladies tonight that should be havin my baby baby how ya livin biggie smallz in mansion and benzs givin ends to my friends and it feels stupendous tremendous cream fuck a dollar and a dream still tote gats strapped with infrared beams choppin os smokin lines optimos money hoes and clothes all a nigga knows a foolish pleasure whatever i had to find the buried treasure so grams i had to measure however living better now gucci sweater now drop top bms im the man girlfriend honey check it tell your friends to get with my friends and we can be friends shit we can do this every weekend aight is that aight with you yeah keep bangin i love it when you call me big poppa throw your hands in the air if yous a true player i love it when you call me big poppa to the honeys gettin money playin niggaz like dummies i love it when you call me big poppa you got a gun up in your waist please dont shoot up the place why cuz i see some ladies tonight that should be havin my baby baby uhh check it out my full shit for that ass uhh puff daddy biggie smalls junior mafia represent baby baybay uhh",3
48,"sukiyaki","4:00 PM",1995," its all because of you im feeling sad and blue you went away now my life is just a rainy dayand i love you so how much youll never know youve gone away and left me lonelyuntouchable memories seem to keep haunting me of a love so true that it once turned all my gray skies bluebut you disappeared now my eyes are filled with tears and im wishing you were here with mesoaked with love are my thoughts of you now that youre gone i just dont know what to doif only you were here youd wash away my tears the sun would shine and once again youd be mine all minebut in reality you and i will never be cause you took your love away from megirl i dont know what i did to make you leave me but what i do know is that since youve been gone theres such an emptiness inside im wishing youd come back to meif only you were here youd wash away my tears the sun would shine and once again youd be mine all minebut in reality you and i will never be cause you took your love away from meoh baby you took your love away from me ",1
49,"i wanna be down","brandy",1995," i would like to get to know if i could be the kind of girl that you could be down for cuz when i look at you i feel something tell me that your the kind of guy that i should make a move onand if i dont let you know then i wont be for real i could be wrong but i feel like something could be going on the more i see you the more that it becomes so true there aint no other for me its only youi wanna be down with what youre going through i wanna be down i wanna be down with you no matter the time of day or night its true i wanna be downi know anybodys gonna be lonely without the reason they got someone to care for maybe all you needs a shoulder to cry on if thats a fact than ill be more than you ever could dream ofif all you need is my time that i got plenty of ill dedicate all my love until you call me baby i wanna stay by your side be there to cool you out and let you know everything will be all righti wanna be down with what youre going through i wanna be down i wanna be down with you no matter the time of day or night its true i wanna be downi wanna be down with what youre going through i wanna be down i wanna be down with you no matter the time of day or night its true i wanna be downdown down down down down downi wanna be down with what youre going through i wanna be down i wanna be down with you no matter the time of day or night its true i wanna be down  ",1
50,"ill make love to you","boyz ii men",1995," close your eyes make a wish and blow out the candlelight for tonight is just your night were gonna celebrate all through the nightpour the wine light the fire girl your wish is my command i submit to your demands i will do anything girl you need only askill make love to you like you want me to and ill hold you tight baby all through the night ill make love to you when you want me to and i will not let go till you tell me togirl relax lets go slow i aint got nowhere to go im just gonna concentrate on you girl are you ready its gonna be a long nightthrow your clothes on the floor im gonna take my clothes off too i made plans to be with you girl whatever you ask me you know i can doill make love to you like you want me to and ill hold you tight baby all through the night ill make love to you when you want me to and i will not let go till you tell me tobaby tonight is your night and i will do you right just make a wish on your night anything that you ask i will give you the love of your lifeill make love to you like you want me to and ill hold you tight baby all through the night ill make love to you when you want me to and i will not let go till you tell me toill make love to you like you want me to and ill hold you tight baby all through the night ill make love to you when you want me to and i will not let go till you tell me to ",1
51,"dear mama","2pac",1995," you are appreciatedwhen i was young me and my mama had beef seventeen years old kicked out on the streets though back at the time i never thought id see her face aint a woman alive that could take my mamas place suspended from school and scared to go home i was a fool with the big boys breaking all the rules i shed tears with my baby sister over the years we was poorer than the other little kids and even though we had different daddys the same drama when things went wrong wed blame mama i reminisce on the stress i caused it was hell hugging on my mama from a jail cell and whod think in elementary hey i see the penitentiary one day and running from the police thats right mama catch me put a whooping to my backside and even as a crack fiend mama you always was a black queen mama i finally understand for a woman it aint easy trying to raise a man you always was committed a poor single mother on welfare tell me how ya did it theres no way i can pay you back but the plan is to show you that i understand you are appreciatedlady dont ya know we love ya sweet lady dear mama place no one above ya sweet lady you are appreciated dont ya know we love yanow aint nobody tell us it was fair no love from my daddy cause the coward wasnt there he passed away and i didnt cry cause my anger wouldnt let me feel for a stranger they say im wrong and im heartless but all along i was looking for a father he was gone i hung around with the thugs and even though they sold drugs they showed a young brother love i moved out and started really hanging i needed money of my own so i started slanging i aint guilty cause even though i sell rocks it feels good putting money in your mailbox i love paying rent when the rents due i hope ya got the diamond necklace that i sent to you cause when i was low you was there for me and never left me alone because you cared for me and i could see you coming home after work late youre in the kitchen trying to fix us a hot plate ya just working with the scraps you was given and mama made miracles every thanksgiving but now the road got rough youre alone youre trying to raise two bad kids on your own and theres no way i can pay you back but my plan is to show you that i understand you are appreciatedlady dont ya know we love ya sweet lady and dear mama place no one above ya sweet lady you are appreciated dont ya know we love yapour out some liquor and i reminisce cause through the drama i can always depend on my mama and when it seems that im hopeless you say the words that can get me back in focus when i was sick as a little kid to keep me happy theres no limit to the things you did and all my childhood memories are full of all the sweet things you did for me and even though i act crazy i gotta thank the lord that you made me there are no words that can express how i feel you never kept a secret always stayed real and i appreciate how you raised me and all the extra love that you gave me i wish i could take the pain away if you can make it through the night theres a brighter day everything will be alright if ya hold on its a struggle everyday gotta roll on and theres no way i can pay you back but my plan is to show you that i understand you are appreciatedlady dont ya know we love ya sweet lady and dear mama place no one above ya sweet lady you are appreciated dont ya know we love yasweet lady and dear mamadear mama lady lady lady ",1
52,"hold on","jamie walters",1995," i dont wanna see you ever sad everything ive got you can have when its all too much you need some human touch to see its really not so baddid you call on every saint you know still you feel like youre on your own can you see through your tears i will always be here youre not out there oh baby all alonehold on till you feel a little stronger hold on to me yeah now i said hold on everythings gonna be all right just hold on to me tonightanything that hurts you hurts me too im not gonna let your world turn blue will you take my hand and feel how close i am there aint nothing i wont do for youhold on till you feel a little stronger hold on to me yeah now i said hold on everythings gonna be all right just hold on to me tonighti know the world can drive you to your knees but when you need to cry baby cry to me yeahhold on till you feel a little stronger yeah hold on to me yeah now i said hold on everythings gonna be all right just hold on to me tonight yeah just hold on to me tonight ",1
53,"keep their heads ringin","dr dre",1995,"yeah what up this is dr dre the partys goin on thank god its friday buck buck buck buck booyaka shan buck buck buck buck booyaka shan buck buck buck buck booyaka shan buck buck buck buck booyaka shan keep their heads ringin ring ding dong ring a ding ding ding dong keep their heads ringin ring ding dong ring a ding ding ding dong uh yeah hey you sittin over there say what you better get up outta your chair thats right and work your body down yeah no time to funk around cuz we gon funk you right on up so get up get a move on and get your groove on its the dre the spectacula interparty i go for your neck so call me blackula as i drain a niggas jugular vein and maintain to leave blood stains so dont complain just chill listen to the beats i spill keepin it real enables me to make another meal still niggas run up and try to kill at will but get popped like a pimple so call me clearasil i wipe niggas off the face of the earth since birth ive been a bad nigga now let me tell ya what im worth more than a stealth bomba i cause drama the enforcer music floats like a flying saucer or a 747 jet never forget im that nigga that keeps the hoes panties wet the mike gets smoked once you hear the beat kicked with grooves so funky they come with a speed stick so check the flava that im bringin the motherfuckin dre i keep they motherfuckin heads ringin ring ding dong ring a ding ding ding dong keep their heads ringin ring ding dong ring a ding ding ding dong one two for the crew three four for the dough five for the hoes six seven eight for death row mad niggas bout to feel the full effect of intellect so i can collect respect plus a check now im fend to get into my men too and take care of this business i need to attend to ̢cuz my rents due and this rap shits my meal ticket so you goddamn right ima kick it or get evicted i bring terror like stephen king a black casanova runnin niggas over like christine when i rock the spot wit the flava i got i get plenty of ass call me an asstronaut as i blast past another niggas ass who thought he was strong but i smoke him like grass just like cheech and chong when i flow niggas know its time to take a hike ̢cuz i grab the mike and flip my tongue like a dike i got rhymes to keep you enchanted produce a smokescreen with the funky green and keep your eyes slanted so check the flava that im bringin the mothafunkin dre a keep their motherfuckin heads ringin ring ding dong ring a ding ding ding dong keep their heads ringin ring ding dong ring a ding ding ding dong yeah cmon if you want to get on down you gotta get on down just get on down debonair with flair i scare wear and tear without a care runnin shit as if i was a mayor but i aint no politician no competition sendin all opposition to see a mortician im up front never in the back drop i step on stage and get faded like a flattop your rhyme sounds like you bought ̢em at stopngo dre came to wax you so just call me mopnglo many try to but just cant ride wit im six one two twentyfive of pure chocolate your chances of jackin me are slim g ̢cuz i rock from summer ̢til santa comes down the chimney hoe hoe hoe and so as i continue to flow ̢cuz yo im just a fly negro so check the flava that im bringin the mothafuckin dre a keep their motherfuckin heads ringin ring ding dong ring a ding ding ding dong i keep their motherfuckin heads ringin ring ding dong ring a ding ding ding dong i keep their heads ringin ring ding dong ring a ding ding ding dong i keep their heads ringin ring ding dong ring a ding ding ding dong   yeah uhh cmon if you want to get on down   yeah death row back up in that ass you gotta get on down   for the oneninenine to the nickel just get on down   so all you motherfuckers out there tryin to get with this   dont even try it if you want to get on down   you couldnt see us with binoculars can you dig it you gotta get on down   yeah uhh i know youre bobbin your head just get on down cause i can see you uhh i know youre bobbin your head cause i can see you you cant see me  ha ha ha yeah death row let me know you in the house biotch ha ha yeah thats right we out",3
54,"the rhythm of the night","corona",1995," this is the rhythm of the night the night oh yeah the rhythm of the night this is the rhythm of my life my life oh yeah the rhythm of my lifeyou could put some joy upon my face oh sunshine in an empty place take me to turn to and babe ill make you stayoh i can ease you of your pain feel you give me love again round and round we go each time i hear you saythis is the rhythm of the night the night oh yeah the rhythm of the night this is the rhythm of my life my life oh yeah the rhythm of my lifewont you teach me how to love and learn therell be nothing left for me to yearn think of me and burn and let me hold your handi dont wanna face the world in tears please think again im on my knees sing that song to me no reason to repent i know you wanna say it ",1
55,"roll to me","del amitri",1995," look around your world pretty baby is it everythin you hoped itd be the wrong guy the wrong situation the right time to roll to me roll to melook into your heart pretty baby is it achin with some nameless need is there somethin wrong and you cant put your finger on it right then roll to meand i dont think i have ever seen a soul so in despair so if you want to talk the night through ooh guess who will be there aaaso dont try to deny it pretty baby youve been down so long you can hardly see when the engines stalled and it wont stop rainin its the right time to roll to me roll to me roll to meand i dont think i have ever seen a soul so in despair so if you want to talk the night through ooh guess who will be there aaaso look around your world pretty baby is it everything you hoped itd be the wrong guy the wrong situation the right time to roll to me the right time to roll to me the right time to roll to me ooh ",1
56,"scream","michael jackson and janet jackson",1995," tired of injustice tired of the schemes your lies are disgusting what does it mean kicking me down i gotta get up as jacked as it sounds the whole system suckspeek in the shadow come into the light you tell me im wrong then you better prove youre right youre sellin out souls but i care about mine ive got to get stronger and i wont give up the fightwith such confusion dont it make you wanna scream youre bash abusing victimize within the schemeyou try to cope with every lie they scrutinizesomebody please have mercy cause i just cant take itstop pressurin me just stop pressurin me stop pressurin me make me wanna screamtired of tellin the story your way youre causin confusion you think its okayyou keep changin the rules while you keep plain the game i cant take it much longer i think i might go insanewith such confusion dont it make you wanna scream your bach abusin victimize within the schemeyou find your pleasure scandalizin every lieoh father please have mercy cause i just cant take itstop pressurin me just stop pressurin me stop pressurin me make me wanna screambreak down oh my god cant believe what i saw on the tv this evening i was disgusted by all the injustice all the injusticewith such delusions dont it make you wanna scream youre bash abusin victimize within the schemeyou try to cope with every lie they scrutinizeoh brother please have mercy cause i just cant take itstop pressurin me just stop pressurin me stop pressurin me make me wanna scream ",1
57,"freekn you","jodeci",1995,NA,NA
58,"i wish","skeelo",1995," i wish i was a little bit taller i wish i was a baller i wish i had a girl who looked good i would call her i wish i had a rabbit in a hat with a bat and a six four impalai wish i was like sixfootnine so i can get with leoshi cause she dont know me but yo shes really fine you know i see her all the time everywhere i go and even in my dreams i can scheme a way to make her mine cause i know shes livin phat her boyfriends tall and he plays ball so how am i gonna compete with that cause when it comes to playing basketball im always last to be picked and in some cases never picked at all so i just lean up on the wall or sit up in the bleachers with the rest of the girls who came to watch their men ball dag yall i never understood black why the jocks get the fly girls and me i get the hood rats i tell em scat skittle scabobble got hit with a bottle and i been in the hospital for talkin that mess i confess its a shame when you living in a city thats the size of a box and nobody knows yo name glad i came to my senses like quickquick got sicksick to my stomach overcommeth by the thoughts of me and her together right so when i asked her out she said i wasnt her typei wish i was a little bit taller i wish i was a baller i wish i had a girl who looked good i would call her i wish i had a rabbit in a hat with a bat and a six four impalai wish i was a little bit taller i wish i was a baller i wish i had a girl who looked good i would call her i wish i had a rabbit in a hat with a bat and a six four impalai wish i had a brandnew car so far i got this hatchback and everywhere i go yo i gets laughed at and when im in my car im laid back i got an 8track and a spare tire in the backseat but thats flat and do you really wanna know whats really whack see i cant even get a date so what do you think of that i heard that prom night is a bomb night with the hood rats you can hold tight but really though im a figaro when im in my car i cant even get a hello well so many people wanna cruise crenshaw on sunday well then imma have to get in my car and go you know i take the 110 until the 105 get off at crenshaw tell my homies look alive cause its hard to survive when your living in a concrete jungle and these girls keep passing me by she looks fly she looks fly makes me say my my myi wish i was a little bit taller i wish i was a baller i wish i had a girl who looked good i would call her i wish i had a rabbit in a hat with a bat and a six four impalai wish i was a little bit taller i wish i was a baller i wish i had a girl who looked good i would call her i wish i had a rabbit in a hat with a bat and a six four impalai wish i was a little bit taller i wish i was a baller i wish i was a little bit taller i wish i was a baller i wish i was a little bit taller i wish i was a baller i wish i was a little bit taller i wish i was a ballerhey i wish i had my way cause everyday would be a friday and you could even speed on the highway i would play ghetto games name my kids ghetto names little mookie big al lorraine yo you know thats on the real so if youre down on your luck then you should know just how i feel cause if you dont want me around see i go simple i go easy i go greyhound hey you whats that sound everybody look whats going down ah yes aint that fresh everybody wants to get down like thati wish i was a little bit taller i wish i was a baller i wish i had a girl who looked good i would call her i wish i had a rabbit in a hat with a bat and a six four impalai wish i was a little bit taller i wish i was a baller i wish i had a girl who looked good i would call her i wish i had a rabbit in a hat with a bat and a six four impala ",1
59,"believe","elton john",1995," i believe in love its all we got love has no boundaries costs nothing to touch war makes money cancer sleeps curled up in my father and that means something to me churches and dictators politics and papers everything crumbles sooner or later but love i believe in lovei believe in love its all we got love has no boundaries no borders to cross love is simple hate breeds those who think difference is the child of disease father and son make love and guns families together kill someone without love i believe in lovewithout love i wouldnt believe in anything that lives and breathes without love id have no anger i wouldnt believe in the right to stand here without love i wouldnt believe i couldnt believe in you and i wouldnt believe in me without lovei believe in love i believe in love i believe in love ",1
60,"carnival","natalie merchant",1995," well ive walked these streets a virtual stage it seemed to me makeup on their faces actors took their places next to mewell ive walked these streets in a carnival of sights to see all the cheap thrill seekers vendors and the dealers they crowded around mehave i been blind have i been lost inside myself and my own mind hypnotized mesmerized by what my eyes have seenwell ive walked these streets in a spectacle of wealth and poverty in the diamond markets the scarlet welcome carpet that they just rolled out for meand ive walked these streets in the madhouse asylum they can be where a wildeyed misfit prophet on a traffic island stopped and he raved of saving mehave i been blind have i been lost inside myself and my own mind hypnotized mesmerized by what my eyes have seenhave i been wrong have i been wise to shut my eyes and play along hypnotized paralyzed by what my eyes have found by what my eyes have seen what they have seenhave i been blind have i been lost have i been wrong have i been wise have i been strong have i been hypnotized mesmerized by what my eyes have found in that great street carnivalhave i been blind have i been lost have i been wrong have i been wise have i been strong have i been hypnotized mesmerized by what my eyes have found in that great street carnivalin that carnival ",1
61,"you dont know how it feels","tom petty",1995," let me run with you tonight ill take you on a moonlight ride theres someone i used to see but she dont give a damn for mebut let me get to the point lets roll another joint and turn the radio loud im too alone to be proud you dont know how it feels you dont know how it feels to be mepeople come people go some grow young some grow cold i woke up in between a memory and a dreamso lets get to the point lets roll another joint lets head on down the road theres somewhere i gotta go and you dont know how it feels you dont know how it feels to be memy old man was born to rock hes still tryin to beat the clock think of me what you will i got a little space to fillso lets get to the point lets roll another joint lets head on down the road theres somewhere i gotta go and you dont know how it feels no you dont know how it feels to be me ",1
62,"back for good","take that",1995," i guess now its time for me to give up i feel its time got a picture of you beside me got your lipstick mark still on your coffee cup oh yeahgot a fist of pure emotion got a head of shattered dreams gotta leave it gotta leave it all behind nowwhatever i said whatever i did i didnt mean it i just want you back for good want you back want you back i want you back for goodwhenever im wrong just tell me the song and ill sing it youll be right and understood want you back want you back i want you back for goodunaware but underlined i figured out this story it wasnt good but in the corner of my mind i celebrated glory but that was not to bein the twist of separation you excelled at being free cant you find a little room inside for mewhatever i said whatever i did i didnt mean it i just want you back for good want you back want you back i want you back for goodwhenever im wrong just tell me the song and ill sing it youll be right and understood want you back want you back i want you back for goodand well be together this time is forever well be fighting and forever we will be so complete in our love we will never be uncovered againwhatever i said whatever i did i didnt mean it i just want you back for good want you back want you back i want you back for goodwhenever im wrong just tell me the song and ill sing it youll be right and understood want you back want you back i want you back for goodwhatever i said whatever i did i didnt mean it i just want you back for good want you back want you back i want you back for goodwhenever im wrong just tell me the song and ill sing it youll be right and understood want you back want you back i want you back for goodoh yeah i guess now its time that you came back for good ",1
63,"tootsee roll","69 boyz",1995," the butterfly ooh thats old let me see that tootsee roll yeah 1994 69 boyz backed up by quad city dj one time cotton candy sweet to go let me see that tootsie rollyeah tootsie roll let me see that tootsie roll get up and roll just make that tootsie oohcotton candy sweet and low let me see that tootsie roll come on tootsie roll just make that tootsie roll here we go tootsie roll just make that tootsie rollyeah tootsie roll let me see that tootsie roll get up and roll just make that tootsie rollto the left to the left to the right to the right to the front to the front to the back to the back now slide slide baby slide just slide baby slide just slide baby slide come on come onto the left to the left to the right to the right to the front to the front to the back to the back now dip baby dip come on lets dip baby dip baby dip baby just dip baby dip baby dip just dip cotton candy sweet and low let me see that tootsie rolli dont know what youve been told it aint the butterfly its the tootsie roll a brand new dance so grab a partner get on the dance floor and work them hips a little bit and do that dip a little bitoh yeah you got it no ifs andsno buts about it and you over there with the long hair keep workin that derriere cause it aint hard just a brand new dance for the 1991 69 is the place to be a yo skee what we came to seecotton candy sweet and low let me see your tootsie roll here we go come on tootsie roll come on tootsie roll let me see your tootsie roll come on tootsie roll just dip that tootsie roll and tootsie roll here we go tootsie rolljust i feel a whoop comin up a whoop comin up i just feel a whoop comin up a whoop comin up whoop come on whoop come onwhoop yeah come on come on and whoop whoop whoop yeah baby cotton candy sweet and low let me see that tootsie rollcome on tootsie roll just make that tootsie roll yeah tootsie roll gotta go make your tootsie roll here we go tootsie roll just make that tootsie roll i want to see your tootsie roll just make them tootsie rollto the left to the left to the right to the right to the front to the front to the back to the back now slide slide slide slide now slide slide slide slidei feel a whoop comin on a whoop comin on 5 4 3 2 1 come on whoop whoop whoop whoop come on whoop whoop whoop whoop cotton candy sweet and low let me see that tootsie rolli dont know what youve been told it aint the butterfly its the tootsie roll a brand new dance so grab a partner get on the dance floor 69 is the place to be a yo skee what we came to seecome on flow oh oh lets go let me see that tootsie roll here we go come on tootsie roll come on tootsie roll let me see your tootsie roll come on tootsie roll just dip that tootsie roll and tootsie roll here we go tootsie roll just tootsie rollto the left to the left to the right to the right to the front to the front to the back to the back now slide slide slide slide now slide slide slide slide come on come onto the left to the left to the right to the right to the front to the front to the back to the back now dip baby dip come on lets dip baby dip dip baby dip just dip baby dip baby dip just dipi feel a whoop comin on a whoop comin on i feel a whoop comin on a whoop comin on oh here we go now whoop whoop whoop whoop come on lets whoop whoop oh baby baby just roll just roll just roll ",1
64,"you want this","janet jackson",1995," you know you want me you want thiscome come come come on come on dance come on dance come on dance come on dancecome on dance come on dance come on dance come on dance come on dance come on dancecome on dance come on dance come on dance come on dance come on dance come on dancemy girls been goin round talkin they say that you been watchin me boy i know by the way youre talkin that youre really tryin to get to me boynot anyone ill just let in my heart you have to be hungry for me girls may have been easy but you have to please me what makes me think that i can say this to you i know how bad you want thisif you want my future then you better work it boy no it wont come easy no i know you want this by the time im through with you youll be beggin me for morecome on you want thiscome on dance come on dance come on dance come on dancei know your whole story because youre fine and and you know it you think that you can have me just listen closely no it aint so easy every word youve said i have heard beforegirls may have been easy but you have to please me one thing ive been told nothin else compares to this lovin bodyif you want my future then you better work it boy no it wont come easy no i know you want this by the time im through with you youll be beggin me for more so you want my lovin no i know you want thisif you want my future then you better work it boy no it wont come easy no i know you want this by the time im through with you youll be beggin me for moreyou want this dont you you want this say ityou want this you know its just true you want this you know it you want this you know its just true you want this you know ityou want this you want this can you handle this well come here thenearly in the mornin you want this late in the evenin you want this just about around midnight you want this cuz you know ill do you right baby you want thisooh whats my name boy you want this cuz you gotta say my name boy you want this just a little bit louder now you want this just a little bit softer now you want this i am nice and easyyou want this you want this you want this you want this ",1
65,"tell me","groove theory",1995," oo yeahive been doing my own thing love has always had a way of having bad timing but to my great surprise ever since i looked in your eyes i had one question for youtell me if you want me to give you all my time i wanna make it good for you cause you blow my mind i promise boy that ill be true youre the perfect find so tell me if you want me to yeahif youve thought id sleep on this boy youre wrong cause all i dream about is our first kiss and youre the first one to make me feel like this and this is one opportunity that i cant miss no noboy you wanna know the deal you are wondering if the words im saying are for real cause you got more appeal than any man in this whole world and baby i got to know how you feel yeahtell me if you want me to give you all my time i wanna make it good for you cause you blow my mind i promise boy that ill be true youre the perfect find so tell me if you want me tosweetheart now its time i let you know i dont wanna rush we should take it slow boy i can love you can you help me grow give me a new beginning and ill give you a happy endingtell me if you want me to i wanna make it good for you i promise boy that ill be true so tell me if you want me totell me if you want me to i wanna make it good for you i promise boy that ill be true so tell me if you want me totell me if you want me to i wanna make it good for you i promise boy that ill be true so tell me if you want me to  ",1
66,"cant you see","total featuring the notorious big",1995," you just dont know what you do to megive me all the chicken heads from pasadena to medina bet big get in between ya then peek the prognosis doses blends and bends like twizzlers biggies fitting to hurt whats under that skirt slow down nigga youre killin emwho fillin em with octane got em gassed up bout to get blast up son the last one word to your mother brother listen ive seen it when they kissed em at the wake made his body shake the high guy in 850 is smoke tintrap terror full chromed anteras true fly by the rivers but this is conspicuous bad boys slipped in ninetyfive ridiculous my rap rhymes is like land mines one step kaboom black suits fill the room to whom it may concern junior mafias the click act up ill have my honeys total bust your shitin the middle of the day now baby i seem to think of only you never thinking for a moment baby that youd be thinking of me too yeah so i cant wait for the day that we can be together i cant let you walk away oh cant you see you and me were meant to be oh baby and theres nothing left to sayoh baby cant you see what you do to me our love was meant to be you were meant for me oh baby cant you see what you do to me our love was meant to be you were meant for meevery time i see you i get this feeling oh yeah telling me you are the one oh what a feeling i cant wait for the day that we can be together i cant let you walk away oh cant you see you and me were meant to be oh baby theres nothing left for me to sayoh baby cant you see what you do to me our love was meant to be you were meant for me oh baby cant you see what you do to me our love was meant to be you were meant for meyou take me away so far away oh what you do to me oh oh i wanna be alone together somewhere just you and me oh ohoh baby cant you see what you do to me our love was meant to be you were meant for me oh baby cant you see what you do to me our love was meant to be you were meant for meoh baby cant you see what you do to me our love was meant to be you were meant for me oh baby cant you see what you do to me our love was meant to be you were meant for meoh baby cant you see what you do to me our love was meant to be you were meant for me oh baby cant you see what you do to me our love was meant to be you were meant for meour love was meant to be our love was meant to be our love was meant to be our love was meant to be our love was meant to be our love was meant to be  ",1
67,"all i wanna do","sheryl crow",1995," hit it this aint no disco and it aint no country club either this is laall i want to do is have a little fun before i die says the man next to me out of nowhere its apropos of nothing he says his name is william but im sure hes bill or billy or mac or buddyand hes plain ugly to me and i wonder if hes ever had a day of fun in his whole lifewe are drinking beer at noon on tuesday in the bar that faces the giant car wash and the good people of the world are washing their cars on their lunch breaks hosing and scrubbing as best they can in skirts and suitsand they drive their shiny datsuns and buicks back to the phone company the record stores too well theyre nothing like billy and mecauseall i wanna do is have some fun i got a feeling im not the only one all i wanna do is have some fun i got a feeling im not the only one all i wanna do is have some fun until the sun comes up over santa monica boulevardi like a good beer buzz early in the morning billy likes to peal the labels from his bottles of bud he shreds them on the bar then he lights up every match in an oversized pack letting each one burn down to his thick fingers before blowing and cursing them out hes watching the bottles of bud as they spin on the floorand a happy couple enters the bar dangerously close to one another the bartender looks up from his want adsbutall i wanna do is have some fun i got a feeling im not the only one all i wanna do is have some fun i got a feeling im not the only one all i wanna do is have some fun until the sun comes up over santa monica boulevardotherwise the bar is ours the day and the night and the car wash too the matches and the buds and the clean and dirty cars the sun and the moon but all i wanna do is have some fun i got a feeling im not the only one all i wanna do is have some fun i got a feeling im not the only one all i wanna do is have some fun i got a feeling the party has just begun all i wanna do is have some fun i wont tell you that youre the only one all i wanna do is have some fun until the sun comes up over santa monica boulevard until the sun comes up over santa monica boulevard ",1
68,"this lil game we play","subway featuring 702",1995,"yo baby you ready to let the games begin cause im ready on your mark get set here we go check it girl i want you to stay so we can play this little game we play you go hide and i will seek let me be the one to make you weak boy i really wanna stay and play that little game you play but you go hide and let me seek let me be the one to make you weak ah yeah first verse im thinkin about you everyday got me feelin kinda freaky girl why you wanna leave me that way boy i dont wanna leave you so ill stay for a little while but we play by my rules cause being loose just aint my style no no no no oh girl i want you to stay so we can play this little game we play you go hide and i will seek let me be the one to make you weak boy i really wanna stay and play that little game you play but you go hide and let me seek let me be the one to make you weak oh so you wanna ride things well thats cool with me you better know what youre doin i know girl now my heart wants to believe come on talk is cheap yeah lets get right to it oh baby let the fun and games begin boy im ready to do it girl i want you to stay so we can play this little game we play you go hide and i will seek let me be the one to make you weak boy i really wanna stay and play that little game you play but you go hide and let me seek let me be the one to make you weak its your move baby so show me what you got cause when its my turn the game is gonna get hot i like what youre sayin boy it sounds real good real good but are you ready for a real woman to test your manhood this little game that we play its just a little game that we play this little game that we play its just a little game that we play baby dont start if you think you cant finish come prepared if you think youre gonna win this give it your best shot give me all youve got guarantee to make you hot i wanna play this game with you but dont be no fool youve gotta play by my rules incomprehensible girl i want you to stay so we can play this little game we play you go hide and i will seek let me be the one to make you weak girl i want you to stay so we can play",3
69,"come and get your love","real mccoy",1995," come and get your love come and get your love come and get your love now come and get your love come and get your love come and get your loveyeah whats the matter with your head oh yeah yeah whats the matter with your mind and your sign and oh yeahhow am i gonna get it baby gonna get my loving talk to me tell me how im gonna get it im ready for you baby ready for your loving dont make me wait cuz i really need to get ityeah with it baby cuz youre fine and youre mine and you look so divine come and get your love come and get your love come and get your love whoa yeah come and get your loveyeah whats the matter with you feel right dont you feel right baby yeah yeah yeah look at it from the mainline all righthow im gonna get it baby gonna get my loving talk to me tell me how im gonna get it im ready for you baby ready for your loving dont make me wait cuz i really need to get ityeah its your business if you want some take some get it together babycome and get your love come and get your love come and get your love come and get your love come and get your love nowwhatcha waiting for cuz im ready for your loving come on take it come on get it if you want it whats the matter whats the problem get together and were easy gonna solve itcome and get your love come and get your love come and get your love whoa yeah come and get your lovecome and get your love come and get your love come and get your love come and get your love come and get your lovecome and get your love come and get your love come and get your love come and get your love whoa yeah come and get your love ",1
70,"this aint a love song","bon jovi",1995," should have seen it coming when the roses died should have seen the end of summer in your eyes should have listened when you said goodnight you really meant goodbye baby aint it funny how i never ever learn to fall youre really on your knees when you think youre standing tall but only fools are know it alls and i played that fool for youi cried and i cried there were nights that i died for you baby i tried and i tried to deny your love drove me crazy babyif the love that ive got for you is gone if the river i cried aint that long then im wrong yeah im wrong this aint a love songbaby i thought you and me would stand the test of time like we got away with the perfect crime but we were just a legend in my mind i guess that i was blind remember those nights dancing at the masquerade the clowns wore smiles that wouldnt fade you and i were the renegades some things never changeit made me so mad cause i wanted it bad for us baby and now its so sad that whatever we had aint worth saving ohhif the love that i got for you is gone and if the river ive cried aint that long then im wrong yea im wrong this aint a love song if the pain that im feelin so strong is the reason im holdin on then im wrong yeah im wrong this aint a love song oohi cried and i cried there were nights that i died for you baby i tried and i tried to deny that your love drove me crazy babyif the love that i got for you is gone if the river i cried aint that long then im wrong yeah im wrong this aint no love song if the pain that im feeling so strong is the reason im holdin on then im wrong yeah im wrong this aint a love song then im wrong yeah im wrong this aint a love song then im wrong yeah im wrong this aint a love songooo ohh ohh ohh ohh ",1
71,"secret","madonna",1995," things havent been the same since you came into my life you found a way to touch my soul and im never ever ever gonna let it gohappiness lies in your own hand it took me much too long to understand how it could be until you shared your secret with mesomethings comin over mmm mmm somethings comin over mmm mmm somethings comin over me my babys got a secretyou gave me back the paradise that i thought i lost for good you helped me find the reasons why it took me by surprise that you understood you knew all along what i never wanted to say until i learned to love myself i was never ever lovin anybody elsehappiness lies in your own hand it took me much too long to understand how it could be until you shared your secret with mesomethings comin over mmm mmm somethings comin over mmm mmm somethings comin over me my babys got a secretmmm mmm somethings comin over mmm mmm somethings comin over mmm mmm somethings comin over me my babys got a secrethappiness lies in your own hand it took me much too long to understand how it could be until you shared your secret with memmm mmm somethings comin over mmm mmm somethings comin over mmm mmm somethings comin over me my babys got a secretmmm mmm somethings comin over mmm mmm somethings comin over mmm mmm somethings comin over me my babys got a secretmmm mmm my babys got a secret mmm mmm my babys got a secret mmm mmm my babys got a secret for memmm mmm mmm mmm mmm mmm ",1
72,"players anthem","junior mafia featuring the notorious big",1995," niggas uh bitches ha uhniggas grab your dick if you love hiphop bitches rub your titties if you love big poppa gotcha open off the words i say because this type of shit it happens everydaynow who smoke more blunts than a little bit what are you a idiot listen to the lyrics i spit like m1s got mad guns up in the cabin cause cease aint the one for the dibbin and dabbin shit i make it happen you got your ass caught all you saw was fire from the honda passport or the mp what if you see then i miss ya i blow up spots like little sisters gwan grit ya teeth gwan bite ya nails to the cuticles like murray my killings be the most beautiful junior mafia click thick like luke dancers niggas grab your gats bitches take a glance at the little one pullin over in the land rover playin big willie style with a chauffeur yaknahmean stack the green read all between the lines a nigga act up makes the bastard hard to findniggas grab your dick if you love hiphop bitches rub your titties if you love big poppa gotcha open off the words i say because this type of shit it happens everydayniggas grab your dick if you love hiphop bitches rub your titties if you love big poppa gotcha open off the words i say because this type of shit it happens everydayhow ya livin biggie smalls im surrounded by criminals heavy rollers even the sheisty individuals smokin skunk and mad phillies beatin down billy badasses cracks in stacks and masses if robberys a class bet i pass it shit get drastic im buryin ya bastards big poppa never softenin take you to the church rob the preacher for the offerin leave the fucker coughin up blood and his pockets like rabbit ears covered the wife kleenex for the kids tears versace wear moschino on my bitches she whippin my ride countin my ones thinkin im richest just the way players play all day everyday i dont know what else to say ive been robbin niggas since run and them was singin here we go snatchin ropes at the roxie homeboy you didnt know my flow detrimental to your health usually roll for self i have son ridin shotgun my minds my nine my pens my mac10 my target all you wack niggas who started rappin junior mafia steelo niggas know the half caviar for breakfast champagne bubble baths runnin up in pretty bitches constantly the smalls bitch who the fuck it was supposed to beniggas grab your dick if you love hiphop bitches rub your titties if you love big poppa gotcha open off the words i say because this type of shit it happens everydayniggas grab your dick if you love hiphop bitches rub your titties if you love big poppa gotcha open off the words i say because this type of shit it happens everydayi used to pack macs in cadillacs now i pimp gats in the acs watch my niggas backs nines in the stores glocks in the bags maxin minimarkets gettin money with the arabs no question confession yes its the lyrical bitches squeeze your tits niggas grab your genitals proteins and minerals excluse subliminals big momma shoots the game to all you willies and criminals i kick the reali with my peeps all day 325s roll by with the windows down halfway dkny oh my im jiggy its all about the smalls and my fuckin nigga biggie bitches love the way i bust a rhyme cause they all in line screamin one more time niggas grab your dicks if you love hiphop bitches rubadub in the back of the club straight up ",1
73,"feel me flow","naughty by nature",1995," you bout to feel the chronicles of a bionical lyric lyrically splitting dismissing im on a mission of just hitting now its written and kitten hitting wit mittens im missing wishing man listen i glisten like sun and water while fishing bust the move and then swerve serve words with nerve embedded i said it word damn you nerd man you heard coming from the town of illy and alleys are full of phillies and rallys suckers get silly as sally then found in alleys im rowdy reallychorus so here we go now holla if ya hear me though come and feel me flownever mixing with tricking brothers bitching over fixins that aint fitting to be hitting on nothing splitting things thats bitten and getting written off like a fatter bad bladder boy ya pissing me off before you even started so what so long see you fly by my try how else could i say it when you play it try boom bye byechorus x2the flow pro poetical with skills only a vetll know better know wheres the wetter flow thats on point like decimals manhandling new crews partying with the zoo crew looking for the pink in poo poo i thought you knew too stone style is of stamina jamming ta while we planning ta jam we bust plus were the party amateur damager managing damaging mics men and even mannequins youre a fan again now i want to know whose the man again naughtys back like vertibrates word to heyaho the way i show you pray i flow steady breaking to the boogie so bang time to slang bang and watch all the poo tang tangs hangchorus x2play and kayll break the body of a beat the beat the break into boogie firm and fully chase bass lines like bullies all we want to know is if your body want to party its nough poo tang tang for everybody so hip up and split up get up get up your wit up souped up put your dukes up no guts set up for sit ups flip up watch us rip up shakes shows until they fizz up rizz up like your with us if not zip up you lip up whip up hits with ransoms foul styles get and ones we come back cause we heard hip hop needed another anthem black like noah in fact and for ya if we was back in the days with the drifters we wouldve been known as the flowers bevin these since the seventies find me so we went crazy in the eighties so we wont kiss heinies in the nineties oops the naughtys troop in sections of forties so clap your hands and hold your shorty im naughtychorus x2 ",1
74,"every day of the week","jade",1995," mmm mmm mmm ooh whoa oh oh oh oh yeahyou were lookin so good to me the night we met i could not see how deep you were to penetrate my heart mmmnow that some time has passed it made me think this was meant to last i never wanna be apart oh no nodont let me fool you if im actin kinda cold to you its just a little game i like to playcause when were together it just keep getting better if i had my waywhen do i wanna see you when do i wanna please you every day of the weekwhen do i wanna love you when am i thinking of you every day of the weekmonday tuesday wednesday thursday friday saturday even on sunday every day of the weekmonday tuesday wednesday thursday friday saturday even on sunday every day of the weeki only wanted good times baby you wanted the same so maybe this is written in the stars for us mmmall i know is with you inside me the more we kiss the more i like it i never wanna give you upwhen do i wanna see you see you when do i wanna please you every day of the week oh oh ohwhen do i wanna love you ho oh when am i thinking of you every day of the weekmonday tuesday wednesday thursday friday saturday even on sunday every day of the week every every day of the weekmonday tuesday wednesday thursday friday saturday even on sunday every day of the week baby baby yeahi wanna see you i wanna have you baby baby i need you to be right my side i wanna love youwhen do i wanna see you ho when do i wanna please you no every day of the week every every day of the weekwhen do i wanna love you oh when am i thinking of you oh ooh no every day of the week every daywhen do i wanna see you oh oh when do i wanna please you yeah every day of the week 247 babywhen do i wanna love you oh yeah when am i thinking of you i need you every day of the weekmonday tuesday wednesday thursday friday saturday every day even on sunday every day of the week all day long anytime you need me babymonday tuesday wednesday thursday friday saturday even on sunday every day of the week oh oh ohmonday tuesday wednesday thursday friday saturday i love you even on sunday every day of the week you know i love you every day every daymonday tuesday wednesday thursday friday saturday even on sunday every day of the weekwhen do i wanna see you when do i wanna please you i think i need you every day of the week oh oh ohwhen do i wanna love you when will when am i thinking of you every day of the week mondaymonday tuesday wednesday thursday friday saturday even on sunday every day of the week every daymonday tuesday wednesday thursday friday saturday even on sunday every day of the week boy im thinking of you every day yeah yeahmonday tuesday wednesday thursday friday saturday even on sunday every day of the week oh oh ohmonday tuesday wednesday thursday friday saturday even on sunday every day of the week ",1
75,"the sweetest days","vanessa williams",1995," you and i in this moment holding the night so close hanging on still unbroken while outside the thunder rollslisten now you can hear our heartbeat warm against lifes bitter cold these are the days the sweetest days well knowthere are times that scare me were rattle the house like a wind both of ours so unbending we battle the fear withinall the while life is rushing by us hold it now and dont let go these are the days the sweetest days well knowso well whisper a dream here in the darkness watching the stars till theyre gone and when even the memories have all faded away these days go on and onlisten now you can hear our heartbeat hold me now and dont let go these are the days every day is the sweetest day well knowthese are the days the sweetest days well know ",1
76,"short dick man","20 fingers featuring gillette",1995," ah ah ah ah ah ah ah ahah ah ah ah ah ah ah ahdont want no short dick man dont want no short dick man dont want no short dick man dont want no short dick mandont dont dont dont dont dont dont dont dont dontdont want dont want dont want dont wantdont want no short dick man dont want no short dick maniny weeny teeny weeny shriveled little short dick mandont wantdont wantdont want dont wantdont wantdont want dont wantdont wantdont want dont wantdont wantdont want dont wantdont wantdont wantwhat in the world is that thing do you need some tweezers to put that thing awaythat has got to be the smallest dick ive ever seen in my whole life i have ever seen in my whole lifeget the fuck outta here iny weeny teeny weeny shriveled little short dick mandont wantdont want dont wantdont want dont want dont want dont want dont want dont wantuh uh uh uh uh uhuh uh uh uh uh uh uh uh uhisnt that cute an extra belly button you need to put your pants back on honeydont dont dont dont dont dont dont dont dont dontdont wantdont want dont wantdont want dont want no short dick man dont want no short dick maniny weex15iny weeny teeny weeny shriveled little short dick man ",1
77,"brokenhearted","brandy featuring wanya morris",1995," brokenheartedim young but im wise enough to know that you dont fall in love overnight oh yeah thats why i thought if i took my time that everything in love would be rightbut as soon as i closed my eyes i was saying to love goodbyebut i guess im only brokenhearted lifes not over i can start again while im lonely brokenhearted its a hurting thing to get overno more empty conversations next time i will be totally sure oh yeah dont want the pain of falling in and out of love its more than my poor heart should endureso ill listen to all advice and remember each time i crythat i guess im only brokenhearted lifes not over i can start again while im lonely brokenhearted its a hurting thing to get overonly brokenhearted lifes not over i can start again while im lonely brokenhearted its a hurting thing to get over starting all over againonly brokenhearted so ill listen to all advice and remember each time i cryoh only brokenhearted lifes not over i can start again while im lonely brokenhearted its a hurting thing to get overonly brokenhearted lifes not over i can start again starting all over again while im lonely brokenhearted its a hurting thing to get over starting all over againonly brokenhearted lifes not over i can start again while im lonely brokenhearted its a hurting thing to get over get over only ",1
78,"no more i love yous","annie lennox",1995," i used to be lunatic from the gracious days i used to be woebegone and so restless nights my aching heart would bleed for you to see oh but now i dont find myself bouncing home whistling buttonhole just to make me cryno more i love yous the language is leaving me no more i love yous changes are shifting outside the word the lover speaks about the monstersi used to have demons in my room at night desire despair desire so many monsters oh but now i dont find myself bouncing home whistling buttonhole just to make me cryno more i love yous the language is leaving me no more i love yous the language is leaving me in silence no more i love yous changes are shifting outside the wordthey were being really crazy they were on the come and you know what mummy everybody was being really crazy uh huh the monsters are crazy there are monsters outsideno more i love yous the language is leaving me no more i love yous the language is leaving me in silence no more i love yous changes are shifting outside the word outside the wordno more i love yous the language is leaving me no more i love yous the language is leaving me no more i love yous changes are shifting outside the word outside the word ",1
79,"you used to love me","faith evans",1995," i remember the way you used to love me i remember the days you used to love meyou dont appreciate the time i put into this love affair of ours baby i couldnt let you walk around thinking its alright to let me downi remember the way you used to love me baby i remember the way i remember the days you used to love mei gave you all my precious love and anything you wanted from me you didnt hear me calling out calling for your warm affection after all this timeyou cant deny what im feeling is real and i stood around stood by your side went through all the hurt and pain and you turned to walked awayi remember the way you used to love me baby i remember the days you used to love mecant give up on the way you used to give it to me give it to me what a feeling its for reali remember the way you used to love me yeah yeah yeah i remember the days you used to love me yeah yeah yeahyou didnt hear me calling out and thats not what loves about no no i remember you used to love meyou used to love me every day now your love has gone away i remember i rememberi remember the way you used to love me i remember the days you used to love mei remember the way you used to love me i remember the days you used to love mei remember the way you used to love me i remember the days you used to love me ",1
80,"constantly","immature",1995," constantly constantly constantly i think about you all the time constantly youre on my mindat night i try to close my eyes but i i cant get much sleep youre always on my mind you look so fine i often pretend that your my girl or at least my friendif you could read my mind the only thing youd find is you girl dont you know i long to be with you every single way of every single day i start driftin away and i think of youconstantly ive got you on my mind constantly constantly and not just all the time i think about you constantly if you only knew im crazy for you i think about you all the time constantly youre on my mindi practice my words and i build up the nerve but uh words disappear whenever you are near i catch your eye time after time is love in the air or is it all in my mindand you you could read my mind the only thing youd find is you girl dont you know i long to be with you in each and every way and every single day i start driftin away and i think of youconstantly youre always on my mind i think about constantly and not just all the time i think about you baby constantly oh if you only knew im crazy for you i think about you all the time constantly youre on my mindyeah yeah baby oh yeah ooh yeah yeah i think about you baby youre always on my mindconstantly constantly constantly i think about you all the time constantly youre on my mindconstantly constantly constantly i think about you all the time ",1
81,"hold me thrill me kiss me kill me","u2",1995," you dont know how you took it you just know what you got oh lordy youve been stealing from the thieves and you got caughtin the headlights of a stretch car youre a stardressing like your sister living like a tart they dont know what youre doing babe it must be artyoure a headache in a suitcase youre a staroh no dont be shy you dont have to go blind hold me thrill me kiss me kill meyou dont know how you got here you just know you want out believing in yourself almost as much as you doubtyoure a big smash you wear it like a rash staroh no dont be shy it takes a crowd to cry hold me thrill me kiss me kill methey want you to be jesus theyll go down on one knee but theyll want their money back if youre alive at thirtythreeand youre turning tricks with your crucifix youre a star oh childof course youre not shy you dont have to deny love hold me thrill me kiss me kill me ",1
82,"100 pure love","crystal waters",1995," its 12 past midnight dont close your eyes your souls half alive and ill be by your side ive come to take you there show you how to care just be aware that youll have to sharei want your love i want it tonight im taking your heart so dont you fight ill be your answer ill be your wish ill be your fantasy your favorite dishfrom the back to the middle and around again im gonna be there til the end 100 pure love from the back to the middle and around again im gonna be there til the end 100 pure loveyou saw a brand new high thought that you could fly did i hear you cry or did you like the ride you call my name again no its not a sin ill show you how to win and where ive beeni want your love i want it tonight im taking your heart so dont you fight ill be your answer ill be your wish ill be your fantasy your favorite dishfrom the back to the middle and around again im gonna be there til the end 100 pure love from the back to the middle and around again im gonna be there til the end 100 pure love from the back to the middle and around again im gonna be there til the end 100 pure loveyoull never have to run away youll always have a friend to play youll never go out on your own in me you will find a home homefrom the back to the middle and around again im gonna be there til the end 100 pure love from the back to the middle and around again im gonna be there til the end 100 pure love ",1
83,"ask of you","raphael saadiq",1995," just give me all your lovin girl ill do all the rubbin thats all i ask of you ill kiss you anywhere ill kiss you anywhere baby yes love even there even there thats all i ask of youkissin you is not enough for me you know im a big boy and big boys have desires makin love is what i want to do but i need a true friend to make me come togetherjust give me all your lovin all your love girl ill do all the rubbin i want to kiss you right there thats all i ask of you just stand right there little girl ill kiss you anywhere anywhere yes love even there especially there and there thats all i ask of you thats all i ask of youim not tryin to put you on the line but i got to tell you whats exactly on my mind girl my big heart leads me right to you every time the phone rings i pray to god that its you girlevery time i close my eyes a vision of your face always pops into my mind girl i would do anything to receive love from you so show me the way that this could happen soonill be right there on time its your place or mine just show me the place i really love you i really love you i love you deja i love you dejajust give me all your lovin all your love girl ill do all the rubbin give me everything i want thats all i ask of you im sure i can please you ill kiss you anywhere anywhere yes love even there i want to kiss you right there thats all i ask of you just stand right there little girllets blow out the candles out the candles and see if i can handle see if i can handle you thats all i ask of you little things i do little things its just because of you its just because its yousee time is all we need time sing it partner and time is all we have just show me the place i really love you i really love you i love you deja i love you deja lovejust give me all your lovin all your love girl ill do all the rubbin i will do all the rubbin thats all i ask of you girl all i ask ill kiss you anywhere anywhere yes love even there especially there and there thats all i ask of you just because its youjust give me all your lovin all your love girl ill do all the rubbin and i will do all the rubbin thats all i ask of you thats all i ask ill kiss you anywhere anywhere yes love even there especially there and there thats all i ask of you all i want to dolets blow out the candles blow out those candles and see if i can handle see i want to please your body ",1
84,"sugar hill","az",1995," i wanna chill on sugar hill its so lovely so lovely azs for real oh hes for real hes for real its so lovely sipping on bubblyat times i window watch out the mariott zoning on owning coops foreign drop top coups and yachts guzzling straight shots if scotch formulating up plots to escape from salems lock cause its scorching hot making it hard trying to figure whos out to trap me pataki got all kinds of undercovers coming at me perhaps he wont be happy til they snatch me and place me where half us blacks be sitting in catsaki but never me see my destiny to be forever free in ecstasy on a hill that awaits for me so plush just to visualize is like a coke rush vivid enough to make living this a mustplus this is reali wanna chill on sugar hill its so lovely so lovely azs for real oh hes for real hes for real its so lovely sipping on bubblyno more cutting grams and wrapping grands up in rubber bands im a recovered man our plans to discover other lands suburban places got me seeking for oasis cristal by the cases ladies of all races with dime faces sex on the white sand beaches of saint thomas though this aint promised im as determined as them old timers i wanna villa in a costa rica so i can smoke my reefer and enjoy how life supposed to treat ya laid in the shades of the everglades finally forever paid wearing the finest fabrics tailors ever made me and my team caribbean cuisines i guess being down for so long im all in store to see my dreamsi wanna chill on sugar hill its so lovely so lovely azs for real oh hes for real hes for real its so lovely sipping on bubblyso until i see past the green pasture me being supreme master aint much more life to fiend after but another chapter a new way of life to adapt to cause these streetsll gas ya and have ya caught up in the rapture d̩j�� vu i could vision my killer crew more hospitable consciously aware plus political cause though they claim that every man created equal whats his native people find it harder for nights to sleep through but once established we eating lovely living lavish like the house of versailles in paris i gotta have it it it so plush just to visualize is like a coke rush vivid enough to make living this a mustplus this is reali wanna chill on sugar hill its so lovely so lovely azs for real oh hes for real hes for real its so lovely sipping on bubblyi wanna chill on sugar hill azs for real hes for real its so lovely sipping on bubblyits so crazy im down wit az its so lovely sipping on bubbly its so crazy jones and az its so lovely sipping on bubbly i wanna chill on sugar hill baby i wanna chill on sugar hill baby i wanna chill i wanna chill i wanna chill on sugar hill baby sugar hill ",1
85,"good","better than ezra",1995," looking around the house hidden behind the window and the door searching for signs for life but theres nobody homewell maybe im just too sure or maybe im just too frightened by the sound of it pieces of note fall down but the letter saiduh huh it was good living with you uh huh it was good huh huh huh uh huh it was good living with you uh huh it was good huh huhgood good good good good goodsitting around the house watching the sun trace shadows on the floor searching for signs of life but theres nobody homewell maybe ill call or ill write you a letter now maybe well see on the fourth of julybut im not too sure and im not too proud well im not to sure and im not to proud to sayuh huh it was good living with you uh huh it was good huh huh huh uh huh it was good living with you uh huh it was good huh huh so gooduh huh it was good living with you uh huh it was good huh huh huh uh huh it was good living with you uh huh it was good huh huh uh huh you were so good yeah you were so good ",1
86,"brown sugar","dangelo",1995," let me tell you bout this girl maybe i shouldnt i met her in philly and her name was brown sugar see we be making love constantly thats why my eyes are a shade blood burgundythe way that we kiss is unlike any other way that i be kissin when im kissin what im missin wont you listenbrown sugar babe i gets high off your love i dont know how to behavei want some of your brown sugar ooh oohoh sugar when youre close to me you love me right down to my knees and whenever you let me hit it sweet like the honey when it comes to me skin is caramel with those cocoa eyes even got a big sister by the name of chocolate thaibrown sugar babe i gets high off your love i dont know how to behavei want some of your brown sugar ooh oohnow thatd be how the story goes brown sugar got me open now i want some more always down for a menageatroi but i think im a hit it solo hope my niggas dont mindstick out my tongue and im bout ready to hit this pretty gritty bitty with persistence yo i dont think yall hear mebrown sugar babe i gets high off your love i dont know how to behavei want some of your brown sugar ooh ooh ",1
87,"turn the beat around","gloria estefan",1995," turn it up turn it up turn it upside down turn it up turn it up turn it upside down turn it up turn it up turn it upside down turn it up turn it up turn it upside downturn the beat around love to hear percussion turn it upside down love to hear percussion love to hear itblow horns you sure sound pretty your violins keep movin to the nitty gritty when you hear the scratch of guitars scratchin then youll know that rhythm carries all the actionturn the beat around love to hear percussion turn it upside down love to hear percussion love to hear itturn the beat around love to hear percussion turn it upside down love to hear percussion love to hear itflute player play your flute cause i know that you want to get your thing off but you see ive made up my mind about it its got to be the rhythm no doubt about itcause when the guitar player start playing with the syncopated rhythm with the scratch scratch scratch makes me wanna move my body yeah yeah yeah and when the drummer starts beating that beat he nails that beat with the syncopated rhythm with the rat tat tat tat tat tat on the drums heyturn the beat around love to hear percussion turn it upside down love to hear percussion love to hear it love to hear it love to hear it love to hear itturn it up turn it up turn it upside down turn it up turn it up turn it upside down turn it up turn it up turn it upside down turn it up turn it up turn it upside downturn the beat around love to hear percussion turn it upside down love to hear percussionturn the beat around love to hear percussion turn it upside down love to hear percussionturn the beat around love to hear percussion turn it upside down love to hear percussion ",1
88,"til you do me right","after 7",1995," i was in love with you and gave my heart to you i did my best to keep you satisfiedyou took the love from me and used it selfishly you did not give back your love to me at alli gave the sun to you you said it was too bright i gave you diamond rings you said they didnt shinei gave my world to you but you said its not enough what in the world could i have done to make you be so roughtil you do me right i dont even wanna talk to you i dont even wanna hear you speak my nameand til you do me right only wrong is gonna come to you nothin good is gonna come til you change change your ways until you change your evil waysgirl i was there for you someone you could talk to how could you just keep breakin my heartwhat did i do to you to make you be so cruel i dont understand why youve been so wrongi tried to be your strength you said i was too strong i tried to compromise so we could get alongi gave my love to you despite your evil ways i guess its clear to me theres only one thing left to saytil you do me right i dont even wanna talk to you i dont even wanna hear you speak my nametil you do me right only wrong is gonna come to you nothin good is gonna come til you change change your ways until you change your evil waystheres a time when you know what you feel inside your heart its tellin you that somethin feels strangeyou dont have to deny it all you gotta do is just try it youll find our love grows stronger if youre willin to changetil you do me right i dont even wanna talk to you i dont even wanna hear you speak my nametil you do me right only wrong is gonna come to you nothin good is gonna come til you change your waystil you do me right i dont even wanna talk to you i dont even wanna hear you speak my nametil you do me right only wrong is gonna come to you nothin good is gonna come til you change change your ways until you change your evil waystil you do me right i dont even want to talk to you i dont even want to hear you speak my name ",1
89,"1st of tha month","bone thugsnharmony",1995,NA,NA
90,"like the way i do","melissa etheridge",1995," is it so hard to satisfy your senses you found out to love me you have to climb some fences scratching and crawling along the floor to touch youand just when it feels right you say you found someone to hold you does she like i dobaby tell me does she love you like the way i love you does she stimulate you attract and captivate youtell me does she miss you existing just to kiss you like the way i dotell me does she want you infatuate and haunt you does she know just how to shock you electrify and rock youdoes she inject you seduce you and affect you like the way i do like the way i docan i survive all the implications even if i tried could you be less than an addictiondont you think i know theres so many others who would beg steal and lie fight kill and die just to hold you hold you like i dobaby tell me does she love you like the way i love you does she stimulate you attract and captivate youtell me does she miss you existing just to kiss you like the way i dotell me does she want you infatuate and haunt you does she know just how to shock you electrify and rock youdoes she inject you seduce you and affect you like the way i donobody loves you like the way i do nobody wants you like the way i donobody needs you like the way i do nobody aches nobody aches just to hold you like the way i dono no notell me does she love you like the way i love you does she stimulate you attract and captivate youbaby baby tell me does she miss you existing just to kiss you like the way i donow tell me does she want you infatuate and haunt you does she know just how to shock you electrify and rock youdoes she inject you seduce you and affect you baby like the way i do no like the way i do ",1
91,"i live my life for you","firehouse",1995," you know youre everything to me and i could never see the two of us apart and you know i give myself to you and no matter what you do i promise you my heartive built my world around you and i want you to know i need you like ive never needed anyone beforei live my life for you i wanna be by your side in everything that you do and if theres only one thing you can believe is true i live my life for youi dedicate my life to you you know that i would die for you but our love would last forever and i will always be with you and there is nothing we cant do as long as were togetheri just cant live without you and i want you to know i need you like ive never needed anyone beforei live my life for you i wanna be by your side in everything that you do and if theres only one thing you can believe is true i live my life for youoh ive built my world around you and i want you to know i need you like ive never needed anyone beforei live my life for you i wanna be by your side in everything that you do and if theres only one thing you can believe is true i live my life for you oh yeah i live my life for you ",1
92,"dream about you","stevie b",1995," there was a time in my life when i opened my eyes and there you were you were more than a dream i could reach out and touch you girl that was long ago there are somethings that i guess ill never know when you love someone you got to learn to let them gowhen i dream about you thats when everythings all right your in my arms here next to me forever when i dream about you girl you never go away just close my eyes wait for my dreams cause i still love loving youhow can i get you to see that im falling apart since youve been gone i can never be sure i could ever let go your love is much to strong there are somethings that i guess ill never know when you love someone you got to learn to let them gowhen i dream about you thats when everythings all right your in my arms here next to me forever when i dream about you girl you never go away just close my eyes wait for my dreams cause i still love loving youthere are somethings that i guess ill never know when you love someone you got to learn to let them gowhen i dream about you thats when everythings all right your in my arms here next to me forever when i dream about you girl you never go away just close my eyes wait for my dreams cause i still love loving you ",1
93,"cotton eye joe","rednex",1995," if it hadnt been for cottoneye joe id been married a long time ago where did you come from where did you go where did you come from cottoneye joeif it hadnt been for cottoneye joe id been married a long time ago where did you come from where did you go where did you come from cottoneye joeif it hadnt been for cottoneye joe id been married a long time ago where did you come from where did you go where did you come from cottoneye joeif it hadnt been for cottoneye joe id been married a long time ago where did you come from where did you go where did you come from cottoneye joehe came to town like a midwinter storm he rode through the fields so handsome and strong his eyes was his tools and his smile was his gun but all he had come for was having some funif it hadnt been for cottoneye joe id been married a long time ago where did you come from where did you go where did you come from cottoneye joeif it hadnt been for cottoneye joe id been married a long time ago where did you come from where did you go where did you come from cottoneye joehe brought disaster wherever he went the hearts of the girls was to hell broken sent they all ran away so nobody would know and left only men cause of cottoneye joeif it hadnt been for cottoneye joe id been married a long time ago where did you come from where did you go where did you come from cottoneye joeif it hadnt been for cottoneye joe id been married a long time ago where did you come from where did you go where did you come from cottoneye joeif it hadnt been for cottoneye joe id been married a long time ago where did you come from where did you go where did you come from cottoneye joeif it hadnt been for cottoneye joe id been married a long time ago where did you come from where did you go where did you come from cottoneye joeif it hadnt been for cottoneye joe id been married a long time ago where did you come from where did you go where did you come from cottoneye joe ",1
94,"thank you","boyz ii men",1995," i was young and didnt have no where to run i needed to wake up and see whats in front of me there has to be a better way sing it again now better way to show im gratefulso i thought up this song to show my appreciation for lovin me so long you dont know how much you mean to me cause even though when times got rough you never turned away you were right there and i thank you thank youwhen i felt i had enough you never turned away you were right there and i thank you thank you wenk wenk wenk wenk bop wenk wenk wenk wenk bop wenk wenk wenk wenk bop wenk wenk wenk wenk bop bopall through my life i knew that youd be my world knowing every where i go things you taught me they would show so many times and changes youve seen me through i sure nough couldnt have survived without you youand so i thought up this song to show my appreciation for lovin me so long you dont know how much you mean to me cause even though when times got rough you never turned away you were right there and i thank you thank youwhen i felt i had enough you never turned away you were right there and i thank you thank you cause even though when times got rough you never turned away you were right there and i thank you thank you when i felt i had enough you never turned away you were right there and i thank you thank youcause even though when times got rough you never turned away you were right there and i thank you thank you when i felt i had enough you never turned away you were right there and i thank you thank youcause even though when times got rough you never turned away you were right there and i thank you thank you when i felt i had enough you never turned away you were right there and i thank you thank youcause even though when times got rough you never turned away you were right there and i thank you thank you when i felt i had enough you never turned away you were right there and i thank you thank youcause even though when times got rough you never turned away you were right there and i thank you thank you when i felt i had enough you never turned away you were right there and i thank you thank youcause even though when times got rough you never turned away you were right there and i thank you thank you when i felt i had enough you never turned away you were right there and i thank you thank you ",1
95,"ill stand by you","the pretenders",1995,"  ",1
96,"i miss you","n ii u",1995,"you gave me life you gave me all my hopes and dreams oh sweet mama and now i realize all the joy youve put inside of me i i miss you and i want you to know that i i i miss you i really miss you mama i i miss you deep in my heart im lonely without you mama i i miss you i want you to know ever since youve been gone im feeling so all alone all by myself i need your help mama so many days memories of your face lingers on i i miss you want you to know that i i miss you sometimes the world feels like its on my shoulders i i miss you i still remember the day you said son youve got to be strong youve got to hold on i i miss you hold on now im holding on i i miss you youve put the joy in my heart i dont mind telling the world i i miss you everywhere i go oh when i when i look in the mirror i i miss you all i do is see reflections of your eyes i i miss you sunday morning sunday morning make us breakfast in the morning we used to sit at the table say our prayers together oh mama the tears run down my face i i miss you cause theres no one to take your place i i miss you oh mama i miss you i miss you i miss you i miss you i love you mama",3
97,"give it 2 you","da brat",1995," im gonna give it 2 you one for da money two for da bass three to get ya goin cuz da brats in da place im gonna give it 2 youits me da ogfunk bandit whos dat da b to da r a t and in fact if you aint heard of me take a seat lay back and listen as i bust for yo ass on dis funkdafied missionjust kick off your shoes and relax your feet thats right party on down wit da brat and her beat now it goes like dat and dats how it goes ima give it to all you negroes and hoes so listen up make sure you listen up well and dont miss shit cuz this bitch be bad as helltruth of matter is i splatta it then talk shit in a gangtas way dats how dem fools get dealt wit so what you wanna do bitch dont even trip step up step up and ima bust yo lip now i know dat you know dat i know you dont want me to but keep on trippin and ima give it to you bitchim gonna give it 2 you im gonna give it 2 you im gonna give it 2 youbrat is da fantastic romantic singlehanded bandit and damnit dont get no betta betta it dont get no mo than da flo dat i flo for you negroes and hoes devastating captivating elevating as i operating and i love to get highwell nigga fire up nigga fire it up at your request i guess its time for me to get fucked up it goes one puff two puff three puff four from the bottom to the top top to bottom i go so now you know what i aint and what i is its da baddest new bitch in dis hiphop bizog is what i am a brat is what i be blounts are what i smoke and you cant see me  so let it go cuz my shit is tight take it how i it give it and enjoy da nightim gonna give it 2 you its like that its like that for da nine fuckin for its da brat and you dont know im gonna give it 2 you you betta ask some muthafuckin body lodi dodi i came to party bitch im gonna give it 2 youword up hey word up hey word up hey for real doe shit word up hey word up hey word up hey for real doeim gonna give it 2 you im gonna give it 2 you ",1
98,"best friend","brandy",1995," whenever im down i call on you my friend a helpin hand you lend in my time of need so im im callin you now just to make it through what else can i do wont you hear my pleafriends may come and friends may go but you should know that that ive got your back its automatic so never hesitate to call cause im your sista and always for ya andi dont know what id ever do without you from the beginnin til the end youve always been here right beside me so i call you my best friend through the good times and the bad ones whether i lose or if i win i know one thing that never changes and thats you as my best friendwhenever im down and all thats going on is really going on just one of those days to ya you said the right things to keep me movin to keep me goin strong what else can i sayfriends are there through thick and thin but ive been told that and i believe it its automatic call me when you need a friend cause im your sista and always for ya and i dont knowi dont know what id ever do without you from the beginnin til the end youve always been here right beside me so i call you my best friend through the good times and the bad ones whether i lose or if i win i know one thing that never changes and thats you as my best friendwhat id ever do without you from the beginnin til the end youve always been here right beside me so i call you my best friend through the good times and the bad ones whether i lose or if i win i know one thing that never changes and thats you as my best friendbuddy i can always call on my best friend buddy i can always call on my best friendill be there for you when youre going through times that you may think that you need a friend you can count on me call me when you need wont you call me up causei dont know what id ever do without you from the beginnin til the end youve always been here right beside me so i call you my best friend through the good times and the bad ones whether i lose or if i win i know one thing that never changes and thats you as my best friendi dont know what id ever do without you from the beginnin til the end youve always been here right beside me so i call you my best friend through the good times and the bad ones whether i lose or if i win i know one thing that never changes and thats you as my best friend ",1
99,"misery","soul asylum",1995," they say misery loves company we could start a company and make miseryfrustrated incorporatedwell i know just what you need i might just have the thing i know what youd pay to seeput me out of my misery id do it for you would you do it for me we will always be busy making miserywe could build a factory and make misery well create the cure we made the diseasefrustrated incorporated frustrated incorporatedwell i know just what you need i might just have the thing i know what youd pay to seeput me out of my misery all you suicide kings and your drama queens forever after happily making miserydid you satisfy your greed get what you need was it only envy so emptyfrustrated incorporated frustrated incorporated frustrated incorporated frustrated incorporated frustrated frustrated frustrated ",1
100,"cant stop lovin you","van halen",1995," theres a time and place for everything for everyone we can push with all our might but nothings gonna come oh no nothings gonna change and if i ask you not to try ohh could you let bei wanna hold you and say we cant throw this all away tell me you wont go you wont go you have to hear me sayi cant stop lovin you and no matter what i say or do but you know my heart is true ohh i cant stop lovin youyou can change your friends your place in life you can change your mind we can change the things we say and do any timeoh no but i think youll find that when you look inside your heart oh baby ill be there yeahhold on and im holdin on baby just come on come on come on i just wanna hear you sayi cant stop lovin you and no matter what you say or do you know my heart is true ohh i cant stop lovin youohh im so twisted and tied and all i remember was how hard we tried only to surrenderand when its over i know how its gonna be and true love will never die or not fade awayand i cant stop lovin you and no matter what i say or do you know my heart is true ohh i cant stop lovin youand i know what i got to do hey ray what you said is true ohh i cant stop lovin you oh no ohh cant stop lovin you ",1
1,"macarena bayside boys mix","los del r'io",1996," dale a tu cuerpo alegria macarena que tu cuerpo es pa darle alegria y cosa buena dale a tu cuerpo alegria macarena hey macarenadale a tu cuerpo alegria macarena que tu cuerpo es pa darle alegria y cosa buena dale a tu cuerpo alegria macarena hey macarenamacarena tiene un novio que se llama que se llama de apellido vitorino que en la jura de bandera el muchacho se la dio con dos amigosmacarena tiene un novio que se llama que se llama de apellido vitorino y en la jura de bandera el muchacho se la dio con dos amigosdale a tu cuerpo alegria macarena que tu cuerpo es pa darle alegria y cosa buena dale a tu cuerpo alegria macarena hey macarenadale a tu cuerpo alegria macarena que tu cuerpo es pa darle alegria y cosa buena dale a tu cuerpo alegria macarena hey macarenamacarena macarena macarena que te gustan los veranos de marbella macarena macarena macarena que te gusta la movida guerrilleradale a tu cuerpo alegria macarena que tu cuerpo es pa darle alegria y cosa buena dale a tu cuerpo alegria macarena hey macarenadale a tu cuerpo alegria macarena que tu cuerpo es pa darle alegria y cosa buena dale a tu cuerpo alegria macarena hey macarenamacarena suena con el corte ingles y se compra los modelos mas modernos le gustaria vivir en nueva york y ligar un novio nuevomacarena suena con el corte ingles y se compra los modelos mas modernos le gustaria vivir en nueva york y ligar un novio nuevodale a tu cuerpo alegria macarena que tu cuerpo es pa darle alegria y cosa buena dale a tu cuerpo alegria macarena hey macarenadale a tu cuerpo alegria macarena que tu cuerpo es pa darle alegria y cosa buena dale a tu cuerpo alegria macarena hey macarenamacarena tiene un novio que se llama que se llama de apellido vitorino y en la jura de bandera del muchacho se la dio con dos amigosmacarena tiene un novio que se llama que se llama de apellido vitorino y en la jura de bandera del muchacho se la dio con dos amigosdale a tu cuerpo alegria macarena que tu cuerpo es pa darle alegria y cosa buena dale a tu cuerpo alegria macarena hey macarenadale a tu cuerpo alegria macarena que tu cuerpo es pa darle alegria y cosa buena dale a tu cuerpo alegria macarena hey macarena ",1
2,"one sweet day","mariah carey and boyz ii men",1996," sorry i never told you all i wanted to say now its too late to hold you cause youve flown away so far awaynever had i imagined living without your smile feeling and knowing you hear me it keeps me alive aliveand i know youre shining down on me from heaven like so many friends weve lost along the way and i know eventually well be together one sweet daydarling i never showed you assumed youd always be there i i took your presence for granted but i always cared and i miss the love we sharedand i know youre shining down on me from heaven like so many friends weve lost along the way and i know eventually well be together one sweet dayalthough the sun will never shine the same ill always look to a brighter daylord i know when i lay me down to sleep you will always listen as i prayand i know youre shining down on me from heaven like so many friends weve lost along the way and i know eventually well be together one sweet dayand i know youre shining down on me from heaven like so many friends weve lost along the way and i know eventually well be together one sweet daysorry i never told you all i wanted to say ",1
3,"because you loved me","celine dion",1996," for all those times you stood by me for all the truth that you made me see for all the joy you brought to my life for all the wrong that you made rightfor every dream you made come true for all the love i found in you ill be forever thankful babyyoure the one who held me up never let me fall youre the one who saw me through through it allyou were my strength when i was weak you were my voice when i couldnt speak you were my eyes when i couldnt see you saw the best there was in melifted me up when i couldnt reach you gave me faith cause you believed im everything i am because you loved me ooh babyyou gave me wings and made me fly you touched my hand i could touch the sky i lost my faith you gave it back to me you said no star was out of reachyou stood by me and i stood tall i had your love i had it all im grateful for each day you gave memaybe i dont know that much but i know this much is true i was blessed because i was loved by youyou were my strength when i was weak you were my voice when i couldnt speak you were my eyes when i couldnt see you saw the best there was in melifted me up when i couldnt reach you gave me faith cause you believed im everything i am because you loved meyou were always there for me the tender wind that carried me the light in the dark shining your love into my life youve been my inspiration through the lies you were the truth my world is a better place because of youyou were my strength when i was weak you were my voice when i couldnt speak you were my eyes when i couldnt see you saw the best there was in melifted me up when i couldnt reach you gave me faith cause you believed im everything i am because you loved meyou were my strength when i was weak you were my voice when i couldnt speak you were my eyes when i couldnt see you saw the best there was in melifted me up when i couldnt reach you gave me faith cause you believed im everything i am because you loved me ohhhh im everything i am because you loved me ",1
4,"nobody knows","the tony rich project",1996,"wish id told her how i felt then maybe shed be here right now but instead i pretended im glad you went away these four walls closing more everyday and im dyin inside and nobody knows it but me like a clown i put on a show the pain is real even if nobody knows and im cryin inside and nobody knows it but me why didnt i say the things i needed to say how could i let my angel get away now my world is just a tumblin down i can say it so clearly but youre nowhere around the nights are lonely the days are so sad and i just keep thinkin about the love that we had and im missin you and nobody knows it but me i carry a smile when im broken in two and im nobody without someone like you im tremblin inside and nobody knows it but me i lie awake its a quarter past three im screamin at night if i thought youd hear me yeah my heart is callin you and nobody knows it but me how blue can i get you could ask my heart but like a jigsaw puzzle its been torn all apart a million words couldnt say just how i feel a million years from now you know ill be lovin you still the nights are lonely the days are so sad and i just keep thinkin about the love that we had and im missin you and nobody knows it but me yeah ohh uhh whoa omm nobody nobody but me tomorrow morning im hittin the dusty road gonna find you wherever ever you might go and im gonna unload my heart and hope you come back to me yeah sad when the nights are lonely the nights are lonely the days are so sad and i just keep thinkin about the love that we had and im missin you and nobody knows it but me",3
5,"always be my baby","mariah carey",1996," we were as one babe for a moment in time and it seemed everlasting that you would always be mine now you wanna be free so im letting you fly cause i know in my heart babe our love will never dieyoull always be a part of me im part of you indefinitely boy dont you know you cant escape me ooh darling cause youll always be my baby and well linger on time cant erase a feeling this strong no way youre never gonna shake me ooh darling cause youll always be my babyi aint gonna cry no and i wont beg you to stay if youre determined to leave boy i will not stand in your way but inevitably youll be back again cause you know in your heart babe our love will never end noyoull always be a part of me im part of you indefinitely boy dont you know you cant escape me ooh darling cause youll always be my baby and well linger on time cant erase a feeling this strong no way youre never gonna shake me ooh darling cause youll always be my babyi know that youll be back boy when your days and your nights get a little bit colder i know that youll be right back baby oh baby believe me its only a matter of time timeyoull always be a part of me im part of you indefinitely boy dont you know you cant escape me ooh darling cause youll always be my baby and well linger on time cant erase a feeling this strong no way youre never gonna shake me ooh darling cause youll always be my babyyoull always be a part of me im part of you indefinitely boy dont you know you cant escape me ooh darling cause youll always be my baby and well linger on time cant erase a feeling this strong no way youre never gonna shake me ooh darling cause youll always be my baby ",1
6,"give me one reason","tracy chapman",1996," give me one reason to stay here and ill turn right back around give me one reason to stay here and ill turn right back around said i dont want leave you lonely you got to make me change my mindbaby i got your number oh and i know that you got mine but you know that i called you i called too many times you can call me baby you can call me anytime but you got to call megive me one reason to stay here and ill turn right back around give me one reason to stay here and ill turn right back around said i dont want leave you lonely you got to make me change my mindi dont want no one to squeeze me they might take away my life i dont want no one to squeeze me they might take away my life i just want someone to hold me oh and rock me through the nightthis youthful heart can love you yes and give you what you need i said this youthful heart can love you oh and give you what you need but im too old to go chasing you around wasting my precious energygive me one reason to stay here yes and ill turn right back around give me one reason to stay here oh and ill turn right back around said i dont want leave you lonely you got to make me change my mindbaby just give me one reason oh give me just one reason why baby just give me one reason oh give me just one reason why i should stay said i told you that i loved you and there aint no more to say ",1
7,"tha crossroads","bone thugsnharmony",1996,NA,NA
8,"i love you always forever","donna lewis",1996," feels like im standing in a timeless dream of light mists of pale amber rose feels like im lost in a deep cloud of heavenly scent touching discovering youthose days of warm rains come rushing back to me miles of windless summer nights air secret moments shared within the heat of the afternoon out of the stillness soft spoken wordssay it say it again i love you always forever near or far closer together everywhere i will be with you everything i will do for yousay it say it again i love you always forever near or far closer together everywhere i will be with you everything i will do for youyouve got the most unbelievable blue eyes ive ever seen youve got me almost melting awayas we lay there under a blue sky with pure white stars exotic sweetness a magical timesay it say it again i love you always forever near or far closer together everywhere i will be with you everything i will do for yousay it say it again i love you always forever near or far closer together everywhere i will be with you everything i will do for yousay youll love and love me forever never stop never whatever near and far and always everywhere and everythingsay youll love and love me forever never stop never whatever near and far and always everywhere and everythingsay youll love and love me forever never stop never whatever near and far and always everywhere and everythingsay youll love and love me forever never stop never whatever near and far and always everywhere and everythingi love you always forever near or far closer together everywhere i will be with you everything i will do for youi love you always forever near or far closer together everywhere i will be with you everything i will do for youi love you always forever near or far closer together everywhere i will be with you everything i will do for youi love you always forever near or far closer together ",1
9,"youre makin me high  let it flow","toni braxton",1996,NA,NA
10,"twisted","keith sweat",1996," oh yeah baby you got to make your mind up yeah kut klose help me outyou know you are my lover you got me twisted over you i know i got what you need so what you want to dobaby baby i know baby i love you so but you dont feel like i do tell me what can i dobut i gotta be strong you did me wrong when i thought that we were really down so you say you want me make up your mind cause im not gonna be here for longbaby baby in time baby i know youll find that what you needed was here and think about it my dear rpt 2 1breaking up down you got me twisted thinking about the way that things use to be when it was you and me girl i was so free see you had my life like cupid and i was just down right foolish and stupid but now i know the reason for the pain and the headaches you left me all alone now i cant even concentrate i guess ill wait for the day until you come back because my heart is where your love is at you got me twistedrepeat 1 1 ",1
11,"cmon n ride it the train","quad city djs",1996," woo woocome on ride the train hey ride it woo woo come on ride the train hey ride it woo woo come on ride the train woo woo hey ride it woo woocome on ride the train woo woo hey ride it woo woo come on ride the train its the choo choo ride it woo woocome on ride the train its the choo choo train come on ride the train its the choo choo ride it woo woo come on ride the train its the choo choo trainah ah ah ah ah i think i can i think i can i think i can i think i canway deep down south where we play this game its them quad city djs and you we call it the train so if you wanna ride your thing just come on down the trainwe gonna rock ooh lord just jump aboard baby so get your next of kin your sister and your friend pack it up now choo choo ride on this choo choo and boo you need to stop faking and come on with mei wanna take you home with me to be alone with me and i can see you wanna hide it come on just divide it and please dont knock it until you ride it so to all of you girls you know im calling your namemichelle tamika and tanya wanna ride this train ride out nowcome on ride the train hey ride it woo woo come on ride the train hey ride it woo woo come on ride the train woo woo hey ride it woo woocome on ride the train woo woo hey ride it woo woo come on ride the train its the choo choo ride it woo woocome on ride the train its the choo choo train come on ride the train its the choo choo ride it woo woo come on ride the train its the choo choo trainif you feel like dancing well come on its up to you we got the sound to keep you getting down down the train is coming throughah ah ah ah ah i think i can i think i can i think i can i think i canah ah ah ah ah i think i can i think i can i think i can i think i cani can smell them tranquil breezes from a mile away graduated from booze up to allazay baby you looking tough to death got your weave done right its on so tight now its on tonight yeah yeahright about now its about that time for me to holler girl i wanna waller in the back of my impala woo dont need no tickets for this thing just jump on in let me hit them switches on the train and it aint no thing its all the sameget on the train tracks here we go so get on the floor and put a hump in your back so pack your bags come on get ready say what were coming through your town move your arm up and down and make that choo choo sound like thisride that choo choo woo woo come on its the choo choo woo woo come on its the choo choo trainif you feel like dancing well come on its up to you we got the sound to keep you getting down down the train is coming throughah ah ah ah ah i think i can i think i can i think i can i think i canah ah ah ah ah i think i can i think i can i think i can i think i can ",1
12,"missing","everything but the girl",1996," i step off the train im walking down your street again and past your door but you dont live there anymore its years since youve been there now youve disappeared somewhere like outer space youve found some better placeand i miss you like the deserts miss the rain and i miss you like the deserts miss the raincould you be dead you always were two steps ahead of everyone wed walk behind while you would run i look up at your house and i can almost hear you shout down to me where i always used to beand i miss you like the deserts miss the rain and i miss you like the deserts miss the rainback on the train i ask why did i come again can i confess ive been hanging round your old address and the years have proved to offer nothing since youve moved youre long gone but i cant move onand i miss you like the deserts miss the rain and i miss you like the deserts miss the rain and i miss youi step off the train im walking down your street again and past your door i guess you dont live there anymore its years since youve been there now youve disappeared somewhere like outer space youve found some better placeand i miss you and i miss you you found some better placeand i miss you like the deserts miss the rain and i miss you yeah like the deserts miss the rain and i miss you and i miss you like the deserts miss the rain and i miss you yeah like the deserts miss the rain the deserts miss the rain like the deserts miss the rain like the deserts miss the rain like the deserts miss the rain and i miss you yeah like the deserts miss the rain ",1
13,"ironic","alanis morissette",1996," an old man turned ninetyeight he won the lottery and died the next day its a black fly in your chardonnay its a death row pardon two minutes too late isnt it ironic dont you thinkits like rain on your wedding day its a free ride when youve already paid its the good advice that you just didnt take who wouldve thought it figuresmr play it safe was afraid to fly he packed his suitcase and kissed his kids goodbye he waited his whole damn life to take that flight and as the plane crashed down he thought well isnt this nice and isnt it ironicl dont you thinkits like rain on your wedding day its a free ride when youve already paid its the good advice that you just didnt take who wouldve thought it figureswell life has a funny way of sneaking up on you when you think everythings okay and everythings going right and life has a funny way of helping you out when you think everythings gone wrong and everything blows up in your facea traffic jam when youre already late a nosmoking sign on your cigarette break its like ten thousand spoons when all you need is a knife its meeting the man of my dreams and then meeting his beautiful wife and isnt it ironic dont you think a little too ironic and yeah i really do thinkits like rain on your wedding day its a free ride when youve already paid its the good advice that you just didnt take who wouldve thought it figureswell life has a funny way of sneaking up on you and life has a funny way of helping you out helping you out ",1
14,"exhale shoop shoop","whitney houston",1996," everyone falls in love sometimes sometimes its wrong and sometimes its right for every win someone must fail but there comes a point when when we exhale yeah yeah sayshoop shoop shoop shoop be doop shoop shoop shoop be doop shoop shoop shoop be doop all you gotta do is say shoop shoop shoop be doop shoop shoop shoop be doop shoop shoop shoop be doop shoop shoop shoop be doopsometimes youll laugh sometimes youll cry life never tells us the whens or whys when youve got friends to wish you well youll find your point when you will exhale yeah yeah sayshoop shoop shoop shoop be doop shoop shoop shoop be doop shoop shoop shoop be doop shoop shoop shoop be doop shoop shoop shoop be doop shoop shoop shoop be doop shoop shoop shoop be doophearts are often broken when there are words unspoken in your soul theres answers to your prayers if youre searching for a place you know a familiar face somewhere to go you should look inside yourself youre halfway theresometimes youll laugh sometimes youll cry life never tells us the whens or whys but when youve got friends to wish you well youll find your point when you will exhale yeah yeah sayshoop shoop shoop shoop be doop shoop shoop shoop be doop shoop shoop shoop be doop shoop shoop shoop be doop shoop shoop shoop be doop shoop shoop shoop be doop shoop shoop shoop be doop ",1
15,"follow you down  til i hear it from you","gin blossoms",1996,NA,NA
16,"sittin up in my room","brandy",1996," seems like ever since the first day we met there is no one else i think of more than you cant seem to forget cant get you out my head cause the verdicts in im crazy over you how can one be down tell me where to start cause everytime you smile i feel tremors in my heart i have but one concern how can i get with you til my day comes heres what im gonna dobe sittin up in my room back here thinkin bout you i must confess im a mess for you be sittin up in my room back here thinkin bout you im just a mess with a thing for youpray that youll invest in my happiness all it takes is just one simple call from you turn my heart around if im making ground pretty baby please tell me if im getting through tell me what is up you see i need to know tell if im far or if im getting close i have but one concern and that one concern is you til im with you heres what im gonna dobe sittin up in my room back here thinkin bout you i must confess im a mess for you be sittin up in my room back here thinkin bout you im just a mess with a thing for youhow can one be down tell me where to start cause everytime you smil i feel tremors in my heart i have but one concern how can i get with you til my day comes heres what im gonna dobe sittin up in my room back here thinkin bout you i must confess im a mess for you be sittin up in my room back here thinkin bout you im just a mess with a thing for you ",1
17,"how do u want it  california love","2pac featuring kci  jojo  featuring dr dre",1996,NA,NA
18,"its all coming back to me now","celine dion",1996,"there were nights when the wind was so cold that my body froze in bed if i just listened to it right outside the windowthere were days when the sun was so cruel that all the tears turned to dust and i just knew my eyes were drying up forever i finished crying in the instant that you left and i cant remember where or when or how and i banished every memory you and i had ever made but when you touch me like this and you hold me like that i just have to admit that its all coming back to me when i touch you like this and i hold you like that its so hard to believe but its all coming back to me its all coming back its all coming back to me now there were moments of gold and there were flashes of light there were things id never do again but then theyd always seemed right there were nights of endless pleasure it was more than any laws allow baby baby if i kiss you like this and if you whisper like that it was lost long ago but its all coming back to me if you want me like this and if you need me like that it was dead long ago but its all coming back to me its so hard to resist and its all coming back to me i can barely recall but its all coming back to me now but its all coming back there were those empty threats and hollow lies and whenever you tried to hurt me i just hurt you even worse and so much deeper there were hours that just went on for days when alone at last wed count up all the chances that were lost to us forever but you were history with the slamming of the door and i made myself so strong again somehow and i never wasted any of my time on you since then but if i touch you like this and if you kiss me like that it was so long ago but its all coming back to me if you touch me like this and if i kiss you like that it was gone with the wind but its all coming back to me its all coming back its all coming back to me now there were moments of gold and there were flashes of light there were things wed never do again but then theyd always seemed right there were nights of endless pleasure it was more than all your laws allow baby baby baby when you touch me like this and when you hold me like that it was gone with the wind but its all coming back to me when you see me like this and when i see you like that then we see what we want to see all coming back to me the flesh and the fantasies all coming back to me i can barely recall but its all coming back to me now if you forgive me all this if i forgive you all that we forgive and forget and its all coming back to me when you see me like this and when i see you like that we see just what we want to see al coming back to me the flesh and the fantasies all coming back to me i can barely recall but its all coming back to me now its all coming back to me now and when you kiss me like this its all coming back to me now and when i touch you like that its all coming back to me now if you do it like this its all coming back to me now and if we",5
19,"change the world","eric clapton",1996," if i can reach the stars pull one down for you shine it on my heart so you could see the truth that this love i have inside is everything it seems but for now i find its only in my dreamsand i can change the world i will be the sunlight in your universe you would think my love was really something good baby if i could change the worldif i could be king even for a day id take you as my queen id have it no other way and our love would rule this kingdom we had made till then id be a fool wishing for the daythat i can change the world i would be the sunlight in your universe you would think my love was really something good baby if i could change the world baby if i could change the world ",1
20,"hey lover","ll cool j",1996," ive been watching you from a far for as long as i can remember youre all a real man could need and could ever ask for this is more than a crush yeahit was harlem at the ruckus i saw you with your man a smiling huh a coach bag in your hand i was laying in the coupe with my hat turned back we caught eyes for a moment and that was thatso i skated off as you strolled off looking at your legs god damn they look so soft so fine i gotta take ya from your man thats my mission if his love is real hes got to handle competition you only knew him five months thats right besides he drinks too much and smokes too many bluntsand ill be working out everyday thinkin about you looking at my own eyes in the rear view catching flashbacks of our eye contact wish i could lay you on your stomach and caress your back i would hold you in my arms and ease your fears i cant believe it i aint had a crush in yearschorus hey lover hey lover this is more than a crush hey lover hey lover this is more than a crush lover hey lover this is more than a crush hey lover hey lover this is more than a crushi see you at the bus stop waiting every day your man must think its safe for you to travel that way and i dont want to violate your relationship so ill lay back in the cut with a crush thats a tripstill he cant stop me from having daydreams tonguen you down with uh vanilla ice cream kissing on your thighs in the moonlight searching you body with my tongue girl all nighti wonder one day could it be how i wonder simple dreams could turn into reality our love would come down so naturally we would walk down the aisle of destinywould your man get his hustle on got your type scared break your off a little chump change to do your hair it seems to be enough to satisfy your needs but theres a deeper level if you follow our lead hey loverchoruslast week i saw ya at the mall standing at the pay phone about to make a call i had a vision it was me on the other end telling you come by and then you walked ini touched you gently with my hands we talked about traveling the distant lands escaping all the madness out here in the world becoming my wife no longer my girlthen you let your dress fall down to the floor oh yeah i kissed you softly and you yearned for more we experienced pleasure unparalleled into an ocean of love we both fellswimming in the timeless currents of pure bliss fantasies interchanging with each kiss undying passion unites our souls together we swim until the point of no controlbut its a fantasy you wont come true we never even spoke and your man swears he love you so im gonna keep all these feelings aside thats right keep my dreams alive until the right timechorusaint nothing like a fantasy kid words up hey lover hey lover hey lover this is more than a crush hey lover hey lover hey lover this is more than a crush hey lover hey lover hey lover this is more than a crush hey lover hey lover hey lover this is more than a crush hey lover ",1
21,"loungin","ll cool j",1996," keep it chicken head im lookin for a dime get my swerve on make it hot word is bond im lickin on your ankle bracelet well be sippin moet wit strawberries and dat shit im nasty ask me why i lick my lips so in the darkness i can run my tongue over your tits its all good sugary you aint leavin sit up on my face and help my stash grow evenwhipped cream taste mean from the back she bounce witll now shortys on the map i put away the gat took off the hat throw ya mos in the air if you like it like that no doubt boo i keep it real girl mad pleasure blowin up your whole world whatevers clever i got endless cash trees from hawaii 2 pools or bathsill be loungin with ll cool j ill be loungin with ll hey hey ill be loungin with ll cool j ill be loungin with ll hey heyuh my scenario is grand a dime piece hennessey up in my hand i turn out the lights like teddy im feenin standin in the darkness now im ready uhh ooh yeah up in ya let it flow while i pump slow then i speed it up heat it up make it mo tasty so you can swing low and lace meuse your imagination you do me i do you sex education its all good its cranberry absolut peach schnapps feelin tipsy loungin on the rooftops im bout to spank you on dat ass ooh i know you love it when it lasts true when you need it who you ask you what you sayin when i dash dont go booill be loungin with ll cool j ill be loungin with ll hey hey ill be loungin with ll cool j ill be loungin with ll hey heyyou got to bounce wit me suga word up you got to bounce wit me suga word up you got to bounce wit me suga word up you got to bounce wit me suga word upwarm it up suga make it hot shortiesll swarm make me wanna bust shots we speak daily on the regular run your jibs all day chip in my cellular shoot down to jamaica pretty white sand suntan oil pina coladas in your hand layin up at night peepin at stars remember when we was at the club in da barsi told ya my status was that of a don you thought i was a dog and you aint wanna get it on but my mind has attractin qualities all the emotions of a young lady so here you are smack dab up in the mix shorty this heres about as good as it gets word up ima treat you like a queen from the heart crack the bubblyand let the episode startill be loungin with ll cool j ill be loungin with ll hey hey ill be loungin with ll cool j ill be loungin with ll hey heyill be loungin with ll cool j ill be loungin with ll hey hey ill be loungin with ll cool j ill be loungin with ll hey hey ",1
22,"insensitive","jann arden",1996," how do you cool your lips after a summers kiss how do you rid the sweat after the body blisshow do you turn your eyes from the romantic glare how do you block the sound of a voice youd know anywhereoh i really should have known by the time you drove me home by the vagueness in your eyes your casual good byes by the chill in your embrace the expression on your face that told me maybe you might have some advice to give on how to be insensitive insensitive insensitivehow do you numb your skin after the warmest touch how do you slow your blood after the body rushhow do you free your soul after youve found a friend how do you teach your heart its a crime to fall in love againoh you probably wont remember me its probably ancient history im one of the chosen few who went ahead and fell for you im out of vogue im out of touch i fell too fast i feel too much i thought that you might have some advice to give on how to be insensitiveoh i really should have known by the time you drove me home by the vagueness in your eyes your casual good byes by the chill in your embrace the expression on your face that told me maybe you might have some advice to give on how to be insensitivehow to be insensitive how to be insensitive how to be ",1
23,"be my lover","la bouche",1996," la da da dee da da da da la da da dee da da da da la da da dee da la da da da dee da la da da dee da da da da dala da da dee da da da da la da da dee da da da da la da da dee da la da da da dee da la da da dee da da da da dalooking back on all the time weve had together you oughta know right now if you wanna be my lover wanna be my lover wanna be my lover wanna be my lovergo ahead and take your time boy you gotta feel secure before i make you mine baby you have to be sure you wanna be my lover wanna be my lover wanna be my loverla da da dee da da da da la da da dee da da da da la da da dee da la da da da dee da la da da dee da da da da dala da da dee da da da da la da da dee da da da da la da da dee da la da da da dee da la da da dee da da da da daa ha ye heyee wanna be my lover a ha ye heyee wanna be my lover a ha ye heyee wanna be my lover a ha ye heyee wanna be my loveri hear what you say i see what you do i know everything i need to know about you and i want you to know that its telling me you wanna be my loveri hear what you say i see what you do i know everything i need to know about you and i want you to know that its telling me you wanna be my loverla da da dee da da da da la da da dee da da da da la da da dee da la da da da dee da la da da dee da da da da dala da da dee da da da da la da da dee da da da da la da da dee da la da da da dee da la da da dee da da da da daa ha ye heyee wanna be my lover a ha ye heyee wanna be my lover a ha ye heyee wanna be my lover a ha ye heyee wanna be my lover ",1
24,"name","goo goo dolls",1996," even though the moment passed me by i still cant turn away all the dreams you never thought youd lose got tossed along the way letters that you never meant to send lost or thrown away now were grown up orphans that never knew their names we dont belong to no one thats a shame if you could hide inside me maybe for awhile and i wont tell no one your name and i wont tell em your namescars are souvenirs you never lose the past is never far and did you lose yourself somewhere out there did you get to be a star dont make you sad to know that life is more than who you are grew up way too fast and now theres nothing to believe reruns all become our history a tired song keeps playing on a tired radio and i wont tell em your name and i wont tell em your name and i wont tell em your namei think about you all the time but i dont need the same its lonely where you are come back down and i wont tell em your name ",1
25,"who will save your soul","jewel",1996," people living their lives for you on tv they say theyre better than you and you agree he says hold my calls from behind those cold brick walls says come here boys there aint nothing for free another doctors bill a lawyers bill another cute cheap thrill you know you love him if you put in your will butwho will save your soul when it comes to the flowers now huh huh who will save your soul after all the lies that you told boy and who will save your souls if you wont save your ownwe try to hustle them try to bustle them try to cuss them the cops want someone to bust down on orleans avenue another day another dollar another war another tower went up where the homeless had their homes so we pray to as many different gods as there are flowers we call religion our friend were so worried about saving our souls afraid that god will take his toll that we forget to begin butwho will save your soul when it comes to the flowers now huh huh who will save your souls after all the lies that you told boy and who will save your souls if you wont save your ownsome are walking some are talking some are stalking and kill you got social security but it doesnt pay your bills there are addictions to feed and there are mouths to pay so we bargain with the devil so evil careful do they say that you love them take your money and run say its been swell sweetheart but it was just one of those things those flings those strings youve got to cut so get out on the streets girls and bust your buttswho will save your soul when it comes to the flowers now huh huh who will save your soul after all the lies that you told boy and who will save your soul if you wont save your own ",1
26,"where do you go","no mercy",1996," where do you go my lovely where do you go i want to know my lovely i want to knowwhere do you go oh oh eh oh i want to know oh oh eh oh where do you go oh oh eh oh i want to know where do you where do you go where do you where do you goyou leave without a word no message no number and now my head is pounding like rolling thunder you left me with a heartache deep inside girl you should see me cry all night and i wondereverybody says what a shame what is wrong they dont like the game we play heard youre hanging round every night until dawn im waiting for you night and daywhere do you go my lovely where do you go i want to know my lovely i want to knowwhere do you go oh oh eh oh i want to know oh oh eh oh where do you go oh oh eh oh i want to know you gotta break the silence dont keep me waiting just like a river flowing to the sea youre running back to me come hear what im sayingwhere do you go my lovely i want to knowwhere do you go oh oh oh where do you go oh oh oh i want to know na na na na di da na na di da da da da di da da na na na na di da na na di da da da da di da da where do you where do you gosave mecome back and dry the tears i cried for you baby youve gotta stop this heartache deep inside youve gotta help me make it through the night safely come back and save me where do you go my lovely where do you go i want to know my lovely i want to know where do you go my lovely where do you go i want to know na na na na di da na na di da da da da di da da na na na na di da na na di da da da da di da da where do you where do you go ",1
27,"i cant sleep baby if i","r kelly",1996," girl i must have been crazy to say that it was over i had to be a fool to yell out we were through and now im all lonely and feeling down and out baby when i never meant for this to end it was so so crazy of me sometimes we say things that were really dont mean well im sorry baby bring your lovin back to mechorus i cant sleep babe i cant think babe i cant live babe without you in my life i cant go on baby this is my song baby dont wanna do nothin if i go away baby and i cant do nothin if youre not aroundthough i must admit that things got out of hand when you told me that he was just a friend i should of had my trust in you from the very start darlin cause i never meant for this to end how can we get it back again oh sometimes a man can say things that he really dont mean well im sorry baby bring your lovin back to mechorusbaby we can meet somewhere and talk about it oh baby can we work it out im not gonna let you go my baby before i let you know that ichorus ",1
28,"counting blue cars","dishwalla",1996," must have been mid after noon i could tell by how far the childs shadow stretched out and he walked with a purpose in his sneakers down the street he had many questions like children often dohe said tell me all your thoughts on god and tell me am i very farmust have been late after noon on our way the sun broke free of the clouds we count only blue cars skip the cracks in the street and ask many questions like children often dowe said tell me all your thoughts on god cause id really like to meet her and ask her why were who we aretell me all your thoughts on god cause im on my way to see her so tell me am i very far am i very far nowits getting cold picked up the pace how our shoes make hard noises in this place our clothes are stained we pass many crosseyed people and ask many questions like children often dowe said tell me all your thoughts on god cause id really like to meet her and ask her why were who we aretell me all your thoughts on god cause im on my way to see her so tell me am i very far am i very far nowtell me all your thoughts on god tell me all your thoughts on god ",1
29,"you learn  you oughta know","alanis morissette",1996,NA,NA
30,"one of us","joan osborne",1996," if god had a name what would it be and would you call it to his face if you were faced with him in all his glory what would you ask if you had just one questionand yeah yeah god is great yeah yeah god is good yeah yeah yeah yeah yeahwhat if god was one of us just a slob like one of us just a stranger on the bus trying to make his way homeif god had a face what would it look like and would you want to see if seeing meant that you would have to believe in things like heaven and in jesus and the saints and all the prophetsand yeah yeah god is great yeah yeah god is good yeah yeah yeah yeah yeahwhat if god was one of us just a slob like one of us just a stranger on the bus trying to make his way hometryin to make his way home back up to heaven all alone nobody callin on the phone cept for the pope maybe in romeyeah yeah god is great yeah yeah god is good yeah yeah yeah yeah yeahwhat if god was one of us just a slob like one of us just a stranger on the bus trying to make his way homejust tryin to make his way home like a holy rolling stone back up to heaven all alone just tryin to make his way homenobody callin on the phone cept for the pope maybe in rome ",1
31,"wonder","natalie merchant",1996," doctors have come from distant cities just to see me stand over my bed disbelieving what theyre seeingthey say i must be one of the wonders of gods own creation and as far as they see they can offer no explanationnewspapers ask intimate questions want confessions they reach into my head to steal the glory of my storythey say i must be one of the wonders of gods own creation and as far as they see they can offer no explanationooo i believe fate smiled and destiny laughed as you came to my cradle know this child will be able laughed as my body she lifted know this child will be gifted with love with patience and with faith shell make her way shell make her waypeople see me im a challenge to your balance im over your heads how i confound you and astound you to know i must be one of the wonders gods own creation and as far as they see they can offer me no explanationooo i believe fate smiled and destiny laughed as she came to my cradle know this child will be able laughed as she came to my mother know this child will not suffer laughed as my body she lifted know this child will be gifted with love with patience and with faith shell make her way shell make her way shell make her way shell make her way ",1
32,"not gon cry","mary j blige",1996," baby baby baby baby help me out here cmonwhile all the time that i was loving you you were busy loving yourself i would stop breathing if you told me to now youre busy loving someone elseeleven years out of my life besides the kids i have nothing to show wasted my years a fool of a wife i shoulda have left your ass a long time agowell im not gon cry im not gon cry im not gon shed no tears no im not gon cry its not the time cuz youre not worth my tearswell im not gon cry im not gon cry im not gon shed no tears no im not gon cry its not the time cuz youre not worth my tearsi was your lover and your secretary working every day of the week was at the job when no one else was there helping you get on your feeteleven years of sacrifice and you can leave me at the drop of a dime swallowed my fears stood by your side i shoulda left your ass a thousand timeswell im not gon cry im not gon cry im not gon shed no tears no im not gon cry its not the time cuz youre not worth my tearswell im not gon cry im not gon cry im not gon shed no tears no im not gon cry its not the time cuz youre not worth my tearsi know there are no guarantees see in love you take your chances but somehow it seems fucked up to me just look at the circumstancesthrough sickness and health till death do us part those were the words that we said from our heartsso now when you say that youre leaving me i dont get that part hell noi was your lover and your secretary working every day of the week was at the job when no one else was there helping him get on his feeteleven years of sacrifice and he can leave me at the drop of a dime swallowed my fears stood by your side i shoulda left your ass a thousand timeswell im not gon cry im not gon cry im not gon shed no tears no im not gon cry its not the time cuz youre not worth my tearswell im not gon cry im not gon cry im not gon shed no tears no im not gon cry its not the time cuz youre not worth my tearswell im not gon cry im not gon cry im not gon shed no tears no im not gon cry its not the time cuz youre not worth my tearswell im not gon cry im not gon cry im not gon shed no tears no im not gon cry its not the time cuz youre not worth my tearsi said he was never ever ever ever ever ever ever ever worth any of these tears he wasnt worth it was he worth it ladies hell no you know what we aint gonna miss him fuck it but guess what ",1
33,"gangstas paradise","coolio featuring lv",1996," as i walk through the valley of the shadow of death i take a look at my life and realize theres none left cause ive been brassing and laughing so long that even my mamma thinks that my mind is gone but i aint never crossed a man that didnt deserve it me be treated like a punk you know thats unheard of you better watch how you talking and where you walking or you and your homies might be lined in chalk i really hate to trip but i gotta lope as they croak i see myself in the pistal smoke fool im the kinda g that little homies want to be like on my knees in the night saying prayers in the street lightthey been spending most their lives living in the gangstas paradise they been spending most their lives living in the gangstas paradise we keep spending most our lives living in the gangstas paradise we keep spending most our lives living in the gangstas paradisethey got the situation they got me facing i cant live a normal life i was raised by the strip so i gotta be down with the hood team too much television watching got me chasing dreams im a educated fool with money on my mind got my ten in my hand and a gleam in my eye im a loped out gangsta set trippin banger and my homies is down so gonna rouse my anger fool death aint nothing but a heart beat away im living life do or die what can i say im twenty three never will i live to see 24 the way things is going i dont knowtell me why are we so blind to see that the ones we hurt are you and methey been spending most their lives living in the gangstas paradise they been spending most their lives living in the gangstas paradise we keep spending most our lives living in the gangstas paradise we keep spending most our lives living in the gangstas paradisepower and the money money and the power minute after minute hour after hour everybodys running but half of them aint looking whats going on in the kitchen but i dont know whats cooking they say ive got to learn but nobodys here to teach me if they cant understand it how can they reach me i guess they cant i guess they wont i guess they front thats why i know my life is out of luck foolthey been spending most their lives living in the gangstas paradise they been spending most their lives living in the gangstas paradise we keep spending most our lives living in the gangstas paradise we keep spending most our lives living in the gangstas paradisetell me why are we so blind to see that the ones we hurt are you and metell me why are we so blind to see that the ones we hurt are you and me ",1
34,"only you","112 featuring the notorious big and mase",1996," i need to know where we stand do we share the special thing called love i know i do what about you i just cant get enough of your timewhere do i go what do i do i cant live without your love thinking of you makes me feel like im the only one for yougirl i want you be with you no one else only you why cant we just make it happen baby i need you in my lifeevery time im with you never want it to come to an end always make me so happy youll always have a place in my heartwhere do i go what do i do i cant live without your love thinking of you makes me feel like im the only one for yougirl i want you be with you no one else only you why cant we just make it happen baby i need you in my lifeevery time im with you never want it to come to an end always make me so happy youll always have a place in my heartgirl i want you be with you no one else only you why cant we just make it happen baby i need you in my lifeevery time im with you never want it to come to an end always make me so happy youll always have a place in my heartwhere do i go what do i do i cant live without your love thinking of you makes me feel like im the only one for yougirl i want you be with you no one else only you why cant we just make it happen baby i need you in my lifeevery time im with you never want it to come to an end always make me so happy youll always have a place in my heart ",1
35,"down low nobody has to know","r kelly featuring the isley brothers",1996,"oh yeah ooo ooo well well oh yeah oh yeah listen girl you want me but he needs you yet youre tellin me that everything is cool tryin to convince me baby to do as you say just go along and see things your way and keep it on the down low whispering nobody has to know we can keep it on the down low whispering nobody has to know secret lovers is what you wanna be while making love to him girl youre silently calling on me what is a man to do in a situation like this i feel there is something that i i dont wanna miss keep it on the down low nobody has to know keep it on the down low nobody has to know beautiful you are but youre his by far comin by my way drivin his fancy car making plans to be in my life forever tell me tell me that well always be together keep it on the down low nobody has to know keep it on the down low nobody has to know listen babe i wont whisper a word nobody nobody how could you go so long so long baby oh oh",3
36,"youre the one","swv",1996," youre the one for me youre the one you can call on me oh yes is all i want us to be oh yeah youre the one for mei know that youre somebody elses guy but these feelings that i have for you i cant deny she doesnt treat you the way you want her to so come on stop running i wanna get with youwhat your girl dont know wont hurt her anything to make this love go furtheryoure the one youre the one for me when in need you can call on me when in love is all i want us to be cause youre the one youre the one for methis can be an undercover romance cause i feel that im the type of girl you should give a chance taste and see taste and see how good it can be how good it can be cause you dont have to worry babywhat your girl dont know wont hurt her wont hurt her anything to make this love go furtheryoure the one youre the one for me when in need you can call on me when in love is all i want us to be cause youre the one youre the one for me yeah yeahyoure the one youre the one for me when in need you can call on me when in love is all i want us to be cause youre the one youre the one for meso whats my chance im willing to do anything to get in your pants you dont have to worry i wont say a thing and if she finds out i dont know nothing oh no no noyoure the one youre the one for me when in need you can call on me when in love is all i want us to be cause youre the one youre the one for meyoure the one for me when in love you need youre the one for me when in love you needyoure the one youre the one for me when in need you can call on me when in love is all i want us to be cause youre the one youre the one for me oh yeahyoure the one youre the one for me when in need you can call on me when in love is all i want us to be cause youre the one youre the one for meyoure the one for me you can call on me is all i want us to be youre the one for meyoure the one for me you can call on me is all i want us to be youre the one for me ",1
37,"sweet dreams","la bouche",1996," sweet dreams of rhythm and dancing sweet dreams of passion through the night sweet dreams are taking over sweet dreams of dancing through the nighti wanna get into motion a better devotion so i can make it through the night so the music is playin you know what im saying now everything will be alrightsweet dreams of rhythm and dancing sweet dreams of passion through the night sweet dreams are taking over sweet dreams of dancing through the night ohola ola eh ola ola eh ola ola eh ola ola ehrhythm is a creation a better sensation that will lead you through the night when your body is movin the music is groovin i want to take you home tonightsweet dreams of rhythm and dancing sweet dreams of passion through the night sweet dreams are taking over sweet dreams of dancing through the night ohola ola eh ola ola eh ola ola eh ola ola ehkeep dancin hard give this groove more feeling dance dance dance more feeling in out up down all around on the dance floor gettin downtake time just to show them who we can make your body move totally yes the partys started sweet dreams keep comin hardersweet dreams of rhythm and dancing sweet dreams of passion through the night sweet dreams are taking over sweet dreams of dancing through the nightsweet dreams of rhythm and dancing sweet dreams of passion through the night sweet dreams are taking over sweet dreams of dancing through the night ohola ola eh ola ola eh ola ola eh ola ola eh ola ola eh ola ola eh ",1
38,"before you walk out of my life  like this and like that","monica",1996,NA,NA
39,"breakfast at tiffanys","deep blue something",1996," you say that weve got nothing in common no common ground to start from and were falling apart youll say the world has come between us our lives have come between us still i know you just dont careand i said what about breakfast at tiffanys she said i think i remember the film and as i recall i think we both kinda liked it and i said well thats the one thing weve goti see you the only one who knew me and now your eyes see through me i guess i was wrong so what now its plain to see were over and i hate when things are over when so much is left undoneand i said what about breakfast at tiffanys she said i think i remember the film and as i recall i think we both kinda liked it and i said well thats the one thing weve gotyou say that weve got nothing in common no common ground to start from and were falling apart youll say the world has come between us our lives have come between us still i know you just dont careand i said what about breakfast at tiffanys she said i think i remember the film and as i recall i think we both kinda liked it and i said well thats the one thing weve gotand i said what about breakfast at tiffanys she said i think i remember the film and as i recall i think we both kinda liked it and i said well thats the one thing weve gotand i said what about breakfast at tiffanys she said i think i remember the film and as i recall i think we both kinda liked it and i said well thats the one thing weve got ",1
40,"1 2 3 4 sumpin new","coolio",1996,"this is some of the linguafringa of da funk business and people come from miles around with an almost religious devotion to get on down 1 2 3 4 get your woman on the floor gotta gotta get up to get down gotta gotta get up to get down 1 2 3 4 get your woman on the floor gotta gotta get up to get down gotta gotta get up to get down what up everybody so glad youre here its coolio with the flow back in your ear this aint a fantastic voyage but im still on a mission to see if i can get your attention now i want drops some information just a little additive to your education i live my life by the code of the funk 600watt amp 18s in the trunk when im on the streets ya gotta feel my beats so throw your hands up if youre down with the c double o l i o with the flow im lookin for the party so let a brother know 1 2 3 its like a b c if hiphop didnt pay id rap for free slide slide but thats the past i gotta sumpin brand new for that ass 1 2 3 4 get your woman on the floor gotta gotta get up to get down gotta gotta get up to get down 1 2 3 4 get your woman on the floor gotta gotta get up to get down gotta gotta get up to get down if ya got beef then fool eat a pork chop once i get it goin ya know it dont stop i brake like antilocks panties drop from hood to hood block to block help i need somebody to get it goin on in this party baby you can do it take your time do it right we can drink some yak and do it all damn night my name aint wanda but ill rock your world i get more bounce than a jerry curl too many lookieloos be lookin for clues theres a party goin on now whatcha gonna do so grab your partner doseedo if you done know who it is its coolio slide slide but thats the past i gotta sumpin brand new for that ass 1 2 3 4 get your woman on the floor gotta gotta get up to get down gotta gotta get up to get down 1 2 3 4 get your woman on the floor gotta gotta get up to get down gotta gotta get up to get down push push in the bush but dont step on the toes cause you might get smushed its the brother from around the way and what i say im in the corner on three like dr dre comin at em with a pattern and a fresh pair adams i hope he dont trip cause i dont wanna have to gat em so move your body baby drive the homies crazy then when you sake that ass  always amazin aint no party like a west coast party cause a west coast party dont stop so when you see a young nigga in a chevy hittin switches then ya gotta give his props i got sides in my rides and motion for your ocean coolio got the potion to get the party open slide slide but thats the past i gotta sumpin brand new for that ass 1 2 3 4 get your woman on the floor gotta gotta get up to get down gotta gotta get up to get down 1 2 3 4 get your woman on the floor gotta gotta get up to get down gotta gotta get up to get down 1 2 3 4 get your woman on the floor gotta gotta get up to get down gotta gotta get up to get down 1 2 3 4 get your woman on the floor gotta gotta get up to get down gotta gotta get up to get down",3
41,"the world i know","collective soul",1996," has our conscience shown has the sweet breeze blown has all the kindness gone hope still lingers on i drink myself of newfound pity sitting alone in new york city and i dont know whyare we listening hymns of offering have we eyes to see that love is gathering all the words that ive been reading have now started the act of bleeding into one into oneso i walk up on high and i step to the edge to see my world below and i laugh at myself while the tears roll down cause its the world i know oh its the world i knowi drink myself of newfound pity sitting alone in new york city and i dont know why dont know whyso i walk up on high and i step to the edge to see my world below and i laugh at myself while the tears roll down cause its the world i know oh its the world i knowso i walk up on high and i step to the edge to see my world belo and i laugh at myself while the tears roll down cause its the world i know oh its the world i know ",1
42,"no diggity","blackstreet featuring dr dre",1996," you know what i like the playettes no diggity no doubt play on playette play on playette yo dre drop the verseits going down fade to blackstreet the homies got rb collab creations bump like acne no doubt i put it down never slouch as long as my credit can vouch a dog couldnt catch me ass out tell me who can stop when dre makin moves attracting honeys like a magnet giving em eargasms with my mellow accent still moving this flavor with the homies blackstreet and teddy the original rump shakersshorty get down good lord baby got em up open all over town strictly biz she dont play around cover much ground got game by the pound getting paid is her forte each and every day true player way i cant get her out of my mind i think about the girl all the time east side to the west side pushin phat rides its no surprise she got tricks in the stash stacking up the cash fast when it comes to the gas by no means average shes on when shes got to have it baby youre a perfect ten i wanna get in can i get down so i can wini like the way you work it no diggity i got to bag it up bag it upi like the way you work it no diggity i got to bag it up bag it upi like the way you work it no diggity i got to bag it up bag it upi like the way you work it no diggity i got to bag it up bag it upshes got class and style street knowledge by the pound baby never act wild very low key on the profile catchin feelings is a no let me tell you how it goes curves the words spins the verbs lovers it curves so freak what you heard rollin with the phatness you dont even know what the half is you gotta pay to play just for shorty bangbang to look your way i like the way you work it trumped tight all day every day youre blowing my mind maybe in time baby i can get you in my ridei like the way you work it no diggity i got to bag it up bag it upi like the way you work it no diggity i got to bag it up bag it upi like the way you work it no diggity i got to bag it up bag it upi like the way you work it no diggity i got to bag it up bag it upcause thats my peeps and we row g flyin first class from new york city to blackstreet what you know about me not a motherfuckin thing cartier wooded frames sported by my shortie as for me icy gleaming pinky diamond ring we bes the baddest clique up on the scene aint you getting bored with these fake ass broads i shows and proves no doubt i be taking you so please excuse if i come across rude thats just me and thats how the playettes got to be stay kickin game with a capital g axe the peoples on my block im as real as can be word is bond faking jacks never been my flavor so teddy pass the word to your nigga chauncey i be sitting in car lets say around 330 queen pen and blackstreet its no diggityi like the way you work it no diggity i got to bag it up bag it upi like the way you work it no diggity i got to bag it up bag it upi like the way you work it no diggity i got to bag it up bag it upi like the way you work it no diggity i got to bag it up bag it up ",1
43,"anything","3t",1996," ill give you love the things you want ooh and i would do anything for you i would do anything for you i would do anything girl anything for yousitting at home another lonely night wish you were here so i could hold you tight pain in my heart because im all alone why did you leave why did your love have to go and i would do anything for you i wouldthinkin of ways that i can win your heart but im so confused i dont know where to start visions of love forever in my mind i wait for the day when i could say that girls minecause i would do anything for you yes i would ill give you love ill give you love the things you want the things you want baby theres nothing in this world i wouldnt doi would do anything for you i would do anything for you i would do anything girl anything for youso what can i do to prove i need your love what will it take because i wont give up open your heart and let your feelings show cause deep down inside my heart just wont let you gogirl i would do anything for you yes i would ill give you love ill give you love the things you want the things you want baby theres nothing in this world i wouldnt doi would do anything for you i would do anything for you i would do anything girl anything for youso if there ever comes a time when its true love you hope to find just call out my name and girl i swear i would do anythingill give you love ill give you love oh ill give you love girl ill give you love oh ill give you love girl ill give you love oh ill give you love girl ill give you love oh ill give you lovei would do anything for you i swear i would do babe i would do anything for you anything for you babe i would do anything girl anything for youi said i give you love baby ill give you love oh anything you want my baby the things you want girl ill give ill give ill give ill give ill give it to yousee i would do anything for you i swear i will do babe i would do anything for you anything for you babe i would do anything girl anything for you anything girl anything for youill give you love ill give you love oh ill give you love the things you want i swear ill give you love babei would do anything for you i swear i would do babe i would do anything for you anything you want me i would do anything girl anything for you ill give you love ",1
44,"1979","the smashing pumpkins",1996,"shakedown 1979 cool kids never have the time on a live wire right up off the street you and i should meet june bug skipping like a stone with the headlights pointed at the dawn we were sure wed never see an end to it all and i dont even care to shake these zipper blues and we dont know just where our bones will rest to dust i guess forgotten and absorbed into the earth below double cross the vacant and the bored theyre not sure just what we have in the store morphine city slippin dues down to see we dont even care as restless as we are we feel the pull in the land of a thousand guilts and poured cement lamented and assured to the lights and towns below faster than the speed of sound faster than we thought wed go beneath the sound of hope justine never knew the rules hung down with the freaks and the ghouls no apologies ever need be made i know you better than you fake it to see that we dont even care to shake these zipper blues and we dont know just where our bones will rest to dust i guess forgotten and absorbed into the earth below the street heats the urgency of now as you see theres no one around",3
45,"diggin on you","tlc",1996," i was like peace in a groove on a sunday afternoon you were there so was i in the park 4th of july i was chillin with my kool aid when miss chilli came to rely that you had a thang for me finest thang youd ever seeni must admit to you ive heard those lines a time or two although for some apparent reason monkey lines are now in season lights off lights on i guess the groove is on so i chorus diggin the scene diggin on you diggin on me baby baby ooo baby baby its on like that its on like that i gotta be in love or somethin like thatdiggin the scene diggin on you diggin on me baby baby ooo baby baby its on like that its on like that i gotta be in love or somethin like thati was like deep in a cool whatnt gone be nobodys fool could not care less who was there couldve been like anywhere i was chillin with my kool aid did not want to participate in no silly conversations had no time for new relation shipsi must admit to you when i heard the lines you threw although it usually turns me off but this time you have turned me on lights off lights on i guess the groove is on and i amdiggin the scene diggin on you diggin on me baby baby ooo baby baby its on like that its on like that i gotta be in love or somethin like thatdiggin the scene diggin on you diggin on me baby baby ooo baby baby its on like that its on like that i gotta be in love or somethin like thatoh why do i feel the way i do when all i can think about is you what was it in a line that made me fall for you do you know why im diggin diggin diggin diggin on youdiggin the scene its on like that diggin diggin diggin diggin on youdiggin the scene diggin on you diggin on me baby baby ooo baby baby its on like that its on like that i gotta be in love or somethin like thatdiggin the scene diggin on you diggin on me baby baby ooo baby baby its on like that its on like that i gotta be in love or somethin like thatdiggin diggin diggin diggin on you its on like that i gotta be in love or somethin like thatdiggin the scene diggin on you diggin on me baby baby ooo baby baby its on like that its on like that i gotta be in love or somethin like that ",1
46,"why i love you so much  aint nobody","monica",1996,NA,NA
47,"kissin you","total",1996," 1  kissin you is all that i been thinking of kissin you is gooddont matter who knows i dont care who sees me and thinking about you makes my life complete and what i mean by that that my whole world changes you make me feel things that i never felt i wanna kiss yourepeat 1 oh yeah i wanna kiss you repeat 1when im with my friends im trying to figure out a way to leave em behind just to get back to you oh youre my best kept secret and thats the way i like it youre my pride and joy boy thats why im dreaming of you i wanna kiss yourepeat 1 kissing yous so good repeat 12  youre my pride and joy youre my baby boy people ask me how i feel about you they ask me if i love you yeah am i crazy for you yeah yeah yeahrepeat 1 oh yeah i wanna kiss you repeat 1repeat 2yeah yeah yeah yeah yeah yeah yeah yeah yeahkissing you is so good yeah yeah yeah yeah yeah yeah yeah yeah yeahoh yeah i wanna kiss you repeat 1i been thinking bout you dreaming bout you thinking about you yeah y eah repeat 1oh kissing you is so good got to have it have your love thats all im thinking of repeat until fade ",1
48,"count on me","whitney houston featuring cece winans",1996," count on me through thick and thin a friendship that will never end when you are weak i will be strong helping you to carry on call on me i will be there dont be afraid please believe me when i say count on mei can see its hurting you i can feel your pain its hard to see the sunshine through the rain i know sometimes it seems as if its never gonna end but youll get through it just dont give in cause you cancount on me through thick and thin a friendship that will never end when you are weak i will be strong helping you to carry on call on me i will be there dont be afraid please believe me when i say count on mei know sometimes it seems as if were standing all alone but well get through it cause love wont let us fallcount on me through thick and thin a friendship that will never end when you are weak i will be strong helping you to carry on call on me i will be there dont be afraid please believe me when i say count on metheres a place inside all of us where our faith in love begins you should reach to find the truth in love the answers there within oh i know that life can make you feel its much harder than it really is but well get through it just dont give incount on me through thick and thin a friendship that will never end when you are weak i will be strong helping you to carry on call on me i will be there dont be afraid please believe me when i say count on me ",1
49,"fantasy","mariah carey",1996," oh when you walk by every night talking sweet and looking fine i get kinda hectic inside mmm baby im so into you darling if you only knew all the things that flow through my mindbut its just a sweet sweet fantasy baby when i close my eyes you come and you take me its so deep in my daydreams but its just a sweet sweet fantasy babyimages of rapture creep into me slowly as youre going to my head and my heart beats faster when you take me over time and time and time again    meaning  byamandah   editor    in an interview with live nation tv mariah discussed how she heard tom tom clubs genius of love while at an amusement park and immediately wanted to    see all   but its just a sweet sweet fantasy baby when i close my eyes you come and you take me its so deep in my daydreams but its just a sweet sweet fantasy babysweet sweet fantasy baby when i close my eyes you come and you take me its so deep in my daydreams but its just a sweet sweet fantasy babyim in heaven with my boyfriend my laughing boyfriend theres no beginning and there is no end feels like im dreaming but im not sleepingsweet sweet fantasy baby when i close my eyes you come and you take me its so deep in my daydreams but its just a sweet sweet fantasy babysweet sweet fantasy baby when i close my eyes you come and you take me its so deep in my daydreams but its just a sweet sweet fantasy babysweet sweet fantasy baby sweet sweet fantasy baby ",1
50,"time","hootie  the blowfish",1996,"hootie and the blowfish cracked rear view time time why you punish me like a wave bashing into the shore you wash away my dreams time why you walk away like a friend with somewhere to go you left me crying can you teach me about tommorrow and all the pain and sorrow running free cause tomorrows just another day and i dont believe in time time i dont understand children killing in the street dying for the color of red time hey there red and blue wash them in the ocean make them clean maybe their mothers wont cry tonight can you teach me about tomorrow all the pain and sorrow running free but tomorrows just another day and i dont believe in chorus time is wasting time is walking you aint no friend of mine i dont know where im goin i think im out of my mind thinking about time and if i die tomorrow yeah just lay me down in sleep chorus time you left me standing there like a tree growing all alone the wind just stripped me bare stripped me bare time the past has come and gone the futures far away now only lasts for one second one second can you teach me about tomorrow and all the pain and sorrow running free cause tomorrows just another day and i dont believe in time chorus time why you punish me",3
51,"youll see","madonna",1996," you think that i cant live without your love youll see you think i cant go on another day you think i have nothing without you by my side youll see somehow some wayyou think that i can never laugh again youll see you think that you destroyed my faith in love you think after all youve done ill never find my way back home youll see somehow somedayall by myself i dont need anyone at all i know ill survive i know ill stay alive all on my own i dont need anyone this time it will be mine no one can take it from me youll seeyou think that you are strong but you are weak youll see it takes more strength to cry admit defeat i have truth on my side you only have deceit youll see somehow somedayall by myself i dont need anyone at all i know ill survive i know ill stay alive ill stand on my own i wont need anyone this time it will be mine no one can take it from me youll seeyoull see youll see youll see mmh mmh ",1
52,"last night","az yet",1996," last night you were so into it you told me secrets that youve never told a soul you were so nervous and yet oh so comfortable as we explored your image of lovei drank your wine as you taste mine i kissed your lips you felt my mind slip into your soul i almost cried cause it was so beautifullast night i was inside of you last night while making love to you i saw the sun the moon the mountains and the rivers i saw heaven when i made sweet love to youlast night there was no planning it it was so special and so very innocent we talked of memories our favorite fantasies as we explored our visions of lovedeep in the night right by the fireside you felt my candlelight in your soul you felt incredible i started to explode i almost cried cause it was so beautifullast night i was inside of you last night while making love to you i saw the sun the moon the mountains and the rivers i saw heaven when i made sweet love to yousunlight red red roses the scent of you it calms the heart the sight of you i fall apartmoonlight the things we notice when were in love thats when it comes and im so im so in lovelast night i was inside of you last night while making love to you i saw the sun the moon the mountains and the rivers i saw heaven when i made sweet love to you babylast night i was inside of you last night while making love to you i saw the sun the moon the mountains and the rivers i saw heaven when i made sweet love to you babylast night i was inside of you last night while making love to you i saw the sun the moon the mountains and the rivers i saw heaven when i made sweet love to you ",1
53,"mouth","merril bainbridge",1996," i feel like ive been blown apart there are pieces here i dont know where they go i dont know where they go kiss me on my salty lips i bet you feel a little crazy but for me well be famous on tvwould it be my fault if i could turn you on would i be so bad if i could turn you on when i kiss your mouth i want to taste it and turn you upside down dont want to waste iti jump up on you you jump on me you push me out and even though you know i love you id be inclined to slap you in the mouth when i kiss your salty lips you will feel a little crazy but for me ill be famous on tvwould it be my fault if i could turn you on would i be so bad if i could turn you on when i kiss your mouth i want to taste it and turn you upside down dont want to waste itwould it be my fault if i could turn you on would i be so bad if i could turn you on when i kiss your mouth i want to taste it and turn you upside down dont want to waste itnow will it be my fault if i take your love and throw it wide you might restrain me but could you really blame me and you will feel youre blown apart all the pieces there will fit to make you whole and i know where they gowould it be my fault if i could turn you on would i be so bad if i could turn you on when i kiss your mouth i want to taste it and turn you upside down dont want to waste itwhen i kiss your mouth i want to taste it and turn you upside down dont want to waste it when i kiss your mouth i want to taste it and turn you upside down dont want to waste it ",1
54,"the earth the sun the rain","color me badd",1996," when i was lost i could not see all the beauty and wonder wrapping around me i was alone dreaming of you oh i could not imagine this dream coming true so much joy now in all that i touch you make me feel everything so muchi will love you for the earth at my feet i will love you for the sun in the sky i will love you for the falling rain oh oh i will love you for the heart that could break i will love you for the dreams that we share i will love you for the falling rain oh ohface in the wind tears from my eyes baby where have you been but i was always waiting for you to pull back the door to take me by the hand and lead me through this whole world was a stranger to me now you have opened my heart to everythingi will love you for the earth at my feet i will love you for the sun in the sky i will love you for the falling rain oh oh i will love you for the heart that could break i will love you for the dreams that we share i will love you for the falling rain oh ohlike a whisper in a dream you walk softly into my life with love and sweet emotion and as i gaze into your eyes i see the beauty that god has created and i love you girl now and foreveri will love you for the earth at my feet i will love you for the sun in the sky i will love you for the falling rain oh oh oh i will love you for the heart that could break i will love you for the dreams that we share i will love you for the falling rain oh oh ohi will love you for the earth at my feet i will love you for the sun in the sky i will love you for the falling rain oh oh oh i will love you for the heart that could break i will love you for the dreams that we share i will love you for the falling rain oh oh ohi will love you for the earth at my feet i will love you for the sun in the sky i will love you for the falling rain oh oh oh i will love you for the heart that could break i will love you for the dreams that we share i will love you for the falling rain oh oh ohoh oh oh baby yeah ",1
55,"all the things your man wont do","joe",1996," hey love you say you need someone to be there for you to love you all night long its kinda funny but i dont think you have to look no further because im right here and im ready to do all the things your man wont dotell me what kind of man would treat his woman so cold treat you like youre nothin when youre worth more than goldgirl to me youre like a diamond i love the way you shine a hundred million dollar treasure ill give the world to make you minela la la la la ill put a string a pearls right in your hand make love on a beach of jet black sand outside in the rain we can do it all night out to tour the places he would not and some you never knew would get you hot nothin is forbidden when we touchbaby i want to do all of the things your man wont do ill do them for you whoa baby i want to do hey all of all of the things your man wont do every little thing ill do them for you yeahill take you out on a night cruise on a yacht just cant lose cause we got a lot to look forward to 12 what ya gonna do what good is a diamond nobody can see i hear he got you on lock down but i got the master keyla la la la la ill light a thousand candles all around show me to the subway ill go down nothin can be sweeter than the sound of makin love baby when i start i just cant stop ill love you from the bottom to the top nothin is forbidden when we touchbaby baby i want to do hey all of the things your man wont do every little ill do them for you oh baby i want to do i want to do yeah all of the things your man wont do oh ill do them for you yeahand oh oh yeah yeah oh yeah ohla la la la la ill light a thousand candles all around show me to the subway ill go down nothin can be sweeter than the sound of makin love baby when i start i just cant stop ill love you from the bottom to the top nothin is forbidden when we touch ooh yeahbaby i want to do oh all of the things your man wont do im gonna im gonna oh oh oh oh oh oh oh ill do them for you ho sweet baby baby i want to do i want to do all of the things your man wont do and oh yeah ill do them for youooh i got a jones in my bones for you there aint a damn thing that i wont do ill make your body cream with my sex machine i wont stop until i hear your mother screambaby i want to do i want to do all of the things your man wont do whoa oh oh ho ah yeah yeah hm ill do them for you baby i want to do wanna do all of the things your man wont do yeah whoa whoa ill do them for you i want to do it for you babysweet baby i want to do all of the oh whoa things your man wont do ill do them for you baby i want to do oh yeah all of the things your man wont do oh yeah ill do them for yousweet baby i want to do all of the things your man wont do ill do them for you ",1
56,"wonderwall","oasis",1996," today is gonna be the day that theyre gonna throw it back to you by now you shouldve somehow realized what you gotta do i dont believe that anybody feels the way i do about you nowback beat the word was on the street that the fire in your heart is out im sure youve heard it all before but you never really had a doubt i dont believe that anybody feels the way i do about you nowand all the roads we have to walk are winding and all the lights that lead us there are blinding there are many things that i would like to say to you but i dont know howbecause maybe youre gonna be the one that saves me and after all youre my wonderwalltoday was gonna be the day but theyll never throw it back to you by now you shouldve somehow realized what youre not to do i dont believe that anybody feels the way i do about you nowand all the roads that lead you there are winding and all the lights that light the way are blinding there are many things that i would like to say to you but i dont know howi said maybe youre gonna be the one that saves me and after all youre my wonderwalli said maybe youre gonna be the one that saves me and after all youre my wonderwalli said maybe youre gonna be the one that saves me youre gonna be the one that saves me youre gonna be the one that saves me ",1
57,"woo hah got you all in check","busta rhymes",1996," when i step up in the place ayo i step correct woohah got you all in check i got that head nod shit that make you break your neck woohah i got you all in check and you know we come through to wreck the discotheque woohah i got you all in check throw your hands up in the air dont ever disrespect woohah i got you all in checkbusta rhymes up in the place true indeed yes i catch wreck and thats word on my seed im guaranteed to give you what you need one blood everybody like junior reid wake up every morning yo i must succeed nationwide ruckus make the world stampede yo willie mek we roll some weed mad charged nigga now i must proceed yo we bout to make moves set speed peace to baby phife qtip ali shaheed watch me knock you out like apollo creed body blows busting your shit making you bleed just feed off dynamic flows and take heed need more information homeboy then just read ay you can read all about the pure breed do the bogle dance man do the pepperseedwhen i step up in the place ayo i step correct woohah got you all in check i got that head nod shit that make you break your neck woohah i got you all in check and you know we come through to wreck the discotheque woohah i got you all in check throw your hands up in the air dont ever disrespect woohah i got you all in checkhow dare you ever try to step on my suede shoes top gun shut down your firm like tom cruise please let me get down and blow a fuse acting fools breaking shit down to molecules yo let me hit you with my ill street blues busta rhymes always headlines the street news woohah hey baby girl dont be confused sail my seven seas and enjoy my boat cruise i know you really want to know whos coming through leaving blunt stains and residues sorry homeboy but your flow sound used got to pay your dues baby you know the rules whenever i travel the world i landcruise if you choose to fuck around you get bruised now i got you gassed on super unleaded fuels give me room give me some space yo excusewhen i step up in the place ayo i step correct woohah got you all in check i got that head nod shit that make you break your neck woohah i got you all in check and you know we come through to wreck the discotheque woohah i got you all in check throw your hands up in the air dont ever disrespect woohah i got you all in checkyou now rocking with the best busta rhymes coming through from the flip mode squad boy scouts who i be straight to your dome we coming straight to your dome bringing all new ruckus to all you rap motherfuckers boy scouts who i be flip mode is the squidad busta rhymes break it down like thisyo which motherfucker stole my flow eenie meenie miney mo throw them type of niggas right out my window blast your ass hit you with a direct blow bo coming through like gi joe star wars moving ill like han solo make you bounce around like this was calypso always shine cause i got the hipro glow you think that you can hide you think you can lay low roll up on your ass like hawaii 50 macked out with my dreads and my kangol forget the moet nigga just pass the cisco yo take a trip down to mexico come back with that shit that might make you psycho maximum frequencies through your stereo sorry this is it but homeboy i got to gowhen i step up in the place ayo i step correct woohah got you all in check i got that head nod shit that make you break your neck woohah i got you all in check and you know we come through to wreck the discotheque woohah i got you all in check throw your hands up in the air dont ever disrespect woohah i got you all in check ",1
58,"tell me","groove theory",1996," oo yeahive been doing my own thing love has always had a way of having bad timing but to my great surprise ever since i looked in your eyes i had one question for youtell me if you want me to give you all my time i wanna make it good for you cause you blow my mind i promise boy that ill be true youre the perfect find so tell me if you want me to yeahif youve thought id sleep on this boy youre wrong cause all i dream about is our first kiss and youre the first one to make me feel like this and this is one opportunity that i cant miss no noboy you wanna know the deal you are wondering if the words im saying are for real cause you got more appeal than any man in this whole world and baby i got to know how you feel yeahtell me if you want me to give you all my time i wanna make it good for you cause you blow my mind i promise boy that ill be true youre the perfect find so tell me if you want me tosweetheart now its time i let you know i dont wanna rush we should take it slow boy i can love you can you help me grow give me a new beginning and ill give you a happy endingtell me if you want me to i wanna make it good for you i promise boy that ill be true so tell me if you want me totell me if you want me to i wanna make it good for you i promise boy that ill be true so tell me if you want me totell me if you want me to i wanna make it good for you i promise boy that ill be true so tell me if you want me to  ",1
59,"elevators me  you","outkast",1996,"outkast atliens elevators me  you verse one andre one for the money yes uhh two for the show a couple of years ago on headland and delowe was the start of somethin good where me and my nigga rodes the marta through the hood just tryin ta find that hookup now everyday we look up at the ceiling watchin ceiling fans go around tryin ta catch that feelin off instrumental had my pencil and plus my paper we caught the 86 lithonia headed to decatur writing rhymes tryin ta find our spot off in that light light off in that spot known that we could rock doin the hole in the wall clubs this shit here must stop like freeze we makin the crowd move but we not makin no gs and thats a nono verse two big boi yeah uhh check it ahh one two ahh one two doe niggaz in the cadillac they call us went from players ball to ballers puttin the south up on the map was like little rock to bangin niggaz say motherfuck that playin they payin we stay in layin vocals locals done made it with them big boys up in dis industry outkast yea dem niggaz they makin big noise over a million sold to this day niggaz they take it lightly ninetysix gon be that year that all yall playa haters can bite me around this bitch chorus repeat 2x me and you your momma and your cousin too rollin down the strip on vogues comin up slammin cadillac doz doors verse three big boi back in the day when i was younger hunger lookin to fill me belly with that rallys bullshit pull shit off like it was supposed to be pulled full as a tick i was stoned like white boys smokin them white golds before them blunts got krunk chunky asses passes gettin thrown like hail marys and they lookin like halle berry so so fine intertwined but we aint sippin wine wes just chillin im the rabid villain and im so high smokin freely me lil b greet mon and shug and my little brother james thangs changed in the hood where i live at them rats know mama i want to sing but mama i want to trick and mama im suckin dick now we movin on up in da world like elevators me and the crew we pimps like eightytwo me and you like tony toni tone like this eastpointe and we gone chorus verse four andre got stopped at the mall the other day heard a call from the other way that i just came from some nigga was sayin somethin talkin bout hey man you remember me from school smoke some naw not really but he kept smilin like a clown facial expression lookin silly and he kept askin me what kind of car you drive i know you paid i know yall got buku of hoes from all them songs that yall done made and i replied that i had been goin through tha same thing that he had true i got more fans than the average man but not enough loot to last me to the end of the week i live by the beat like you live check to check if you dont move yo foot then i dont eat so we like neck to neck yes we done come a long way like them slim ass cigarettes from virginia this aint gon stop so we just gonna continue chorus",3
60,"hook","blues traveler",1996," it doesnt matter what i say so long as i sing with inflection that makes you feel ill convey some inner truth or vast reflection but ive said nothing so far and i can keep it up for as long as it takes and it dont matter who you are if im doing my job then its your resolve that breaksbecause the hook brings you back i aint tellin you no lie the hook brings you back on that you can relythere is something amiss i am being insincere in fact i dont mean any of this still my confession draws you near to confuse the issue i refer to familiar heroes from long ago no matter how much peter loved her what made the pan refuse to growwas that the hook brings you back i aint tellin you no lie the hook brings you back on that you can relysuck it in suck it in suck it in if youre rin tin tin or anne boleyn make a desperate move or else youll win and then begin to see what youre doing to me this mtv is not for free its so pc its killing meso desperately i sing to thee of love sure but also rage and hate and pain and fear of self and i cant keep these feeling on the shelf ive tried well no in fact i lied could be financial suicide but ive got too much pride inside to hide or slide ill do as ill decide and let it ride till until ive died and only then shall i abide by this tide of catchy little tunes of hip three minute diddies i wanna bust all your balloonsi wanna burn of all your cities to the ground but ive found i will not mess around unless i play then hey i will go on all day hear what i say i have a prayer to pray thats really all this was and when im feeling stuck and need a buck i dont rely on luckbecause the hook brings you back i aint tellin you no lie the hook on that you can rely ",1
61,"doin it","ll cool j",1996," yeah check it out baby make it hot then we drop it oh uh yeah oh uptown you know how we do it yeah you know make it hotits the first time together and im feeling kinda horny conventional methods of makin love kinda bore me i want to knock your block off get my rocks off blow your socks off make sure your g spots softim gonna call you big daddy and scream your name matter fact i cant wait for your candy rainso what cha sayin i get my swerve on bring it live make it last forever damn the kitty cats tightmm daddy slow down your flow put it on me like g baby nice and slow i need a rough neck nigga mandingo in a sec who aint afraid to pull my hair and spank me from the backno doubt im the playa that youre talkin aboutbut do you really think that you can work it outi guarantee shorty its real baby stick it out here comes the man of steelchorus x2 doing it and doing it and doing it well doing it and doing it and doing it well doing it and doing it and doing it well i represent queens she was raised out in brooklynim in the mix now searching for the right spot to hit now get down damn my lover dig down you use a rubber damn right you are my lover all night the putty good to you word to momma man tight the only thing left to do is climax lets make it last word we aint goin out like that all this time youve been telling that you was a don i tried to warn you girl you wouldnt listen now lets get it on baby wild dont do that chill wait a minute baby let me please you back you talk a good one shorty now youre makin me sweat how a live nigga like it girl nice and wet we get it to the break of dawn damn youre large how a big girl like it daddy nice and hard safe sexing it flexing it getting that affectionate chewing it oohing it all while were doing itchorus x2baby i want to hit it in the worst way make it hot scheming on the ass since the first day dont stop damn i love it when you talk like that make it bounce sugar long as you can bounce me back more flesh than the greek fest roll up the sess pass the hennessy put my body to the test way way back many niggas ago i was a young girl listening to how you flow nows my chance to hit you off daddy im grown from the back from the side right im in the zone one of a kind when its time to do mine camcorder and the whole shit press rewind let it flow on the screen while we puffs the l laying back in the cut while were under the spell word life i like the way the ep went down go to sleep tomorrow ill take you back downtown well bechorus x3 ",1
62,"fastlove","george michael",1996," gotta get up to get down gotta get up to get down gotta get up to get downlooking for some education i made my way into the night all that bullshit conversation baby cant you read the signsi wont bore you with the detail baby i dont even want to waste your time lets just say that maybe you could help to ease my mind baby i aint mr rightbut if youre looking for fast love fast love in your eyes its more than enough had some bad love some fast love is all that ive got on my mindooh baby whats there to think about baby hey baby oh yeahlooking for some affirmation i made my way into the sun my friends got their ladies theyre all having babies i just wannna have some funi wont bore you with the detail baby i gotta get there in your own sweet time lets just say that maybe you could help to ease my mind baby i aint mr rightbut if youre looking for fast love fast love in your eyes its more than enough had some bad love some fast love is all that ive got on my mindooh baby whats there to think about baby hey baby oh yeahso close i can taste it now baby so closein the absence of security i made my way into the night stupid cupid keeps on calling me and i see nothing in his eyes i miss my baby oh yeah i miss my baby tonightso why dont we make a little room in my bmw babe searching for some peace of mind hey ill help you find it i do believe that we are practicing the same religionoh you really oughta get up now thats right thats right you really ought to get upgotta get up to get down gotta get up to get down gotta get up to get downlooking for some affirmation affirmationgotta get up to get down gotta get up to get down gotta get up to get down ",1
63,"touch me tease me","case featuring foxy brown",1996," what what just keep me laced up vanilla tracy seasons bacardi i slip this rah he us go round the doeshae garbana sippin pure zae with the ill na na and then we aroundi had you and all your teasin your jones your royalties and your pools so what the dill is what foxy brown and case now we lace bonnie and clyde now makin jamaica breakn all you paperyoure the only one for me youre the only one i need cant no body make me feel the way you makin me feel and girl you know this love is realtouch me tease me feel me and caress me hold on tight and dont let go baby im about to explode cause all my love i cant controlill spend the night with you if you promise you will do all the things to make me scream and you just what i mean cause tonight you taste like ice creami wanna make you fall in love make you touch the stars above bring it low and be my friend ill come back again and again and again and again and againtouch me tease me feel me and caress me hold on tight and dont let go baby im about to explode cause all my love i cant control can you fell me comin downwhat let me get that lex lovin sex what up in the quarryos flashin look at that saturn lobes and laya jets coupes my one stackin you didnt know that i be macknthe extra set of keys the 30 gees then trips to beliz had you living on your knees not to mention the laced out crib in dallas the 40 room palace that made you style thistouch me tease me feel me and caress me hold on tight and dont let go baby im about to explode cause all my love i cant controltouch me tease me feel me and caress me hold on tight and dont let go baby im about to explode cause all my love i cant controltouch me tease me feel me and caress me hold on tight and dont let go baby im about to explode cause all my love i cant control ",1
64,"tonites tha night ","kris kross",1996,NA,NA
65,"children","robert miles",1996,"instrumental",3
66,"theme from mission impossible","adam clayton and larry mullen",1996,"mr phelps mr phelps mr phelps mr phelps this tape will selfdestruct in 5 seconds this tape will selfdestruct in 5 seconds this tape will selfdestruct in 5 seconds this tape will selfdestruct in this tape will selfdestruct in this tape will selfdestruct this tape will selfdestruct in 5 seconds mr phelps your mission should you decide to accept it mr phelps mr phelps your mission should you decide to accept it this tape will selfdestruct in 5 seconds",3
67,"closer to free","bodeans",1996," everybody wants to live like they wanna live and everybody wants to love like they wanna love andeverybody wants to be closer to freeeverybody wants respect just a little bit and everybody needs a chance once in awhileeverybody wants to be closer to freeeverybody one everybody two everybody free everybody needs to touch you know now and then and everybody wants a good good friendeverybody wants to be closer to freei said everybody one everybody two everybody free everybody wants to live like they wanna live and everybody wants to love like they wanna love andeverybody wants to be closer to freeyeah closer to free yeah closer to free closer to free ",1
68,"just a girl","no doubt",1996," take this pink ribbon off my eyes im exposed and its no big surprise dont you think i know exactly where i stand this world is forcing me to hold your hand cause im just a girl little ol me well dont let me out of your sight oh im just a girl all pretty and petite so dont let me have any rights oh ive had it up to herethe moment that i step outside so many reasons for me to run and hide i cant do the little things i hold so dear cause its all those little things that i fearcause im just a girl id rather not be cause they wont let me drive late at night oh im just a girl guess im some kind of freak cause they all sit and stare with their eyes oh im just a girl take a good look at me just your typical prototype oh ive had it up to hereoh am i making myself clearim just a girl im just a girl in the world thats all that youll let me beoh im just a girl living in captivity your rule of thumb make me worry some oh im just a girl whats my destiny what ive succumbed to is making me numb oh im just a girl my apologies what ive become is so burdensome oh im just a girl lucky me twiddledum theres no comparisonoh ive had it up to oh ive had it up to oh ive had it up to here ",1
69,"if your girl only knew","aaliyah",1996," yeah uh here we go like that uh yeah uh here we go like that uh yeah uh here we go like that uh yeah uh aaliyah singif your girl only knew that you was trying to get with me what would she do if your girl only knew that you was dissin her to talk to meshe would probably leave probably leave you alone you alone she would probably curse you out and unplug her phone i bet shed be glad oh yeah that you was gone and then she wouldnt have to worryif your girl only knew that i would want to kick it with you if she knew and if your girl could only see how you be calling me getting fresh with meshe would probably leave leave you alone you alone she would probably curse you out and unplug her phone i bet shed be glad that you was gone and then she wouldnt have to worryshes crazy to put up with you oh boy i wont be no fool let you like what you see it aint easy to get with me but its dumb to put up with you i wont be no fool let you like what you see it aint easy to get with meshe would probably leave you alone she would probably curse you out and unplug her phone i bet shed be glad shed be glad that you was gone that you was gone and then she wouldnt have to worryshe would probably leave you alone she would probably curse you out and unplug her phone i bet shed be glad that you was gone that you was gone and then she wouldnt have to worryshe would probably leave if your girl only knew you alone she would probably curse you out and unplug her phone i bet shed be glad if your girl only knew that you was gone that you was gone and then she wouldnt have to worryif your girl only knew what you saying what you saying what you saying huh what you saying what you saying what you saying huh what you saying what you sayingif your girl only knew what you saying what you saying what you saying huh what you saying what you saying what you saying huh what you saying huhif your girl only knew what you saying what you saying what you saying huh what you saying what you saying what you saying huhif your girl only knew what you saying what you saying what you saying huh what you saying what you saying what you saying huh what you saying ma nigga ",1
70,"lady","dangelo",1996," youre my ladydont think i dont see them looking at ya all of them wishing they could have ya and as a matter of fact uh a bunch of them are itchin for you to scratchem im tired of hiding what we feel im trying to get with the real and ima gonna make it know cause i want them to knowyoure my ladyyoure my little baby my darling baby i swear youre the talk of the town and everybody wants to know whats going down babe i know theyve seen us before maybe at the liquor store or maybe at the health food stand they dont know that im your manyoure my ladyi can tell theyre looking at us i pick you up everyday from your job and every guy in the parking lot wants to rob me of my girl and my heart and soul and everybody wants to treat me so cold but i know i love you and you love me theres no other lover for you or me youre my ladyi cant tell theyre looking at usyoure my lady my divine lady youre my lady such a wonderful lady i cant tell theyre looking at us ",1
71,"key west intermezzo i saw you first","john mellencamp",1996," in a hand painted night me and gypsy scotty are partners at the hotel flamingo wearin black market shoes this loud cuban band is crucifying john lennon no one wants to be lonely no one wants to sing the bluesshes perched like a parrot on his tuxedo shoulder christ whats she doing with him she could be dancing with me she stirs the ice in her glass with her elegant finger i want to be what shes drinking yeah i just want to bei saw you first im the first one tonight i saw you first dont that give me the right to move around in your heart everyone was lookin but i saw you firston a moon spattered road in her parrot rebozo gypsy scotty is driving his big long yellow car she flies like a bird over his shoulder se whispers in his ear boy you are my starbut i saw you first im the first one tonight yes i saw you first dont that give me the right to move around in your heart everyone was lookinin the bone colored dawn me and gypsy scotty are singin the radio is playin she left her shoes out in the back he tells me a story about some girl he knows in kentucky he just made that story up there aint no girl like thatbut i saw you first im the first one tonight yes i saw you first dont that give me the right to move around in your heart everyone was lookin but i saw you first i saw you first i saw you first ",1
72,"pony","ginuwine",1996," im just a bachelor im looking for a partner someone who knows how to ride without even falling off gotta be compatible takes me to my limits girl when i break you off i promise that you wont want to get offif youre horny lets do it ride it my pony my saddles waiting come and jump on it if youre horny lets do it ride it my pony my saddles waiting come and jump on itsitting here flossing peepin your steelo just once if i have the chance the things i would do to you you and your body every single portion send chills up and down your spine juice flowing down your thighif youre horny lets do it ride it my pony my saddles waiting come and jump on it if youre horny lets do it ride it my pony my saddles waiting come and jump on itif were gonna get nasty baby first well show and tell till i reach your pony tail oh lurk all over and through you baby until we reach the stream youll be on my jockey team ohif youre horny lets do it ride it my pony my saddles waiting come and jump on it if youre horny lets do it ride it my pony my saddles waiting come and jump on itif youre horny lets do it ride it my pony my saddles waiting come and jump on it if youre horny lets do it ride it my pony my saddles waiting come and jump on itif youre horny lets do it ride it my pony my saddles waiting come and jump on itride it saddles ",1
73,"nobody","keith sweat featuring athena cage",1996," i wanna tease you i wanna please you i wanna show you baby that i need you i want your body til the very last drop i want you to holler when you want me to stopand who can love you like me nobody who can sex you like me nobody who can treat you like me my babynobody nobody baby nobody and who can do it like me nobody who can give you what you need nobody who can do you all night long nobody nobody baby nobodyi want the night for me and you so come here baby and let me do it to you dont be afraid cause i wont bite i promise to give it to you just the way you likeand who can love you like me nobody who can sex you like me nobody and who can lay your body down nobody nobody baby nobody and who can treat you like me nobody who can give you what you need nobody and who can do you all night long nobody nobody baby nobody and the band keeps playin onbow wow wohninon wohn bow wow wohninon wohn bow wow wohninon bohn nobody baby bow wow wohninon wohn bow wow wohninon wohn bow wow wohninon bohn nobody babyi baby i want you right now for my lover oh yes i do place no one above ya oh yes i do if you need a love if you need my love ill be right there ill be right there baby oh yes i willand who can love you like me babe nobody who can sex your body like me nobody who can do it like me my baby nobody no no no no no no no nobody but me who can lay you down just like me nobody who can kiss you all over your body baby nobody who can laugh who can laugh just crazy baby nobody oh yeah baby nobody i want to know who can love you like me babe nobody who can treat your body as good as me baby nobody who can do it do it just like me babynobody ",1
74,"old man and me when i get to heaven","hootie  the blowfish",1996,NA,NA
75,"if it makes you happy","sheryl crow",1996," i belong a long way from here i put on a poncho and played for mosquitoes and drank till i was thirsty again we went searching through thrift store junglesfound geronimos rifle marilyns shampoo and benny goodmans corset and pen well okay i made this up i promise you id never give upif it makes you happy it cant be that bad if it makes you happy then why the hell are you so sadget down real low down you listen to coltrane derail your own train well who hasnt been there beforei come round around the hard way bring you comics in bed scrape the mold off the bread and serve you french toast again okay i still get stoned im not the kind of girl youd take homeif it makes you happy it cant be that bad if it makes you happy then why the hell are you so sadif it makes you happy it cant be that bad if it makes you happy then why the hell are you so sadweve been far far away from here i put on a poncho and played for mosquitoes and everywhere in between well okay we get along so what if right now everythings wrongif it makes you happy it cant be that bad if it makes you happy then why the hell are you so sadif it makes you happy it cant be that bad if it makes you happy then why the hell are you so sad ",1
76,"as i lay me down","sophie b hawkins",1996," it felt like spring time on this february morning in a courtyard birds were singing your praise im still recalling things you said to make me feel alright i carried them with me todaynow as i lay me down to sleep this i pray that you will hold me dear though im far away ill whisper your name into the sky and i will wake up happyi wonder why i feel so high though i am not above the sorrow heavy hearted till you call my nameand it sounds like church bells or the whistle of a train on a summer evening ill run to meet you barefoot barely breathingas i lay me down to sleep this i pray that you will hold me dear though im far away ill whisper your name into the sky and i will wake up happyoh darlin as i lay me down to sleep this i pray that you will hold me dear though im far away ill whisper your name into the sky and i will wake up happyits not too near for me like a flower i need the rain though its not clear to me every season has its change and i will see you when the sun comes out againas i lay me down to sleep this i pray that you will hold me dear though im far away ill whisper your name into the sky and i will wake up happyoh darlin as i lay me down to sleep this i pray that you will hold me dear though im far away ill whisper your name into the sky and i will wake up happyi wonder why the sun comes out again when the sun comes out again when the sun comes out again when the sun comes out againoh the sun comes out again when the sun comes out again the sun comes out comes out comes out i will wake up happy this i pray nowand every morning again and every morning again and every ",1
77,"keep on keepin on","mc lyte featuring xscape",1996," bboy where the fuck you at i been looking for youre ass since a quarter past hot peas and butter baby come and get your supper before i make you suffer thats when you had enoughacan i get hot when you hit the jackpot surely i can if you the man i get loose and produce large amounts of juice can you get used to that or do you need a boost of energy to enter me and get it onyoure gettin warm i can feel you getting closer now baby down this mimosa you better believe its time to give a toast to the woman of the decade too bad to be played get vex and im bound to throw shadeall over your body whos body your body i can rock a party like nobody leavin time to take home the loot choosy about who i let knock my boots now let me take sight while youre lovin the lyte life aint all that unless youre doing it rightkeep on keepin on cause you came and you changed my world your love so brand new keep on keep kickin on doin it right right rightbeware of the stare when i step into peace i come in peace but i got shit that need to be released now who from the chosen shall i choose yeah now you wish you was in his shoesi found me a new nigga this year that knows how to handle this here now i look forward to goin home at night brother does mo right under the candlelightwax upon my back can i handle all of that i guess i can can i why not if i wanna guess i can can i more honey than a bumblebee hive pulling 69 ways in my archivesweet like licorice sugar for my booga juicy like hic or an icee i got shit to make your ass write a bad check cause like i said i aint afraid of the sweatbeat on my drum if you feel the need to as i proceed to open up and feed you i got a longing to put you where you wanna be been i can i get rid of all companykeep on keepin on cause you came and you changed my world your love so brand new keep on keep kickin on doin it right right rightmany have tried strict regulation lazy motherfuckers get put on probation those that didnt perform well they gets no answer when they ringaringa my bellyoure playing with my time trying to jerk me hurt me then dessert me you better work me while you got the opportunity to be in the midst of the l y t eonly the strong survive only the wise excel once said by my borninhell only the lonely die slowly left all alone try to control meeasy does it never ask how was it never speak my info why my sheets in the streets cause that aint cool and that aint cute to talk about who knocked the boots on a video shootbut its all good though you gotta get it when you want it like your prey make your move and hop up on it its natural never be ashamed fuck the fame get the name and kick the game ",1
78,"jealousy","natalie merchant",1996," ooh jealousy ooh jealousyis she fine so well bred the perfect girl a social debis she the sort youve always thought could make you what youre notooh jealousy ooh jealousyis she bright so well read are there novels by her bedis she the sort that youve always said could satisfy your headooh jealousy ooh jealousy ooh my jealousydoes she talk the way i do is her voice reminding you of the promises the little white lies toosometimes tell me while shes touching you just by mistake accidentally do you say my name ",1
79,"i want to come over","melissa etheridge",1996," i know youre home you left your light on you know im here the night is thini know youre alone i watched the car leave your lover is gone let me inopen your back door i just need to touch you once morei want to come over to hell with the consequence you told me you loved me thats all i believei want to come over its a need i cant explain to see you again i want to come overi know your friend you told her about me she filled you with fear some kind of sinhow can you turn denying the fire lover i burn let me inopen your back door i just need to touch you once morei want to come over to hell with the consequence you told me you loved me thats all i believei want to come over its a need i cant explain to see you again i want to come overi know youre confused i know that youre shaken you think well be lost once we begini know youre weak i know that you want me lover dont speak let me ini want to come over to hell with the consequence you told me you loved me thats all i believei want to come over its a need i cant explain i want to come over to see you to see you again ",1
80,"who do u love","deborah cox",1996," last night i slept alone i stayed at home for the first time since youve been gone babe no friends to understand to lend a helping hand to ease the greatest pain ive ever knownhow you walk away so easily still remains a mystery to me dont you remember that you promised me yes you promised me that youd never leave boybut you went away baby and its such a shame how could you turn you back on me ohchorus if you really dont want me if you dont want me if you really dont need me if you dont need me if you really dont love me tell me who do you loveif you really dont want me if you dont want me if you really dont need me if you dont need me if you really dont love me then who do you lovei gave you babe everything a man could ever need i was there whenever you would call baby but somehow your feelings changed and you dont act the same i guess youre not the man that i once knew at allhow you walk away so easily still remains a mystery to me dont you remember that you promised me yes you promised me that youd never leave boynow the love is gone babe tell me what went wrong how could you leave me hanging on oh babychorusi once was blind but baby now im seeing that im not the one who can fill your every need i painted a picture so clear its reality now i know yes i know that youre not the one for me ohhhhh babychorushow you walk away so easily still remains a mystery to me dont you remember that you promised me yes you promised me that youd never leave boyhow could you walk away from me baby if you promised youd never leave been so long since youve been gone the greatest thing ive ever knownchorus ",1
81,"unbreak my heart","toni braxton",1996," lala lala la lala hah aaa aaa aah aaa aaadont leave me in all this pain dont leave me out in the rain come back and bring back my smile come and take these tears away i need your arms to hold me now the nights are so unkind bring back those nights when i held you beside meunbreak my heart say youll love me again undo this hurt you caused when you walked out the door and walked outta my life uncry these tears i cried so many nights unbreak my heart my hearttake back that sad word goodbye bring back the joy to my life dont leave me here with these tears come and kiss this pain away i cant forget the day you left time is so unkind and life is so cruel without you here beside meunbreak my heart say youll love me again undo this hurt you caused when you walked out the door and walked outta my life uncry these tears i cried so many nights unbreak my heart my heart heart ummdont leave me in all this pain dont leave me out in the rain bring back the nights when i held you beside meoh unbreak my heart say that youll love me again undo this hurt you caused when you walked out the door and walked outta my life uncry these tears i cried so many many nights oh unbreak myunbreak my heart oh baby come back and say you love me unbreak my heart sweet darlin without you i just cant go onsay that you love say that you love tell me you love unbreak my heart cant go on woh say that you love say that you love tell me you love unbreak my say that you love say that you love tell me you love unbreak my say that you love say that you love tell me ",1
82,"this is your night","amber",1996," dah dah dah dah dad ditita ta tay dah dah dah dah dad ditita ta tay dah dah dah dah dad ditita ta tay ditita ta tay ditita ta taydah dah dah dah dad ditita ta tay dah dah dah dah dad ditita ta tay dah dah dah dah dad ditita ta tay ditita ta taythis is your night dancing free until the morning light together forever cause this is your night and everything is gonna be alrightaww yeah so in love with you aww yeah its too good to be true aww yeah feelin so brandnew aww yeah eeeyeah eeeyeah ooh ooh ooh oohyou captured my heart youre the key to my life a vision of our love that made me survive regaining the mood that were in its so real its time to move up and to face what i feel ohhthis is your night dancing free until the morning light together forever cause this is your night and everything is gonna be alrightaww yeah so in love with you aww yeah its too good to be true aww yeah feelin so brandnew aww yeah eeeyeah eeeyeah ooh ooh ooh oohtonight with my spirits the one that you call im ready to stand up and ready to fall i cant find a way so attracted by you let me be your girl and ill be so true oohthis is your night dancing free until the morning light together forever cause this is your night and everything is gonna be alrightaww yeah so in love with you aww yeah its too good to be true aww yeah feelin so brandnew aww yeah eeeyeah eeeyeahdah dah dah dah dad ditita ta tay dah dah dah dah dad ditita ta tay dah dah dah dah dad ditita ta tay ditita ta tay ditita ta taydah dah dah dah dad ditita ta tay dah dah dah dah dad ditita ta tay dah dah dah dah dad ditita ta tay ditita ta taythis is your night dancing free until the morning light together forever cause this is your night and everything is gonna be alrightaww yeah so in love with you aww yeah its too good to be true aww yeah feelin so brandnew aww yeah eeeyeah eeeyeahthis is your night dancing free until the morning light together forever cause this is your night and everything is gonna be alright ",1
83,"you remind me of something","r kelly",1996," you remind me of something i just cant think of what it isyou remind me of my jeep i want to ride it something like my sound i want to pump it girl you look just like my cars i want to wax it and something like my bank account i want to spend it babyits something about your love thats got me going crazy baby you know i want you real bad and girl i really like your freaky style how can i be down with you so get a little closer to my ride i want to get to know you lady and hip me up on how to get inside you listen pretty babyi want to roll it roll it roll it roll it is all i want to do for you baby girl its something kind of sexy goin on about you babeyou remind me of my jeep i want to ride it something like my sound i want to pump it girl you look just like my cars i want to wax it and something like my bank account i want to spend it babyyou remind me of my jeep i want to ride it something like my sound i want to pump it girl you look just like my cars i want to wax it and something like my bank account i want to spend it babynow i would like to take you on a ride tonight girl you know well have so much fun and give you everything your body needs satisfaction guaranteed so pull up to my bumper and let the system sound girl i bet cha i can drive you crazy and let me be the one to drop you off babe listen to mei want to roll it roll it roll it roll it is all i want to do for you baby girl its something kind of sexy goin on about you babeyou remind me of my jeep i want to ride it something like my sound i want to pump it girl you look just like my cars i want to wax it and something like my bank account i want to spend it babyyou remind me of my jeep i want to ride it something like my sound i want to pump it girl you look just like my cars i want to wax it and something like my bank account i want to spend it babydont be alone dont be alone im comin through your door turn off the lights turn off the lights baby its something about this momentyou remind me of my jeep i want to ride it something like my sound i want to pump it girl you look just like my cars i want to wax it and something like my bank account i want to spend it babyyou remind me of my jeep i want to ride it something like my sound i want to pump it girl you look just like my cars i want to wax it and something like my bank account i want to spend it babyyou remind me of my jeep i want to ride it something like my sound i want to pump it girl you look just like my cars i want to wax it and something like my bank account i want to spend it baby ",1
84,"runaway","janet jackson",1996," ive seen the world been to many places made lots of friends many different races ive had such fun around the world its true african skies with a nairobi mood ooh i fell asleep in tuscany and dreamed the one thing missing was yourunaway with me my love yeah yeah yeah yeah runaway with me my love yeah yeah yeah yeahi woke up with an australian breeze and danced the dance with aborigines oh under the moon glow down in mexico i dreamed one thing was missing thats yourunaway with me my love yeah yeah yeah yeah runaway with me my love yeah yeah yeah yeahwell sail the waters of many colours we wont need a compass love will guide our way dont need nobody as long as we got each other no need to hurry weve got everyday i wanna share the world with you you see spring time in paris feels so good to me oh this is for me reality so please make all my wishes come truerunaway with me my love yeah yeah yeah yeahand i just know well have a good time ooh and i just know well have a good time ah and i just know well have a good time and i just know well have a good time and i just know well have a good time and i just know well have a good time yeah ",1
85,"set u free","planet soul",1996,"setcha free setcha free come into my planet soul take me down fill me up give me ecstasy not enough i am what you need do it with me in this world of hate i can fill you up i can clear the rain i can be your dream baby share it with me i can make you scream baby baby baby i can be your dream come into my planet soul setcha free setcha free get it out keep it up baby feel it with me loosen up make me feel the heat give it to me we can get there the same tell me when to come i can be there again i can make you my friend it will never end i can be there again baby baby baby i can make you scream come into my planet soul do it to me now possibly do it tonight ecstasy ecstasecstasy ecstas ecstasy ectsasecstasecstasy ecstasecstas ecstasy ectsasecstasecstasy ecstasecstas ecstasy ecstasy express to me if you feel ecstasy this high is for you and me gravity energy make me feel good so do it and welcome to my planet soul planet planet planet soul setcha free setcha free come into my planet soul come into my planet soul setcha setcha setcha setcha setcha setcha setcha setcha free",3
86,"hit me off","new edition",1996," alright yall you aint got to ask nobody yeah we got cha open come on baby you drive me crazyshes the finest thing ive ever seen looking like a natural queen i said let me take you for a ride umm baby to the other side we can do just what you like girlwe can get started as long as youre ready as long as youre ready babe anyway you want ithit me off hit me off hit me offcome on baby you drive me crazy hit me off freak ya like thisyou got me open got me jonin for an episode come on baby you drive me crazy lets spend an hour in the shower when its nice and wet im ready for your loveso whos making moves cause im looking at you and i like it ooh anyway you want it girlhit me off hit me off come on baby hit me off hit me offcome on baby you drive me crazy hit me off come on babynow check it im taking no loses now im the boss and i see you flossing my way with the grace all up in my face so i say whats up love how you doing what you think about me and you screwin naw but wait lets make a date plans for dinner im down to take it slow cause you know that shes a winner uhh got me feinin for the cream dont you know im movin in slow but keep it low low lowyeah yeah yeah baby boo yo whats up with you word around camp is that you like it with two i wanna freak it but first im gonna take a peak at it grab it stab it cause you know i gots to have it so hit mehit me off hit me off i got my mind on my money yo the bootys on mecome on baby you drive me crazy hit me off come on babyi got my mind on my money and the bootys on me i got my mind on my money and the bootys on mehit me off hit me off come on baby hit me off hit me off i got my mind on my money and the bootys on mehit me off come on baby you drive me crazy hit me off come on baby ",1
87,"no one else","total",1996," there you are lookin at me tell me whatcha want this to be it could be everything that your heart desires all you gotta do is stick around for awhile bridge theres so many things that i wanna do take you all around its all up to you if you take my hand and just follow me theres no tellin what we can be just you and me yeah chorus i dont need no one else but you tell me what you want me to do i dont need no one else but you you gotta believe me cause what i say is true could ya be all that i need show me what i need to see if its all right with you tell me now baby we can take this all the way just tell me how bridge chorus if ya wanna just take your time ill understand just tell me why if its all right wit you ill let you lead the way no need to wait baby dont hesitate rapda brat chorus ",1
88,"my boo","ghost town djs",1996," boy you should know that i got you on my mind your secret admirer ive been watching youat night i think of you i want to be your lady baby if your game is on give me a call boo if your love is strong gonna give my all to youat night i think of you i want to be your lady baby if your game is on give me a call boo if your love is strong gonna give my all to you    memory  byamandah   editor    maryland basketball players jared nickens jaylen brantley and damonte dodd are going viral by doing hilarious running man dances to the 90s single my boo    see all   every day i pray my heart can win every night i pray i can call you my man yeah yeah yeah i need you i want you to have you hold you squeeze you so im going out every weekend just to see my boo againat night i think of you i want to be your lady baby if your game is on give me a call boo if your love is strong gonna give my all to youthese feelings i have for you they go deeper if you can come correct with your game boy no no no you cant relate boy but if you can please me then my love will come easy ill do anything you want freak me boy im thinkin of youat night i think of you i want to be your lady baby if your game is on give me a call boo if your love is strong gonna give my all to youboy youve got all i need from what i see and boy every night i am constantly thinking of youat night i think of you i want to be your lady baby if your game is on give me a call boo if your love is strong gonna give my all to you ",1
89,"get money","junior mafia featuring the notorious big",1996," get money get money get moneyget money get money get moneyyou wanna sip mo on my living room flo play nintendo with cease a leo pick up my phone say poppa not home sex all night mad head in the mornspin my v smoke all my weed tattoo on sayin b i g now check it you wanna be my main squeeze baby dontcha you wanna gimme what i need babywontcha picture life as my wife just think full length mink fat x and o links bracelets to match conversation was all that showed you the safe combinations and all thatguess you could say yous the one i trusted who would ever think that you would spread like mustard got hot you sent feds to my spot took me to court tried to take all i gotnother intricate plot the bitch said i raped her damn why she wanna stick me for my paper my moscino my versace hottie come to find out you was everybodyyou knew about me the fake id cases in virginia body in dc woe oh is me thats what i get for trickin pay my own bail commence to kickinlick in the door wavin the fourfour all you heard was poppa dont hit me no more disrespect my click my imperial fuck around and made her milk box material you feel me suckin  runnin your lips cause of you im on some realget money get money get moneyget money get money get moneyget money get moneybetta grab a seat grab on your as this gets deep deeper than the of a six feet stiff feel sweet in this little petite young from the street guaranteed to stay down used to bring work outta town on greyhound now im billboard now press to hit itplay me like a chicken thinkin im pressed to get it rather do the killin than the stick up jooks or rather count a million while you eat my push me to the limit get my feelings in it get me open while im cummin down your throatyou wanna be my main squeeze dontcha you wanna lick between my knees dontcha wanna see me whippin your three down the ave blow up spots on because im madbreak up affairs lick shots in the air you get vexed and start swingin everywhere me shifty now you wanna pistol whip me pull out your nine while i cock on mineyeah what i aint got time for this so what im not tryin to hear that now you wanna buy me diamonds and armani suits adia vinadini and chanel lime bootsthings that make up for all the games and the lies hallmark cards sayin i apologize is you with me how could you ever deceive me but paybacks a believe me naw i aint gay this aint no flow just a little somethin to let you motherfucker knowget money get money get money  ",1
90,"that girl","maxi priest featuring shaggy",1996,"the girl has got the touch what she got is a little something that kind of girl maxi priest just make them know shes the kind of woman who lets you know when she knows what she wants she wont let go takes you to a place of your fantasy walks you to the door but she holds the key that girl that kind of girl ooh that girl that kind of girl ooh no matter who you are or what you do she knows how to click in everything you do she can make you hot when its cold outside take you on a high even make you fly that girl that kind of girl ooh that girl that kind of girl ooh shes outspoken im heartbroken just the kind of girl to keep my love life rolling shes outspoken im heartbroken just the kind of girl to keep my that that that girl to make you break your silence and speak just a glimpse upon the silhouette make my knees get weak baby baby so unique a reggaematic lover lover make her life complete that girl that kind of girl ooh that girl that kind of girl ooh shes the kind of woman who knows the street and even under pressure shes smooth and sweet no complications just attitude believe in what shes got and she wont get used that girl that kind of girl ooh that girl that kind of girl ooh well im weak to her touch so vulnerable to her blush love struck that girl i got an instant crush you can call me a lush infatuation or just lust the girl possess the stuff to make the man them holy moses lord it could have been me caught up in this trap and didnt wanna be but i aint no fool i was one step ahead i had to let go cause i was over my head that girl that kind of girl ooh that girl that kind of girl ooh gangster kind of lover cause shes the shaggy kind of girl let them know sexy kind of lover let them know maxi kind of lover shes outspoken im heartbroken just the kind of girl to keep my love life flowing shes outspoken im heartbroken shes the kind of girl to keep my that that girl that girl that kind of girl ooh that girl that kind of girl ooh i got to let them know shes the kind of girl that captivates your soul a rude girl type of lover shaggy and maxi definitely on the girl them case",3
91,"po pimp","do or die featuring twista",1996," do you want to ride in the backseat of a caddy chop it up with do or diedo you want to ride in the backseat of a caddy chop it up with do or dieseven double oh pm fly low to them hoes in the be sipping seagram chewing on a wheat stem touching on my four fin move it to the back so i can see who beeping this po pimp spring to the phone with a slow limp in a trip that shitted with three one two seven six two ten three line connection as the rest of them wanted affection just bring the bead we got the drinks you need and plus we strapped with two protections i put the phone in the hook then i pause for a minute cause i forgot where i met the hoe and the feeling ive forgotten if the hoes want to snap i straight up check the hoe really doe to the cribdo you want to ride in the backseat of a caddy chop it up with do or diedo you want to ride in the backseat of a caddy chop it up with do or dieseven deuce five the ride the point to spot the live hoes three miles per hour like we running up on some rivals never to deny though these bitches look fly lo introduce myself a to the motherfucking k finna recognize then i loose myself juice myself as you take one pull uh pass it to the left and em selfcentered niggazll take two pulls cause they thinking about sampling em pi mp ology but logically were learning these hoes biology and obviously wellmm aint this some shit pull up in the seea di doublel with ah asee asee hoes they peep those pi mp and they think that automatically cause hes a pimp he gotta be full of that mo ne but why cause nigga be sporting nice cars and fancy clothes fresh jewels girbaud flexing one five oh chop chop chop up that paper hoe chop up that paper hoe watch where your lips go caress my tip slow to the tempo instrumental real simple when you fucking with a pimp doe get involved in the backseat lets have me in the cab betcha mess with ya young ass smoking on that finest grass never miss what you never had at last pi mp ology but logically we learning these hoes biology and obviously welldo you want to ride in the backseat of a caddy chop it up with do or diedo you want to ride in the backseat of a caddy chop it up with do or diewell a motherfucker might be broke and shit and then collecting no dough from tips but i be spitting mo game than a mouthful of poker chips to get them hoes with the oprah lips and the provoking hips and never gotta tell her many lies i been looking in the city skies get up in the kittys thighs cause im blessed with a look of innocence good sex peanut butter complex and some pretty eyes pity cries on my strategy side yo when out of me gotta be right thatd be the flatter me right but if the head the bonk come on suck a nigga dick members of my click want to see what thatd be like i know you want to try it out to the rhythm of a high hat dont be bogus and deny that i done got a hold of them my fellas on the train while she lie back now motherfucker can you bow down where your ride at on the passenger side of your hoes trying to come up on another g the broad all up under me trying to smother me looking lovely while i roll another bead suddenly she learned that i dont deal with emotions but when we in the room she rubbing me with lotion she come like an ocean coasting have a cigarette thinking me and do or die dig drinking love potion the word that was never said twisted be giving women dick in the bed until they sick in the head and if i ever leave whoever dead they aint tricking the feds or spitting game but its chicken and bread kicking them legs in the air like a player do then be little in a day or two after words im slay a crew now thats some pimp type shit that be low and akll do wearing gray and blue if a hoe want to holler then you a player if you hit them ends and get the dividends but you a pimp if you can get the same hoe to want to freak your friends cause i studied pi mp ology but logically be learning these hoes biology obviously welldo you want to ride in the backseat of a caddy chop it up with do or diedo you want to ride in the backseat of a caddy chop it up with do or diedo you want to ride with me come and ride with me baby come and ride with me baby come and ride with me do or die ",1
92,"until it sleeps","metallica",1996," where do i take this pain of mine i run but it stays right by my sideso tear me open and pour me out theres things inside that scream and shout and the pain still hates me so hold me until it sleepsjust like the curse just like a stray you feed it once and now it stays now it staysso tear me open but beware theres things inside without a care and the dirt still stains me so wash me until im cleanit grips you so hold me it stains you so hold me it hates you so hold me it holds you so hold me until it sleepsso tell me why youve chosen me dont want your grip dont want your greed dont want itill tear me open make you gone no more can you hurt anyone and the fear still shakes me so hold me until it sleepsit grips you so hold me it stains you so hold me it hates you so hold me it holds you holds you holds you until it sleepsuntil it sleeps until it sleeps until it sleeps until it sleepsi dont want it i dont want it want it want it want it want it noso tear me open but beware theres things inside without a care and the dirt still stains me so wash me til im cleanill tear thee open make you gone no longer will you hurt anyone and the hate still shapes me so hold me until it sleepsuntil it sleeps until it sleeps until it sleeps until it sleeps until it sleeps ",1
93,"hay","crucial conflict",1996," sittin on a quarter p of hay thangs is feelin good today im tore up from the floor up sippin on some crown royal trippin in a circle of wood where everybody smoke they own bud good ol hay how you feel todayfine blowed and dandy silly like im hype off candy gotta big thick chic named sandy in the farm in the middle of the barn where everybodys feelin crazyi went to visit grannys house now i see why dont nobody leave we constantly constantly constantly smokin bs too blitzed to even shake it off but i still got my head up cold hard finna go in the back of the barnand get my big black peter sucked pass the hay you silly slut blaze it up so i can hit that bud git me zoned and ill be on cuz i love to smoke upon haysmokin on hay in the middle of the barn smokin on hay in the middle of the barnthe hay got me goin through a stage and i just cant get enough smokin everyday i got some hay and you know im finna roll it up make a cloud im gonna take my mind away from all the bull crapbump my sounds lay back and roll mack to the freaks thats on the road sometimes i wonder when i was blowed on the streets anybody wanna step to me ima see how rough they bein this session manifesting on my ps and qs never snooze cause i refuse inhale exhale the smell smokin hay all by myself wildstle laughin loud wit my homies by my side if somethin jump off let it rideon my square when time is live everybody throw it up go to the barn and get some hay when i get my choke on fool you know im smokin onhay now hay we smokin up hay in the middle of the barn and im lit up cant get up my eyes are red and my head is spinnin took another pull ridin red bull got the goofies cant stop grinningot a posse full of hoes playin in my braids and we bout to get in em over yonder is the barn where the pals be at and everything funnygotta pause some nigga tryin to blow my high smokin all that hay with no money now truly this bitch wanna do me so i hit the 151 bacardishe high like the sun thick like cornbread and im ready to party that hay got me so goddamn horny but i dont like that tramp the only reason im poppin that coochie cause the hoe had a book of food stamps and i got the munchiesi need soul food collard greens or pinto beans if you smoke hay like the conflict do then you know what the hell i meansmokin on hay in the middle of the barn smokin on hay in the middle of the barnrollin down the block car full of flies and the flies tried to rise up out dat door crack got my niggas in the barn smokin on that hay stack back up on the scene from smokin herbi creeped up on the wall and all i heard was a bud of mine who dropped a needle in the hay with a funky dime word couldnt be myself couldnt smoke wit nobody else if i didnt pass it to the leftnigga would have lost my breath open up the window fore i fall and faint but i cant cause i roll around in dat barn ride rollin up the hootie hoo roughest skin roller on dat west sidenigga come on in i got some hay wont you close dat barn door nigga what you let them flies out for aint nobody to rich we poorlettin all the contact smoke up in the barn the flies keep us chokin thank you jesus christ for all the hay youre givin us cause well keep on smokinsmokin on hay in the middle of the barn smokin on hay in the middle of the barn ",1
94,"beautiful life","ace of base",1996," oh yeah oh yeah oh yeah oh yeahits a beautiful life life oh its a beautiful life oh oh its a beautiful life life oh its a beautiful lifeyou can do what you want to just seize the day what youre doing tomorrows gonna come your way dont you ever consider givin up you will find ohits a beautiful life oh oh its a beautiful life oh oh its a beautiful life oh oh i just wanna be here beside you and stay until the break of dawntake a walk in the park when you feel down theres so many things there thats gonna lift you up see the nature in bloom a laughing child such a dream ohits a beautiful life oh oh its a beautiful life oh oh its a beautiful life oh oh i just wanna be here beside you and stay until the break of dawnyoure looking for somewhere to belong youre standing all alone for someone to guide you on your way now and foreverits a beautiful life oh oh its a beautiful life oh oh its a beautiful life oh oh i just wanna be anybodyits a beautiful life oh oh its a beautiful life oh oh its a beautiful life oh oh i just wanna be anybodyoh yeah oh yeah oh yeah oh yeahwere living in different waysoh yeah oh yeah oh yeah oh yeahits a beautiful life its a beautiful lifeits a beautiful life im gonna take you to a place ive never been before oh yeahits a beautiful life im gonna take you in my arms and fly away with you tonightits a beautiful life its a beautiful life its a beautiful life its a beautiful lifeits a beautiful life life oh its a beautiful life oh oh its a beautiful life life oh its a beautiful lifeoh yeah alright oh yeah alrightits a beautiful life its a beautiful life its a beautiful life its a beautiful lifeits a beautiful life its a beautiful life its a beautiful life its a beautiful lifeits a beautiful life its a beautiful lifeits a beautiful life oh oh its a beautiful life oh oh its a beautiful life oh oh its a beautiful lifeits a beautiful life life oh its a beautiful life oh oh its a beautiful life life oh its a beautiful life ",1
95,"back for good","take that",1996," i guess now its time for me to give up i feel its time got a picture of you beside me got your lipstick mark still on your coffee cup oh yeahgot a fist of pure emotion got a head of shattered dreams gotta leave it gotta leave it all behind nowwhatever i said whatever i did i didnt mean it i just want you back for good want you back want you back i want you back for goodwhenever im wrong just tell me the song and ill sing it youll be right and understood want you back want you back i want you back for goodunaware but underlined i figured out this story it wasnt good but in the corner of my mind i celebrated glory but that was not to bein the twist of separation you excelled at being free cant you find a little room inside for mewhatever i said whatever i did i didnt mean it i just want you back for good want you back want you back i want you back for goodwhenever im wrong just tell me the song and ill sing it youll be right and understood want you back want you back i want you back for goodand well be together this time is forever well be fighting and forever we will be so complete in our love we will never be uncovered againwhatever i said whatever i did i didnt mean it i just want you back for good want you back want you back i want you back for goodwhenever im wrong just tell me the song and ill sing it youll be right and understood want you back want you back i want you back for goodwhatever i said whatever i did i didnt mean it i just want you back for good want you back want you back i want you back for goodwhenever im wrong just tell me the song and ill sing it youll be right and understood want you back want you back i want you back for goodoh yeah i guess now its time that you came back for good ",1
96,"i got id","pearl jam",1996," my lips are shaking my nails are bit off been a month since ive heard myself talk all the advantage this lifes got on me picture a coffin in the middle of the seaand i fight back in my mind never lets me be right i got memories i got shit so much it dont showoh i walked the line when you held me in that night i walked the line when you held my hand that nightan empty shell seems so easy to crack got all these questions dont know who i could even ask so ill just lie alone and wait for the dream where im not ugly and youre looking at meand i stay in bed oh little ive seen there if just once i could feel love oh stare back at me  yeahbut i walked the line when you held me in that night oh i walked the line when you held my hand that night oh i walked the line when you held me close that night i paid the price never held you in real life my lips are shaking ",1
97,"soon as i get home","faith evans",1996," your love is wonderful yeah and i dont wanna lose you so baby soon as i get home ill make it up to you baby ill do what i gotta do soon as i get home ill make it up to you baby ill do what i gotta dosleepless nights and lonely days are all that fill my head all of the time oh baby but all i do is think about the way you make me feel cause baby this love is so realsoon as i get home ill make it up to you baby ill do what i gotta do soon as i get home ill make it up to you baby ill do what i gotta doif i try to spend some time with you to make you happy would you feel better and if i could with you i would be forever forever in love so in love making love all through the night we could hold each other tight i can take away the pain if you would only let me just forget about the past cause i want to make it last baby i apologize cause boy i really need you in my lifesoon as i get home ill make it up to you baby ill do what i gotta do soon as i get home ill make it up to you baby ill do what i gotta dobaby if you give me just another chance i can show you love promise ill be true to you dont have to worry cause im gonna treat you right baby i miss you just wanna kiss you hold you in my arms tonightsoon as i get home baby i know what i gotta do cause i dont need no one but you soon as i get home baby i know what i gotta do cause i dont need no one but you soon as i get home baby i know what i gotta do ",1
98,"macarena","los del r'io",1996," dale a tu cuerpo alegria macarena que tu cuerpo es pa darle alegria y cosa buena dale a tu cuerpo alegria macarena hey macarenadale a tu cuerpo alegria macarena que tu cuerpo es pa darle alegria y cosa buena dale a tu cuerpo alegria macarena hey macarenamacarena tiene un novio que se llama que se llama de apellido vitorino que en la jura de bandera el muchacho se la dio con dos amigosmacarena tiene un novio que se llama que se llama de apellido vitorino y en la jura de bandera el muchacho se la dio con dos amigosdale a tu cuerpo alegria macarena que tu cuerpo es pa darle alegria y cosa buena dale a tu cuerpo alegria macarena hey macarenadale a tu cuerpo alegria macarena que tu cuerpo es pa darle alegria y cosa buena dale a tu cuerpo alegria macarena hey macarenamacarena macarena macarena que te gustan los veranos de marbella macarena macarena macarena que te gusta la movida guerrilleradale a tu cuerpo alegria macarena que tu cuerpo es pa darle alegria y cosa buena dale a tu cuerpo alegria macarena hey macarenadale a tu cuerpo alegria macarena que tu cuerpo es pa darle alegria y cosa buena dale a tu cuerpo alegria macarena hey macarenamacarena suena con el corte ingles y se compra los modelos mas modernos le gustaria vivir en nueva york y ligar un novio nuevomacarena suena con el corte ingles y se compra los modelos mas modernos le gustaria vivir en nueva york y ligar un novio nuevodale a tu cuerpo alegria macarena que tu cuerpo es pa darle alegria y cosa buena dale a tu cuerpo alegria macarena hey macarenadale a tu cuerpo alegria macarena que tu cuerpo es pa darle alegria y cosa buena dale a tu cuerpo alegria macarena hey macarenamacarena tiene un novio que se llama que se llama de apellido vitorino y en la jura de bandera del muchacho se la dio con dos amigosmacarena tiene un novio que se llama que se llama de apellido vitorino y en la jura de bandera del muchacho se la dio con dos amigosdale a tu cuerpo alegria macarena que tu cuerpo es pa darle alegria y cosa buena dale a tu cuerpo alegria macarena hey macarenadale a tu cuerpo alegria macarena que tu cuerpo es pa darle alegria y cosa buena dale a tu cuerpo alegria macarena hey macarena ",1
99,"only wanna be with you","hootie  the blowfish",1996,"hootie and the blowfish cracked rear view only wanna be with you you and me we come from different worlds you like to laugh at me when i look at other girls sometimes youre crazy and you wonder why im such a baby cause the dolphins make me cry but theres nothing i can do ive been looking for a girl like you you look at me you got nothing left to say im gonna pout at you until i get my way i wont dance you wont sing i just wanna love you but you wanna wear my ring but theres nothing i can do i only wanna be with you you can call me your fool i only wanna be with you put on a little dylan sittin on a fence i said that line is great you asked me what it meant by said i shot a man named gray took his wife to italy she inherited a million bucks when she died it came to me i cant help it if im lucky i only wanna be with you aint bobby so cool i only wanna be with you yeah im tangled up in blue i only wanna be with you you can call your fool only wanna be with you sometimes i wonder if itll ever end you get so mad at me when i go out with my friends sometimes youre crazy and you wonder why im such a baby and the dolphins make me cry theres nothing i can do i only wanna be with you you can call me your fool i only wanna be with you yeah im tangled up in blue i only wanna be with you only wanna be with you only wanna be with you only wanna be with you",3
100,"dont cry","seal",1996," dont be so hard on yourself those tears are for someone else i hear your voice on the phone i hear you feel so alone my baby oh my baby please my baby my babywhen we were young and truth was paramount we were older then and we lived a life without any doubt those memories they seem so long agowhats become of them theyve all gone for sure when you feel like me i want you to know dont cry not alone dont cry tonight my baby dont cry youll always be loved dont cry tonight my babytoday i dreamed of friends i had before and i wonder why the ones who care dont call anymore my feelings hurt but you know i overcome the pain and im stronger now there cant be a fire unless theres a flamedont cry your not alone dont cry tonight my baby dont cry youll always be loved dont cry oh limousines and sycophants dont leave me now cause im afraid what youve done to me is now the wolf in my bedin my head in my head in my headthe challenges we took were hard enough they get harder now even when we think that weve had enough dont feel alone cause its i you understand im your sedative take a piece of me whenever you candont cry youre not alone dont be so hard on yourself dont cry tonight my baby these tears are for someone elsedont cry youll always be loved i hear your voice on the phone dont cry tonight sweet baby i hear you fear so alonedont cry dont cry dont cry dont you cry cry dont cry cause you still be loved dont cry dont cry tonight ohmy baby my baby my baby my baby my baby my baby my baby my baby my baby my baby my baby my baby my baby my baby my baby my baby my baby dont cry tonight youll still be loved ",1
1,"something about the way you look tonight  candle in the wind 1997","elton john",1997,NA,NA
2,"foolish games  you were meant for me","jewel",1997,NA,NA
3,"ill be missing you","puff daddy featuring faith evans and 112",1997," seems like yesterday we used to rock the show i lace the track you lock the flow so far from hanging on the block of dough notorious they got to know that life aint always what it seem to be words cant express what you mean to me and though youre gone we still a team through your family ill fulfill your dreams in the future cant wait to see if youll open up the gates for me reminisce sometime the night they took my friend try to black it out but it plays again when its weird feelin its really hard to conceal cant imagine all the pain i feel give everything to hear half your breath i know you still livin your life after deathevery step i take every move i make every single day every time i pray ill be missing youthinking of the day when you went away what a life to take what a bond to break ill be missing youits kind of hard wit you not around know you in heaven smilin down watchin us while we pray for you everyday we pray for you till the day we meet again in my heart is where ill keep you friend memories give me the strength i need to proceed strength i need to believe my thoughts big i just cant define wish i could turn back the hands of time bust in the 6 shop for new clothes and kicks you and me taking flicks making hits stages they receive you on still cant believe youre gone give anything to hear half your breath i know you still livin your life after deathevery step i take every move i make every single day every time i pray ill be missing youthinking of the day when you went away what a life to take what a bond to break ill be missing yousomebody tell me why on that morning when this life is over i know ill see your faceevery night i pray every step i take every move i make every single day every night i pray every step i take every move i make every single day every time i pray every step i take every move i make every single day every night i pray every step i take every move i make every single day every time i prayevery step i take every move i make every single day every time i pray ill be missing youthinking of the day when you went away what a life to take what a bond to break ill be missing youevery step i take every move i make every single day every time i pray ill be missing youthinking of the day when you went away what a life to take what a bond to break ill be missing youevery step i take every move i make every single day every time i pray ill be missing youthinking of the day when you went away ",1
4,"unbreak my heart","toni braxton",1997," lala lala la lala hah aaa aaa aah aaa aaadont leave me in all this pain dont leave me out in the rain come back and bring back my smile come and take these tears away i need your arms to hold me now the nights are so unkind bring back those nights when i held you beside meunbreak my heart say youll love me again undo this hurt you caused when you walked out the door and walked outta my life uncry these tears i cried so many nights unbreak my heart my hearttake back that sad word goodbye bring back the joy to my life dont leave me here with these tears come and kiss this pain away i cant forget the day you left time is so unkind and life is so cruel without you here beside meunbreak my heart say youll love me again undo this hurt you caused when you walked out the door and walked outta my life uncry these tears i cried so many nights unbreak my heart my heart heart ummdont leave me in all this pain dont leave me out in the rain bring back the nights when i held you beside meoh unbreak my heart say that youll love me again undo this hurt you caused when you walked out the door and walked outta my life uncry these tears i cried so many many nights oh unbreak myunbreak my heart oh baby come back and say you love me unbreak my heart sweet darlin without you i just cant go onsay that you love say that you love tell me you love unbreak my heart cant go on woh say that you love say that you love tell me you love unbreak my say that you love say that you love tell me you love unbreak my say that you love say that you love tell me ",1
5,"cant nobody hold me down","puff daddy featuring mase",1997," intro puff huh mase yo turn me up in the headphones puff like that mase yeah puff bad boy we aint goin stopverse one now its sean on the hot track melt like its hot wax put it out all the stores bet you could shout that even a nigga with a hot hat frontin like bad boy aint got tracks nigga stop that theres no guy slicker than this young fly nigga nickelnine liquor thought youd die quicker this phat time i tha town pie flipper turn krystal into a crooked ides sipper everybody want to be fast see the cash fuck around and reach staff get a heat rash anything in bad boy way we smash hundred g stash push a bulletproof eclass im through being a player and a baller just want me one bad bitch so i can spoil her mase wanna be the one respect even when you vex rock versace silks over spilled vnecks got green never seen so you suck my jewels clutch my ooze anything i touch i bruise puff think you dont know it nigga fuck your rules thats right goodfellas you know you cant touch us twochorus dont push us cause were close to the edge were tryin not to lose our head uh hah hahhah hah hahi get the feelin sometimes they make me wonder why you wanna take us under why you wanna take us under x2cant nobody take my pride cant nobody hold me down oh no i got to keep on movinverse two broken glass everywhere if it aint about the money puff i just dont care im that goodfella fly guy sometimes wiseguy spend time in hawaii mase could you please stop smokin la la puff why try im a thug im a die high i be out in jersey puffin hershey brothers aint worthy to rock my derby no im never drugged honey when im in the club g though i know the thug be wantin to slug me could it be i move as smoove as bugsy or be at the bar with too much bubbly naw i think it must be the girls want to lust me or is it simply the girls just love me brothers wanna rock my rolls rock my clothes rock my ice pull out glocks stop my life im like damn how these niggas got the type used to be my man how you gonna plot on my wife do you think you snake me cause they hate me or you got a phd player haters degreechorus verse three quit that you a big cat where your chicks at where your whips at wherever you get stacks im a fix that everything mass big dreams i did that dont knock me cause your borin our record sales soarin straight torin simply a lot of men be wantin to hand me cause their words just dont offend me we spend cheese in the west indies and come home to plenty cream bentlys you name it i can claim it young black and famous wit money hangin out the anus and when you need a hit who you go and get bet against us naw thats no bet we made hits thatll rearrange your whole set and i got a benz that i aint even drove yetchorus outro repeats and fades til end cant nobody take my pride cant nobody hold me down oh no i got to keep on movin ",1
6,"i believe i can fly","r kelly",1997," i used to think that i could not go on and life was nothing but an awful song but now i know the meaning of true love im leaning on the everlasting armsif i can see it then i can do it if i just believe it theres nothing to iti believe i can fly i believe i can touch the sky i think about it every night and day night and day spread my wings and fly away i believe i can soar i see me running through that open door i believe i can fly i believe i can fly i believe i can fly hoo  meaning  bygirlgirl3ooo     i think they mean that it can help your with the song    see all   see i was on the verge of breaking down sometimes silence can seem so loud there are miracles in life i must achieve but first i know it starts inside of me ho ohif i can see it hoo then i can be it if i just believe it theres nothing to iti believe i can fly i believe i can touch the sky i think about it every night and day spread my wings and fly away i believe i can soar i see me running through that open door i believe i can fly i believe i can fly oh i believe i can fly hoohey cause i believe in me ohif i can see it hoo then i can do it if i just believe it theres nothing to it heyi believe i can fly hoo i believe i can touch the sky i think about it every night and day spread my wings and fly away i believe i can soar i see me running through that open door i believe i can fly i can fly i believe i can fly i can fly i believe i can fly i can fly heyif i just spread my wings i can fly i can fly i can fly i can fly i can fly i can flyi can fly hey if i just spread my wings i can fly i can fly i can fly i can fly i can fly ",1
7,"dont let go love","en vogue",1997," whats it gonna be cause i cant pretend dont you wanna be more than friends hold me tight and dont let go dont let go do you have the right to lose control dont let goi often tell myself that we could be more than just friends i know you think that if we move to soon it would all end i live in misery when youre not around and i wont be satisfied till were taking those vowstherell be some lovemaking heartbreaking soul shaking oh lovemaking heartbreaking soul shakingwhats it gonna be cause i cant pretend dont you wanna be more than friends hold me tight and dont let go dont let go have the right to lose control dont let goi often fantasize the stars above are watching you they know my heart and speak to yours like only lovers do if i could wear your clothes id pretend i was you and lose controltherell be some lovemaking heartbreaking soul shaking oh lovemaking heartbreaking soul shakingwhats it gonna be cause i cant pretend dont you wanna be more than friends hold me tight and dont let go dont let go have the right to lose control dont let gorunning in and out my life has got me so confused you gotta make the sacrifice somebodys got to choose we can make it if we try for the sake of you and i together we can make it rightwhats it gonna be cause i cant pretend dont you wanna be more than friends hold me tight and dont let go dont let go have the right to lose control dont let godont let go dont let go cause i cant pretend whats it gonna be cause i cant pretend dont you wanna be more than friends hold me tight and dont let go dont let go have the right to lose control dont let gowhats it gonna be whats it gonna be hold me tight and dont let go ",1
8,"return of the mack","mark morrison",1997," oh ooooh come on ooh yeah well i tried to tell you so yes i did but i guess you didnt know as i said the story goes baby now i got the flow cause i knew it from the start baby when you broke my heart that i had to come again and show you that im realyou lied to me all those times i said that i love you you lied to me yes i tried yes i tried you lied to me even though you know id die for you you lied to me yes i cried yes i criedchorus return of the mack it is return of the mack come on return of the mack oh my god you know that ill be back here i am return of the mack once again return of the mack pump up the world return of the mack watch my flow you know that ill be back here i goso im back up in the game running things to keep my swing letting all the people know that im back to run the show cause what you did you know was wrong and all the nasty things youve done so baby listen carefully while i sing my comeback songyou lied to me cause she said shed never turn on me you lied to me but you did but you do you lied to me all these pains you said id never feel you lied to me but i do but i do do doreturn of the mack here it is return of the mack hold on return of the mack dont you know you know that ill be back here i go return of the mack oh little girl return of the mack wants my pearl return of the mack up and down you know that ill be back round and roundyou lied to me cause she said shed never turn on me you lied to me but you did but you do you lied to me all these pains you said id never feel you lied to me but i do but i do do dochorusyou know that ill be back dont you knowreturn of the mack here it is return of the mack hold on return of the mack dont you know you know that ill be back here i go return of the mack oh little girl return of the mack wants my pearl return of the mack up and down you know that ill be back round and round ",1
9,"how do i live","leann rimes",1997," how do i get through one night without you if i had to live without you what kind of life would that beoh i i need you in my arms need you to hold youre my world my heart my soul and if you ever leave baby you would take away everything good in my life and tell me nowhow do i live without you i want to know how do i breathe without you if you ever go how do i ever ever survive how do i how do i oh how do i livewithout you thered be no sun in my sky there would be no love in my life thered be no world left for meand i baby i dont know what i would done id be lost if i lost you if you ever leave baby you would take away everything real in my life and tell me nowhow do i live without you i want to know how do i breathe without you if you ever go how do i ever ever survive how do i how do i oh how do i liveplease tell me baby how do i go on if you ever leave baby you would take away everything i need you with me baby dont you know that youre everything good in my life and tell me nowhow do i live without you i want to know how do i breathe without you if you ever go how do i ever ever survive how do i how do i oh how do i livehow do i live without you how do i live without you baby how do i live ",1
10,"wannabe","spice girls",1997," ha ha ha ha ha yo ill tell you what i want what i really really want so tell me what you want what you really really want ill tell you what i want what i really really want so tell me what you want what you really really want i wanna ha i wanna ha i wanna ha i wanna ha i wanna really really really wanna zigazig ahif you want my future forget my past if you wanna get with me better make it fast now dont go wasting my precious time get your act together we could be just fineill tell you what i want what i really really want so tell me what you want what you really really want i wanna ha i wanna ha i wanna ha i wanna ha i wanna really really really wanna zigazig ah if you wanna be my lover you gotta get with my friends gotta get with my friends make it last forever friendship never ends if you wanna be my lover you have got to give taking is too easy but thats the way it isoh what do you think about that now you know how i feel say you can handle my love are you for real are you for real i wont be hasty ill give you a try if you really bug me then ill say goodbyeyo ill tell you what i want what i really really want so tell me what you want what you really really want i wanna ha i wanna ha i wanna ha i wanna ha i wanna really really really wanna zigazig ahif you wanna be my lover you gotta get with my friends gotta get with my friends make it last forever friendship never ends if you wanna be my lover you have got to give youve got to give taking is too easy but thats the way it isso heres a story from a to z you wanna get with me you gotta listen carefully we got em in the place who likes it in your face you got g like mc who likes it on a easy v doesnt come for free shes a real lady and as for me ha youll seeslam your body down and wind it all around slam your body down and wind it all aroundif you wanna be my lover you gotta get with my friends gotta get with my friends make it last forever friendship never ends if you wanna be my lover you have got to give youve got to give taking is too easy but thats the way it isif you wanna be my lover you gotta you gotta you gotta you gotta you gotta slam slam slam slam make it last foreverslam your body down and wind it all around slam your body down and wind it all around ha ha ha ha ha slam your body down and wind it all around slam your body down and zigazig ah if you wanna be my lover ",1
11,"quit playing games with my heart","backstreet boys",1997," baby oheven in my heart i see youre not bein true to me deep within my soul i feel nothings like it used to besometimes i wish i could turn back time impossible as it may seem but i wish i could so bad baby quit playin games with my heartquit playin games with my heart before you tear us apart my heart quit playin games with my heart i shouldve known from the start you know you got to stop from my heart youre tearing us apart my heart quit playin games with my hearti live my life the way to keep you comin back to me everything i do is for you so what is it that you cant seesometimes i wish i could turn back time impossible as it may seem but i wish i could so bad baby you better quit playin games with my heartquit playin games with my heart before you tear us apart my heart quit playin games with my heart i shouldve known from the start you know you got to stop from my heart youre tearing us apart my heart quit playin gamesbaby baby the love that we had was so strong dont leave me hangin here forever oh baby baby this is not right lets stop this tonightbaby oh quit playin games babysometimes i wish i could turn back time impossible as it may seem but i wish i could so bad baby quit playin games with my heartquit playin games with my heart before you tear us apart my heart quit playin games with my heart i shouldve known from the start you know you got to stop from my heart youre tearing us apart my heart quit playin games with my heartquit playin games with my heart babyquit playin games with my heart with my heart my heart with my heart ",1
12,"mmmbop","hanson",1997,"you have so many relationships in this life only one of two will last youre going through all this pain and strife then you turn your back and theyre gone so fast and theyre gone so fast so hold on to the ones that really care in the end theyll be the only ones there when you get old and start losing your hair can you tell me who will still care can you tell me who will still care mmm bop ba duba dop ba du bop ba duba dop ba du bop ba duba dop ba du mmm bop ba duba dop ba du bop ba du bop ba du bop ba du bop ba du  plant a seed plant a flower plant a rose you can plant any one of those keep planting to find out which one grows its a secret no one knows its a secret no one knows mmm bop ba duba dop ba du bop ba duba dop ba du bop ba duba dop ba du mmm bop ba duba dop ba du bop ba du bop ba du bop ba du bop ba du in an mmm bop theyre gone in an mmmbop theyre not there in an mmmbop theyre gone in an mmmbop  theyre not there until you lose your hair but you dont care mmm bop ba duba dop ba du bop ba duba dop ba du bop ba duba dop ba du mmm bop ba duba dop ba du bop ba du bop ba du bop ba du bop ba du can you tell me you say you can but you dont know can you tell me which flowers going to grow can you tell me if its going to be a daisy or a rose can you tell me which flowers going to grow can you tell me you say you can but you dont know",3
13,"for you i will","monica",1997," yes when youre feeling lost in the night when you feel your world just aint right call on me i will be waiting count on me i will be there anytime the times get too tough anytime your best aint enough ill be the one to make it better ill be there to protect you see you through ill be there and there is nothing i wont doi will cross the ocean for you i will go and bring you the moon i will be your hero your strength anything you need i will be the sun in your sky i will light your way for all time promise you for you i will yes yeah yeahi will shield your heart from the rain i wont let no harm come your way oh these arms will be your shelter no these arms wont let you down if there is a mountain to move i will move that mountain for youim here for you im here forever i will be your fortress tall and strong ill keep you safe ill stand beside you right or wrongi will cross the ocean for you i will go and bring you the moon i will be your hero your strength anything you need i will be the sun in your sky i will light your way for all time promise you for you i will yes yeah yeahfor you i will lay my life on the line for you i will fight oh for you i will die with every breath with all my soul ill give my word ill give it all put your faith in me put your faith in me and ill do anything ohi will cross the ocean for you i will go and bring you the moon i will be your hero your strength anything you need i will be the sun in your sky i will light your way for all time promise you for you i will yes yeah yeahi will i will i willi will cross the ocean for you i will go and bring you the moon i will be your hero your strength anything you need i will be the sun in your sky i will light your way for all time promise you for you i will yes yeah yeah promise you for you i will promise you for you i will ",1
14,"you make me wanna","usher",1997," this is what you do this is what you do this is what you do this is what you doyou make me wanna leave the one im with to start a new relationship with you this is what you do think about a ring and all the things that come along with you make me you make me wannaleave the one im with to start a new relationship with you this is what you do think about a ring and all the things that come along with you make me you make mebefore anything came between us you were like my best friend the one i used to run an talk to when me and my girl was having problems you used to say it would be okay suggest little nice things i should do and when i come home at night and lay my head down all i seem to think about is you and howyou make me wanna leave the one im with to start a new relationship with you this is what you do think about a ring and all the things that come along with you make me you make me wannaleave the one im with to start a new relationship with you this is what you do think about a ring and all the things that come along with you make me you make menow whats bad is youre the one that hooked us up knowing it shouldve been you whats sad is i love her but im falling for you what should i do should i tell my baby byebye should i do exactly what i feel inside cause i i dont wanna go dont need to stay but i really need to get it togetheryou make me wanna leave the one im with to start a new relationship with you this is what you do think about a ring and all the things that come along with you make me you make me wannaleave the one im with to start a new relationship with you this is what you do think about a ring and all the things that come along with you make me you make meat this point the situations out of control i never meant to hurt her but i gotta let her go and if she may not understand it why all of this is going on i tried i tried to fight it but the feelings just to strongyou make me wanna you make me wanna you make me wanna you make me wannayou make me wanna you make me wanna you make me wanna come along with you make meyou make me wanna leave the one im with to start a new relationship with you this is what you do think about a ring and all the things that come along with you make me you make me wannaleave the one im with to start a new relationship with you this is what you do think about a ring and all the things that come along with you make me you make meyou make me wanna leave the one im with to start a new relationship with you this is what you do think about a ring and all the things that come along with you make me you make me wannaleave the one im with to start a new relationship with you this is what you do ",1
15,"bitch","meredith brooks",1997," i hate the world today youre so good to me i know but i cant changetried to tell you but you look at me like maybe im an angel underneath innocent and sweetyesterday i cried you must have been relieved to see the softer side i can understand how youd be so confusedi dont envy you im a little bit of everything all rolled into oneim a bitch im a lover im a child im a mother im a sinner im a saint i do not feel ashamedim your hell im your dream im nothing in between you know you wouldnt want it any other wayso take me as i am this may mean youll have to be a stronger man rest assured thatwhen i start to make you nervous and im going to extremes tomorrow i will change and today wont mean a thingim a bitch im a lover im a child im a mother im a sinner im a saint i do not feel ashamedim your hell im your dream im nothing in between you know you wouldnt want it any other wayjust when you think you got me figured out the seasons already changing i think its cool you do what you do and dont try to save meim a bitch im a lover im a child im a mother im a sinner im a saint i do not feel ashamedim your hell im your dream im nothing in between you know you wouldnt want it any other wayim a bitch im a tease im a goddess on my knees when you hurt when you suffer im your angel undercoverive been numb im revived cant say im not alive you know i wouldnt want it any other way ",1
16,"nobody","keith sweat",1997," i wanna tease you i wanna please you i wanna show you baby that i need you i want your body til the very last drop i want you to holler when you want me to stopand who can love you like me nobody who can sex you like me nobody who can treat you like me my babynobody nobody baby nobody and who can do it like me nobody who can give you what you need nobody who can do you all night long nobody nobody baby nobodyi want the night for me and you so come here baby and let me do it to you dont be afraid cause i wont bite i promise to give it to you just the way you likeand who can love you like me nobody who can sex you like me nobody and who can lay your body down nobody nobody baby nobody and who can treat you like me nobody who can give you what you need nobody and who can do you all night long nobody nobody baby nobody and the band keeps playin onbow wow wohninon wohn bow wow wohninon wohn bow wow wohninon bohn nobody baby bow wow wohninon wohn bow wow wohninon wohn bow wow wohninon bohn nobody babyi baby i want you right now for my lover oh yes i do place no one above ya oh yes i do if you need a love if you need my love ill be right there ill be right there baby oh yes i willand who can love you like me babe nobody who can sex your body like me nobody who can do it like me my baby nobody no no no no no no no nobody but me who can lay you down just like me nobody who can kiss you all over your body baby nobody who can laugh who can laugh just crazy baby nobody oh yeah baby nobody i want to know who can love you like me babe nobody who can treat your body as good as me baby nobody who can do it do it just like me babynobody ",1
17,"semicharmed life","third eye blind",1997," im packed and im holding im smiling shes living shes golden and she lives for me she says she lives for me ovation shes got her own motivation she comes round and she goes down on me and i make her smile its like a drug for you do ever what you want to do coming over you keep on smiling what we go through one stop to the rhythm that divides you and i speak to you like the chorus to the verse chop another line like a coda with a curse and i come on like a freak show takes the stage we give them the games we play she said i want something else to get me through this semicharmed kind of life baby baby i want something else im not listening when you say goodbye the sky it was gold it was rose i was taking sips of it through my nose and i wish i could get back there some place back there smiling in the pictures you would take doing crystal myth will lift you up until you break it wont stop i wont come down i keep stock with a ticktock rhythm and a bump for the drop and then i bumped up i took the hit i was given then i bumped again and then i bumped again how do i get back there to the place where i fell asleep inside you how do i get myself back to the place where you said i want something else to get me through this semicharmed kind of life baby baby i want something else im not listening when you say goodbye i believe in the sand beneath my toes the beach gives a feeling an earthy feeling i believe in the faith that grows and the four right chords can make me cry when im with you i feel like i could die and that would be all right all right when the plane came in she said she was crashing the velvet it rips in the city we tripped on the urge to feel alive but now im struggling to survive the days you were wearing that velvet dress youre the priestess i must confess those little red panties they pass the test slide up around the belly face down on the mattress one now you hold me and were broken still its all that i want to do just a little i feel myself with a head made of the ground im scared but im not coming down and i wont run for my life shes got her jaws just locked now in smile but nothing is all right all right i want something else to get me through this life i want something else im not listening when you say goodbye ",1
18,"barely breathing","duncan sheik",1997," i know what youre doing i see it all too clear i only taste the saline when i kiss away your tears you really had me going wishing on a star but the black holes that surround you are heavier by fari believed in your confusion you were so completely torn well it must have been that yesterday was the day that i was born theres not much to examine theres nothing left to hide you really cant be serious if you have to ask me why i say goodbyecause i am barely breathing and i cant find the air i dont know who im kidding imaging you care and i could stand here waiting a fool for another day but i dont suppose its worth the price worth the price the price that i would payeveryone keeps asking whats it all about i used to be so certain and i cant figure out what is this attraction i only feel the pain theres nothing left to reason and only you to blame will it ever changecause i am barely breathing and i cant find the air i dont know who im kidding imaging you care and i could stand here waiting a fool for another day but i dont suppose its worth the price worth the price the price that i would payive come to find i may never know your changing mind is it friend or foe i rise above or sink below with every time you come and go please dont come and gocause i am barely breathing and i cant find the air i dont know who im kidding imaging you care and i could stand here waiting a fool for another day but i dont suppose its worth the price worth the price the price that i would payi know what youre doing i see it all too clear ",1
19,"hard to say im sorry","az yet featuring peter cetera",1997," everybody needs a little time away i heard her say from each other even lovers need a holiday far away from each otherhold me now its hard for me to say im sorry i just want you to stayand after all that youve been through i will make it up to you i promise too and after all thats been said and done youre just a part of me i cant let gocouldnt stand to kept away not for a day from your body baby i cant live without you not even day wouldnt want to be swept away far away from the one that i lovehold me now its hard for me to say im sorry i just want you to know hold me now i really want to tell you im sorry i could never let you goafter all that weve been through i will make it up to you i promise too and after all thats been said and done youre just a part of me i cant let goafter all that youve been through i will make it up to you i promise too ",1
20,"mo money mo problems","the notorious big featuring puff daddy and mase",1997," now whos hot who not tell me who rock who sell out in the stores you tell me who flopped who copped the blue drop who jewels got robbed whos mostly goldie down to the tube sock the same ol pimpmase you know aint nuttin change but my limp cant stop till i see my name on a blimp guarantee a million sales pullin all the love you dont believe in harlem world nigga double upwe dont play around its a bet lay it down nigga didnt know me ninety one bet they know me now im the young harlem nigga with the goldie sound cant no phd niggaz hold me down cooterschooled me to the game now i know my duty stay humble stay low blow like hootie true pimp niggaz spend no dough on the booty and then ya yell there go mase there go your cutiei dont know what they want from me its like the more money we come across the more problems we seei dont know what they want from me its like the more money we come across the more problems we seeyeah yeah ah ah from the c to the a to the d d y know youd rather see me die than to see me fly i call all the shots rip all the spots rock all the rocks cop all the drops i know you thinkin nows when all the ballin stopsnigga never home got a chrome one and a yacht ten years from now well still be on top yo i thought i told you that we wont stop now whatcha gonna do when its coolbag a money much longer than yours and a team much stronger than yours violate me this will be your day we dont play mess around be doa be on your waycause it aint enough time here aint enough lime here for you to shine here deal with many women but treat dimes fair and im bigger than the city lights down in times square yeah yeah yeahi dont know what they want from me its like the more money we come across the more problems we seei dont know what they want from me its like the more money we come across the more problems we seeuh uh big p o p p a no info for the dea federal agents mad cause im flagrant tap my cell and the phone in the basement my team supreme stay clean triple beam lyrical dreami be that cat you see at all events bent gats in holsters girls on shoulders playboy i told ya bein mice to me bruise too much i lose too much step on stage the girls boo too muchi guess its cause you run with lame dudes too much me lose my touch never that if i did aint no problem to get the gat where the true players at throw your roadies in the sky wave em side to side and keep their hands highwhile i give your girl the eye player please lyrically niggaz see big be flossin jig on the cover of fortune five double oh get the phone number your name i got to know i got to go got the flow down phizat platinum plus like thizat dangerous on trizack leave your ass kizzacki dont know what they want from me its like the more money we come across the more problems we seei dont know what they want from me its like the more money we come across the more problems we seei dont know what they want from me its like the more money we come across the more problems we seewhats goin on whats goin on i dont know what they want from me its like the more money we come across the more problems we seewhats goin on whats goin on i dont know what they want from me its like the more money we come across the more problems we seewhats goin on whats goin on i dont know what they want from me its like the more money we come across the more problems we see ",1
21,"the freshmen","the verve pipe",1997,"when i was young i knew everything and she a punk who rarely ever took advice now im guilt stricken sobbing with my head on the floor stop a babys breath and a shoe full of rice i cant be held responsible cause she was touching her face i wont be held responsible she fell in love in the first place for the life of me i cannot remember what made us think that we were wise and wed never compromise for the life of me i cannot believe wed ever die for these sins we were merely freshmen my best friend took a weeks vacation to forget her his girl took a weeks worth of valium and slept and now hes guilt stricken sobbing with his head on the floor thinks about her now and how he never really wept he says i cant be held responsible cause she was touching her face i wont be held responsible she fell in love in the first place for the life of me i cannot remember what made us think that we were wise and wed never compromise for the life of me i cannot believe wed ever die for these sins we were merely freshmen weve tried to wash our hands of all of this we never talk of our lacking relationships and how were guilt stricken sobbing with our heads on the floor we fell through the ice when we tried not to slip wed say i cant be held responsible cause she was touching her face and i wont be held responsible she fell in love in the first place for the life of me i cannot remember what made us think that we were wise and wed never compromise for the life of me i cannot believe wed ever die for these sins we were merely freshmen for the life of me i cannot remember what made us think that we were wise and wed never compromise for the life of me i cannot believe wed ever die for these sins we were merely freshmen we were merely freshmen we were only freshmen",3
22,"i want you","savage garden",1997," any time i need to see your face i just close my eyes and i am taken to a place where your crystal mind and magenta feelings take up shelter in the base of my spine sweet like a chica cherry colai dont need to try to explain i just hold on tight and if it happens again i might move so slightly to the arms and the lips and the face of the human cannonball that i need to i want to come stand a little bit closerbreathe in and get a bit higher youll never know what hit you when i get to youoh i want you i dont know if i need you but oh i would die to find out oh i want you i dont know if i need you but oh i would die to find outim the kind of person who endorses a deep commitment getting comfy getting perfect is what i live for but a look and then a smell perfume its like im down on the floor and i dont know what im in forconversation has a time and place in the interaction of a lover and a mate but the time of talkin using symbols using words can be likened to a deep sea diver who is swimming with a raincoat come stand a little bit closerbreathe in and get a bit higher youll never know what hit you when i get to youoh i want you i dont know if i need you but oh i would die to find out oh i want you i dont know if i need you but oh i would die to find outany time i need to see your face i just close my eyes and i am taken to a place where your crystal mind and magenta feelings take up shelter in the base of my spine sweet like a chica cherry colai dont need to try to explain i just hold on tight and if it happens again i might move so slightly to the arms and the lips and the face of the human cannonball that i need to i want tooh i want you i dont know if i need you but oh i would die to find out oh i want you i dont know if i need you but oh i would die to find out so can we find outoh i want you i dont know if i need you but oh i would die to find out oh i want you i dont know if i need you but oh i would die to find outoh i want you i dont know if i need you but oh i would die to find out oh i want you i dont know if i need you but oh i would die to find out die to find outoh i want you i dont know if i need you but oh i would die to find out oh i want you i dont know if i need you but oh i would die to find out ",1
23,"no diggity","blackstreet featuring dr dre",1997," you know what i like the playettes no diggity no doubt play on playette play on playette yo dre drop the verseits going down fade to blackstreet the homies got rb collab creations bump like acne no doubt i put it down never slouch as long as my credit can vouch a dog couldnt catch me ass out tell me who can stop when dre makin moves attracting honeys like a magnet giving em eargasms with my mellow accent still moving this flavor with the homies blackstreet and teddy the original rump shakersshorty get down good lord baby got em up open all over town strictly biz she dont play around cover much ground got game by the pound getting paid is her forte each and every day true player way i cant get her out of my mind i think about the girl all the time east side to the west side pushin phat rides its no surprise she got tricks in the stash stacking up the cash fast when it comes to the gas by no means average shes on when shes got to have it baby youre a perfect ten i wanna get in can i get down so i can wini like the way you work it no diggity i got to bag it up bag it upi like the way you work it no diggity i got to bag it up bag it upi like the way you work it no diggity i got to bag it up bag it upi like the way you work it no diggity i got to bag it up bag it upshes got class and style street knowledge by the pound baby never act wild very low key on the profile catchin feelings is a no let me tell you how it goes curves the words spins the verbs lovers it curves so freak what you heard rollin with the phatness you dont even know what the half is you gotta pay to play just for shorty bangbang to look your way i like the way you work it trumped tight all day every day youre blowing my mind maybe in time baby i can get you in my ridei like the way you work it no diggity i got to bag it up bag it upi like the way you work it no diggity i got to bag it up bag it upi like the way you work it no diggity i got to bag it up bag it upi like the way you work it no diggity i got to bag it up bag it upcause thats my peeps and we row g flyin first class from new york city to blackstreet what you know about me not a motherfuckin thing cartier wooded frames sported by my shortie as for me icy gleaming pinky diamond ring we bes the baddest clique up on the scene aint you getting bored with these fake ass broads i shows and proves no doubt i be taking you so please excuse if i come across rude thats just me and thats how the playettes got to be stay kickin game with a capital g axe the peoples on my block im as real as can be word is bond faking jacks never been my flavor so teddy pass the word to your nigga chauncey i be sitting in car lets say around 330 queen pen and blackstreet its no diggityi like the way you work it no diggity i got to bag it up bag it upi like the way you work it no diggity i got to bag it up bag it upi like the way you work it no diggity i got to bag it up bag it upi like the way you work it no diggity i got to bag it up bag it up ",1
24,"i belong to you every time i see your face","rome",1997,NA,NA
25,"hypnotize","the notorious big",1997," uh uh uh cmonhah sicka than your average poppa twist cabbage off instinct niggas dont think shit stink pink gators my detroit players timbs for my hooligans in brooklyn dead right if the head right biggie there erynight poppa been smooth since days of underroos never lose never choose to bruise crews who do something to us talk go through us girls walk to us wanna do us screw us who us yeah poppa and puff hehehe close like starsky and hutch stick the clutch dare i squeeze three at your cherry m3 take that take that take that haha bang every mc easily busily recently niggas frontin aint sayin nuttin nope so i just speak my piece cmon keep my piece cubans with the jesus piece thank you god with my peeps packin askin who want it you got it nigga flaunt it that brooklyn bullshit we on itbiggie biggie biggie cant you see sometimes your words just hypnotize me and i just love your flashy ways guess thats why they broke and youre so paid uhbiggie biggie biggie uhhuh cant you see uh sometimes your words just hypnotize me hypnotize and i just love your flashy ways uhhuh guess thats why they broke and youre so paid hah    memory  byamandah   editor    j cole performed biggies hypnotize at the shaun whites air  style event in los angeles on february 20th 2016 watch him nail every dang lyric    see all   i put hoes in ny onto dkny uhhuh miami dc prefer versace thats right all philly hoes dough and moschino cmon every cutie wit a booty bought a coogi hah now whos the real dookie meanin whos really the shit them niggas ride dicks frank white push the sticks on the lexus lx four and a half bulletproof glass tints if i want some ass gon blast squeeze first ask questions last thats how most of these socalled gangsters pass at last a nigga rappin bout blunts and broads tits and bras menageatois sex in expensive cars i still leave you on the pavement condo paid for no car payment at my arraignment note for the plantiff your daughters tied up in a brooklyn basement shhh face it not guilty thats how i stay filthy not guilty richer than richie till you niggas come and get mebiggie biggie biggie cant you see sometimes your words just hypnotize me and i just love your flashy ways guess thats why they broke and youre so paid uhbiggie biggie biggie uhhuh cant you see huh sometimes your words just hypnotize me hypnotize and i just love your flashy ways uhhuh guess thats why they broke and youre so paid uhi can fill ya wit real millionaire shit i can fill ya escargot my car go one sixty swiftly wreck it buy a new one your crew run run run your crew run run i know you sick of this name brand nigga wit flows girls say hes sweet like licorice so get with this nigga its easy girlfriend heres a pen call me round ten come through have sex on rugs thats persian thats right come up to your job hit you while you workin uh for certain poppa freakin not speakin leave that ass leakin like rapper demo tell them hoe take they clothes off slowly hit em wit the force like obe dick black like toby obe toby watch me roam like gobe lucky they dont owe me where the safe show me homey say what homeybiggie biggie biggie cant you see sometimes your words just hypnotize me and i just love your flashy ways guess thats why they broke and youre so paid uhbiggie biggie biggie uhhuh cant you see uh sometimes your words just hypnotize me hypnotize and i just love your flashy ways uhhuh guess thats why they broke and youre so paid uhbiggie biggie biggie cant you see sometimes your words just hypnotize me and i just love your flashy ways guess thats why they broke and youre so paid uhbiggie biggie biggie uhhuh cant you see uh sometimes your words just hypnotize me hip to and i just love your flashy ways uhhuh guess thats why they broke and youre so paid uhbiggie biggie biggie cant you see sometimes your words just hypnotize me and i just love your flashy ways guess thats why they broke and youre so paid ",1
26,"every time i close my eyes","babyface",1997,"girl its been a long long time comin but i i know that its been worth the wait yeah it feels like springtime in winter it feels like christmas in june it feels like heaven has opened up its gates for me and you and every time i close my eyes i thank the lord that ive got you yeah and youve got me too and every time i think of it i pinch myself cause i dont believe its true yeah that someone like you loves me too yeah girl i think that youre truly somethin yes youre and youre youre every bit of a dream come true yes youre with you baby it never rains and its no wonder the sun always shines when im near you its just a blessing that i have found somebody like you and every time i close my eyes i thank the lord that ive got you yeah and youve got me too and every time i think of it i pinch myself cause i dont believe its true yeah that someone like you loves me too yeah to think of all the nights ive cried myself to sleep yeah you really oughtta know how much you mean to me its only right that you be in my life right here with me oh baby baby yeah and every time i close my eyes i thank the lord that ive got you yeah and youve got me too and every time i think of it i pinch myself cause i dont believe its true yeah that someone like you loves me too yeah yeah loves me too",3
27,"in my bed","dru hill",1997," i got this feeling and i just cant turn it loose that somebodys been getting next to you i dont want to walk around knowin i was your fool cause being the man that i ami just cant lose my cool my friends keep telling me about the things thats going on babe but deep in my heart baby i hope that im wrong yes i hope im wrong but i know it babesomebodys sleeping in my bed my bed baby somebodys takin my place baby somebodys sleeping in my bed baby and you know just what i mean oh oh oh oh ohi come home early expecting your warm embrace but something is wrong cause its written all over your face it hurt so bad when i walked through the door but cha know one damn thing baby i aint coming back no moreno no no now dont try to tell me things are still the same cause when we made love i heard you call out his name call out his namesomebodys sleeping in my bed tonight baby somebodys takin my place somebodys sleeping in my bed babyand you know just what i mean gave you money and every lil thing that you need i gave you the world yes i did cause you were my girl but you still ran out on me oh yeahsaid youre sleeping in my bed messin with my head oooh tell me why oh why oh why why oh why oh whywhy oh why oh why oh why oh why said youre sleeping in my bed messin with my head ",1
28,"say youll be there","spice girls",1997," say youll be there im giving you everything all that joy can bring this i swearlast time that we had this conversation i decided we should be friends hey but now were going round in circles tell me will this deja vu never end ohnow you tell me that youve fallen in love well i never ever thought that would be this time you gotta take it easy throwing far too much emotions at mebut any fool can see theyre falling i gotta make you understandim giving you everything all that joy can bring this i swear and all that i want from you is a promise you will be theresay you will be there say you will be there wont you sing it with meif you put two and two together you will see what our friendship is for oh if you cant work this equation then i guess ill have to show you the doorthere is no need to say you love me it would be better left unsaidim giving you everything all that joy can bring this i swear and all that i want from you is a promise you will be there yeah i want youany fool can see theyre falling i gotta make you understandill give you everything on this i swear just promise youll always be thereim giving you everything all that joy can bring this i swear and all that i want from you is a promise you will be thereim giving you everything all that joy can bring this i swear and all that i want from you is a promise you will be thereim giving you everything all that joy can bring this i swear and all that i want from you is a promise you will be there ",1
29,"do you know what it takes","robyn",1997," always be arounddont you know i can see what you do to me running around with your cheap talk cheap talk what i need is a man who can do me right do me rightif you got what i need i can guarantee to return all the love that youve giving to me but ive got to be sure that you always will be around always be arounddo you know what it takes to love me do you know what it takes to do me right do you know what it takes to love me baby babyheaven knows in my time ive been lonely feeling my love echo in my mind in my mind yeah never satisfied girl is what they call me but i just cant keep going on living liesguaranteed underneath you wont let me down theres so much i can give but its buried so deep i just got to be sure that you always will be around always be arounddo you know what it takes to love me do you know do you know what it takes to do me right do you know what it takes to love me baby baby do you know what it takes do you know do you know what it takes dont waste my time with your lies yeah baby i got enough you got to prove that you will always be aroundill give you everything boy will you do the same for me will you do anything i gotta know the way itll bedo you know what it takes to love me do you know do you know what it takes to do me right do you know do you know do you know what it takes do you know what it takes do you know what it takes to do me right dont waste my time baby ",1
30,"4 seasons of loneliness","boyz ii men",1997," oh yea oh oh oh i long for the warmth of days gone by when you were mine but now those days are memories in time lifes empty without you by my side my heart belongs to you no matter what i trywhen i get the courage up to love somebody new it always falls apart cause they just cant compare to you your love wont release me im bound under ball and chain reminiscing our love as i watch 4 seasons changein comes the winter breeze that chills the air and drifts the snow and i imagine kissing you under the mistletoe when springtime makes its way here lilac blooms reminds me of the scent of your perfumewhen summer burns with heat i always get the hots for you go skinny dippin in the ocean where we used to do when autumn sheds the leaves the trees are bare when youre not here it doesnt feel the sameremember the nights when we closed our eyes and vowed that you and i would be in love for all timeanytime i think about these things i shared with you i break down and cry cause i get so emotional until you release me im bound under ball and chain reminiscing our love as i watch 4 seasons changein comes the winter breeze that chills the air and drifts the snow and i imagine kissing you under the mistletoe when springtime makes its way here lilac blooms reminds me of the scent of your perfumewhen summer burns with heat i always get the hots for you go skinny dippin in the ocean where we used to do when autumn sheds the leaves the trees are bare when youre not here it doesnt feel the samethis loneliness has crushed my heart please let me love again cause i need your love to comfort me and ease my pain or 4 seasons will bring the loneliness againin comes the winter breeze that chills the air and drifts the snow and i imagine kissing you under the mistletoe when springtime makes its way here lilac blooms reminds me of the scent of your perfumewhen summer burns with heat i always get the hots for you go skinny dippin in the ocean where we used to do when autumn sheds the leaves the trees are bare when youre not here it doesnt feel the same remember the warmth of days gone by ",1
31,"ghettout","changing faces",1997," sittin there sittin there sittin there all alonei been feeling kinda strange lately i dont know whats going on baby ever since i came back from out of town somethings telling me some bullshit is going downboy is there someone else youre seeing is it someone else my vitals telling me youre creeping finding numbers in your jeans youre talking in your sleep faded letters written by me ghettoutno more sittin at home alone while youre out with somebody else no more staring at the phone cause i can do bad all by myselfyeah its obvious how things have changed within a year just give me half of the rent and get out of here no more talking save your lines for somebody else keep on walking cause i can do bad all by myselfboy is there someone else youre seeing is it someone else my vitals telling me youre creeping im finding numbers in your jeans youre talking in your sleep faded letters written by me ghettoutno more sittin at home alone while youre out with somebody else no more staring at the phone cause i can do bad all by myselfno more sittin at home alone while youre out with somebody else no more staring at the phone cause i can do bad all by myselfi gave you all all of my time but you would not know a good thing if it stares you in your faceboy is there someone else youre seeing is it someone else my vitals telling me youre creeping im finding numbers in your jeans youre talking in your sleep faded letters written by me ghettoutno more sittin at home alone while youre out with somebody else no more staring at the phone cause i can do bad all by myselfno more sittin at home alone while youre out with somebody else no more staring at the phone cause i can do bad all by myselfno more sittin at home alone while youre out with somebody else no more staring at the phone cause i can do bad all by myselfno more sittin at home alone while youre out with somebody else no more staring at the phone cause i can do bad all by myself ",1
32,"honey","mariah carey",1997," oh now you can have me when you want me you simply ask me to be there and youre the only one who makes me come running cause what you got is far beyond compareand its just like honey when your love comes over me oh baby ive got a dependency always strung out for another taste of your honeyits like honey when it washes over me you know sugar never ever was so sweet and im dying for ya crying for ya i adore ya one hit of your love affected me and im strung out on you darling dont you see every night and day i can hardly wait for another taste of honey    meaning  byamandah   editor    mariah told live nation tv in an interview that honey was her first sexy hit her label pushed for her to remain fairly conservative as most 90s female    see all   honey i cant describe how good it feels inside honey i cant describe how good it feels insideoh i cant be elusive with you honey cause its blatant that im feeling you and its too hard for me to leave abruptly youre the only thing i want to do and its just like honey when your love comes over me oh baby ive got a dependency always strung out for another taste of your honeyits like honey when it washes over me you know sugar never ever was so sweet and im dying for ya crying for ya i adore ya one hit of your love addicted me and im strung out on you darling dont you see every night and day i can hardly wait for another taste of honeyharlem world we wont stop for mariah youre on fire harlem world we wont stop so mariah take us higher harlem world we wont stop for mariah youre on fire harlem world we wont stop so mariah take us higher break it downevery little thing you do now what we gonna do right here is we gonna smooth it out honey got me hooked on you mc and she wont stopits like honey when it washes over me you know sugar never ever was so sweet and im dying for ya crying for ya i adore ya one hit of your love addicted me and im strung out on you darling dont you see every night and day i can hardly wait for another taste of honeyits like honey when it washes over me you know sugar never ever was so sweet and im dying for ya crying for ya i adore ya one hit of your love addicted me and im strung out on you darling dont you see every night and day i can hardly wait for another taste of honeyits like honey when it washes over me you know sugar never ever was so sweet and im dying for ya crying for ya i adore ya one hit of your love addicted me and im strung out on you darling dont you see every night and day i can hardly wait for another taste of honey ",1
33,"i believe in you and me","whitney houston",1997," i believe in you and me i believe that we will be in love eternally well as far as i can see you will always be the one for me oh yes you willand i believe in dreams again i believe that love will never end and like the river finds the sea i was lost now im free cuz i believe in you and mei will never leave your side i will never hurt your pride when all the chips are down baby then i will always be around just to be right where you are my love you know i love you boyi will never leave you out i will always let you in boy oh baby to places no ones ever been deep inside cant you see that i believe in you and memaybe im a fool to feel the way i do i will play the fool forever just to be with you foreveri believe in miracles and loves the miracle and yes baby youre my dream come true i was lost now im free oh baby cuz i believe i do believe in you and me see i was lost now im free cuz i believe in you and me believe in you and me ",1
34,"da dip","freak nasty",1997," this goes out to all the women in the world especially her you know it dont even matter your age dont even matter yo coloryo fellas i aint forget about yall this is for everybody who like to dance just listen to what im sayin and do it and take a chancei put my hand upon your hip when i dip you dip we dip you put your hand upon my hip when you dip i dip we dipi put my hand upon your hip when i dip you dip we dip you put yours and i put mine and we can get down low and roll it roundget on the floor like i said before yall remember that down low just put a little dip with it now put those hips with itpop it push it rock it roll it cant control it i can hold it its all in fun so take a chance just get on the floor and do that dance yall i know you like it so dont try to fight itturn around baby let me see it from the back yeah i like it like that get up now roll those hips drop down double up on those dips freak nasty wanna see can yall do this right like mei put my hand upon your hip when i dip you dip we dip you put your hand upon my hip when you dip i dip we dipi put my hand upon your hip when i dip you dip we dip you put yours and i put mine and we can dip down low and roll it roundback again with the second verse its all clean so im not gonna curse droppin bass like a bad habit love all women cause i got to have itcomin at yall in stereo im ridin that thing like a rodeo hang on baby cause the ride is rough and dont stop till you get enoughhave them girls in the front now or later just bumpin that rump raise it up let me see that round slap it girl make it jiggle roundround and round that rump goes where it stop yo no one knows freak nasty wanna see if yall do this right like mei put my hand upon your hip when i dip you dip we dip you put your hand upon my hip when you dip i dip we dipi put my hand upon your hip when i dip you dip we dip you put yours and i put mine and we can dip down low and roll it roundwell alright yall if you aint dippin you must be trippin if you aint doin the down low you gots to go to the people thats movin slow on the dance flo yo dj pump it up some moreits off to the show in the limo before the show gotta make that dough pay them girls what they worth slip that money under that skirttake it off baby let me see you might get a little more loot chichi stringhavin thats so much fun playin that side between them bunsshawty got it on like moms teasin me and she know im starvin lick you up then like you down but i aint finished girl turn aroundlike you up and down your back cause im that freak im freaky like that freak nasty wanna see can yall do this right like mei put my hand upon your hip when i dip you dip we dip you put your hand upon my hip when you dip i dip we dipi put my hand upon your hip when i dip you dip we dip you put yours and i put mine then we can dip down low and roll it roundsettin it off to another level you diggin freak nasty without a shovel this is my world im just a squirrel tryin to get a nut so whats upyo dj when the partys getting slow throw on this jam on and watch them flow takin over like in 94 when i had the world gettin down lownew orleans born atllivin freak nastys what im givin my juice is sweet like georgia peaches women suck it up like leeches uh huhit feels so good you must admit you like this shh yeah yall know the song so come on wont you sing alongi put my hand upon your hip when i dip you dip we dip you put your hand upon my hip when you dip i dip we dipi put my hand upon your hip when i dip you dip we dip you put your hand up on my hip when you dip i dip we dipi put my hand upon your hip when i dip you dip we dip you put your hand upon my hip when you dip i dip we dipi put my hand upon your hip when i dip you dip we dip ",1
35,"2 become 1","spice girls",1997," candle light and soul forever a dream of you and me together say you believe it say you believe itfree your mind of doubt and danger be for real dont be a stranger we can achieve it we can achieve itcome a little bit closer baby get it on get it on cause tonight is the night when 2 become 1i need some love like i never needed love before wanna make love to ya baby i had a little love now im back for more wanna make love to ya baby set your spirit free its the only way to besilly games that you were playing empty words we both were saying lets work it out boy lets work it out boyany deal that we endeavor boys and girls feel good together take it or leave it take it or leave itare you as good as i remember baby get it on get it on cause tonight is the night when 2 become 1i need some love like i never needed love before wanna make love to ya baby i had a little love now im back for more wanna make love to ya baby set your spirit free its the only way to beoh whoa oh whoabe a little bit wiser baby put it on put it on cause tonight is the night when 2 become 1i need some love like i never needed love before wanna make love to ya baby i had a little love now im back for more wanna make love to ya babyi need some love like i never needed love before wanna make love to ya baby i had a little love now im back for more wanna make love to ya baby set your spirit free its the only way to beits the only way to be its the only way to be ",1
36,"all for you","sister hazel",1997," theres been times im so confused and all my road they lead to you just cant turn and walk awayits hard to say what it is i see in you if ill always be with you words cant say it i cant do enough to prove its all for youfinally i figured out but it took a long long time now theres a turnabout maybe cause im tryin yeahtheres been times im so confused all my road they lead to you just cant turn and walk awaywell its hard to say what it is i see in you if ill always be with you words cant say it i cant do enough to prove its all for youid thought i seen it all cause its been a long long time oh but then well trip and fall wonderin if im blind yeahtheres been times im so confused all my roads they lead to you i just cant turn you walk awayits hard to say what it is i see in you wonder if ill always be with you words cant say and i cant do enough to prove its all for yourain comes pourin down fallin from blue skies words give out a sound comin from your eyesfinally i figured out but it took a long long time oh now theres a turnabout maybe cause im tryintheres been times im so confused all my roads they lead to you just cant turn and you walk awayits hard to say what it is i see in you wonder if ill always be with you words cant say i cant do enough to prove its all for youits hard to say what it is i see in you wonder if ill always be with you words cant say i cant do enough to prove its all for youwell its hard to say what it is i see in you wonder if ill always be with you words cant say i cant do enough to prove its all for you hard to say yeah yeah hard to say its all for you ",1
37,"cupid","112",1997," everybody put your hands together whoa mmm yeah girl i love you so 112 listengirl if i told you i love you that doesnt mean it that i dont care ooh and when i tell you i need you dont you think that ill never be there oohbaby im so tired of the way you turn my words into deception and lies dont misunderstand me when i try to speak my mind im only sayin whats in my heartcupid doesnt lie but you wont know unless you give it a try oh baby true love wont lie but we wont know unless we give it a try give it a trygirl when i ask you to trust me that doesnt mean it that im gonna cheat on you cause im gonna never do anything to hurt you or mislead you i love youbaby im so tired of the way you turn my words into deception and lies dont misunderstand me when i try to speak my mind im only sayin whats in my heartcupid doesnt lie but you wont know unless you give it a try oh baby true love wont lie but we wont know unless we give it a try give it a tryaint no doubt about it lord knows i really mean it id rather die before before i lie to you never wanna leave ya there aint no life without you never gonna leave never gonna go no no no no no no no no ohcupid doesnt lie but you wont know unless you give it a try oh baby true love wont lie but we wont know unless we give it a try give it a trycupid doesnt lie but you wont know unless you give it a try oh baby true love wont lie but we wont know unless we give it a try give it a trycupid doesnt lie but you wont know unless you give it a try oh baby true love wont lie but we wont know unless we give it a try ",1
38,"where have all the cowboys gone","paula cole",1997," oh you get me ready in your 56 chevy why dont we go sit down in the shade take shelter on my front porch the dandelions sun scorched like a glass of cold lemonade i will do laundry if you pay all the billswhere is my john wayne where is my prairie sun where is my happy ending where have all the cowboys gonewhy dont you stay the evening kick back and watch the tv and ill fix a little somethin to eat oh i know your back hurts from working on the tractor how do you take your coffee my sweet i will raise the children if you pay all the billswhere is my john wayne where is my prairie sun where is my happy ending where have all the cowboys gonei am wearing my new dress tonight but you dont even notice me say our goodbyes say our goodbyes say our goodbyeswe finally sold the chevy when we had another baby and you took that job in tennessee you made friends at the farm and you joined them at the bar almost every single day of the week i will wash the dishes while you go have a beerwhere is my john wayne where is my prairie sun where is my happy ending where have all the cowboys gone where is my marlboro man where is my shiny gun where is my lonely ranger where have all the cowboys goneyippee aye yippee ay yippee aye yippee ay yippee aye yippee ay yeayeayea ",1
39,"sunny came home","shawn colvin",1997," sunny came home to her favorite room sunny sat down in the kitchen she opened a book and a box of tools sunny came home with a mission she says days go by im hypnotized im walking on a wire i close my eyes and fly out of my mind into the fire sunny came home with a list of names she didnt believe in transcendence its time for a few small repairs she said sunny came home with a vengeance she says days go by i dont know why im walking on a wire i close my eyes and fly out of my mind into the fire get the kids and bring a sweater dry is good and wind is better count the years you always knew it strike a match go on and do it oh days go by im hypnotized im walking on a wire i close my eyes and fly out of my mind into the fire oh light the sky and hold on tight the world is burning down shes out there on her own and shes alright sunny came home sunny came home ",1
40,"its your love","tim mcgraw and faith hill",1997," dancing in the dark middle of the night taking your heart and holding it tight emotional touch touching my skin and askin you to do what youve been doing all over againoh its a beautiful thing dont think i can keep it all in ive just gotta let you know what it is that wont let me goits your love it just does something to me it sends a shock right through me i cant get enough and if you wonder about the spell im under oh its your lovebetter than i was more than i am and all of this happened by taking your hand and who i am now is who i wanted to be and now that were together im stronger than ever im happy and freeoh its a beautiful thing dont think i can keep it all in and if you ask me why ive changed all i gotta do is say your sweet nameits your love it just does something to me it sends a shock right through me i cant get enough and if you wonder about the spell im under oh its your loveoh its a beautiful thing dont think i can keep it all in ive just gotta let you know what it is that wont let me goits your love it just does something to me it sends a shock right through me i cant get enough and if you wonder about the spell im under oh its your love its your love its your love ",1
41,"ooh aah just a little bit","gina g",1997," youre my love youre my sweetest thing dont shy away dont shy away every night makes me hate the days cant get enough of your loveam i wrong am i so unkind show me the way dont turn away i cant hide all these thoughts in my mind every moment im thinking of youooh aah just a little bit ooh aah little bit more ooh aah just a little bit you know what im looking forooh aah just a little bit ooh aah little bit more ooh aah just a little bit ill give you love you cant ignorefeeling good lets go all the way its got to be set me free but tonight let my body say take it slow dont let it gohow can i prove my love to you baby please youre all i need like a child but its more than a phase could act the angel but it wouldnt be trueooh aah just a little bit ooh aah little bit more ooh aah just a little bit you know what im looking forooh aah just a little bit ooh aah little bit more ooh aah just a little bit ill give you love you cant ignorewhat can you do for me oh what can you do cause i feel so alive i feel your love inside oohjust a little bit little bit more just a little bit just a littlejust a little bit little bit more just a little bitooh aah just a little bit ooh aah little bit more ooh aah just a little bit you know what im looking forooh aah just a little bit ooh aah little bit more ooh aah just a little bit ill give you love you cant ignoreooh aah just a little bit ooh aah little bit more ooh aah just a little bit you know what im looking forooh aah just a little bit ooh aah little bit more ooh aah just a little bit ill give you love you cant ignorejust a little bit little bit more just a little bit just a littlejust a little bit little bit more just a little bit ",1
42,"mouth","merril bainbridge",1997," i feel like ive been blown apart there are pieces here i dont know where they go i dont know where they go kiss me on my salty lips i bet you feel a little crazy but for me well be famous on tvwould it be my fault if i could turn you on would i be so bad if i could turn you on when i kiss your mouth i want to taste it and turn you upside down dont want to waste iti jump up on you you jump on me you push me out and even though you know i love you id be inclined to slap you in the mouth when i kiss your salty lips you will feel a little crazy but for me ill be famous on tvwould it be my fault if i could turn you on would i be so bad if i could turn you on when i kiss your mouth i want to taste it and turn you upside down dont want to waste itwould it be my fault if i could turn you on would i be so bad if i could turn you on when i kiss your mouth i want to taste it and turn you upside down dont want to waste itnow will it be my fault if i take your love and throw it wide you might restrain me but could you really blame me and you will feel youre blown apart all the pieces there will fit to make you whole and i know where they gowould it be my fault if i could turn you on would i be so bad if i could turn you on when i kiss your mouth i want to taste it and turn you upside down dont want to waste itwhen i kiss your mouth i want to taste it and turn you upside down dont want to waste it when i kiss your mouth i want to taste it and turn you upside down dont want to waste it ",1
43,"all cried out","allure featuring 112",1997," all alone on a sunday morning outside i see the rain is falling inside im slowly dying but the rain will hide my crying crying cryingand you dont you know my tears will burn the pillow set this place on fire cause im tired of your lie all i needed was a simple hello but the traffic was so noisy that you could not hear me cryi i gave you my love in vain my body never knew such pleasure my heart never knew such pain and you you leave me so confused now im all cried out over you ooh crying over you over you yeahnever wanted to see things your way had to go astray for why was i such a fool now i see that the grass is greener is it too late for me to find my way home how could i be so wrong yeahleaving me all alone dont you know my tears will cause an inferno romance of these flames why should i take the blame you were the one who left me neglected apology not accepted add me to the broken hearts youve collectedi gave you all of me how was i to know you would weaken so easily i i dont know what to do now im all cried out over youi gave you my love in vain my body never knew such pleasure my heart never knew such pain and you you left me so confused now im all cried out now im all cried out over youplease forgive me please forgive me oh please forgive me ",1
44,"im still in love with you","new edition",1997," still in love im still in love with you still in love listenoh what can i do girl so much in love girl but your friends got you thinkin and its affecting youwhat can i do girl so in love girl and i dont know what to do cause i dont wanna lose youno what would i do without your love baby its heaven sent from above so you dont believe what your friends tell you about meim still the man for you and im still the man thats true and im still the man whos lucky and im still in love with youit dont matter what your friends do theyre just jealous of me and you and ill always keep you happy cause im still in love with you im still in love yeahtime passes so fast babe i wish it would last babe cause i know in my heart that my life ends and starts with youand baby i know that this feeling im feeling just wont let me go away cause youre the first true love ive ever knownso what would i do without your love baby its heaven sent from above and i know that in my heart im the best for youim still the man for you and im still the man thats true and im still the man whos lucky and im still in love with youit dont matter what your friends do theyre just jealous of me and you and ill always keep you happy cause im still in love with youoh what can i do to write this love i know that it makes me happy to be in love with you soim still the man for you and im still the man thats true and im still the man whos luckyand im still in love with you it dont matter what your friends do theyre just jealous of me and you and ill always keep you happycause im still in love with you im still in love no one loves you like i love you girl i still love you im in love with youim still the man for you baby and ill always make you happy ill always be there baby cause im still in love im still in love with you ",1
45,"invisible man","98 degrees",1997," oh oh oh yeahyou can hardly wait to tell all your friends how his kisses taste sweet like wine and how he always makes your heart skip a beat every time he walks byand if youre feeling down hell pick you up hell hold you close when youre making love hes everything you been dreaming of oh babyi wish youd look at me that way your beautiful eyes looking deep into mine telling me more than any words could say but you dont even know im alive baby to you all i am is the invisible man oh you dont see me babyyou probably spend hours on the phone talking bout nothing at all it doesnt matter what the conversation just as long as he callslost in a love so real and so sincere and youll wipe away others tears your face lights up whenever he appearsi wish youd look at me that way your beautiful eyes looking deep into mine telling me more than any words could say but you dont even know im alive baby to you all i am is the invisible man oh you dont see me babyi see you all the time baby huh the way you look at him i wish it was me sweetheart boy i wish it was me but i guessi wish youd look at me that way your beautiful eyes looking deep into mine telling me more than any words could say but you dont even know im alive baby to you all i am is the invisible mani wish youd look at me that way your beautiful eyes looking deep into mine telling me more than any words could say but you dont even know im alive baby to you all i am is the invisible manoh oh oh oh baby the invisible man you dont see me girl but i love you yes i love you the invisible manoh oh oh yeah yeah the invisible man baby baby baby yeah the invisible man ",1
46,"not tonight","lil kim featuring da brat left eye missy elliott and angie martinez",1997," uhh dice thrown yeah uhh heres another one and another one yeah lil kim the queen beeits ladies night what it must be angie on the mic the butter p honey got the sugar got the spice roll the ls tight keep the rhymes right yo i just made this motherfucker up last night and uhh im the rookie on this allstar team me and kim is gettin cream like thelma and louise but on chrome never leave that brooklyn shit alone so if you say its on then its onbang this in your whips pack em call the roadie with the chips in the wrists heres a french kiss kissing sound i dismissed all you chicks split six from the fourfifth make you dance ooowwww i stay focused in the dopest like a penny with a hole in it yall just hopeless and toke this i aint lyein niggaz tryin to knock me off keep tryin all it takes is one phone call to my street team promote that ass like a soundtrack new jack citay set it off with the eightyfitay yall missin the buck with the fuck bump biggie in the trunk and the buck to my thorough bitches lemme see ya do tha bankhead if ya richest its the rap mae west to qb and i got all my sisters with meoh this is ladies night and our rhymes is tight oh this is ladies night oh what a night oh what a night oh this is ladies night and the feel is right oh this is ladies night oh what a night oh what a nightuhh never the one packin a gun got some other raw chicks for that lay your ass flat i be the one chockin ya paragraphs with laughs getcha back up on the right path aint no stoppin me ladies from club hoppin gets my rock on from flavors still frozen at paradise joint booty shakin with the glass in my left one right hand sayin stepson to me my girls is fancy fly bitches too my niggaz straight snitches to them other chicos lady pimp aint havin that shit if you aint got the cash to stash suck my dick hoes strictly a bell ringer lay another finger on this big bad one miss lady rap singer i be the one to blame as the flames keep risin to the top and it dont stopoh this is ladies night and our rhymes is tight oh this is ladies night oh what a night oh what a night oh this is ladies night and the feel is right oh this is ladies night oh what a night oh what a nightyall see how these bogus niggaz try not to notice the dopest bitches approachin with good intentions but focusin on they riches if its too hot then get the fuck up out the kitchen niggaz dicks stay lifted when they thinkin of me cause the rhythm i kick puzzle them like arithematic fillin em with sluggers off the nine milli luger click bitches bust we just keep kickin up dust and you can spread rumors shit is makin me sicker than head tumors humor me by huggin me sayin you lovin me playa phony niggaz be buggin i can tell cause the thug in me wanna sell drugs and push keys need to get me mo of deez vvs and m3s smoke weed from overseas pimped out styled roleys fuck the police keep my wallet obese who the windy city woman still still comin and gunnin straight from the chi tonights the night for all the ladies lets get highoh this is ladies night and our rhymes is tight oh this is ladies night oh what a night oh what a night oh this is ladies night and the feel is right oh this is ladies night oh what a night oh what a nightaiyyo kim heheh yaknowhatimsayin  i aint even gon leave without sayin sunun on this track you aint gonna use me to just be singin hooks what i look like patti labelle or somebody nigga heheh check it out uh huh yeahoh what a night you should be like missy stead of bein like mike i like to ride ponys instead of ridin bikes me and lil kim got the rhymes to incite i gotta catch a flight aheheh round three and shit niggaz cant see us from elektra to undeas aaaaoooowwww niggaz wanna be us heh im out he oohladies night ladies night  ",1
47,"look into my eyes","bone thugsnharmony",1997,NA,NA
48,"get it together","702",1997," i dont really wanna stay i dont really wanna go but i really need to know can we get it together get it together get it togetheri dont really wanna go i dont really wanna stay but i really hope and pray can we get it together get it togetheryou dont know the pain that i feel youve taken my love for granted and you just wanna see it your way yeah its about that time im gonna tell ya whats on my mind im fed up with you not being here with me when you know love is all i need i dont want to stayi dont really wanna stay i dont really wanna go but i really need to know can we get it together get it togetheri dont really wanna go i dont really wanna stay but i really hope and pray can we get it together get it together lets get together babei cant let go cuz being confused just takes control i hope we can start brand new cuz i dont want to lose you oh no with the love we shared baby its all so rare im willing to try and make you see that all you need is here in mei dont wanna stay i dont wanna go but you gotta let me know how you feel let me know how you feeli dont wanna stay i dont wanna go but you gotta let me know how you feel just how you feeli dont really wanna stay i dont really wanna go but i really need to know can we get it together get it togetheri dont really wanna go i dont really wanna stay but i really hope and pray can we get it together get it togethersee im so confused i just dont know what to do and i dont understand no ya know i dont wanna stay you know i dont wanna go baby please listen to me i dont wannai dont really wanna stay i dont really wanna go but i really need to know can we get it together get it together ",1
49,"all by myself","celine dion",1997," when i was young i never needed anyone and making love was just for fun those days are gone livin alone i think of all the friends ive known when i dial the telephone nobodys homeall by myself dont wanna be all by myself anymorehard to be sure sometimes i feel so insecure and loves so distant and obscure remains the cureall by myself dont wanna be all by myself anymoreall by myself dont wanna live all by myself anymorewhen i was young i never needed anyone making love was just for fun those days are goneall by myself dont wanna be all by myself anymoreall by myself dont wanna live oh dont wanna live by myself by myself anymore by myself anymore oh all by myself dont wanna live i never never never needed anyone ",1
50,"its all coming back to me now","celine dion",1997,"there were nights when the wind was so cold that my body froze in bed if i just listened to it right outside the windowthere were days when the sun was so cruel that all the tears turned to dust and i just knew my eyes were drying up forever i finished crying in the instant that you left and i cant remember where or when or how and i banished every memory you and i had ever made but when you touch me like this and you hold me like that i just have to admit that its all coming back to me when i touch you like this and i hold you like that its so hard to believe but its all coming back to me its all coming back its all coming back to me now there were moments of gold and there were flashes of light there were things id never do again but then theyd always seemed right there were nights of endless pleasure it was more than any laws allow baby baby if i kiss you like this and if you whisper like that it was lost long ago but its all coming back to me if you want me like this and if you need me like that it was dead long ago but its all coming back to me its so hard to resist and its all coming back to me i can barely recall but its all coming back to me now but its all coming back there were those empty threats and hollow lies and whenever you tried to hurt me i just hurt you even worse and so much deeper there were hours that just went on for days when alone at last wed count up all the chances that were lost to us forever but you were history with the slamming of the door and i made myself so strong again somehow and i never wasted any of my time on you since then but if i touch you like this and if you kiss me like that it was so long ago but its all coming back to me if you touch me like this and if i kiss you like that it was gone with the wind but its all coming back to me its all coming back its all coming back to me now there were moments of gold and there were flashes of light there were things wed never do again but then theyd always seemed right there were nights of endless pleasure it was more than all your laws allow baby baby baby when you touch me like this and when you hold me like that it was gone with the wind but its all coming back to me when you see me like this and when i see you like that then we see what we want to see all coming back to me the flesh and the fantasies all coming back to me i can barely recall but its all coming back to me now if you forgive me all this if i forgive you all that we forgive and forget and its all coming back to me when you see me like this and when i see you like that we see just what we want to see al coming back to me the flesh and the fantasies all coming back to me i can barely recall but its all coming back to me now its all coming back to me now and when you kiss me like this its all coming back to me now and when i touch you like that its all coming back to me now if you do it like this its all coming back to me now and if we",5
51,"my love is the shhh","somethin for the people featuring trina  tamara",1997," boy youll never find another love as good as this so you better represent cuz my love is the shhh the bomb baby bomb baby girl youll never find another love as good as this so you better represent cuz my love is the shhh the bomb baby bomb babyyou keep telling me on the telephone how you got it going on and how youll keep me satisfied ooh yeah but actions speak louder than words i must see what ive heard is it true or do you liecuz i need somebody giving nothin but good loving all through the night oh yeah someone to break me off a little something when i need to be satisfied and i got one thing in mindboy youll never find another love as good as this so you better represent cuz my love is the shhh the bomb baby bomb baby girl youll never find another love as good as this so you better represent cuz my love is the shhh the bomb baby bomb babyall these things i say to you i swear that they are true im all youll ever need oh yeah good love is so hard to find and i wont waste your time satisfaction is guarenteedill be the lover that you need to break you off in the middle of the night ill take a little trip downtown ill be the freak you need in your life and i knowgirl youll never find another love as good as this so you better represent cuz my love is the shhh the bomb baby bomb baby boy youll never find another love as good as this so you better represent cuz my love is the shhh the bomb baby bomb babydont stop get it get it dont stop get it get it dont stop get it get it dont stop get it get itlet me work that body baby let me work that body baby let me work that body baby let me work that body babyboy youll never find another love as good as this so you better represent cuz my love is the shhh the bomb baby bomb baby girl youll never find another love as good as this so you better represent cuz my love is the shhh the bomb baby bomb babyboy youll never find another love as good as this so you better represent cuz my love is the shhh the bomb baby bomb baby girl youll never find another love as good as this so you better represent cuz my love is the shhh the bomb baby bomb babyboy youll never youll see cant nobody love you like me girl youll never baby baby boy youll never nobody loves me better than you love girl youll never find another ",1
52,"where do you go","no mercy",1997," where do you go my lovely where do you go i want to know my lovely i want to knowwhere do you go oh oh eh oh i want to know oh oh eh oh where do you go oh oh eh oh i want to know where do you where do you go where do you where do you goyou leave without a word no message no number and now my head is pounding like rolling thunder you left me with a heartache deep inside girl you should see me cry all night and i wondereverybody says what a shame what is wrong they dont like the game we play heard youre hanging round every night until dawn im waiting for you night and daywhere do you go my lovely where do you go i want to know my lovely i want to knowwhere do you go oh oh eh oh i want to know oh oh eh oh where do you go oh oh eh oh i want to know you gotta break the silence dont keep me waiting just like a river flowing to the sea youre running back to me come hear what im sayingwhere do you go my lovely i want to knowwhere do you go oh oh oh where do you go oh oh oh i want to know na na na na di da na na di da da da da di da da na na na na di da na na di da da da da di da da where do you where do you gosave mecome back and dry the tears i cried for you baby youve gotta stop this heartache deep inside youve gotta help me make it through the night safely come back and save me where do you go my lovely where do you go i want to know my lovely i want to know where do you go my lovely where do you go i want to know na na na na di da na na di da da da da di da da na na na na di da na na di da da da da di da da where do you where do you go ",1
53,"i finally found someone","barbra streisand and bryan adams",1997," i finally found someone that knocks me off my feet i finally found the one that makes me feel complete we started over coffee we started out as friends its funny how from simple things the best things beginthis time its different dah dah dah dah its all because of you dah dah dah dah its better than its ever been cause we can talk it through oh my favorite line was can i call you sometime its all you had to say to take my breath awaythis is it oh i finally found someone someone to share my life i finally found the one to be with every night cause whatever i do its just got to be you my life has just begun i finally found someone oh someone i finally found someone ohdid i keep you waiting i didnt mind i apologize baby thats fine i would wait forever just to know you were mine and i love your hair are you sure it looks right i love what you wear isnt it too tight youre exceptional i cant wait for the rest of my lifethis is it oh i finally found someone someone to share my life i finally found the one to be with every night cause whatever i do its just got to be you my life has just begun i finally found someone oh someone i finally found someone ohwhatever i do its just got to be you my life has just begun i finally found someone ",1
54,"ill be","foxy brown featuring jayz",1997," thats right papa thats right how we do yeah ill na na come onwhat up pop brace yourself as i ride on top close your eyes as you ride right out your socks double lose his mind as he grind in the tunnel wanna gimme the cash he made off his last bundlenasty girl dont pass me the world i push to be not the backseat girl dont deep throat the cnote she float murder she wrote and keeps the heat close firm nigga we posed to be the illest on three coastsfamilia bigga than ego yall danny devitoes small niggaz all i see is the penny heaters thats all niggaz no shark in this year raise it bigga fifteen percent make the whole world sit up and take notice na na take over yall take quotas to hit papastraight out the gate yall we drop hits now tell me how nasty can you get all the way from the hood to your neck of the woods its ripped one thing for sure ill be goodthats right we drop hits tell me how nasty can you get all the way from the hood to your neck of the woods its ripped one thing for sure ill be goodim too live nasty as i wanna be dont shake your sassy ass in front of me fore i take you there and tear your back out that shit aint happened since the mack was outrollin for lana dripped in gabbana nineties style you find a style right away its the fit wanna taste the shit put me on a bass and throw your face in it fucker na na yall cant touch her my sex drive all night like a truckerlet alone the skills i posess and yall gon see by these mils i posess never settle for less im in excess not inexpensive d v s to the two thats just the way im built nasty what classy stillstraight out the gate yall we drop hits now tell me how nasty can you get all the way from the hood to your neck of the woods its ripped one thing for sure ill be goodthats right we drop hits tell me how nasty can you get all the way from the hood to your neck of the woods its ripped one thing for sure ill be goodwell you can hoe what i got roll with the rock the fella capo in the candy apple drop will tears fall to your ears if i dont stop can ya throw it like a quarterback third in the lotdig me i get you locked like biggie wit irv in the spot word middie the cop n biddie im the bomdigi punana sexy brown thing uh madon yall make em turn over from the fullcourt pressureto undress ya and shit all over your asses i aint playin knockin out at the williams im sayin whats the sense in delayin im tryin to run g from the p to the am i saw your little thing now im swayin okin shitstraight out the gate yall we drop hits now tell me how nasty can you get all the way from the hood to your neck of the woods its ripped one thing for sure ill be goodthats right we drop hits tell me how nasty can you get all the way from the hood to your neck of the woods its ripped one thing for sure ill be good ",1
55,"if it makes you happy","sheryl crow",1997," i belong a long way from here i put on a poncho and played for mosquitoes and drank till i was thirsty again we went searching through thrift store junglesfound geronimos rifle marilyns shampoo and benny goodmans corset and pen well okay i made this up i promise you id never give upif it makes you happy it cant be that bad if it makes you happy then why the hell are you so sadget down real low down you listen to coltrane derail your own train well who hasnt been there beforei come round around the hard way bring you comics in bed scrape the mold off the bread and serve you french toast again okay i still get stoned im not the kind of girl youd take homeif it makes you happy it cant be that bad if it makes you happy then why the hell are you so sadif it makes you happy it cant be that bad if it makes you happy then why the hell are you so sadweve been far far away from here i put on a poncho and played for mosquitoes and everywhere in between well okay we get along so what if right now everythings wrongif it makes you happy it cant be that bad if it makes you happy then why the hell are you so sadif it makes you happy it cant be that bad if it makes you happy then why the hell are you so sad ",1
56,"never make a promise","dru hill",1997," i dont have to think about i never been loved well i only dreamed about i wondered what it wasbut now i think i know its clear to me you made me understand im so proud to say i love you im so proud to be your man yes i ami promise ill never hurt you ill never make you cry no i promise ill never hit you cross my heart and hope to diecause i know ill keep you safe ill keep you warm ill keep you satisfied ill be your sunshine in the morning be your everything at nightchorus x2 you told me what you wanted i gave you what you need i told you that i love you make it good for you and me and i never make a promise that i cant keep that aint meaint no way to get around it now youre stuck with me baby baby did you know that youd be surrounded by my love and ecstasythis is the start of one great love affair thats never ever never gonna end we can share the world together oh this is where it begun chorus x2oh girl ill stand by you if you give me your hand ill make love to you baby your every wish is my commandlets play out your fantasies oh i can lose your mind take you places you aint never been before i promise you its alrightchorus x2if i make a promise to you then baby thats what ill do i have nothing to lose i give my whole world to youill never make a promise that i cant keep im a man of my word for you im always concerned that youll never be hurtits for better or worse ill never make a promise that i cant keep ",1
57,"when you love a woman","journey",1997," in my life i see where ive been i said that id never fall again within myself i was wrong my searchin aint over over i know thatwhen you love a woman you see your world inside her eyes when you love a woman you know shes standin by your side a joy that lasts forever theres a band of gold that shines waiting somewhere oh oh yeahif i cant believe that someone is true to fall in love is so hard to do i hope and pray tonight somewhere youre thinking of me girl yes i know i i know thatwhen you love a woman you see your world inside her eyes when you love a woman you know shes standin by your side a joy that lasts forever theres a band of gold that shines waiting somewhere ohohits enough to make you cry when you see her walkin by and you look into her eyesohohohwhen you love a woman you see your world inside her eyes when you love a woman well you know shes standin by your side a joy that lasts forevertheres a band of gold that shines whoa when you love a woman when you love love love when you love a woman you see your world inside her eyes ",1
58,"up jumps da boogie","timbaland  magoo featuring missy elliott and aaliyah",1997,"give it up  we gon show you how we party up jumps da boogie up jumps da boogie up jumps da boogie give it up  we gon show you how we party up jumps da boogie up jumps da boogie up jumps da boogie give it up  we gon show you how we party up jumps da boogie up jumps da boogie up jumps da boogie give it up  we gon show you how we party up jumps da boogie up jumps da boogie up jumps da boogie i fiend for all beats like girls jump for dicks dont salt the next man keep that lindbergh shit up in the cut like gay niggaz in butt im black wit indian my race should be mutt i cut with razor blades play spades with aunt venus evaluate this rap take heed a fuckin genius up in the sky up high dont puff lye do you smoke crack sam prepare to fuckin die fuck crazy joe my name is crazy flow you thought i had eight but i got ten mo off beat and on beat old school like beat street i stink like pops feet make sweat wit no heat im up on this track like pam grier in movies i heats up the beat like water in a jacuzzi i fly to la then come back to virginia then call maganoo to see if hes got some indo then back to the crib to pick up my brother g g dont forget to bring the house keys hops in the eight fiveoh now here we go please please brother dont slam my car do it costs too much money to get that shit fixed i need all my money to pay my bills with dont have no time for the shuckin and jivin peep my rhyme cause that shits offtimin im in the marriott the place to get got after i smoke pot he sticks me like shots funky like farts connect tongues like dots lick his lollipop this kid named scott me my hot self myself be so hot touch my hot spot i scream til i cant stop uhh give it to me daddy and what what uhh yup yup like teddy what what teddy ready with tha one two checka no diggity missy be the bedroom wrecka double decka make you wanna beat your pecka and then leave your bitch cause this uhh be better give it up up jumps da boogie boogie jumps me up jumps da boogie boogie jumps me up jumps da boogie boogie jumps me up jumps da boogie boogie jumps me give it up we gon show you how we party up jumps da boogie boogie jumps me up jumps da boogie boogie jumps me give it up we gon show you how we party prepare to get wet like jheri curl juice you tight like virgin pussy my rap get you loose i bump like acne take honey from a bee my style is like a safe without da fuckin key i come cause im a nut dont bleed when im cut no fan of madonna she just a damn slut so sit you damn dog and bow to my shit nitwit you stupid im butter dont need grits make fits like seizure lick clit to please ya i book then read ya follow da leader like jews and chinese i own your rap lease the wackness must cease prepare for yo release im up in these labels tryin to handle my business been makin more beats before jehovah had witness up jumps da boogie boogie jumps me brother brother please turn on the tv see a black man dead from a white mans powder see a white man scared from a black mans power back to reality please dont freakin smile at me this is a stickup so give up yo wallet please im the best and thats b and thats capital i hang low like testicles mcs wanna copy these many flows hoes better back up foe they get slapped up pack up and go tell mommy that i backed up you you you you and your whole screw what whatcha whatcha whatcha gon do uhh what whatcha gon do to me the m i double s y e wanna battle me its gonna be some tragedy give it up we gon show you how we party up jumps da boogie boogie jumps me up jumps da boogie boogie jumps me up jumps da boogie boogie jumps me up jumps da boogie boogie jumps me give it up we gon show you how we party up jumps da boogie boogie jumps me up jumps da boogie boogie jumps me up jumps da boogie boogie jumps me up jumps da boogie boogie jumps me give it up we gon show you how we party give it up we gon show you how we party give it up we gon show you how we party ",3
59,"i dont want to  i love me some him","toni braxton",1997,NA,NA
60,"everyday is a winding road","sheryl crow",1997,"i hitched a ride with a vending machine repair man he said hed been down this road more than twice he was high on intellectualism ive never been there but the brochure looks nice jump in lets go lay back enjoy the show everybody gets high everybody gets low these are the days when anything goes everyday is a winding road i get a little bit closer everyday is a faded sign i get a little bit closer to feeling fine hes got a daughter he calls easter she was born on a tuesday night im just wondering why i feel so all alone why im a stranger in my own life jump in lets go lay back enjoy the show everybody gets high everybody gets low these are the days when anything goes everyday is a winding road i get a little bit closer everyday is a faded sign oh yeah i get a little bit closer everyday is a winding road i get a little bit closer everyday is a faded sign oh oh yeah i get a little bit closer to feeling fine ive been living on a sea of anarchy ive been living on coffee and nicotine ive been wondering if all the thing ive seen were ever real were ever really happening everyday is a winding road i get a little bit closer everyday is a faded sign oh yeah i get a little bit closer everyday is a winding road i get a little bit closer everyday is a faded sign i get a little bit closer to feeling fine hey feeling fine oh feeling fine oh yeah",3
61,"cold rock a party","mc lyte",1997," to the l to the y and the t to the e so get ready cause i want everybody to say this with me rock the house rock the house rock the housenow i cold rock a party in a bgirl stance i rock on the floor make the fellas wanna dance i be the shit and its all good and if you understoodwould you stop scheming and trying to look hard i get my bodyguard you get that booty scarred im a veteran which means that ive been in the game too long since the days of paper thin way back when ive been putting it down ask your homies whos the baddest bitch on this side of the m i c i go for broke never giving it less than the best lots of years in the game at your request you like the rhyme bite if you dare i get the paper so i dont care fly thats me the epitome of what a real mc is supposed to be fucking you up every time that i drop fuck a bullet baby i done took your spot i guide the best and i ride it well and if you take a look it aint hard to tell that inow i cold rock a party in a bgirl stance i rock on the floor make the fellas wanna dance i be the shit and its all good and if you understoodback off me and let my skin breathe lyte is everlasting its hard to believe i shall prevail cause im next to none cause im claiming no set dont plan to get down just brooklyn is where im from but im resting in studio city for the fun if you dont understand just say you dont nah and dont wait for me to explain cause i wont you see its in my nature to be the best west to east see east to west ready or not i have arrived and im live showing an mc how to survive cause its crazy how i get you captured with my tactics i got many witnesses that can back this ruffnecks from new york to la been down with me since poor george its 96 its all about show and prove and im about to make the ill type moves i guide the best and ride it well and if you take a look it aint hard to tell that inow i cold rock a party in a bgirl stance i rock on the floor make the fellas wanna dance i be the shit and its all good and if you understoodget out my shit please let me be i dont see why you kgb why you gotta be all up on me like that trying to get over like a fat rat but i understand im a woman in the land of hiphop and the shit dont stop it goes on on on on you see the shit dont stop till the break of dawn and now who makes it liver than a hiphop scuba diver chillin with a pina colada kidada hooked me up with tommy now i gotta lot of gear from everywhere that id like to share yeah right but id rather do kani dont ask why 5001 my son gets shit done all on the catwalk what theyve ever done for you you betta get down with your real crew cause i ride the beat and i ride it well and if you take a look it aint hard to tell that inow i cold rock a party in a bgirl stance i rock on the floor make the fellas wanna dance i be the shit and its all good and if you understoodto the l to the y and the t to the e rock the house and rock the house ",1
62,"pony","ginuwine",1997," im just a bachelor im looking for a partner someone who knows how to ride without even falling off gotta be compatible takes me to my limits girl when i break you off i promise that you wont want to get offif youre horny lets do it ride it my pony my saddles waiting come and jump on it if youre horny lets do it ride it my pony my saddles waiting come and jump on itsitting here flossing peepin your steelo just once if i have the chance the things i would do to you you and your body every single portion send chills up and down your spine juice flowing down your thighif youre horny lets do it ride it my pony my saddles waiting come and jump on it if youre horny lets do it ride it my pony my saddles waiting come and jump on itif were gonna get nasty baby first well show and tell till i reach your pony tail oh lurk all over and through you baby until we reach the stream youll be on my jockey team ohif youre horny lets do it ride it my pony my saddles waiting come and jump on it if youre horny lets do it ride it my pony my saddles waiting come and jump on itif youre horny lets do it ride it my pony my saddles waiting come and jump on it if youre horny lets do it ride it my pony my saddles waiting come and jump on itif youre horny lets do it ride it my pony my saddles waiting come and jump on itride it saddles ",1
63,"building a mystery","sarah mclachlan",1997," you come out at night thats when the energy comes and the dark sides light and the vampires roam you strut your rasta wear and your suicide poem and a cross from a faith that died before jesus came youre building a mysteryyou live in a church where you sleep with voodoo dolls and you wont give up the search for the ghosts in the halls you wear sandals in the snow and a smile that wont wash away can you look out the window without your shadow getting in the wayyoure so beautiful with an edge and charm but so careful when im in your armscause youre working building a mystery holding on and holding it in yeah youre working building a mystery and choosing so carefullyyou woke up screaming aloud a prayer from your secret god you feed off our fears and hold back your tears oh give us a tantrum and a know it all grin just when we need one when the evenings thinyoure a beautiful a beautiful fucked up man youre setting up your razor wire shrinecause youre working building a mystery holding on and holding it in yeah youre working building a mystery and choosing so carefullyoh youre working building a mystery holding on and holding it in yeah youre working building a mystery and choosing so carefully yeah youre working building a mystery holding on and holding it in oh yeah youre working building a mystery and choosing so carefullyyoure building a mystery ",1
64,"i love you always forever","donna lewis",1997," feels like im standing in a timeless dream of light mists of pale amber rose feels like im lost in a deep cloud of heavenly scent touching discovering youthose days of warm rains come rushing back to me miles of windless summer nights air secret moments shared within the heat of the afternoon out of the stillness soft spoken wordssay it say it again i love you always forever near or far closer together everywhere i will be with you everything i will do for yousay it say it again i love you always forever near or far closer together everywhere i will be with you everything i will do for youyouve got the most unbelievable blue eyes ive ever seen youve got me almost melting awayas we lay there under a blue sky with pure white stars exotic sweetness a magical timesay it say it again i love you always forever near or far closer together everywhere i will be with you everything i will do for yousay it say it again i love you always forever near or far closer together everywhere i will be with you everything i will do for yousay youll love and love me forever never stop never whatever near and far and always everywhere and everythingsay youll love and love me forever never stop never whatever near and far and always everywhere and everythingsay youll love and love me forever never stop never whatever near and far and always everywhere and everythingsay youll love and love me forever never stop never whatever near and far and always everywhere and everythingi love you always forever near or far closer together everywhere i will be with you everything i will do for youi love you always forever near or far closer together everywhere i will be with you everything i will do for youi love you always forever near or far closer together everywhere i will be with you everything i will do for youi love you always forever near or far closer together ",1
65,"your woman","white town",1997," just tell me what youve got to say to me ive been waiting for so long to hear the truth it comes as no surprise at all you see so cut the crap and tell me that were throughnow i know your heart i know your mind you dont even know youre bein unkind so much for all your highbrow marxist ways just use me up and then you walk away boy you cant play me that waywell i guess what you say is true i could never be the right kind of girl for youi could never be your woman i could never be your woman i could never be your woman i could never be your womanwhen i saw my best friend yesterday she said she never liked you from the start well me i wish that i could claim the same but you always knew you held my heartand youre such a charming handsome man now i think i finally understand is it in your genes i dont know but ill soon find out thats for sure why did you play me this waywell i guess what you say is true i could never be the right kind of girl for youi could never be your woman i could never be your woman i could never be your woman i could never be your womanwell i guess what they say is true i could never spend my life with a man like youi could never be your woman i could never be your woman i could never be your woman i could never be your woman ",1
66,"c u when u get there","coolio featuring 40 thevz",1997," now ive seen places and faces and things you aint never thought about thinking if you aint peek then you must be drinking and smokin pretending not to lookin but youre brokin let me get you open now little timmy got his diploma and little jimmy got life and tamika around the corner just took her first hit off the pipe the other homie shot the other homie and ran off with his money and when the other homies heard about it they thought that it was funnybut whos the dummy cos now you done lost the hustler a downass brother got replaced by a buster and though i got love for ya i know i cant trust ya cos my crew is rollin hummers and your crew is rollin dusts and just because of that you act like you dont like the brother no more i guess thats just the way it goes i aint trying preach i believe i can reach but your mind aint prepared ill see you when you get thereill see you when you get there if you ever get there see you when you get there ill see you when you get there if you ever get there see you when you get theremore temptation and faith i guess we livin for the day i seen a man get swept off his feet by a boy with an ak the situation so twisted everybody getting lifted im just tryin to take care of my kids and handle my business cos it way too serious so you gotta pay close attention so you dont get caught sittin when they come and do all the gettin life is a big game so you gotta play it with a big horse someones gotta run a little faster cos we gotta lay the struggleid be a fool to surrender when i know i can be a contender and if everybodys a sinner then everybody could be a winner no matter you rag collar deep down we all brothers and regardless of the time somebody up there still love us im a scuff and struggle and yall im breathless and weak i just strive my whole life to make it to the mountain peak always keep reaching sure to grab on to something ill be there when you get there when you wit the sound bumpinill see you when you get there if you ever get there see you when you get there ill see you when you get there if you ever get there see you when you get thereyou need to loosen up and live a little and if you got kids let them know how you feelin for your own sake give a little oh you dont want to hear that you busy trying stack and keep them from the joness is taking advantage of your own the realest homies that youve been knowing for the longest but some aint missing a good thing until its gone could have built an empire if not for the jealousy that divides us we prefer to keep our eyes shut to describe when its something wrong and we desireso hold your head up high if your poor and righteous i know time seems right and the problems seem endless but at times of despair we gotta pull ourselves together and if you fell youre out the game then you need to get back in it cos nothing worse than a quitter you gotta face responsibility one day my brother so gather up your pity and turn it to ambition and put your vehicle and drive and stop by my sideill see you when you get there if you ever get there see you when you get there ill see you when you get there if you ever get there see you when you get thereas we walk down the road of our destiny and the time comes to choose which shall it be the wide and crooked or the straight barrel we got one voice to give and one life to live stand up for something or lie down in your game listen to the song that we sing its up to you to make it big i guess ill see you when you see meill see you when you get there if you ever get there ill see you when you get there if you ever get thereill see you when you get there if you ever get there ill see you when you get there if you ever get there ",1
67,"change the world","eric clapton",1997," if i can reach the stars pull one down for you shine it on my heart so you could see the truth that this love i have inside is everything it seems but for now i find its only in my dreamsand i can change the world i will be the sunlight in your universe you would think my love was really something good baby if i could change the worldif i could be king even for a day id take you as my queen id have it no other way and our love would rule this kingdom we had made till then id be a fool wishing for the daythat i can change the world i would be the sunlight in your universe you would think my love was really something good baby if i could change the world baby if i could change the world ",1
68,"my baby daddy","brock and the bizz",1997,NA,NA
69,"tubthumping","chumbawamba",1997,"well be singing when were winning well be singing i get knocked down but i get up again youre never going to keep me down i get knocked down but i get up again youre never going to keep me down i get knocked down but i get up again youre never going to keep me down i get knocked down but i get up again youre never going to keep me down pissing the night away pissing the night away he drinks a whiskey drink he drinks a vodka drink he drinks a lager drink he drinks a cider drink he sings the songs that remind him of the good times he sings the songs that remind him of the better times oh danny boy danny boy danny boy i get knocked down but i get up again youre never going to keep me down i get knocked down but i get up again youre never going to keep me down i get knocked down but i get up again youre never going to keep me down i get knocked down but i get up again youre never going to keep me down pissing the night away pissing the night away he drinks a whiskey drink he drinks a vodka drink he drinks a lager drink he drinks a cider drink he sings the songs that remind him of the good times he sings the songs that remind him of the better times dont cry for me next door neighbor i get knocked down but i get up again youre never going to keep me down i get knocked down but i get up again youre never going to keep me down i get knocked down but i get up again youre never going to keep me down i get knocked down but i get up again youre never going to keep me down i get knocked down but i get up again   well be singing when were winning youre never going to keep me down   well be singing ",3
70,"gotham city","r kelly",1997," im lookin over the skyline of the city how loud quiet nights in the mist of crime how next door to happiness lives sorrow and signals of solution in the skya city of justice a city of love a city of peace for everyone of us we all need it cant live without it a gotham city oh yeahhow sleepin awake because of fear oh yeah how children are drowning in their tears how we need a place where we can go a land where every one will have a hero even mea city of justice a city of love a city of peace for everyone of us cause we all need it yeah cant live without it a gotham city oh yeaha city of justice a city of love a city of peace for everyone of us cause we all need it cant live without it a gotham city oh yeahyet in the middle of stormy weather we wont stumble and we wont fall i know a place that all this sheltercity of justice city of love city of peace for everyone of us we all need it cant live without it gotham city oh yeahwe need a city of justice city of love city of peace for everyone of us we all need it cant live without it gotham city oh yeahcity of justice city of love city of peace for everyone of us yes we all need it cant live without it gotham city oh yeaha gotham city everybody needs gotham city gotham city dont you want one oh yeahcome on come on gotham city everybody needs gotham city a gotham city dont you want one oh yeahchildren singa gotham city a gotham city a gotham city ",1
71,"last night","az yet",1997," last night you were so into it you told me secrets that youve never told a soul you were so nervous and yet oh so comfortable as we explored your image of lovei drank your wine as you taste mine i kissed your lips you felt my mind slip into your soul i almost cried cause it was so beautifullast night i was inside of you last night while making love to you i saw the sun the moon the mountains and the rivers i saw heaven when i made sweet love to youlast night there was no planning it it was so special and so very innocent we talked of memories our favorite fantasies as we explored our visions of lovedeep in the night right by the fireside you felt my candlelight in your soul you felt incredible i started to explode i almost cried cause it was so beautifullast night i was inside of you last night while making love to you i saw the sun the moon the mountains and the rivers i saw heaven when i made sweet love to yousunlight red red roses the scent of you it calms the heart the sight of you i fall apartmoonlight the things we notice when were in love thats when it comes and im so im so in lovelast night i was inside of you last night while making love to you i saw the sun the moon the mountains and the rivers i saw heaven when i made sweet love to you babylast night i was inside of you last night while making love to you i saw the sun the moon the mountains and the rivers i saw heaven when i made sweet love to you babylast night i was inside of you last night while making love to you i saw the sun the moon the mountains and the rivers i saw heaven when i made sweet love to you ",1
72,"the jock jam","various artists",1997,"ladies and gentlemen lets get ready to rumble rerererereready to rumble jock jam yall ready for this yall ready for this whoomp there it is hit me pump up the jam yo pump it up it it it it it this is your nightnight be aggressive be aggressive hit it yall already for this whoomp i like to move it move it whoomp i like to move it move it whoomp i like to move it move it whoomp there it is move it whoomp i like to move it move it whoomp i like to move it move it whoomp i like to move it move it give it up yeah welcome to the big show let me hear you say wayo simply inflatable so let the brother say wayo the bump some pump oh thats old let me see the tootsie roll whoomp there it is let me hear you say wayo yall ready for this dance dance dance dance these sounds fall into my mind defense these sounds fall into my mind defense these sounds fall into my mind defense these sounds ffall into my mind action action we want action action action boys action boys pump up the jam pump it up while your feet are stompin and the jam is pumpin look at here the crowd is jumpin pump it up a little more get the party goin on the dance floor see cause thats where the partys at and youll find out if you do dat i dont want a place to stay get you booty on the floor tonight make my day i dont want a place to stay get you booty on the floor tonight make my day pump up the jam jock jam pump up the jam jock jam pump up the jam jock jam pump up the jamjam pump it pump it upup whoomp there it is hey whoomp there it is whoomp there it is hey whoomp there it is whoomp there it is hey whoomp there it is passes the 25 break number of tackles hey look at him go hey look at him go he couldgoalltheway yeah hey hey you get out of our way because today is the day we will put you away woo woo woo woo ym ca ow everybody dance now ow hit it its fun to stay at the ymca its fun to stay at the ymca they have everything for young men to enjoy you can hang out with all the boys lets get ready to rumble rerererereready to rumble hit  me pump up the jam yo pump it up yo pump it it it it it this is your nightnight be aggressive be aggressive hit it simply en fuego",3
73,"big daddy","heavy d",1997," back to hev back to the big daddy we be gettin down for realyall ready tell me who be that heav biggie girls say he cutie absolutely jiggy i be that big fella in the summer sportin linen bacardi and lemon party with de womenbig dada papi grande 6doubleoh pusher where yo honda my belly stay jigglin keepin yo backside wigglin who bigger in dis dan menobody heav dadi down to rock the party i be sendin chills through yo body and yall aint seen nuttin quite like me i be gettin down on the miconly dimepiece you gon catch me wit big belly can you handle it heav diggy niggy be jiggy baby you ready for big daddyhowever do you want it however do you need it howhowever do you want it however do you need it however do you want it however do you need it however do you want it however do you need iti push ranges and 6s while you gettin chump change in the business dames look delicious buddies that i hung with changed look suspicious what is it must be the fame and the digitsbig kid from mount v in the top ten you count me rhymin off of tracks thats bouncy ladies hound me one of the young and old folks thanks to the banks that hold my gross notesheavy make the crowd wiggle like spaghetti waterbed baby are you ready spend it be been big since the beginnin stay winnin grinnin heav chillincheck it out who got the hottest record out heav water you cant hang yo bread short til den ill be in beverly hills chillin ladies love me big daddy one in a millionhowever do you want it however do you need it howhowever do you want it however do you need it however do you want it however do you need it however do you want it however do you need ityo all the ladies wanna know is where gruff at they love that smooth harlem world thug cat got a man but im the one they blush at rush at in the vigor plush acme and heav diggy stay fly dress jiggy got bad girls who online sex with me bone crusher best believe im gon lust her hot mama you can catch a fever when you touch herhey yo gruff them cats dont know how we be really gettin down water to uptown pass it around holdin it down all across the world they be blowin our sound im a legend reppin on your hot 97jigalo all the dimes swearin gold front smile and plus i shine with baguettes an have things cats couldnt rhyme in my session baby you aint ready when it come to gruff he big daddyhowever do you want it however do you need it howhowever do you want it however do you need it however do you want it however do you need it however do you want it however do you need it ",1
74,"what about us","total",1997," one two hehheh yeah oh yeah ah huh ah huh yeah oh oh hehheh ah huh huh huh yeah yeah yeah yeah yeah yeah yeah yeah yeah hit em off like thisbaby i seen you with another lady i just finished having your baby whyd you have to go dont leave me baby you know im about to be swazey i cant stand my lovers being shady whyd you have to go dont leave me what about uswhat about you what about me what about us what we gon do total help me sing total help me sing what about you what about me what about us what we gon do um hum hey hey hey hey heybaby i know that youve been pimpin mr baller tricking whyd you have to go go and leave me baby i always been your baby dont make a girl go crazy i cant understand why you left mewhat about me what about you what about us what we gon do total help me sing ay what about me what about you what about us what we gon do do do what we gon do what we gon do sing it one timedo do do do do do do do do do do do do total help me sing do do do do do do do do do do do do do yo what about youwhat about you what about me what about us what we gon do total help me sing total help me sing what about me what about you what about us what we gon do do do what we gon do what we gon do can ya help me sing ah huhdo do do do do do do do do do do do do do do what we gon do what we gon do what we gon do do do do do do do do do do do do do do do do do do do do do do do do do do do do do do do do do do do do do do do do what we gon do what we gon do what we gon ah huh what we gon do yeah yeah yeahhe he another hit from missy timberland oo oo whatcha gon do when we come for you hehheh aight we out one time totaldo do do do do do do do do do do do do do do do do do do do do do do do do do do do do do do do do do do what about you what about me what about us what about you what about me what about you what about me what about us what about you what about me do do do do do do do do do do what about what about do do do do do what about you do do do do do do do do do do do do do what about you what about me ",1
75,"smile","scarface featuring 2pac and johnny p",1997," i lost my tongue when i saw your new friends please take me home to the place it will endi felt too sick had to smile had to smile please take me home to the place i belongi saw my room looked so soft all about i felt so sick had to smile had to smile ",1
76,"whats on tonight","montell jordan",1997," im coming over coming coming listen girlim whispering words over your shoulder ooh cant you hear before you reply the temperature rise then like that you disappeari never imagined id get so excited over a rendezvous ill be there in an hour still wet from the shower i just called to tell youits on tonight the feelings right we dont have to go nowhere listen girl im coming over rub your back massage your shoulders i just wanna lay it on yougirl can you tell me whats on tonight im coming to your crib have dinner by candlelight and we gonna watch some tv we gonna play your cds im gonna be on you and youre gonna be on megirl can you tell me whats on tonight im coming to your crib have dinner by candlelight and we gonna watch some tv we gonna play your cds im gonna be on you and youre gonna be on mei pray that youre wearing victoria secrets oh that blows my mind now what should i bring strawberries im thinking or some honey for your toes i never imagined i get so excited so aroused by you so click on the cable ill put on a slow jam montell is comingits on tonight the feelings right we dont have to go nowhere listen girl im coming over dont you try to go no where i just wanna lay it on yougirl can you tell me whats on tonight im coming to your crib have dinner by candlelight and we gonna watch some tv we gonna play your cds im gonna be on you and youre gonna be on megirl can you tell me whats on tonight im coming to your crib have dinner by candlelight and we gonna watch some tv we gonna play your cds im gonna be on you and youre gonna be on megirl can you tell me whats on tonight im coming to your crib have dinner by candlelight and we gonna watch some tv we gonna play your cds im gonna be on you and youre gonna be on me  ",1
77,"secret garden","bruce springsteen",1997," shell let you in her house if you come knockin late at night shell let you in her mind if the words you say are right if you pay the price shell let you deep inside but theres a secret garden she hides shell let you in her car to go drivin round shell let you into the parts of herself thatll bring you down shell let you in her heart if you got a hammer and a vise but into her secret garden dont think twiceyouve gone a million miles how fard you get to that place where you cant remember and you cant forgetshell lead you down a path therell be tenderness in the air shell let you come just far enough so you know shes really there then shell look at you and smile and her eyes will say shes got a secret garden where everything you want where everything you need will always stay a million miles away ",1
78,"the one i gave my heart to","aaliyah",1997," how could the one i gave my heart to break my heart so bad how could the one who made me happy make me feel so sadwont somebody tell me so i can understand if you love me how could you hurt me like thathow could the one i gave my world to throw my world away how could the one who said i love you say the things you sayhow could the one i was so true to just tell me lies how could the one i gave my heart to break this heart of mine tell mehow could you be so cold to me when i gave you everything all my love all i had inside how could you just walk out the door how could you not love me anymore i thought we had forever i cant understandhow could the one i shared my dreams with take my dreams from me how could the love that brought such pleasure bring such miserywont somebody tell me somebody tell me please if you love me how could you do that to me tell mehow could you just walk out the door how could you not love me anymore i thought we had forever i cant understandhow could the one i gave my heart to break my heart so bad how could the one who made me happy make me feel so sadwont somebody tell me so i can understand if you love me how could you hurt me like thathow could the one i gave my world to throw my world away how could the one who said i love you say the things you sayhow could the one i was so true to just tell me lies how could the one i gave my heart to how could the one i gave my heart to how could the one i gave my heart to break this heart of mine tell me ",1
79,"fly like an eagle","seal",1997," doo doo doo doo doo doo doo doo doo doo doo doo doo doo doo dootime keeps on slipping into the future time keeps on slipping slipping slipping into the futurei want to fly like an eagle to the sea fly like an eagle let my spirit carry me i want to fly oh yeahfly right into the futurei want to feed the babies who cant get enough to eat i want to shoe the children new shoes on their feet i want to house the people living in the street oh there theres a solutioni want to fly like an eagle to the sea fly like an eagle let my spirit carry me i want to fly oh yeah fly right into the futuretime keeps on slipping into the future time keeps on slipping slipping slipping into the futurei want to fly like an eagle to the sea fly like an eagle let my spirit carry me i want to fly oh yeah fly into the future fly like an eagle to the sea fly like an eagle let my spirit carry me i want to fly like an eagle fly into the future in a sky full of people only some want to fly isnt that crazy ",1
80,"no time","lil kim featuring puff daddy",1997," i got no time for fake niggaz just sip some cristal with these real niggaz from east to west coast spread love niggaz and while you niggaz talk shit we count bank figuresi got no time for fake niggaz just sip some cristal with these real niggaz from east to west coast spread love niggaz and while you niggaz talk shit we count bank figuresi got no time for fake niggaz just sip some cristal with these real niggaz from east to west coast spread love niggaz and while you niggaz talk shit we count bank figuresyeah i momma miss ivana usually rock the prada sometimes gabbana stick you for your cream and your riches zsa zsa gabor demi moore prince diane and all them rich bitchespuff daddy pump the hummer for the summer i follow in the eclass with the goggles 96 models bad click on the stroll tell em how we roll cruise controlnuttin make a woman feel betta than berrettas and amarettas butta leathers and mad cheddaz chillin in a benz with my amigos tryin to stick a nigga for his pesosif you say sos then im the same chick that you wanna get with lick up in my twat gotta hit the spot if not dont test the poom poom nanny nanny punanny donny heyno time for fake niggaz just sip some cristal with these real niggaz from east to west coast spread love niggaz and while you niggaz talk shit we count bank figuresi got no time for fake niggaz just sip some cristal with these real niggaz from east to west coast spread love niggaz and while you niggaz talk shit we count bank figureshow you like it baby uhh from the front uhh from the back give that ass a smack bet your man wont do it like that cant work the middle plus his thing too littlelet me grab your tatas do the chacha make you scream papa you da best da da now watch mama go up and down dick to jaw crazy uhh say my name babybefore you nut ima dribble down your butt cheeks make you wiggle then giggle just a little im drinkin babies then i cracks for the mercedes act shady and feel my threeeightyor the raven oohwee i see your girl aint a freak like me or adina huh cant fade the rhinoceros of rap lil kim pussy how preposterous is thatno time for fake niggaz just sip some cristal with these real niggaz from east to west coast spread love niggaz and while you niggaz talk shit we count bank figuresi got no time for fake niggaz just sip some cristal with these real niggaz from east to west coast spread love niggaz and while you niggaz talk shit we count bank figuresuhh right back at cha the one cleopatra diggin in your stash niggaz think they gonna get some ass no money money no licky licky fuck the dicky dickyand the quickie gimme your loot your mac11 then shoot your game aint sweet john paul peeps shouldnt compete if you cant wet it forget it dont sweat it i bet itdmake ya cum smooth if you let it huh you cant stop a bitch from ballin haha to lala to drivebys they be callin and you aint know while you be kickin that old shit we makin hitsplatinum and gold shit i stay draped in diamonds and pearls beside every man is a bad girl thats right ninesix bad boy cmonno time for fake niggaz just sip some cristal with these real niggaz from east to west coast spread love niggaz and while you niggaz talk shit we count bank figuresi got no time for fake niggaz just sip some cristal with these real niggaz from east to west coast spread love niggaz and while you niggaz talk shit we count bank figuresi got no time for fake niggaz just sip some cristal with these real niggaz from east to west coast spread love niggaz and while you niggaz talk shit we count bank figuresi got no time for fake niggaz just sip some cristal with these real niggaz from east to west coast spread love niggaz and while you niggaz talk shit we count bank figuresi got no time for fake niggaz just sip some cristal with these real niggaz from east to west coast spread love niggaz and while you niggaz talk shit we count bank figuresi got no time for fake niggaz just sip some cristal with these real niggaz from east to west coast spread love niggaz and while you niggaz talk shit we count bank figuresi got no time for fake niggaz just sip some cristal with these real niggaz from east to west coast spread love niggaz and while you niggaz talk shit we count bank figuresi got no time for fake niggaz just sip some cristal with these real niggaz from east to west coast spread love niggaz and while you niggaz talk shit we count bank figures ",1
81,"naked eye","luscious jackson",1997," its not a choice i tried to make its not a thought i couldnt take something told me it was time to give you yours and leave me minemy vision started to be clear i watched the sunlight coming near i knew the day i knew the night i knew i could regain my sightand it feels alright and it feels alrightwith my naked eye i saw all the falling rain coming down on me with my naked eye i saw all if i said it all i could seelast night i came into your home to break some ice and throw some stones i asked if we could be alone i had some troubles of my ownknew i had to say goodbye to all the old things held inside if i let the moment fly i knew theyd all be magnifiedand it feels alright and it feels alrightwith my naked eye i saw all the falling rain coming down on me with my naked eye i saw all if i said it all i could seewith my naked eye i saw all the falling rain coming down on me with my naked eye i saw all if i said it all i could seecame around after dark you are nothing but a lark know i snuck in like a narc i knew i had to leave my markwanted to be satisfied i tried to be dignified wearing nothing is divine naked is a state of mindand it feels alright and it feels alrightwith my naked eye i saw all the falling rain coming down on me with my naked eye i saw all if i said it all i could seewith my naked eye i saw all the falling rain coming down on me with my naked eye i saw all if i said it all i could seeit feels alright it feels alright it feels alright it feels alright it feels alright it feels alright it feels alright it feels alright it feels alright ",1
82,"macarena bayside boys mix","los del r'io",1997," dale a tu cuerpo alegria macarena que tu cuerpo es pa darle alegria y cosa buena dale a tu cuerpo alegria macarena hey macarenadale a tu cuerpo alegria macarena que tu cuerpo es pa darle alegria y cosa buena dale a tu cuerpo alegria macarena hey macarenamacarena tiene un novio que se llama que se llama de apellido vitorino que en la jura de bandera el muchacho se la dio con dos amigosmacarena tiene un novio que se llama que se llama de apellido vitorino y en la jura de bandera el muchacho se la dio con dos amigosdale a tu cuerpo alegria macarena que tu cuerpo es pa darle alegria y cosa buena dale a tu cuerpo alegria macarena hey macarenadale a tu cuerpo alegria macarena que tu cuerpo es pa darle alegria y cosa buena dale a tu cuerpo alegria macarena hey macarenamacarena macarena macarena que te gustan los veranos de marbella macarena macarena macarena que te gusta la movida guerrilleradale a tu cuerpo alegria macarena que tu cuerpo es pa darle alegria y cosa buena dale a tu cuerpo alegria macarena hey macarenadale a tu cuerpo alegria macarena que tu cuerpo es pa darle alegria y cosa buena dale a tu cuerpo alegria macarena hey macarenamacarena suena con el corte ingles y se compra los modelos mas modernos le gustaria vivir en nueva york y ligar un novio nuevomacarena suena con el corte ingles y se compra los modelos mas modernos le gustaria vivir en nueva york y ligar un novio nuevodale a tu cuerpo alegria macarena que tu cuerpo es pa darle alegria y cosa buena dale a tu cuerpo alegria macarena hey macarenadale a tu cuerpo alegria macarena que tu cuerpo es pa darle alegria y cosa buena dale a tu cuerpo alegria macarena hey macarenamacarena tiene un novio que se llama que se llama de apellido vitorino y en la jura de bandera del muchacho se la dio con dos amigosmacarena tiene un novio que se llama que se llama de apellido vitorino y en la jura de bandera del muchacho se la dio con dos amigosdale a tu cuerpo alegria macarena que tu cuerpo es pa darle alegria y cosa buena dale a tu cuerpo alegria macarena hey macarenadale a tu cuerpo alegria macarena que tu cuerpo es pa darle alegria y cosa buena dale a tu cuerpo alegria macarena hey macarena ",1
83,"on  on","erykah badu",1997,"oh my my my im feelin high my moneys gone im all alone too much to see the world keeps turnin oh what a day day what a day peace and blessins manifest with every lesson learned if your knowledge were your wealth then it would be well earned if we were made in his image then call us by our name most intellects do not believe in god but they fear him just the same oh on and on and on and on my cipher keeps movin like a rollin stone oh on and on and on and on all right to the break of dawn i go on and on and on and on my cipher keeps movin like a rollin stone oh lord on and on and on and on god damn it im a sing my song i was born under water with three dollars and six dimes yeah you may laugh what cause you did not do your math like one two three damn yall feel that over there like one two three yall feel it over them like one two in the middle yall feel that like one two yall feel that like one two three hah the world keep turnin oh what a day what a day what a day the man that knows somethin knows that he knows nothin at all does it seem colder in your summer time and hotter in your fall if we were made in his image then call us by our names most intellects do not believe in god but they fear us just the same somebody said on and on and on and on my cipher keeps movin like a rollin stone oh lord on and on and on and on all right to the vultures swarm on on on my cipher keeps movin like a rollin stone on on on mad props to the god jah born im feelin kind of hungry cause my high is comin down dont feed me yours cause food your does not endure i think i need a cup of tea the world keeps burnin oh what a day the mothership cant save you so your ass is gon get left if we were made in his image then call us by our names most intellects do not believe in god but they fear us just the same a cup of tea on and on and on and on my cipher keeps moving like a rollin stone and go on on and on on and on on on why cause you did not do your math oh lord on and on and on and on mash my cipher keeps moving like a rollin stone i go on on hah on and on and on i think its time to take the jam deep into the hype hard core cold hypin the mic i just so happen to be tough with a capital t aint no weak ass trick mc keep up rough wit me hard on the mic silly smooth with rhyme you can read about badu in your hip hop time you know im good to go since im up the part yeah im throw up the rope they wanna play tug of war jealousy appears between both your ears cause i been doin this shit for years hah never goin out whack im a female mac so sax get back while my dollars stack potential buy knockin freedom but still hard to handle got it up top dont watch the blank channel got soul cause a monkey take a whiff of the jam youre on with the song just say thank you mam cipher movin",3
84,"dont wanna be a player","joe",1997," dont wanna be a player dont wanna be a player dont wanna be a player dont wanna be a player dont wanna bedont wanna be a player no more i think i found someone i could live my life for dont wanna be a player no more i think i found someone i could live my life for im yours your mine for surei had enough of runnin wild im switchin out my whole lifestyle i dont wanna live the way i used to im givin up the booty cause spinnin cs at the tata bars no leavin with two or three girls to get me offall i need is one whos really down someone to turn this players life around girl i feel like you could be the one to make a difference in my life cuz im tired of livin trifei dont wanna be a player no more i think i found someone i could live my life for dont wanna be a player no more cuz i think i found someone i could live my life for im yours your mine for sureno rolling with an entourage celeb style like a movie star sippin down with the ladies all around me laughin girls off at the way i was of the mornin gettin beeps from milan and delhi a true player never gets a chance to sleep noall i need is one whos really down someone to turn this players life around girl i feel like you could be the one to make a difference in my life cuz im tired of livin trife playerdont wanna be a player no more i think i found someone i could live my life for i dont wanna be a player no more i think i found someone i could live my life for im yours your mine for surebaby girl im buggin over you you got me givin up the things i used to do you got so much in life to gain and to prove to you im gettin out the game no more players styledont wanna be a player no more i think i found someone i could live my life for dont wanna be a player no more i think i found someone i could live my life for im yours your mine for sure  ",1
85,"i shot the sheriff","warren g",1997," 1i shot the sheriffverse 1i had to shoot the sheriff it was justifiable he mistaked me for somebody who was liable for all tha many murders la and war fields we keep makin war shields streets keep souls young brothers loose control i seem to maintain through this watch where ya kick it theyll put you in a twist and it aint nobody like my down ass hommie and tha police always tryin to pin some bullshit on me i keep away from fools they do crime and it attracts cops cops got guns and cuffs and cells to stuff you inchorusverse 2they tryin to stick with some bullshit that i did not do you know who the boys in blue there they go with they assumpitons slaverys over let us have somethin why you wanna pull me over cause im bumpin i just made a new song my profession is music your profession is protection with gats then use it on him when hes tryin to take my life away im just tryin to live my life today so i keep away from fools they do crime it attract cops cops got guns and cuffs and cells to stuff you inchorusverse 3i shot the sheriff i didnt shoot the deputiy i didnt have to cause in this game they always tryin to blast you and leave it to tha cops to find out who did the murder they harrase tha wrong clan and arrest tha wrong man the hommie daydog got strapped but thats okay cause im gonna work for life so he can see another day a hommies a hommie a fake is a snake straight game from tha pen from tha hommie jake so i keep away from fools they do crime it attract cops cops got guns and cuffs and cells to stuff you in ",1
86,"you should be mine dont waste your time","brian mcknight featuring mase",1997,"mase mase and brian mcknight bad boy cmon we dont stop we rock we rock yo i hit you with the sound that the world cant take cant sit out the gig playing 2 8 real studded jewel funded got to love it first rap cat with the rb budget every day on the tv me and pd girls so pretty make their man break the cd why yall forever roudy i be out here somewhere in maui till i go back to cali brian cant understand how he can treat you the that way he does give me the chance to show you baby your better off with me ooh so will you let me try i wanna make you smile i wanna love you like you need to be loved ill never let you go ill always be around and you should be mine he dont love you right dont waste your time dont waste your time he dont treat you like he should no baby you should be mine you should be mine baby why cant you see you should be happy and i dont know why you dont believe a man can love you for the rest of your life so baby let me try i wanna make you smile i wanna love you like you need to be loved ill never let you down ill always be around and you should be mine he dont love you right ooh dont waste your time dont waste your time he dont treat you like he should now then you should be mine you should be mine ooh ooh mase yo what the deal honey insecure feel funny i know youre used to dealin with cats with real money plus i know youre like mase in a lot of ways but its hard to go on when youre lonely in the holidays when you shopping did you shop for 2 uh take you where the waters aqua blue let you fall back treat you like youre all that under umbrellas with your shades and straw hat you aint the one out clubbing all day and all night just to save a fight or say hes right and i know he aint the cat that will stay in you life even though he gave you ice gown that will make you his wife how a man deserve you if he hurt you then he give a woman 25 a curfew between me and you you aint heard that from me cause mase aint the player with the phd brian girl come into my world i love you the way that you need to be loved no worries no more girl open the door and dont waste your time cause you should be mine he dont love you right ooh baby dont waste your time dont waste your time he dont treat you like he should ooh you should be mine should be mine baby baby he dont love you right dont waste your time dont waste your time repeat and fade out",5
87,"dont cry for me argentina","madonna",1997," it wont be easy youll think it strange when i try to explain how i feel that i still need your love after all that ive doneyou wont believe me all you will see is a girl you once knew although shes dressed up to the nines at sixes and sevens with youi had to let it happen i had to change couldnt stay all my life down at heel looking out of the window staying out of the sunso i chose freedom running around trying everything new but nothing impressed me at all i never expected it todont cry for me argentina the truth is i never left you all through my wild days my mad existence i kept my promise dont keep your distanceand as for fortune and as for fame i never invited them in though it seemed to the world they were all i desiredthey are illusions they are not the solutions they promised to be the answer was here all the time i love you and hope you love medont cry for me argentinadont cry for me argentina the truth is i never left you all through my wild days my mad existence i kept my promise dont keep your distancehave i said too much theres nothing more i can think of to say to you but all you have to do is look at me to know that every word is true ",1
88,"someone","swv and puff daddy",1997," lookin at my rollie its about that time for swv to drop a jam on mineplayas talk the talk but they cant walk it we make the whole country bounce when we new york itdont speak about it be about it seein puff on your tube feelin weak about it i got the skill of an actor wind chill factorminus five five coolest man alive baby who dat is oh thats just puff daddy keep you on my mind like i keep me on my shineand i feel fine sex real time while im in your deck on rewind oh i make it hot till youre jellin what pd got since pd rock see me notso many bricks i build a tenement well do the freaky thing baby girl if youre into itim looking for a lover that can make a sacrifice a lover that will understand will always be by my sidei pray the lord so i can find my mr right so who can it be the one for me i needsomeone that i can believe someone to satisfy me i need love someone whos faithful and true oh baby can it be you i need loveoh can it be that youre the one and ive been too blind to see youre everything ill ever need someone will love me for mei wanna know i wanna see my destiny if your love is true ill love you too cause i needsomeone that i can believe someone to satisfy me i need love someone whos faithful and true oh baby can it be you i need lovesomeone that i can believe someone to satisfy me i need love someone whos faithful and true oh baby can it be you i need loveyou could be the one love of a lifetime oh baby can it be the one for me i need to knowwant you to be mine baby why cant you be my everythingcheck this out you all know the steves swvs gone for a minute chillin cross seas back on the scene pocket full of creamnow gone so long thought they was locked in the penile meanwhile they be bumpin in the clubscan we get freaky tonight sho nuff puff and jdub platinum stats plush oriental rugs and platinum plaques come onyou could be the one love of a lifetime oh baby can it be the one for me i need to knowwant you to be mine baby why cant you be my everythingsomeone that i can believe someone to satisfy me i need love someone whos faithful and true oh baby can it be you i need love ",1
89,"go the distance","michael bolton",1997," i have often dreamed of a far off place where a heros welcome would be waiting for me where the crowds would cheer when they see my face and a voice keeps saying this is where im meant to beill be there someday i can go the distance i will find my way if i can be strong i know every mile would be worth my while when i go the distance ill be right where i belongdown an unknown road to embrace my fate though that road may wander it will lead me to you and a thousand years would be worth the wait it might take a lifetime but somehow ill see it throughand i wont look back i can go the distance and ill stay on track no i wont accept defeat its an uphill slope but i wont loose hope till i go the distance and my journey is complete oh yeahbut to look beyond the glory is the hardest part for a heros strength is measured by his heart ohlike a shooting star i will go the distance i will search the world i will face its harms i dont care how far i can go the distance till i find my heros welcome waiting in your armsi will search the world i will face its harms till i find my heros welcome waiting in your arms ",1
90,"one more time","real mccoy",1997," one more timeone more time lets do it again show no shame just call my name one more time again and again dont you want to play my gametwenty fourseven i will make you feel like heaven ill turn you upside down ill spin you round and round ill put a spell on you baby i will make you come and play me im gonna make you mine lets do it one more timeyou spin me round and round and turn me upside down you put a spell on me and hit me to the feelinone more time lets do it again show no shame just call my name one more time again and again dont you want to play my gameplay me play me baby play me show me what you got come play me play me baby play me dont stop dont stopdo it just do it lets do it again and again keep it goin on show no shame come and play the game how did i know that i would do this to you now that ive made you mine lets do it one more timeyou spin me round and round and turn me upside down you put a spell on me and hit me to the feelinone more time lets do it again show no shame just call my name one more time again and again dont you want to play my gameone more time lets do it again show no shame just call my name one more time again and again dont you want to play my gameplay me play me baby play me show me what you got come play me play me baby play me dont stop dont stopyou spin me round and round and turn me upside down you put a spell on me and hit me to the feelinone more time lets do it again show no shame just call my name one more time again and again dont you want to play my gameone more time lets do it again show no shame just call my name one more time again and again dont you want to play my gameplay me play me baby play me show me what you got come play me play me baby play me dont stop dont stopdo it just do it do it just do it do it just do it do it just do it just do it one more time ",1
91,"butta love","next",1997," i gotta be real wit you baby just gotta let you knowyouve got the love that i want the love that i need word is bond its butta baby check this outyoure like my homie my shorty youve shown me so many things and youre so special to me we been kickin it for a while your sexy smile prima donna style ooh youre drivin me so wildaint got no reputation educated conversation and ooh youve got that bomb love makin its more than sexual this love you know is proper dough its oh so so incredibleyouve got the love that i want the love you want youve got the love that i need the love you need girl its so smooth and so creamy youve got that butta love babyyouve got the love that i want the love you want youve got the love that i need the love you need girl its so smooth and so creamy youve got that butta love oh babyyouve got it goin on word is bond sundress with platforms feet pedicure with no corns youve got that sex appeal on the real so sure soft hands french manicure no makeup youre so pureyou dont be trippin when im kickin it s you dont be questionin where i been and what i did you got that confidence sexiness thickness that bomb shit and i like it ohhwhen im chillin with my homies think about it i think about you only you know what i want you got what i want you know what it is its that butta loveall you got to do just hit me on my hip baby and i will i will ill meet you at your crib baby cause ill rock your world ill rock you girl butta babe butta babeyouve got the love that i want the love you want youve got the love that i need the love you need girl its so smooth and so creamy youve got that butta love oh babyyouve got the love that i want the love you want youve got the love that i need the love you need girl its so smooth and so creamy youve got that butta love oh babyyouve got those sexy eyes enticing thighs you make me rise youve got that love i wanna try send my tongue up and down your spine youve got that perfect shape the love you make i scream your name wanna take all your clothes off sex you till the song goes offi like your everything your navel and your pinky ring sexy from head to toe girl never gonna let you go you got that confidence sexiness thickness that bomb and i like it all yeahyouve got it goin on word is bomb baby youve got that sex appeal on the real lady youre like my homie my shorty huh youve got that butta loveyouve got it goin on dont you know thats for sure i like your face and hands and all of your pretty toes baby youre so right youre locked tight youve got that butta love oh i want it i need it ",1
92,"coco jambo","mr president",1997,"ayyayaya coco jambo ayyayai ayyayaya coco jambo ayyayai put me up put me down put my feedback on the ground put me up take my heart and make me happy put me up put me down put my feedback on the ground put me up feel my heart and make me happy here we go gettin smooth to the groove watching lovely ladies how i sooth as i move cause thats what they say but i cant prove so turn it up again and watch me move to the groove as we get close you whisper coco i hold you in my arms and you say jamboo scream and shout turn and say colombo now i gotta go so coco put me up put me down put my feedback on the ground put me up take my heart and make me happy put me up put me down put my feedback on the ground put me up feel my heart and make me happy ayyayaya coco jambo ayyayai ayyayaya coco jambo ayyayai ayye yo ayyayaya coco jambo ayyayai ayyayaya coco jambo ayyayai ayye yo thats the way i treat dem girls kinda smooth see cos theres one man and yo well thats me see so let me show you round while you sip your tee gee but no coco loco boom while i take a pee pee when i hold my baby she says i do it nicer i like my chicken with rice and lemonada and thats what you get when she shout out jamboo now i gotta go yo coco put me up put me down put my feedback on the ground put me up take my heart and make me happy put me up put me down put my feedback on the ground put me up feel my heart and make me happy ayyayaya coco jambo ayyayai ayyayaya coco jambo ayyayai singin everybody ayyayaya coco jambo ayyayai ayyayaya coco jambo ayyayai singin everybody ayyayaya coco jambo ayyayai ayyayaya coco jambo ayyayai ayye yo ayyayaya coco jambo ayyayai ayyayaya coco jambo ayyayai put me up put me down put my feedback on the ground put me up take my heart and make me happy put me up put me down put my feedback on the ground put me up feel my heart and make me happy ayyayaya coco jambo ayyayai coco jambo ayyayaya coco jambo ayyayai ayye yo ayyayaya coco jambo ayyayai coco jambo ayyayaya coco jambo ayyayai ayye yo ayyayaya coco jambo ayyayai",3
93,"twisted","keith sweat",1997," oh yeah baby you got to make your mind up yeah kut klose help me outyou know you are my lover you got me twisted over you i know i got what you need so what you want to dobaby baby i know baby i love you so but you dont feel like i do tell me what can i dobut i gotta be strong you did me wrong when i thought that we were really down so you say you want me make up your mind cause im not gonna be here for longbaby baby in time baby i know youll find that what you needed was here and think about it my dear rpt 2 1breaking up down you got me twisted thinking about the way that things use to be when it was you and me girl i was so free see you had my life like cupid and i was just down right foolish and stupid but now i know the reason for the pain and the headaches you left me all alone now i cant even concentrate i guess ill wait for the day until you come back because my heart is where your love is at you got me twistedrepeat 1 1 ",1
94,"barbie girl","aqua",1997," hiya barbie hi ken do you want to go for a ride sure ken jump inim a barbie girl in a barbie world life in plastic its fantastic you can brush my hair undress me everywhere imagination life is your creationcome on barbie lets go partyim a barbie girl in a barbie world life in plastic its fantastic you can brush my hair undress me everywhere imagination life is your creationim a blond bimbo girl in a fantasy world dress me up make it tight im your dolly youre my doll rocknroll feel the glamor in pink kiss me here touch me there hanky panky you can touch you can play if you say im always yoursim a barbie girl in a barbie world life in plastic its fantastic you can brush my hair undress me everywhere imagination life is your creationcome on barbie lets go party ah ah ah yeah come on barbie lets go party oh oh come on barbie lets go party ah ah ah yeah come on barbie lets go party oh ohmake me walk make me talk do whatever you please i can act like a star i can beg on my knees come jump in bimbo friend let us do it again hit the town fool around lets go partyyou can touch you can play if you say im always yours you can touch you can play if you say im always yourscome on barbie lets go party ah ah ah yeah come on barbie lets go party oh oh come on barbie lets go party ah ah ah yeah come on barbie lets go party oh ohim a barbie girl in a barbie world life in plastic its fantastic you can brush my hair undress me everywhere imagination life is your creationim a barbie girl in a barbie world life in plastic its fantastic you can brush my hair undress me everywhere imagination life is your creationcome on barbie lets go party ah ah ah yeah come on barbie lets go party oh oh come on barbie lets go party ah ah ah yeah come on barbie lets go party oh ohoh im having so much fun well barbie we are just getting started oh i love you ken ",1
95,"when youre gone  free to decide","the cranberries",1997,NA,NA
96,"let me clear my throat","dj kool",1997," at the count of three i want everybody in the place to be to make some noise if ya down with me one two threehit me with the horns tony keep makin noise keep makin noise yeah oh here we go now here we go now here we go now here we go here we go now listensome of yall might know this and some of yall dont jam jam some of yall might be with this and some of yall wont but listen let me clear my throat oh have mercy babe ha i hope ya dont mind let me clear my throatspecial dedication going out to everybody here in bahama bay in philadelphia here we go now check it out ah huh ah huh ah god damnyeah rock to the rhythm of the funky rhyme so i can get this in just one more time to the beat and ya dont quit its that ol skool rap with that new skool hit peter piper picked a pepper but kool got the run and i can still rip up the house every god damn time i get on the mic i go crazy peace out to celo flex and doug lazy i bet cha never knew but now ya know im the undisputed king of this disco and i never let the mic might not tire me no more cause dj kool rip up the whole damn floornow ima rap a rhyme with the greatest of ease and swing it like the man on the flying trapeze and if you dont like it you grab on these and now i need some help from the maestro pleasejam ha so look it here check the flavor of the rhythm i wrote and while i got a chance here let me clear my throat oh have mercy babe ha i hope ya dont mind let me clear my throat i need these monitors right here music and the monitors and it goes a little something like this here ah huh ah huh ahnow if yall wanna party like we do if yall wanna party like us lemme hear ya say ah ah ah ah ah if yall wanna party like we do if yall wanna party like us lemme hear ya say ah ah ah ah ah ah ah ah now when i say uh you say ah uh crowd uh crowd and now when i say hey you say ha hey crowd hey crowd now when i say uh you say ah uh crowd uh crowd now when i say hey you say ha hey crowd now when i say freeze you just freeze one time when i say freeze yall stop on a dime when i say freeze you just freeze one time when i say freeze yall stop on a dime freezenow all the ladies in the place if you got real hair real fingernails if you got a job you going to school and yall need nobody to help you handle your business make some noiseone two three come on now when i say freeze you just freeze one time when i say freeze yall stop on a dime when i say freeze you just freeze one time when i say freeze yall stop on a dime freezenow to all the brothas in the place that dont give a damn about what the ladies talking about cause you just trying to get chummy make some noisenow now now let me clear my throat oh have mercy babe ha i hope you dont mind let me clear my throat special dedication going out to all the ladies and all the brothers in here like to love yall to death hereah huh ah huh ah god damn oh lemme send my little shout outs here special dedication once again going out to everybody here bahama bay in philadelphia we love yall madly special dedication going out to mellow t walt reeder da joiner don mack charlie mack dj ran cosmic kev special dedication going out to frank steed al orrizo ice t and if youre with me if youre with me i need some help from the music from the maestro check it out somebody make some noise in this joint man ",1
97,"i like it","the blackout allstars",1997,"i like it like that yeah baby i like it like that i like it like that i like it like that i got soul i got soul i like it like that por ti me quiero i like it like that oh oh baby i like it like that i like it like that i like it like that si aqui me quiero mi amour i like it like that i got soul i got soul i like it like that yeah baby i like it like that i like it like that i like it like that si aqui me quiero i like it like that i want you like that i like it like that i got soul i got soul stomp your feet if you like my beat clap your hands if you want some more stomp your feet if you like my beat clap your hands if you want some more stomp your feet if you like my beat i like i like it i like it like that i like i like it i like it like that i got soul i like it i like it i like it i like it yeah baby i like it like that i like it like that yeah baby i like it like that i like it like that i like it like that si aqui me quiero i like it like that si aqui me quiero mi amour i like it like that yeah baby i like it like that i like it like that i like it like that i got soul i got soul i like it like that i got soul i got soul i like it like that yeah i like it like that i like it like that i like it like that",3
98,"youre makin me high  let it flow","toni braxton",1997,NA,NA
99,"you must love me","madonna",1997," where do we go from here this isnt where we intended to be we had it all you believed in me i believed in youcertainties disappear what do we do for our dream to survive how do we keep all our passions alive as we used to dodeep in my heart im concealing things that im longing to say scared to confess what im feeling frightened youll slip awayyou must love me you must love mewhy are you at my side how can i be any use to you now give me a chance and ill let you see how nothing has changeddeep in my heart im concealing things that im longing to say scared to confess what im feeling frightened youll slip awayyou must love me you must love me you must love me ",1
100,"let it go","ray j",1997,"uh huh yeah uh huh yeah come on yall dont stop yall gotta make yall rock yall come on yall dont stop yall stevie gotta make ya rock yall every now and then it invades my mind some have missed a place through the hard times from the 9 to 5 or just a world they see but get your boogey shoes theres a remedy i insist that you relax and let it go i insist that you believe its gonna get better i insist you understand right now you cant do nothin better so let it go everybodys out on the floor dont you know cant do nothin better so let it go set your troubles free dance with me loose control let it go every now and then it seems hard to find some have lost their way of loving peace of mind and if theres any pain or hostility well get down on the floor cuz theres a remedy i insist that you be down and ready to party i insist that you relax and let it go i insist that you believe its gonna get better i insist you understand right now you cant do nothin better so let it go everybodys out on the floor dont you know cant do nothin better so let it go set your troubles free dance with me loose control let it go let it go guess its time to let it go even if your feelings show its okay to let it go guess its time to let it a one two a one two a one two come on yall dont stop yall everybodys out on the floor dont you know cant do nothin better so let it go set your troubles free dance with me loose control let it go cant do nothin better so let it go everybodys out on the floor dont you know cant do nothin better so let it go set your troubles free dance with me loose control let it go come on yall dont stop yall stevies gotta make ya rock yall dont stop yall uh huh yeah they wont stop yall uh huh yeah yeah yeah yeah yeah yeah",3
1,"too close","next",1998," i wonder if she could tell im hard right now hm yeah come on dance for me baby ha ha yeah oh oh you feel that alright come on dont stop now you done did it come on uh yeah alright hold on baby when were grinding i get so excited ooh how i like it i try but i cant fight it oh your dancing real close plus its real real slow you know what youre doing dont you youre making it hard for meall the slow songs you requested youre dancing like youre naked oh its almost like were sexing oh yeah yeah boo i like it no i cant deny it but i know you can tell im excited oh girlstep back youre dancing kinda close i feel a little poke coming through on younow girl i know you felt it boo you know i cant help it you know what i want to dobaby when were grinding i get so excited ooh how i like it i try but i cant fight it oh your dancing real close plus its real real slow you know what youre doing dont you youre making it hard for mebaby girls dancing so close aint a good idea cause imma want you now and here the way that you shake it on me makes me want you so bad sexually oh girlstep back youre dancing kinda close i feel a little poke coming through on younow girl i know you felt it boo you know i cant help it you know what i want to dobaby when were grinding i get so excited ooh how i like it i try but i cant fight it oh your dancing real close plus its real real slow you know what youre doing dont you youre making it hard for mebaby when were grinding i get so excited ooh how i like it i try but i cant fight it oh your dancing real close plus its real real slow you know what youre doing dont you youre making it hard for mei love when you shake it like that ah ah ah i see that you like it like that oh oh oh i love when you shake it like that ah ah ah i see that you like it like that oh oh ohwell baby i like the way that you grind on mebaby when were grinding i get so excited ooh how i like it i try but i cant fight it oh your dancing real close plus its real real slow you know what youre doing dont you youre making it hard for mei like the way you move youre making me want you oh the way i like those things you do but youre a little too close ",1
2,"the boy is mine","brandy and monica",1998," the boy is mine the boy is mine the boy is mine the boy is mine the boy is mineexcuse me can i please talk to you for a minute uh huh sure you know you look kinda familiar yeah you do to but i just wanted to know do you know somebody named oh you know his name oh yeah definitely i know his name well i just want to let you that hes mine huh no no hes mineyou need to give it up had about enough its not hard to see the boy is mine im sorry that you seem to be confused he belongs to me the boy is minethink its time we got this straight sit and talk face to face there is no way you could mistake him for your man are you insanebut see i know that you may be just a bit jealous of me but your blind if you cant see that his love is holding mesee i tried to hesitate i didnt want to say what he told me he said without me he couldnt make it through the day aint that a shamebut maybe you misunderstood cause i cant see how he could wanna change something thats so good all my love was all it took the boy is mineyou need to give it up had about enough its not hard to see the boy is mine im sorry that you seem to be confused he belongs to me the boy is minemust you do the things you do you keep on acting like a fool you need to know its me not you and if you didnt know its cause its truei think that you should realize and try to understand why he is apart of my life i know its killing you insideyou can say what you wanna say what we have you cant take from the truth you cant escape i can tell the real from the fakewhen will you get the picture your the past im the future get away its my time to shine if you didnt know the boy is mineyou need to give it up had about enough its not hard to see the boy is mine im sorry that you seem to be confused he belongs to me the boy is mineyou need to give it up oh oh oh oh oh oh oh had about enough had about enough its not hard to see hes mine hes mine hes mine hes mine the boy is mine im sorry that you im so sorry you seem to be confused seem to be confused he belongs to me he belongs to me the boy is mineyou cant destroy this love ive found your silly games i wont allow the boy is mine without a doubt you might as well throw in the towelwhat makes you think that he wants you when im the one that brought him to the special place thats in my heart he was my love right from the startyou need to give it up had about enough its not hard to see the boy is mine im sorry that you seem to be confused he belongs to me the boy is mineyou need to give it up had about enough its not hard to see the boy is mine im sorry that you seem to be confused he belongs to me the boy is minethe boy is mine not yours but mine not yours but mine not yours but mineim sorry that you seem to be confused he belongs to me the boy is mine ",1
3,"youre still the one","shania twain",1998," when i first saw you i saw love and the first time you touched me i felt love and after all this time youre still the one i lovelooks like we made it look how far weve come my baby we mighta took the long way we knew wed get there somedaythey said i bet theyll never make it but just look at us holding on were still together still going strongyoure still the one youre still the one i run to the one that i belong to youre still the one i want for life youre still the one youre still the one that i love the only one i dream of youre still the one i kiss good nightaint nothin better we beat the odds together im glad we didnt listen look at what we would be missinthey said i bet theyll never make it but just look at us holding on were still together still going strongyoure still the one youre still the one i run to the one that i belong to youre still the one i want for life youre still the one youre still the one that i love the only one i dream of youre still the one i kiss good nightyoure still the oneyoure still the one youre still the one i run to the one that i belong to youre still the one i want for life youre still the one youre still the one that i love the only one i dream of youre still the one i kiss good night ",1
4,"truly madly deeply","savage garden",1998," ill be your dream ill be your wish ill be your fantasy ill be your hope ill be your love be everything that you need i love you more with every breath truly madly deeply do i will be strong i will be faithful cause im counting on a new beginning a reason for living a deeper meaningi want to stand with you on a mountain i want to bathe with you in the sea i want to lay like this forever until the sky falls down on meand when the stars are shining brightly in the velvet sky ill make a wish send it to heaven then make you want to cry the tears of joy for all the pleasure and the certainty that were surrounded by the comfort and protection of the highest power in lonely hours the tears devour youi want to stand with you on a mountain i want to bathe with you in the sea i want to lay like this forever until the sky falls down on meoh can you see it baby you dont have to close your eyes cause its standing right before you all that you need will surely comeill be your dream ill be your wish ill be your fantasy ill be your hope ill be your love be everything that you need ill love you more with every breath truly madly deeply doi want to stand with you on a mountain i want to bathe with you in the sea i want to lay like this forever until the sky falls down on mei want to stand with you on a mountain i want to bathe with you in the sea i want to live like this forever until the sky falls down on me ",1
5,"how do i live","leann rimes",1998," how do i get through one night without you if i had to live without you what kind of life would that beoh i i need you in my arms need you to hold youre my world my heart my soul and if you ever leave baby you would take away everything good in my life and tell me nowhow do i live without you i want to know how do i breathe without you if you ever go how do i ever ever survive how do i how do i oh how do i livewithout you thered be no sun in my sky there would be no love in my life thered be no world left for meand i baby i dont know what i would done id be lost if i lost you if you ever leave baby you would take away everything real in my life and tell me nowhow do i live without you i want to know how do i breathe without you if you ever go how do i ever ever survive how do i how do i oh how do i liveplease tell me baby how do i go on if you ever leave baby you would take away everything i need you with me baby dont you know that youre everything good in my life and tell me nowhow do i live without you i want to know how do i breathe without you if you ever go how do i ever ever survive how do i how do i oh how do i livehow do i live without you how do i live without you baby how do i live ",1
6,"together again","janet",1998,"there are times when i look above and beyond there are times when i feel your love around me baby ill never forget ma baby ill never forget you there are times when i look above and beyond there are times when i feel your love around me baby ill never forget ma baby when i feel that i dont belong draw my strength from the words when you said hey its about you baby look deeper inside you baby dream about us together again when i want us together again baby i know well be together again cause everywhere i go every smile i see i know you are there smilin back at me dancin in moonlight i know you are free cuz i can see your star shinin down on me together again ooh good times well share again together again ooh that makes me wanna dance together again ooh say it loud and proud together again ohh all my loves for you always been a true angel to me now above i cant wait for you to wrap your wings around me baby wrap them around me baby sometimes hear you whisperin no more pain no worries will you ever see now baby im so happy for ma baby i dream about us together again when i want us together again baby i know well be together again cause everywhere i go every smile i see i know you are there smilin back at me dancin in moonlight i know you are free cuz i can see your star shinin down on me together again ooh good times well share again together again ooh that makes me wanna dance together again ooh say it loud and proud together again ohh all my loves for you there are times when i look above and beyond there are times when i feel you smile upon me baby ill never forget ma baby whatll i give just to hold you close as on earth in heaven we will be together baby together again ma baby everywhere i go every smile i see i know you are there smilin back at me dancin in moonlight i know you are free cuz i can see your star shinin down on me everywhere i go every smile i see i know you are there smilin back at me dancin in moonlight i know you are free cuz i can see your star shinin down on me",3
7,"all my life","kci  jojo",1998,NA,NA
8,"candle in the wind 1997","elton john",1998," goodbye englands rose may you ever grow in our hearts you were the grace that placed itself where lives were torn apart you called out to our country and you whispered to those in pain now you belong to heaven and the stars spell out your nameand it seems to me you lived your life like a candle in the wind never fading with the sunset when the rain set in and your footsteps will always fall here along englands greenest hills your candles burned out long before your legend ever willloveliness weve lost these empty days without your smile this torch well always carry for our nations golden child and even though we try the truth brings us to tears all our words cannot express the joy you brought us through the yearsand it seems to me you lived your life like a candle in the wind never fading with the sunset when the rain set in and your footsteps will always fall here along englands greenest hills your candles burned our long before your legend ever willgoodbye englands rose may you ever grow in our hearts you were the grace that placed itself where lives were torn apart goodbye englands rose from a country lost without your soul wholl miss the wings of your compassion more than youll ever knowand it seems to me you lived your life like a candle in the wind never fading with the sunset when the rain set in and your footsteps will always fall here along englands greenest hills your candles burned out long before your legend ever will ",1
9,"nice  slow","usher",1998,"ah whatcha doing really you know im coming over right now baby tell me what you wanna do with me now you got it hot for me already baby okay ill be there in about uh give me ten minutes be ready eh wear that little thing i like now baby tell me what you wanna do with me its seven oclock on the dot im in my drop top cruisin the streets i gotta real pretty pretty little thing thats waiting for me i pull up anticipating good love dont keep me waiting i got plans to put my hands in places ive never seen girl you know what i mean let me take you to a place nice and quiet where there aint no one there to interrupt aint gotta rush i just wanna take it nice and slow now baby tell me what you wanna do with me see i been waiting for this for so long well be making love until the sun comes up baby i just wanna take it nice and slow now baby tell me what you wanna do with me now here we are driving around town contemplating where im gonna lay you down girl you got me saying my my my i wish that i could pull over and get this thing started right now i wanna do something freaky to you babe i dont think they heard me i i wanna do something freaky to you babe so call out my name they call me u s h e r  r a y m o n d now baby tell me what you wanna do with me gotta nigga feenin like jodeci every time that you role with me holding me trying to get control of me nice and slowly you know never lettin go never messin up the flow incomprehensible go come on 220 let me take you to a place nice and quiet where there aint no one there to interrupt aint gotta rush i just wanna take it nice and slow now baby tell me what you wanna do with me see i been waiting for this for so long well be making love until the sun comes up baby i just wanna take it nice and slow now baby tell me what you wanna do with me now tell me do you wanna get freaky coz ill freak you right i will ill freak you right i will ill freak you like no one has ever ever made you feel ill freak you right i will ill freak you right i will ill freak you freak you like no one has ever made you feel yeah now baby tell me what you wanna do with me now baby tell me what you wanna do with me",3
10,"i dont want to wait","paula cole",1998," so open up your morning light and say a little prayer for i you know that if we are to stay alive then see the peace in every eyeshe had two babies one was six months one was three in the war of 44 every telephone ring every heartbeat stinging when she thought it was god calling her oh would her son grow to know his fatheri dont want to wait for our lives to be over i want to know right now what will it be i dont want to wait for our lives to be over will it be yes or will it be sorryhe showed up all wet on the rainy front step wearing shrapnel in his skin and the war he saw lives inside him still its so hard to be gentle and warm the years pass by and now he has granddaughtersi dont want to to wait for our lives to be over i want to know right now what will it be i dont want to wait for our lives to be over will it be yes or will it be sorryyou look at me from across the room youre wearing your anguish again believe me i know the feeling it sucks you into the jaws of anger so breathe a little more deeply my love all we have is this very moment and i dont want to do what his father and his father and his father did i want to be here now so open up your morning light and say a little prayer for i you know that if we are to stay alive then see the peace in every eyei dont want to to wait for our lives to be over i want to know right now what will it be i dont want to wait for our lives to be over will it be yes or will it be sorry ",1
11,"hows it going to be","third eye blind",1998," im only pretty sure that i cant take anymore before you take a swing i wonder what are we fighting for when i say out loud i want to get out of this i wonder is there anything im going to miss i wonder how its going to be when you dont know me hows it going to be when youre sure im not there hows it going to be when theres no one there to talk to between you and me cause i dont care hows it going to be hows it going to be where we used to laugh theres a shouting match sharp as a thumbnail scratch a silence i cant ignore like the hammock by the doorway we spent time in swings empty dont see lightning like last fall when it was always about to hit me i wonder hows it going to be when it goes down hows it going to be when youre not around hows it going to be when you found out there was nothing between you and me cause i dont care hows it going to be and hows it going to be when you dont know me anymore and hows it going to be want to get myself back in again the soft dive of oblivion i want to taste the salt of your skin the soft dive of oblivion oblivion hows it going to be when you dont know me anymore hows it going to be hows it going to be hows it going to be ",1
12,"no no no","destinys child",1998," this is the remix the jeeps pump this new remix this is the remix radios play this remix this is the remix the croups pump this remix this is the remix the refugees camp have the remixdestinys child we bout to set it this is the remix the streets pump the remix this is the remix every project come on come on destinys childboy i know you want me i can see it in your eyes but you keep on fronting wont you say whats on your mind cause each and every time you need me you give me signs but when i ask you whats the deal you hold it all insideif you wanna be with me you gotta keep it real tell me whats goin on tell me how you feel cause boy i know you want me just as much as i want you so come and get my love its all here for youyoull be saying no no no no no when its really yeah yeah yeah yeah yeah youll be saying no no no no no when its really yeah yeah yeah yeah yeahyoull be saying no no no no no when its really yeah yeah yeah yeah yeah youll be saying no no no no no when its really yeah yeah yeah yeah yeahif you keep actin this way youre gonna lose my love i aint got no time to play you better hurry up cause every time i come around crews run around your way i see you on the corner but you dont know what to saywhen i walk up to you baby you seem so shy whats the problem baby never had a girl like i i can see right through you and you know you wanna be mine so get your act together cause youre running out of timeyoull be saying no no no no no when its really yeah yeah yeah yeah yeah youll be saying no no no no no when its really yeah yeah yeah yeah yeahyoull be saying no no no no no when its really yeah yeah yeah yeah yeah youll be saying no no no no no when its really yeah yeah yeah yeah yeahevery time i see you with your boys you pretend as if you dont want me when you get home you call me on the phone and tell me how much you careyo close your eyes shorty youre guaranteed to be hypnotized by the remix that wyclef provides i dont care bout your sizegirl shake your thighs all im tryin to do in the hood is stay alive make a little money with destinys childthugs hear this song they dance they go wild like texas they movin like no limit soldiers they went from a dream to the young supremes sing it girlsyoull be saying no no no no no when its really yeah yeah yeah yeah yeah youll be saying no no no no no when its really yeah yeah yeah yeah yeahyoull be saying no no no no no when its really yeah yeah yeah yeah yeah youll be saying no no no no no when its really yeah yeah yeah yeah yeahyoull be saying no no no no no when its really yeah yeah yeah yeah yeah youll be saying no no no no no when its really yeah yeah yeah yeah yeahyoull be saying no no no no no when its really yeah yeah yeah yeah yeah youll be saying no no no no no when its really yeah yeah yeah yeah yeah ",1
13,"my heart will go on","celine dion",1998," every night in my dreams i see you i feel you that is how i know you go onfar across the distance and spaces between us you have come to show you go onnear far wherever you are i believe that the heart does go on once more you open the door and youre here in my heart and my heart will go on and onlove can touch us one time and last for a lifetime and never let go till were gonelove was when i loved you one true time i hold to in my life well always go onnear far wherever you are i believe that the heart does go on once more you open the door and youre here in my heart and my heart will go on and onyoure here theres nothing i fear and i know that my heart will go on well stay forever this way you are safe in my heart and my heart will go on and on ",1
14,"gettin jiggy wit it","will smith",1998," on your mark ready set lets go dance floor pro i know you know i go psycho when my new joint hit just cant sit got to get jiggy wit it thats it now honey honey come ride dkny all up in my eye you gotta prada bag with a lot a stuff in it give it to your friend lets spin everybody lookin at me glancin the kid wish you nig was dancin the jig here with this handsome kid cigacigar right from cubacuba i just bite it its for the look i dont light it illway the amay on the anceday orflay give it up jiggy make it feel like foreplay yo my cardio is infinite ha ha big willie styles all in itgettin jiggy wit it na na na na na na na nana na na na na nana gettin jiggy wit it na na na na na na na nana na na na na nana gettin jiggy wit it na na na na na na na nana na na na na nana gettin jiggy wit it na na na na na na na nana na na na na nanawhat you want to ball with the kid watch your step you might fall trying to do what i did mamaunh mamaunh mama come closa in the middle of the club with the rubadub no love for the haters mad cause i got floor seats at the lakers see me on the fifty yard line with the raiders met ali he told me im the greatest i got the fever for the flavor of a crowd pleaser dj play another from the prince of this your highness only bad chicks ride in my whips south to the west to the east to the north bought my hits and watch em go off a go off ah yes yes yall ya dont stop in the winter or the summertime i makes it hotgettin jiggy wit it na na na na na na na nana na na na na nana gettin jiggy wit it na na na na na na na nana na na na na nana gettin jiggy wit it na na na na na na na nana na na na na nana gettin jiggy wit it na na na na na na na nana na na na na nanaeightfifty is if you need a lift whos the kid in the drop who else will smith livin that life some consider a myth rock from south street to one two fifth women used to tease me give it to me now nice and easy since i moved up like george and wheezey cream to the maximum i be askin em would you like to bounce with the brother thats platinum never see will attackin em i rather play ball with shaq and em flatten em psyche hittin you thought i took a spill but i didnt trust the lady of my life she hittin hit her with a drop top with the ribbon crib for my mom on the outskirts of philly you trying to flex on me dont be sillygettin jiggy wit it na na na na na na na nana na na na na nana gettin jiggy wit it na na na na na na na nana na na na na nana gettin jiggy wit it na na na na na na na nana na na na na nana gettin jiggy wit it na na na na na na na nana na na na na nana ",1
15,"you make me wanna","usher",1998," this is what you do this is what you do this is what you do this is what you doyou make me wanna leave the one im with to start a new relationship with you this is what you do think about a ring and all the things that come along with you make me you make me wannaleave the one im with to start a new relationship with you this is what you do think about a ring and all the things that come along with you make me you make mebefore anything came between us you were like my best friend the one i used to run an talk to when me and my girl was having problems you used to say it would be okay suggest little nice things i should do and when i come home at night and lay my head down all i seem to think about is you and howyou make me wanna leave the one im with to start a new relationship with you this is what you do think about a ring and all the things that come along with you make me you make me wannaleave the one im with to start a new relationship with you this is what you do think about a ring and all the things that come along with you make me you make menow whats bad is youre the one that hooked us up knowing it shouldve been you whats sad is i love her but im falling for you what should i do should i tell my baby byebye should i do exactly what i feel inside cause i i dont wanna go dont need to stay but i really need to get it togetheryou make me wanna leave the one im with to start a new relationship with you this is what you do think about a ring and all the things that come along with you make me you make me wannaleave the one im with to start a new relationship with you this is what you do think about a ring and all the things that come along with you make me you make meat this point the situations out of control i never meant to hurt her but i gotta let her go and if she may not understand it why all of this is going on i tried i tried to fight it but the feelings just to strongyou make me wanna you make me wanna you make me wanna you make me wannayou make me wanna you make me wanna you make me wanna come along with you make meyou make me wanna leave the one im with to start a new relationship with you this is what you do think about a ring and all the things that come along with you make me you make me wannaleave the one im with to start a new relationship with you this is what you do think about a ring and all the things that come along with you make me you make meyou make me wanna leave the one im with to start a new relationship with you this is what you do think about a ring and all the things that come along with you make me you make me wannaleave the one im with to start a new relationship with you this is what you do ",1
16,"my way","usher",1998," yo see its rare that you find people like us cause yall the other look out there doin what im doin or tryin to do what im doin but you cant cause i do what i do my way what about you huh huh come oni do any and everything you want to make your girl say ooh ooh whys he so flyshe beeps me whenever she wanna get freaky you can get mad if you want too do whatever you want but she still gon give it up she likes itmy way my way my way you cant satisfy her needs she keeps runnin back to see me do it my way my way what i say goes and im in controldont check me check me it was your girl who let me let me take it this far then ooh wee ooh we she had to have every chance that she could get but you think you a baller and i aint gon call her clip that you can get mad if you want to say whatever you want but she still gon give it up cause she likes itmy way ooh my way you cant satisfy her needs she keeps runnin back to see me do it my way my way what i say goes and im in controlim standing here where you ought to be got you mad at me cause i got your lady you aint got to worry i aint trying to romance all i wanna do is make her dance with memy way oh my way my way you cant satisfy her needs she keeps runnin back to see me do it my way my way what i say goes and im in controlmy way my way you cant satisfy her needs she keeps runnin back to see me do it my way my way and what i say goes and im in controlmy way my way you cant satisfy her needs she keeps runnin back to see me do it my way my way what i say goes and im in control ",1
17,"my all","mariah carey",1998," i am thinking of you in my sleepless solitude tonight if its wrong to love you then my heart just wont let me be right cause ive drowned in you and i wont pull through without you by my sideid give my all to have just one more night with you id risk my life to feel your body next to mine cause i cant go on living in the memory of our song id give my all for your love tonightbaby can you feel me imagining im looking in your eyes i can see you clearly vividly emblazoned in my mind and yet youre so far like a distant star im wishing on tonightid give my all to have just one more night with you id risk my life to feel your body next to mine cause i cant go on living in the memory of our song id give my all for your love tonight ",1
18,"the first night","monica",1998,"baby baby tell me whats up can you hear me or do i do i need to turn it up huh huh baby baby tell me whats up can you hear me or do i do i need to turn it up huh what baby baby tell me whats up can you hear me or do i do i need to turn it up huh huh baby baby tell me whats up can you hear me or do i do i need to turn it up huh what boy this evening was it only me feeling completely down to be open down to be open for some satisfaction didnt want to say yes afraid of your reaction i knew it was wrong for feeling this way especially the thought of givin in on the first date couldnt let go it stayed on my mind at the end of the night i had to decide i was thinkin i should make a move but i wont i know your probly thinkin something is wrong knowing if i do that it wont be right i dont get down on the first night i should make a move but i wont and then you probly thinkin something is wrong knowing if i do that it wont be right i wanna get down but not the first night we was chillin watching your tv i felt it was comin the closer that you got to me wanted to touch you wanted to kiss you and some how in one night discover i love you felt so right but it felt so wrong and look how were caryin on tryin to say things to get me to stay but my watch is telling me its getting to late im thinkin i should make a move but i wont i know your probly thinkin something is wrong knowing if i do that it wont be right i dont get down on the first night i should make a move but i wont i know you probly thinkin something is wrong knowing if i do that it wont be right i wanna get down but not the first night if you want me you got to know me and if you want my love you gotta wait my love baby thats the way its got to be get to know me so we can do this ooh i should i know your probably thinkin knowin if i do i dont get down on the first night i should make a move but i wont i know your probably thinkin something is wrong knowing if i do that it wont be right i wanna get down but not the first night i should make a move but i wont i know your probably thinkin something is wrong knowing if i do that it wont be right i dont get down on the first night i should make a move but i wont i know your probably thinkin something is wrong knowing if i do that it wont be right i wanna get down but not the first night i should make a move but i wont i know your probably thinkin something is wrong knowing if i do that it wont be right i dont get down on the first night i should make a move but i wont i know your probably thinkin something is wrong knowing if i do that it wont be right i wanna get down but not the first night",3
19,"been around the world","puff daddy featuring the notorious big and mase",1998," intro mase yo yo this mase youknowhatimsayin you got niggaz that dont like me for whatever reason you got niggaz that dont wanna see me rich you got niggaz thats mad cause im always with they bitch then you got niggaz that just dont like me you know the those phd niggaz but you know i pop a lot of shit but i back it up though see its a difference a lot of niggaz pop shit but a lot of niggaz dont make hits but its like this whole bad boy shit we come to bring it to yall niggaz me bi puff lox whoever black rob if you wanna dance we dance verse one mase now trick what lace who that aint what mase do got a lot of girls thatd love to replace you tell you to your face boo not behind your back niggaz talk shit we never mind that funny never find that puff a dime stack write hot shit and make a nigga say rewind that niggaz know we go against the harlem jigalo getcha hoe lick her low make the bitch hit the do i represent honies with money fly guys with gems drive with the tints that be thirtyfive percent hoes hope i lay so i look both ways cop says ok my tint smoke gray no way nigga leave without handin me my shit got plans to get my land and my 6 niggaz outta penll understand this shit pop champagne like i won a championship uhh uhh chorus sung by notorious big spoken words by puff been around the world and i i i and we been playa hated say what i dont know when and i dont know why why they want us faded ahehe i dont know why they hate us yeah is it our ladies uhhuh or i drive mercedes uhh uhh baybee baybee verse two puff daddy i was in one bedroom dreamin of a million yeah now im in beach houses cream to the ceiling thats right i was a gentleman livin in tenements now im swimmin in all the women that be tens hoo went from bad boys to the crushed linen men now my dividends be the new benjamins uhhuh hoes of all complexions i like cinnamon mase you got some hoes well nigga send em in cmon what you waitin for let the freak show begin how they came in a truck mase nah puff thats a benz mercedes cmere baby you dont like the way its hot and hazy never shady you must be crazy its ridiculous how you put your lips on this dont kiss right there girlfriend im ticklish heheh and i be switchin fees with a wrist full of gs nigga please im the macaroni with the cheese chorus verse three puff daddy mase now puff rule the world even though im young i make it my biz to see that all ladies come yeah get em all strung from the tip of my tongue lick em places niggaz wouldnt dare put they faces cmon before i die hope i remake a flow by in the brand new treasure on a old try never my throat dry even when the smoke lie eat the mami chochi and drive a lowride we never ride far packed five in a car save money for the drinks im about to buy the bar yeah and everywhere i drive im a star little kids all on the corner scream thats my car it was days couldnt be fly now im in a ti come in clubs with bi now a nigga vi uhhuh rock tons of gold nuff money i fold roll the way you wanna roll break a hundred out the toll chorus w slight modifications line 1 puff cmon yeah yeah uhhuh line 2 puff we been playa hated line 3 puff why line 4 puff why they want us hated line 5 puff why they hate us line 6 puff is it our ladies line 7 puff say what line 8 puff yeah baybee baybee chorus w puff talking while big sings you know sometimes i gotta ask myself whys there so much jealousy in the world dont look at mine get yours music fades radio show from bigs album continued ok after these messages well be back with the mad rapper and his brother the mad producer after this applause ok just sit back relax and enjoy yourself well get you through this take a sip of water deep breath thatll do it and welcome back as you can see you got the check though im trevor jones and im sitting in ive been conversing with the mad rapper did you get the check though and hes still pretty mad but this time he brought someone else with him and quite frankly yeah yeah hes even madder you god damn right mr producer yo youknowhatimsayin why are you so mad yo iiiiiii ima ima keep it real simple for you yeah ttttttell them niggaz why you mad son tell them niggaz why you mad son ok gentlemen please one at a time tell em why you mad son word up tell em why you mad son youknowhatimsayin iiiiiii iiiiiii be i be i been i been i been here for the culture youknowhatimsayin i dont i dont i dont i dont i dont be recognizin all that new jack shit yo we dont play we dont play that shit youknowhatimsayin please mr producer explain yourself mr rapper please calm down that nigga be on some bullshit youknowhatimsayin we aint we dont do that shit word yeah he aint no real producer neither and then come to find out youknowhatimsayin my brother hipped me to it the nigga tryin to rap now oh yeah thats the shit that got me mad please mr rapper once again thats the shit that got me mad thats the shit youknowhatimsayin its a family oriented show youknowhatimsayin thats the shit that feds me up gentlemen please word up youknowhatimsayin disregard the foul language im watchin this nigga video youknowhatimsayin they got mermaids swimmin in they living rooms and shit like that youknowhatimsayin this nigga dancin in the rain with kids climbin up mountains and shit youknowhatimsayin im im im watchin this nigga video im gonna have to ask you to refrain from the language the car goin two hundred miles an hour where the fuck is he goin please mr rapper please refrain from the foul language the nigga climbin out the fuckin car one more time let me see you try that shit on a train youknowhatimsayin try that shit on a fuckin train what kind of shit youknowhatimsayin got a thousand niggaz write for him let me write for you son my shit is jumpin i got john blaze shit ",1
20,"adia","sarah mclachlan",1998," adia i do believe i failed you adia i know ive let you down dont you know i tried so hard to love you in my way its easy let it goadia im empty since you left me trying to find a way to carry on i search myself and everyone to see where we went wrongcause theres no one left to finger theres no one here to blame theres no one left to talk to honey and there aint no one to buy our innocencecause we are born innocent believe me adia we are still innocent its easy we all falter does it matteradia i thought that we could make it but i know i cant change the way you feel i leave you with your misery a friend who wont betray i pull you from your tower i take away your pain and show you all the beauty you possess if youd only let yourself believe thatwe are born innocent believe adia we are still innocent its easy we all falter does it matter believe me adia we are still innocent cause we are born innocent adia we are still innocent its easy we all falter but does it mattercause we are born innocent believe me adia we are still innocent its easy we all falter does it matterbelieve me adia we are still innocent cause we are born innocent believe me adia we are still innocent its easy we all falter does it matter ",1
21,"crush","jennifer paige",1998," ah crush ahi see ya blowin me a kiss it doesnt take a scientist to understand whats going on baby if you see something in my eye lets not over analyze dont go too deep with it babyso let it be what itll be dont make a fuss and get crazy over you and me heres what ill do ill play loose not like we have a date with destinyits just a little crush crush not like i faint every time we touch its just some little thing crush not like everything i do depends on you shalalala shalalalaits raising my adrenaline youre banging on a heart of tin please dont make too much of it baby you say the word forevermore thats not what im looking for all i can commit to is maybeso let it be what itll be dont make a fuss and get crazy over you and me heres what ill do ill play loose not like we have a date with destinyits just a little crush crush not like i faint every time we touch its just some little thing crush not like everything i do depends on you shalalala shalalalavanilla skies vanilla skies white picket fences in your eyes a vision of you and meits just a little crush crush not like i faint every time we touch its just some little thing crush not like everything i do depends on you shalalala not like i faint every time we touch its just some little thing not like everything i do depends on you shalalala not like i faint every time we touch its just some little thing not like everything i do depends on you ",1
22,"everybody backstreets back","backstreet boys",1998," everybody rock your body everybody rock your body right backstreets back alrightoh my god were back again brothers sisters everybody sing gonna bring the flavor show you how gotta question for ya better answer now yeaham i original yeah am i the only one yeah am i sexual yeah am i everything you need you better rock your body noweverybody yeah rock your body yeah everybody rock your body right backstreets back alright alrightnow throw your hands up in the air and wave them around like you just dont care woo woo woo woo if you wanna party let me hear you yell woo cause weve got it goin on again yeah yeaham i original yeah am i the only one yeah am i sexual yeah am i everything you need you better rock your body noweverybody yeah rock your body yeah everybody rock your body right backstreets back alright alrighteverybody yeah rock your body yeah everybody rock your body right backstreets back alright alrighteverybody yeah rock your body yeah everybody rock your body right backstreets back alright alright ",1
23,"i dont want to miss a thing","aerosmith",1998," i could stay awake just to hear you breathing watch you smile while you are sleeping while youre far away and dreaming i could spend my life in this sweet surrender i could stay lost in this moment forever where every moment spent with you is a moment i treasuredont wanna close my eyes i dont wanna fall asleep cause id miss you baby and i dont wanna miss a thing cause even when i dream of you the sweetest dream would never do id still miss you baby and i dont want to miss a thinglying close to you feeling your heart beating and im wondering what youre dreaming wondering if its me youre seeing then i kiss your eyes and thank god were together i just wanna stay with you in this moment forever forever and everi dont wanna close my eyes i dont wanna fall asleep cause id miss you baby and i dont wanna miss a thing cause even when i dream of you the sweetest dream would never do id still miss you baby and i dont want to miss a thingi dont wanna miss one smile i dont wanna miss one kiss i just wanna be with you right here with you just like this i just want to hold you close feel your heart so close to mine and just stay here in this moment for all the rest of timedont wanna close my eyes dont wanna fall asleep cause id miss you baby and i dont wanna miss a thing cause even when i dream of you the sweetest dream would never do id still miss you baby and i dont want to miss a thingi dont wanna close my eyes i dont wanna fall asleep cause id miss you baby and i dont wanna miss a thing cause even when i dream of you the sweetest dream would never do id still miss you baby and i dont want to miss a thingi dont wanna close my eyes i dont wanna fall asleep yeah i dont wanna miss a thing ",1
24,"body bumpin yippieyiyo","public announcement",1998,NA,NA
25,"this kiss","faith hill",1998," i dont want another heartbreak i dont need another turn to cry no i dont want to learn the hard way baby hello oh no goodbye but you got me like a rocket shooting straight across the skyits the way you love me its a feeling like this its centrifugal motion its perpetual bliss its that pivotal moment its ah impossible this kiss this kiss unstoppable this kiss this kisscinderella said to snow white how does love get so off course oh all i wanted was a white knight with a good heart soft touch fast horse ride me off into the sunset baby im forever yoursits the way you love me its a feeling like this its centrifugal motion its perpetual bliss its that pivotal moment its ah unthinkable this kiss this kiss unsinkable this kiss this kissyou can kiss me in the moonlight on the rooftop under the sky or you can kiss me with the windows open while the rain comes pouring inside kiss me in sweet slow motion lets let every thing slide you got me floating you got me flyingits the way you love me its a feeling like this its centrifugal motion its perpetual bliss its that pivotal moment its ah subliminal this kiss this kiss its criminal this kiss this kissits the way you love me baby its the way you love me darling yeah its the way you love me its a feeling like this its centrifugal motion its perpetual bliss its that pivotal moment its ah subliminal this kiss this kiss its criminal this kiss this kissits the way you love me baby its the way you love me darling yeah its the way you love me its a feeling like this ",1
26,"i dont ever want to see you again","uncle sam",1998," early one mornin while you were asleep i received a letter but there was no addressee so i paid it no mind in fact i wanted to send it back but something that i was feeling said open itit said dear reader once close friend of mine hope that this letter finds you in time cause your love is endin and my lifes just beginnin with a woman that i know you hold dear to you and it made me wanna sayi dont ever wanna see you again but i stuck by you till the end and my conscience is clear and i can move on from here but i wish i could say the same for you babyi dont ever wanna see you again no yeah but tell me why did it have to be my best friend that you were messin around with i didnt want to notice it i was true to my love for youit took me a minute to wake up and see what the love of my life was doin to me i wanted to lay down and die cause my pride wouldnt let me cry somehow i knew i had to get over ithe said he couldnt understand until he felt your touch now he can see why i love you so much and thats so unfair i never thought i have to share your love that i thought was given to only me and thats whyi dont ever wanna see you again but i stuck by you till the end and my conscience is clear and i can move on from here but i wish i could say the same for you babyand i dont ever wanna see you again but tell me why did it have to be my best friend that you were messin around with i didnt want to notice it i was true to my love for youand you say you love me love mustve been blind cause i sure didnt see this one comin my best friend huh they say keep the ones you love close and your enemys even closer but i cant win for losin girl cause the one i thought was a friend to me ended up being my true enemylisten to me baby i gave you everythin my love and my ring and you violated me and i dont wanna see you againi dont ever wanna see you again but i stuck by you till the end and my conscience is clear and i can move on from here but i wish i could say the same for you babyi dont ever wanna see you again but tell me why did it have to be my best friend that you were messin around with i didnt want to notice it i was true to my love for youi dont ever wanna see you again but i stuck by you till the end and my conscience is clear and i can move on from here but i wish i could say the same for you babyi dont ever wanna see you again but tell me why did it have to be my best friend that you were messin around with didnt want to notice it ",1
27,"lets ride","montell jordan featuring master p and silkk the shocker",1998," uhhhhhh you like that huh remember me lets get roudy lets ride yeah yeah yo montell when you walk they be goin to the lobby yall tell the bellman i need some more towels up here when you see shorty the one thats sittin on them 20s tell him in 504 shes still bout me you heard lets get roudyyou know montells bout it bout it master ps bout it bout itstepped in the club after my show you know the spot where everybodys on the low low thats when i saw her she saw me she told me she like master p and montell occassionally so i laid back put a 50 in my mouth said i wanna see you shake it girl cuz thats what that bout it bout its about all the niggas in the club was jealous of me cuz i waited for it and i stayed for and im damn near bout to pay for it solets ride all night i dont doubt it your love is bout it bout it and im so excited girl i wanna ride itlets ride tonight cant do without it your love is bout it bout it and i wont deny babe girl i wanna ride itnow baby whats more than incredible she did her thing 55 146 swinging nothing but a gstring her chocolate lips and sexy thighs sittin properly up on top of me shes riding aint no stopping me now she bounced back then rocked slow like shes auditioning to kick it in my video there aint no limit to what shed do im listening shes whispering her girl wanna ride me toolets ride all night i dont doubt it your love is bout it bout it and im so excited girl i wanna ride itshes moving up and down and round and round tonight moving up and down and around and around shes moving up and down and round and round lets ride oh baby aint nothing like the real thingsee us soldiers do it wild i could make you smile make my nine go pow put on your boots lets run some miles camouflage on them sheets make that head board squeak up and down till you weak cuz us thug like a feak sixty eight will be my code if you bout it girl lets roll i told you was no limit cuz tonight anything goesanything goes lets roll lemme help you take up off your clothes give me a preview before and the rest after the show thug love mixed with cream hennessey strawberries and moet champagne mo in the bath havin a hot tub drop a foot off a oriental rug cant get enough you on top of me me on top of you do what you want to this thug girl aint no stopping youlets ride all night i dont doubt it your love is bout it bout it and im so excited girl i wanna ride itcoming to breakfast go tomorrow yeah im coming wit you me and silkk fooltold yall there wasnt no limit uhhhh ",1
28,"sex and candy","marcy playground",1998," hangin round downtown by myself and i had so much time to sit and think about myself and then there she was like double cherry pie yeah there she was like disco superflyi smell sex and candy here whos that lounging in my chair whos that casting devious stares in my directionmama this surely is a dream yeah mama this surely is a dream yeah mama this surely is a dreamhangin round downtown by myself and i had too much caffeine and i was thinkin bout myself and then there she wasin platform double suede yeah there she was like disco lemonadei smell sex and candy here whos that lounging in my chair whos that casting devious stares in my directionmama this surely is a dream yeah mama this surely is a dream yeah mama this surely is a dreami smell sex and candy here whos that lounging in my chair whos that casting devious stares in my directionmama this surely is a dream yeah mama this surely is a dream yeah mama this surely is a dream yeah mama this must be my dream ",1
29,"show me love","robyn",1998," yeah yeah yeahalways been told that ive got too much pride too independent to have you by my side then my heart said all of you will see just wont live for someone until he lives for me never thought i would find love so sweet never thought i would meet someone like you well now ive found you and i tell you no lie this love ive got for you could take me round the world now show me loveshow me love show me life baby show me what its all about youre the one that i ever needed show me love and what its all about alrightdont waste this love i wanna give to you tell me what you got show me what you can do show me love show me everything i know youve got potential so baby let me in and show me loveshow me love show me life alright baby show me what its all about youre the only one that i ever needed show me love show me love and what its all about alrightshow me love oh show me life baby show me what its all about what its all about youre the one that i ever needed show me love and what its all about alrightshow me love baby show me everything youve got and show me life show me love baby show me everything and what its all aboutyoure the one the only one i ever needed show me love and what its all about alright ill love you ill miss you ill make sure everything will be alright ill give you my heart if you just give me love every day and every night show me love yeah show me life alright baby show me what its all about me what its all about youre the one that i ever needed show me loveshow me love and what its all about alright oh show me love show me life alright baby show me what its all about youre the one that i ever needed show me love and what its all about alright ",1
30,"a song for mama","boyz ii men",1998," you taught me everything everything youve given me ill always keep it inside youre the driving force in my life yeahthere isnt anything or anyone that i could be and it just wouldnt feel right if i didnt have you by my sideyou were there for me to love and care for me when skies were gray whenever i was down you were always there to comfort meand no one else can be what you have been to me you will always be you will always be the girl in my life for all timesmama mama you know i love you mama mama youre the queen of my heart your love is like tears from the stars mama i just want you to know lovin you is like food to my soul yes it is yes it is oh yes it is yes it is yes it is ohyoure always there for me have always been around for me even when i was bad you showed me right from my wrong yes you didand you took up for me when everyone was downin me you always did understand you gave me strength to go onthere was so many times looking back when i was so afraid and then you come to me and say to me i can face anythingand no one else can do what you have done for me youll always be you will always be the girl in my life ooh ohmama mama you know i love you mama mama youre the queen of my heart your love is like tears from the stars mama i just want you to know lovin you is like food to my soulnever gonna go a day without you fills me up just thinkin about you ill never go a day without my mamamama mama you know i love you mama mama youre the queen of my heart your love is like tears from the stars mama i just want you to know lovin you is like food to my soullovin you is like food to my soul oh yeah you are the food to my soul yes you are ",1
31,"what you want","mase featuring total",1998," tell me what you want tell me what you want just tell me what you want tell me what you want tell me what you want tell me what you wanttell me what you want for me take a look at what you see let me know if this right here is something you can have for years tell me what you want for me take a look at what you see let me know if this right here is something you can have for yearsnow mase be the man wanna see you doing good i dont wanna get rich leave you in the hood girl in my eyes you the baddest the reason why i love you you dont like me cause my status i dont wanna see you with a carriage living average i wanna do my thing so we be establishedand i dont want you rock in them fabrics girl i will give you karats till you feel you a rabbit anything in your path you want you can have walk through the mall if you like it you can grab total it all up and put it on my tab and then tell your friends all the fun you hadtell me what you want for me take a look at what you see let me know if this right here is something you can have for years tell me what you want for me take a look at what you see let me know if this right here is something you can have for yearshey mama wont you come here to papa you dont like the way your tatas lookin at shada in a 600 aint no smokin cigada come over here i think i see your baby faddah here ya go the number to my casa if you in a rush you call me mananawhatever you need girlfriend i got the whole enchilada just the way you like it mase gonna do you propa girl i can tell you was meant for me i can tell by the way you was sent to me while im on tour trying to make them centuries and they ask who your man you better mention meif you dont you know you got a problem said you want no beef girlfriend dont start none and it just so happens that im seeing cash cause you messed up a lot just trying to be fast and i aint gonna ask who smashed the eclass pull up to the crib with the whole front crashed now you wanna laugh good thing thats the past if you ever lie again girl that will be your lasttell me what you want for me take a look at what you see let me know if this right here is something you can have for years tell me what you want for me take a look at what you see let me know if this right here is something you can have for yearsnow the more you treat me royal i adore you thats why i dont mind doing these things for you you did things for me i wouldnt believe you did thats why i always want to keep you here in a year or two girl i could see you with my kids girl you make a thug want to get a legal gigits only right we spend our lonely nights gettin crazy biz till we awake the kids dont get too loud got respect for you honey to keep it all real you come second to my money and can you be my ghetto love prophecy everybody love you girl not just me and i know that you really care a lot for me wanna to see you happy even if its not with me even if its not with metell me what you want for me take a look at what you see let me know if this right here is something you can have for years tell me what you want for me take a look at what you see let me know if this right here is something you can have for yearstell me what you want for me take a look at what you see let me know if this right here is something you can have for years tell me what you want for me take a look at what you see let me know if this right here is something you can have for yearstell me what you want for me take a look at what you see let me know if this right here is something you can have for years tell me what you want for me take a look at what you see let me know if this right here is something you can have for years ",1
32,"frozen","madonna",1998," you only see what your eyes want to see how can life be what you want it to be youre frozen when your hearts not openyoure so consumed with how much you get you waste your time with hate and regret youre broken when your hearts not openmm if i could melt your heart mm wed never be apart mm give yourself to me mm you hold the keynow theres no point in placing the blame and you should know i suffer the same if i lose you my heart will be brokenlove is a bird she needs to fly let all the hurt inside of you die youre frozen when your hearts not openmm if i could melt your heart mm wed never be apart mm give yourself to me mm you hold the keyyou only see what your eyes want to see how can life be what you want it to be youre frozen when your hearts not openmm if i could melt your heart mm wed never be apart mm give yourself to me mm you hold the keymm if i could melt your heart mm wed never be apart mm give yourself to me mm you hold the keyif i could melt your heart ",1
33,"gone till november","wyclef jean",1998," every time i make a run girl you turn around and cry i ask myself why oh why see you must understand i cant work a 9 to 5 so ill be gone til november said ill be gone til november ill be gone til november yo tell my girl yo ill be gone til november ill be gone til november ill be gone til november yo tell my girl yo ill be gone til november january february march april may i see you cryin but girl i cant stay ill be gone til november ill be gone til november and give a kiss to my motherwhen i come back therell be no need to clock ill have enough money to buy out blocks tell my brother go to school in september so he wont mess up in summer school in the summer tell my cousin jerry wear his condom if you dont wear condom youll see a red lump woh oh oh oh you sucker mcs you got no flow i heard your style youre so soevery time i make a run girl you turn around and cry i ask myself why oh why see you must understand i cant work a 9 to 5 so ill be gone til november said ill be gone til november ill be gone til november yo tell my girl yo ill be gone til november ill be gone til november ill be gone til november yo tell my girl yo ill be gone til november january february march april may i see you cryin but girl i cant stay ill be gone til november ill be gone til november and give a kiss to my motheri had to flip nuttin and turn it into somethin hiphop turns to the future rock when i smash a punk commit treason then ill have a reason to hunt you down its only right its rappin season yeah you with the loud voice posin like youre top choice your voice ill make a hearse out of your rolls royce besides i got my girl to remember and ill commit it that ill be back in novemberevery time i make a run girl you turn around and cry i ask myself why oh why see you must understand i cant work a 9 to 5 so ill be gone til november said ill be gone til november ill be gone til november yo tell my girl yo ill be gone til november ill be gone til november ill be gone til november yo tell my girl yo ill be gone til november january february march april may i see you cryin but girl i cant stay ill be gone til november ill be gone til november and give a kiss to my motheri know the hustles hard but we gotta enterprise the carnival ",1
34,"my body","lsg",1998," bodymy body your body all over your body baby my body your body my body your body all over my body girl my body your body all over my body girlmy body your body all over your body baby my body your body my body your body all over my body my body your body my body your body all over my body girlin the middle of the night when my bodys feenin for you baby gotta call you up and let you know its what im feeling baby nine one one zero zero twentyfour baby its an emergency im calling cause gotta have some more how would you like if i lay you down if i lay you down yeah would you like it if i was to sex you down i cant think about nothing else your senualate me with your love it aint no secret girl your body fits me like a glovemy body all over your body babe baby its your body babe your body all over my body babe yours over mine my body all over your body its your body baby its yours all over over your body babemy body all over your body babe its your body yeah your body all over my body babe i cling to your body baby my body all over your body baby its your body babe oh its your body babe all over my body girlwanna fill you up till your river flows all over me wanna feel your precious treasure wrapped around me oh so tightly in out i wanna hear you shout wont you come on baby let me break you off i guarentee ill turn you outhow would you like if i lay you down would you like it if i was to sex you down baby girl stop fighting you know you want me just like i want you never had a lover that would do the things that body can domy body all over your body babe its your yeah your body all over my body babe said its your body my body all over your body its your body babe its yours body babe all over my body babe my bodymy body all over your body babe said it feels so good your body all over my body babe said it feels so nice so nice my body all over your body its your body babeoh its your body baby if i beg please play onmy my my my my my my my my my my my my my my my my my my body yeah keep on playin on its your body body body body body your sexy body all over my body babe its your body body body body body your fine body all over my bodybaby its your body my body all over your body babe my body all over your body your body all over my body baby could you feel me baby my body all over your body oh yeah its your body babe all over your body give me your body baby my body all over your body all over your body your body all over my body its all i need all i want cant you feel me my body all over your body oh baby its your body baby all over your body oh its your body baby all over your body i feel me your body baby its your body baby ",1
35,"tubthumping","chumbawamba",1998,"well be singing when were winning well be singing i get knocked down but i get up again youre never going to keep me down i get knocked down but i get up again youre never going to keep me down i get knocked down but i get up again youre never going to keep me down i get knocked down but i get up again youre never going to keep me down pissing the night away pissing the night away he drinks a whiskey drink he drinks a vodka drink he drinks a lager drink he drinks a cider drink he sings the songs that remind him of the good times he sings the songs that remind him of the better times oh danny boy danny boy danny boy i get knocked down but i get up again youre never going to keep me down i get knocked down but i get up again youre never going to keep me down i get knocked down but i get up again youre never going to keep me down i get knocked down but i get up again youre never going to keep me down pissing the night away pissing the night away he drinks a whiskey drink he drinks a vodka drink he drinks a lager drink he drinks a cider drink he sings the songs that remind him of the good times he sings the songs that remind him of the better times dont cry for me next door neighbor i get knocked down but i get up again youre never going to keep me down i get knocked down but i get up again youre never going to keep me down i get knocked down but i get up again youre never going to keep me down i get knocked down but i get up again youre never going to keep me down i get knocked down but i get up again   well be singing when were winning youre never going to keep me down   well be singing ",3
36,"deja vu uptown baby","lord tariq and peter gunz",1998,"lord tariq deja vu deja vu uptown baby peter gunz new york to the heart but got love for all lie and die in the fire where i learned to ball uptown is the place where i lay my dome on the streets of the bronx where my family roam hoe damn it we home peter got a nine millimeter playa haters can feel the flame from my heater i never really liked to play a fool like that but i love to succeed and see foes fall flat  splat like deja vu and i got another clip thatll daze yall crew i sip cristal dom p mo with pistal just cause im pissy dont mean you should misdoubt keep em near da fifties and hundreds all arranged anything less than that you keep the change not filthy rich but bitch im barely broke blessed with flows that keep you hooked like dope friends call me gunz sons call me trife cause im quick to slide off and slide this dick up in your wife and thats life you should learn how to treat her i guarantee peter knows how to eat her and beat her niggaz in the bronx call me lex cause i push a lex and i rock a rolex and i lounge on lex and i love sex and i wave techs on sets that be tryin to flex like dex nigga god rest your soul  but when youre playin cards for gunz it aint time to fold ho chorus peter gunz lord tariq two parts peter gunz new york niggaz got crazy game but outta town niggaz is all the same brooklyn niggaz get crazy loot thats because when its beef they aint scared to shoot harlem niggaz know how to play mack the 600 gettin crazy pay niggaz outta queens got shit on lock strapped with the glock runnin up in yo spot lord tariq but if it wasnt for the bronx this rap shit probably never would be going on so tell me where you from pg uptown baby uptown baby pg we gets down baby up for the crown baby repeat 2x lord tariq yo the rm80 is parked in the lot right next to the mercedes keep the heat cocked for these blocks that are shady youre crazy if you walk around thinking shits gravy stop me  maybe im livin life lawless makin big investments on them 8class flawless and hoes call us im comfortable like ricarro two quarters of my life walkin roads type narrow deep thoughts which i abide by puffin high got my minds eye points sharper than an arrow gettin high keep your eye on the sparrow riches like the pharoahe bought a new five with the snitches for these hoes trunk full of ammo keep my toast closer than most niggaz keep they own shadow and i strap for my foes like a saddle i rock stones other niggaz rock gravel talk shit  whatever have you im from soundview bronx most wanted front get confronted playa we rollin deep in the one point five hundreds like big i red eyed mad blunted you step outside and get blooded have your whole block flooded with the bronx its a warnin stormin guns out from dusk til dawn and its on no doubt keep a eye on yo bitch when im roamin about and put a eye on yo lip nigga watch yo mouth im from the bronx wipe yo feet when you step in my house cause youse a smalltime nigga bout a half an ounce now chorus outro lord tariq peter gunz uh peter gunz like what uh the lord tariq is like what uh soundview like what uh oneseventyfourth like what uh money boss like what uh the gun runners like what uh and kns like what uh and uptown like what shaolin play play on strong isle play play on and a mt vern play play on and yonkers play play on and a puttin it down for ny ya know what i mean ny and world wide",3
37,"i want you back","n sync",1998,"n sync debut album i want you back youre all i ever wanted youre all i ever needed yeah so tell me what you do now cause i i i i ii want you back  its hard to say im sorry its hard to make the things i did undone a lesson ive learned too well for sure so dont hang up the phone now im trying to figure out just what to do im going crazy without you  youre all i ever wanted youre all i ever needed yeah so tell me what to do now when i want you back  baby i remember the way you used to look at me and say promises never last forever i told you not to worry i said that everything will be alright i didnt know than that you were right  youre all i ever wanted youre all i ever needed yeah so tell me what to do now when i want you back  i want you back  youre the one i want youre the one i need girl what can i do youre the one i want youre the one i need tell me what can i do  youre all i ever wanted youre the one i want youre all i ever needed youre the one i want so tell me what to do now when i want you back  youre all i ever wanted youre all i ever needed so tell me what to do now when i want you back",3
38,"when the lights go out","five",1998," yeah i like that you know what i mean youre looking kind of fly tonight girl whats up check itbaby when the lights go out ill show you what its all about comin at you girl youre gonna like this girl here we go check iti aint sorry for the way i feel i know you think im being insincere from the way like im treatin you i never wanted to be so unkind the only one thing on my mind is just kickin it with you girlbaby its not the way i feel you know you must believe me baby its not part of the deal oh no nobaby when the lights go out every single word could not express the love and tenderness ill show you what its all about babe i swear you will succumb to me so baby come to me when the lights go outah yeah check it check it out second verse girli know you think it may be just a lie aint no good in puttin up a fight cause my heart is set on you i see the truth is in your eyes i aint fooled by your thin disguise i can see im gettin through babegirl dont deny the way you feel you know you gotta trust me give me a chance to prove im real oh yeah yeahbaby when the lights go out every single word could not express the love and tenderness ill show you what its all about babe i swear you will succumb to me so baby come to me when the lights go outbaby when the lights go out every single word could not express the love and tenderness ill show you what its all about babe i swear you will succumb to me so baby come to me when the lights go outwhen i flick the switch make your hips wanna dip now i can get you off cause im ready and equipped now swing for me baby give me all that you got never wanna stop cause you make me feel hot i know what you wanna do and that i feel the same way too give you what you want through the days and the nights yeah its about time that we turned out the lightyeah i like that so whats up check itbaby when the lights go out every single word could not express the love and tenderness ill show you what its all about babe i swear you will succumb to me so baby come to me when the lights go outbaby when the lights go out every single word could not express the love and tenderness ill show you what its all about babe i swear you will succumb to me so baby come to me when the lights go outbaby when the lights go out every single word could not express ",1
39,"they dont know","jon b",1998," heard about past things i used to do the games i used to play the girls that didnt last i know whats on your mind you think im doing wrong can i say what is real you are the only onewhen im not around do you think of me or what the jealous ones are claiming me to be you should know by now that its gonna take a lot of trust from you for us to make it throughyou should know that youre my angel nothings gonna make you fall from heaven girl i just want to love you lovedont listen to what people say they dont know about about you and me put it out your mind cause its jealousy they dont know about this heredont listen to what people say they dont know about about you and me put it out your mind cause its jealousy they dont know about this heregirl lets talk about what your friends told you that im a selfish man want my cake and eat it to maybe in my past but you changed me now now that ive learned to love its you that showed me howyour loves so real id be a fool to play play around on you i want to stay with you you should know by now that its gonna take a lot of trust from you for us to make it throughyou should know that youre my angel nothings gonna make you fall from heaven girl i just want to love you lovedont listen to what people say they dont know about about you and me put it out your mind cause its jealousy they dont know about this here  ",1
40,"make em say uhh","master p featuring fiend silkk the shocker mia x and mystikal",1998," no limit studios whassup who dis is who dis is nigga this rappin 4tay who is this oh dis p p yeah dis p p yeah well if this p lemme hear ya say uhh unverified this aint no motherfuckin p man hang the phone upuhh na nah na nah make em say uhh uhh na nah na nah na nah na nahnigga im the colonel of the motherfuckin tank yall after big thangs we after big bank 3rd ward hustlas soldiers in combats convicts and dealers and killers with tru tatsnever gave a fuck bout no hoes on our riches and niggaz come short im diggin ditches mp pullin stripes commanderinchief and fools run up wrong nigga im knockin out some teethim down here slangin rollin with these hustlers tryin to get rid of all you haters and you bustas steppin on cold break a niggaz nose in the projects niggaz anything goes breakin fools off cause im a no limit soldier at ease now salute this pass me the dojamake em say uhh uhh na nah na nah na nah na nahmake em say uhh uhh na nah na nah na nah na nahmake em say uhh uhh na nah na nah na nah na nahfiend exercisin this right of exorcism bustin out the expedition bullets choppin haters business to about the size of prisms our mission they heard we scary no limit mercenary no tellin how bad it get because the worstll varyi heard you make em worry that this for the loot they intimidated by the rounds that the tank shoot tank dogs salute every robbery in store cause they know everything fiend knowmean mo money mo little fiend still want the greens the cornbread and the cabbage in your hood remindin you bitches of who the baddest definitely the maddest so the crime gon stick em up my uhh went twice uhh uhh and ended with nine get emmake em say uhh uhh na nah na nah na nah na nahmake em say uhh uhh na nah na nah na nah na nahp gon make ya say uhh ima make you say ow im not eric b but guaranteed to move this motherfuckin crowd i stay on like light switches money cause i like riches hittin nothin but tight bitches call me i might hit yanigga make em say nahnahnah dont trip after i bust yo shit then after that say na nah nah nah i hang with niggaz i do my thang with niggaz uhhthey wanna know if i gangbang cause i hang with a whole gang of niggaz so when we connect bitch better respect this i step quick cause i got a vicious right hand but ya know what my left is quicksilkk you the type of nigga that promotes violence you might be right cause ill step in the club and say somethin to get that motherfucker start to fightin bout itbad as vogues im cold extra see through unverified pg unverified never fuckin knockin niggaz cause i make em all see 3d and pds the game that i spit no limit soldiers got my backi run this motherfucker tru niggaz and i betcha yall niggaz ya say betmake em say uhh uhh na nah na nah na nah na nahmake em say uhh uhh na nah na nah na nah na nahwe capitalize and monopolize on everything we see keep pistols drawed and cocked we got the industry locked we cant be stopped too hot check the spots that we got on billboardthis tank can set up roadblocks we fadin all you hoes want some mo then lets go stretch you out like elastic zip that ass up in plastic have ya folks pickin caskets we drastic our tactics is homegrown in the ghettoso feel the wrath of this sista its like you fightin 10 niggaz forget the baby boys its the biggest mamma mia the unlady like diva lyrical man eater believe her or see her and get that ass embarrassedif youre a decision maker guaranteed youll get carried away so stay in yo place when ya hear mamma speakin cannon spray clear the way when ya see the tank creepinmake em say uhh uhh na nah na nah na nah na nahmake em say uhh uhh na nah na nah na nah na nahhi im that nigga that rap and stickup joe when they wont know how to do it you could be the little bitty skinny motherfucker with the braids in his hair usin limos and choppers tooi done paid my dues but still played the blues nigga play me like you was scared to lose im still a fool you aint heard the news i was a no limit nigga makin major movesi wont stop now bitch i cant stop you cant stop me so bitch dont try we we tru soldiers we dont die we keep rollin na nah nah nah nahall aboard bitch its like a choir inside the group goin hallelujah niggaz goin to war got to fightin and shootin inside rumors bitches be sayin he there we there bewarec there silkk there fiend there mamma there p there aint no salary cap on top of my dollars i roll with nothin but them no limit riders i gets down nigga i hold my tank up high watch how many bitches get wild na nah na nahmake em say uhh uhh na nah na nah na nah na nahmake em say uhh uhh na nah na nah na nah na nahmake em say uhh uhh na nah na nah na nah na nah  ",1
41,"make it hot","nicole featuring missy elliott and mocha",1998," but uh anyway you could catch me any day sippin hennessey and my peeps get plenty way but anyways to see that i hold this dough cats fake it i made it i told you somocha latte we no play stress free sexy and montego bay you know its a pity that yall look like idiots yo boo let me know when i should rip this catmy man he dont call me anymore we dont even kiss am i his fool what must i do to keep him loving me all this love i give that aint cooli got what you want got what you want i got what you need i got what you need can i get another shot this time im a make it hoti got what you want got what you need baby i got what you need can i get another shot this time im a make it hoti call my man at the crib he turned off his phone said to call him back why silly me why didnt i suspect he was makin love to someone else boy you killin mei got what you want got what you want i got what you need i got what you need  can i get another shot this time im a make it hoti got what you want got what you want i got what you need i got what you need can i get another shot this time im a make it hotoh yeah oh yeah oh yeah oh yeahi got what you want i got what you need can i get another shot this time im a make it hoti got what you want i got what you need can i get another shot this time im a make itim sittin on the side of the curb with a pocket of herb i dont know if yall heard im high as a bird i can fly like kelly i can glide like skates me with no timbaland is like puff with no masewait hold up wait a minute what you say back it up give me space who that nicole ray by the way dj better play all day make the whole world say damn this sucker rayyo yo yo yeah this be the jump thats makin everybody wanna bop their heads haters lovers whatever nicole ray timbaland maagoo aaliyah ginuwine missy playai got what you want i got what you want i got what you need can i get another shot yes you can this time im a make it hot oh reallyi got what you want do you i got what you need i think you do can i get another shot oh yes you can this time im a make it hot really ",1
42,"never ever","all saints",1998," a few questions that i need to know how you could ever hurt me so i need to know what ive done wrong and how long its been going on was it that i never paid enough attention or did i not give enough affection not only will your answers keep me sane but ill know never to make the same mistake again you can tell me to my face or even on the phone you can write it in a letter either way ive have to know did i never treat you right did i always start the fight either way im going out of my mind all the answers to my questions i have to findmy heads spinning boy im in a daze i feel isolated dont wanna communicate i take a shower i will scour i will roam find peace of mind the happy mind i once owned yeahflexing vocabulary runs right through me the alphabet runs right from a to z conversations hesitations in my mind you got my conscience asking questions that i cant find im not crazy im sure i aint done nothin wrong no im just waiting cos i heard that this feeling wont last that longnever ever have i ever felt so low when you gonna take me out of this black hole never ever have i ever felt so sad the way im feeling yeah you got me feeling really bad never ever have i had to find ive had to dig a way to find my own piece of mind ive never ever had my conscience to fight the way im feeling yeah it just dont feel rightnever ever have i ever felt so low when you gonna take me out of this black hole never ever have i ever felt so sad the way im feeling yeah you got me feeling really bad never ever have i had to find ive had to dig a way to find my own piece of mind ive never ever had my conscience to fight the way im feeling yeah it just dont feel rightill keep searching deep within my soul for all the answers dont wanna hurt no more i need peace got to feel at ease need to be free from pain go insane my heart aches yeahsometimes vocabulary runs through my head the alphabet runs right from a to z conversations hesitations in my mind you got my concience asking questions that i cant find im not crazy im sure i aint done nothing wrong now im just awaiting cos i heard that this feeling wont last that longnever ever have i ever felt so low when you gonna take me out of this black hole never ever have i ever felt so sad the way im feeling yeah you got me feeling really bad never ever have i had to find ive had to dig a way to find my own piece of mind ive never ever had my conscience to fight the way im feeling yeah it just dont feel rightnever ever have i ever felt so low when you gonna take me out of this black hole never ever have i ever felt so sad the way im feeling yeah you got me feeling really bad never ever have i had to find ive had to dig a way to find my own piece of mind ive never ever had my conscience to fight the way im feeling yeah it just dont feel rightnever ever have i ever felt so low when you gonna take me out of this black hole never ever have i ever felt so sad the way im feeling yeah you got me feeling really bad never ever have i had to find ive had to dig a way to find my own piece of mind ive never ever had my conscience to fight the way im feeling yeah it just dont feel rightnever ever have i ever felt so low when you gonna take me out of this black hole never ever have i ever felt so sad the way im feeling yeah you got me feeling really bad never ever have i had to find ive had to dig a way to find my own piece of mind ive never ever had my conscience to fight the way im feeling yeah it just dont feel rightyou can tell me to my face you can tell me on the phone ooh you can write it in a letter babe cos i really need to know you can tell me to my face you can tell me on the phone ooh you can write it in a letter babe cos i really need to knowyou can write it in a letter babe you can write it in a letter babe ",1
43,"i get lonely","janet jackson featuring blackstreet",1998," i get so lonely cant let just anybody hold me you are the one that lives in me my dear want no one but you i get so lonely cant let just anybody hold me you are the one that lives in me my dear want no one but yousittin here with my tears all alone with my fears im wondering if i have to do withoutcha but theres no reason whyi feel asleep late last night cryin like a newborn child holdin myself close pretendin my arms are yours i want no one but youi get so lonely cant let just anybody hold me you are the one that lives in me my dear want no one but you i get so lonely cant let just anybody hold me you are the one that lives in me my dear want no one but youi still remember to the day in fact is was a 3rd monday you came along to be the one for me and now im so all aloneim sittin here by the phone called that say that your okay so that i have the chance to beg you to stay i want no one but youi get so lonely cant let just anybody hold me you are the one that lives in me my dear want no one but you i get so lonely cant let just anybody hold me you are the one that lives in me my dear want no one but youi get so lonely cant let just anybody hold me you are the one that lives in me my dear want no one but you i get so lonely cant let just anybody hold me you are the one that lives in me my dear want no one butgonna break it down break it down break it down gonna break it down break it down break it down you know that i know that i get so lonely thinking of youi get so lonely cant let just anybody hold me you are the one that lives in me my dear want no one but you i get so lonely cant let just anybody hold me you are the one that lives in me my dear want no one but youi get so lonely cant let just anybody hold me you are the one that lives in me my dear want no one but you i get so lonely cant let just anybody hold me you are the one that lives in me my dear want no one but you ",1
44,"feel so good","mase featuring kelly price",1998," you ready maseparty people in the place to be its about that time for us toyo what you know about goin out head west red lex tvs all up in the headrest try and live it up ride true a bigger truck peeps all glittered up stick up can they go whatjig wit it cuz ship crisp split it all hos ride get your nut till i cant get it up im a big man give this man room id a hit everything from cancun to grants tombwhy you standin on the wall hand on your balls lighting up drugs always fightin in the club im the reason they made the dress code they figure i wouldnt wild when im in my french clothesdress as i suppose from my neck to my toes neck full of gold baguettes in my rolls wreck shows collect those extra os buy the e get a key to the lex to holdeast west every state come on bury the hate millions the only thing we in a hurry to make are the friend that acts friend in a lex or a benz lets begin bring this bs to an endbad bad bad bad boy you make me feel so good you know you make me feel so good you know you make me feel so goodbad bad bad bad boy i wouldnt change you if i could i wouldnt change you if i could i wouldnt change you if i couldyou cant understand we be waikiki sippin dp to the tv look greedy little kids see me way out in dc with a z3 chrome vbs they wanna be meniggas talkin shit they ought to quit im fortunate they dont see a fourth what i get and those be the same ones walkin while i whip just stylishing cars cuz they all true nigso while you daydream my mercedes gleam and i deal with hos that pose in maybeline one time you had it all i aint mad at yall now give me the catalog ill show you how daddy boughtsix cars and power to fire big stars sit up ceo style smokin on cigars nigga its like yall be talkin funny i dont understand language of people with short moneybad bad bad bad boy you make me feel so good you know you make me feel so good you know you make me feel so goodbad bad bad bad boy i wouldnt change you if i could i wouldnt change you if i could i wouldnt change you if i coulddo mase got the ladies yeah yeah do puff drive mercedes yeah yeah take hits from the 80s yeah yeah but do it sound so crazy yeah yeahwell me personally its nothin personal i do what work for me you do what work for you and i dress with what i was blessed with never been arrested for nothin domesticand i chill the way you met me with a jet ski attached to a se smoke my nestle no mad rapass cat where my check be problem with yall i say it directlywent from hard to sweet starved to eat from no hoes at shows to menage in suites now i be the cat that be hard to meet gettin head from girls that used to hardly speakbad bad bad bad boy you make me feel so good you know you make me feel so good you know you make me feel so goodbad bad bad bad boy i wouldnt change you if i could i wouldnt change you if i could i wouldnt change you if i couldbad bad bad bad boy you make me feel so good you know you make me feel so good you know you make me feel so goodbad bad bad bad boy i wouldnt change you if i could i wouldnt change you if i could i wouldnt change you if i couldbad bad bad bad boy ",1
45,"say it","voices of theory",1998," you know that i want you babe you know that i need you you know that i love you just say itam i giving enough is it all that should be when water gets rough will you still swim with meso afraid to come close and maybe too slow and maybe too much for you to consumeand i wanna know if i could live inside your world and i wanna know if i could give it to you girlyou know that i wanna say it you know that i need to say it you know that i love to say it our love just goes on and on and onyou know that i wanna say it you know that i need to say it you know that i love to say it my love just goes on and on and oni gave you all that you need theres no better place you can be and i know that in time you will believe in meso please hold out your hand and lets just changes golden band cause i want you in my life i want you to be my wifeand i wanna know if i could live inside your world and i wanna know if i could give it to you girlyou know that i wanna say it you know that i need to say it you know that i love to say it our love just goes on and on and onyou know that i wanna say it you know that i need to say it you know that i love to say it my love just goes on and on and onmy girl so special i want to give it all to you loving you on and on my girl so special i want to give it all to you loving you on and onand i wanna know if i could live inside your world and i wanna know if i could give it to you girlyou know that i wanna say it you know that i need to say it you know that i love to say it our love just goes on and on and onyou know that i wanna say it you know that i need to say it you know that i love to say it my love just goes on and on and on ",1
46,"kiss the rain","billie myers",1998," hello can you hear me am i getting through to you hello is it late there is there laughter on the lineare you sure youre there alone cause im trying to explain somethings wrong you just dont sound the samewhy dont you why dont you go outside go outsidekiss the rain whenever you need me kiss the rain whenever im gone too longif your lips feel lonely and thirsty kiss the rain and wait for the dawn keep in mindwere under the same sky and the nights as empty for me as for you if you feelyou cant wait till morning kiss the rain kiss the rain kiss the rainhello do you miss me i hear you say you do but not the way im missing youwhats new hows the weather is it stormy where you are you sound so close but it feels like youre so far oh would it mean anythingif you knew what im left imagining in my mind my mind would you go would you gokiss the rainas you fall over me think of me think of me think of me only mekiss the rain whenever you need me kiss the rain whenever im gone too longif your lips feel hungry and tempted kiss the rain and wait for the dawn keep in mindwere under the same sky and the nights as empty for me as for you if you feel you cant wait till morningkiss the rain kiss the rain kiss the rain kiss the rainkiss the rain kiss the rain kiss the rainhello can you hear me can you hear me can you hear me ",1
47,"come with me","puff daddy featuring jimmy page",1998," NA ",1
48,"romeo and juliet","sylke fyne featuring chill",1998,NA,NA
49,"its all about me","m'ya and sisqo",1998," yeah its all about you yeah its all about you yeah yeah its all about you yeah its all about you yeahbaby i cook your dinner i wash your clothes baby hell no thats not the way it goes its all about me tonight yeah i aint stop lovin you cause youre still my boo youre still my boo but you gotta see tonight is all about me me me me metonight is all about me me me me me forget about you you you you you so what you gonna do do do do do are you gonna get it up get it upme me me me me forget about you you you you you so what you gonna do do do do do are you gonna get it up get it upup jumps my butt nigga what nigga what you know i caught yo eyes lookin at my thighs now swing my body right to left left to right you know this is ish tight now just look at my body body and just hold me like a man should baby you gotta see tonight baby its all about metonight is all about me me me me me forget about you you you you you so what you gonna do do do do do are you gonna get it up get it upme me me me me forget about you you you you you so what you gonna do do do do do are you gonna get it up get it upyou know that i wanna love you for life so lets make tonight lets make tonight all night my arms are open wide so let me come inside yeah yeah baby is that what you want from me cause thats what i needtonight is all about me me me me me forget about you you you you you so what you gonna do do do do do are you gonna get it up get it upme me me me me forget about you you you you you so what you gonna do do do do do are you gonna get it up get it uptonight is all about me me me me me forget about you you you you you so what you gonna do do do do do are you gonna get it up get it upme me me me me forget about you you you you you so what you gonna do do do do do are you gonna get it up get it up ",1
50,"i will come to you","hanson",1998," when you have no light to guide you and no one to walk to walk beside you i will come to you oh i will come to you when the night is dark and stormy you wont have to reach out for me i will come to you oh i will come to yousometimes when all your dreams may have seen better days and you dont know how or why but youve lost your way have no fear when your tears are fallin i will hear your spirit callin and i swear ill be there come what maywhen you have no light to guide you and no one to walk to walk beside you i will come to you oh i will come to you when the night is dark and stormy you wont have to reach out for me i will come to you oh i will come to youi will come to youcause even if we cant be together well be friends now and forever and i swear that ill be there come what may when the night is dark and stormy you wont have to reach out for me i will come to you oh i will come to youwe all need somebody we can turn to someone wholl always understand so if you feel that your soul is dyin and you need the strength to keep tryin ill reach out and take your handill reach out and take your handoh i will come to you when you have no light to guide you and no one to walk to walk beside you i will come to you oh i will come to you when the night is dark and stormy you wont have to reach out for me i will come to you oh i will come to youoh i will come to you oh i will come to youi will come to you oh i will come to you ",1
51,"one week","barenaked ladies",1998," its been one week since you looked at me cocked your head to the side and said im angry five days since you laughed at me saying get that together come back and see me three days since the living room i realized its all my fault but couldnt tell you yesterday youd forgiven me but itll still be two days till i say im sorryhold it now and watch the hoodwink as i make you stop think youll think youre looking at aquaman i summon fish to the dish although i like the chalet swiss i like the sushi cause its never touched a frying panhot like wasabe when i bust rhymes big like leann rimes because im all about value bert kaempferts got the mad hits you try to match wits you try to hold me but i bust throughgonna make a break and take a fake id like a stinkin achin shake i like vanilla its the finest of the flavors gotta see the show cause then youll know the vertigo is gonna grow cause its so dangerous youll have to sign a waiverhow can i help it if i think youre funny when youre mad trying hard not to smile though i feel bad im the kind of guy who laughs at a funeral cant understand what i mean well you soon will i have a tendency to wear my mind on my sleeve i have a history of taking off my shirtits been one week since you looked at me threw your arms in the air and said youre crazy five days since you tackled me ive still got the rug burns on both my knees its been three days since the afternoon you realized its not my fault not a moment too soon yesterday youd forgiven me and now i sit back and wait till you say youre sorrychickity china the chinese chicken you have a drumstick and your brain stops tickin watchin xfiles with no lights on were dans la maison i hope the smoking mans in this one like harrison ford im getting frantic like sting im tantric like snickers guaranteed to satisfylike kurosawa i make mad films okay i dont make films but if i did theyd have a samurai gonna get a set of better clubs gonna find the kind with tiny nubs just so my irons arent always flying off the back swing gotta get in tune with sailor moon cause that cartoon has got the boom anime babes that make me think the wrong thinghow can i help it if i think youre funny when youre mad trying hard not to smile though i feel bad im the kind of guy who laughs at a funeral cant understand what i mean you soon will i have a tendency to wear my mind on my sleeve i have a history of losing my shirtits been one week since you looked at me dropped your arms to your sides and said im sorry five days since i laughed at you and said you just did just what i thought you were gonna do three days since the living room we realized were both to blame but what could we do yesterday you just smiled at me cause itll still be two days till we say were sorryitll still be two days till we say were sorry itll still be two days till we say were sorry birchmount stadium home of the robbie ",1
52,"swing my way","k p  envyi",1998,NA,NA
53,"the arms of the one who loves you","xscape",1998," i know youre going i cant make you stay i can only let you know i love you anyway and if the road you take leads to heartbreak somewhere down the line if someone ever hurts you or treats your heart unkindyou just run to the arms of the one who loves you you just run to these arms and these two arms will keep you warm when rain has found your heart never fear im never far you just run to the arms of the one who loves youi want you happy i want the best for you and if you have to leave to find your dream i hope that dream comes true but if the world you find brings you hard times if someone makes you cry ill be there to hold you ill be standing byyou just run to the arms of the one who loves you you just run to these arms and these two arms will keep you warm when rain has found your heart never fear im never far you just run to the arms of the one who loves youoh my love is strong enough you know strong enough to let you go but ill always hold you inside my heart and if you should ever change your mind you can come back anytime and when you do you justjust run to the arms of the one who loves you you just run to these arms and these two arms will keep you warm when rain has found your heart never fear im never far you just run to the arms of the onerun to the arms of the one who loves you you just run to these arms and these two arms will keep you warm when rain has found your heart never fear im never far you just run to the arms of the one who loves you you just run to the arms of the one who loves you run to the arms of the one who loves you ",1
54,"my love is the shhh","somethin for the people featuring trina  tamara",1998," boy youll never find another love as good as this so you better represent cuz my love is the shhh the bomb baby bomb baby girl youll never find another love as good as this so you better represent cuz my love is the shhh the bomb baby bomb babyyou keep telling me on the telephone how you got it going on and how youll keep me satisfied ooh yeah but actions speak louder than words i must see what ive heard is it true or do you liecuz i need somebody giving nothin but good loving all through the night oh yeah someone to break me off a little something when i need to be satisfied and i got one thing in mindboy youll never find another love as good as this so you better represent cuz my love is the shhh the bomb baby bomb baby girl youll never find another love as good as this so you better represent cuz my love is the shhh the bomb baby bomb babyall these things i say to you i swear that they are true im all youll ever need oh yeah good love is so hard to find and i wont waste your time satisfaction is guarenteedill be the lover that you need to break you off in the middle of the night ill take a little trip downtown ill be the freak you need in your life and i knowgirl youll never find another love as good as this so you better represent cuz my love is the shhh the bomb baby bomb baby boy youll never find another love as good as this so you better represent cuz my love is the shhh the bomb baby bomb babydont stop get it get it dont stop get it get it dont stop get it get it dont stop get it get itlet me work that body baby let me work that body baby let me work that body baby let me work that body babyboy youll never find another love as good as this so you better represent cuz my love is the shhh the bomb baby bomb baby girl youll never find another love as good as this so you better represent cuz my love is the shhh the bomb baby bomb babyboy youll never find another love as good as this so you better represent cuz my love is the shhh the bomb baby bomb baby girl youll never find another love as good as this so you better represent cuz my love is the shhh the bomb baby bomb babyboy youll never youll see cant nobody love you like me girl youll never baby baby boy youll never nobody loves me better than you love girl youll never find another ",1
55,"daydreamin","tatyana ali",1998," all day long i think of you i cant even think of things to do wishin all of my daydreams come true now baby what am i to doi think about yesterday somebody was talkin to me but i couldnt understand a word they said not that i was tryin to be rude but conversation couldnt make it through the thoughts of love i had for youbaby your face takes up my time because i can jus see your face with mine i try to change my thoughts its a waste of time you keep my mind occupiedrefraintell me what am i to do when i can only think of you even when i have simple things to do like talkin on the telephone or watchin tv when somethins on if it aint about you then whats the userefrainwhats up girl you all grown up nowdoin ya singin thing the charts sewed up now well you know i do my rap thing im holdin it down and i knew that me and you was gon connect some how your people called for this track it aint no trouble to me i dreamt that you and me got married on the wb you on channel 11 i carry the m11 rj the reverened its a match made in heaven whatever have you i let you know im from soundview down til i found you im tryin to be around you im still comin up chasin the fame and wealth i could spoil you with time you got everything elseim still new york to the heart but got love for all when i first saw this girl thought i wanted to fall mean the hummer so stunnin that my bod was tense and i wishin everyday that i was fresh like prince then i came across my man rj parlayin in a 6 with tatyana ali playin i heard steely dan black cow and went wild you tell me how can i get down thats when they threw me on the redeye to la i dirtied my cash and peeps back and hit shaq on the cellay courtside seats so close that we could touch tatyana and lord and peter gunzrefrain ",1
56,"were not making love no more","dru hill",1998," sure ive been in love a time or two but in the end i still chose you no one could ever make me feel this way thats why its killing me what were going throughsomehow thought tween me and you our love would stand the test of time and never ever fadechorus but were not making love no more were not even trying to change tell me how it slips away does it ever stay the same we dont even talk no more weve ran out of words to say tell me it dont have to change wont it ever stay the samegirl i know that things arent going right but dont you think it deserves a fight a love like ours dont happen everyday and were losing it right as we speakand if we dont wake up its a memory a time gone past a love that sailed awaychorusi dream of lovers past and i see a girl so sad cause she lost the only man she loved he went awaywell its not too late for us to changechorus ",1
57,"semicharmed life","third eye blind",1998," im packed and im holding im smiling shes living shes golden and she lives for me she says she lives for me ovation shes got her own motivation she comes round and she goes down on me and i make her smile its like a drug for you do ever what you want to do coming over you keep on smiling what we go through one stop to the rhythm that divides you and i speak to you like the chorus to the verse chop another line like a coda with a curse and i come on like a freak show takes the stage we give them the games we play she said i want something else to get me through this semicharmed kind of life baby baby i want something else im not listening when you say goodbye the sky it was gold it was rose i was taking sips of it through my nose and i wish i could get back there some place back there smiling in the pictures you would take doing crystal myth will lift you up until you break it wont stop i wont come down i keep stock with a ticktock rhythm and a bump for the drop and then i bumped up i took the hit i was given then i bumped again and then i bumped again how do i get back there to the place where i fell asleep inside you how do i get myself back to the place where you said i want something else to get me through this semicharmed kind of life baby baby i want something else im not listening when you say goodbye i believe in the sand beneath my toes the beach gives a feeling an earthy feeling i believe in the faith that grows and the four right chords can make me cry when im with you i feel like i could die and that would be all right all right when the plane came in she said she was crashing the velvet it rips in the city we tripped on the urge to feel alive but now im struggling to survive the days you were wearing that velvet dress youre the priestess i must confess those little red panties they pass the test slide up around the belly face down on the mattress one now you hold me and were broken still its all that i want to do just a little i feel myself with a head made of the ground im scared but im not coming down and i wont run for my life shes got her jaws just locked now in smile but nothing is all right all right i want something else to get me through this life i want something else im not listening when you say goodbye ",1
58,"i do","lisa loeb",1998," when im done with thinking then im done with you and when im done with crying and then im done with you when i feel so tired and then im done with youyou know everybody feels this way sometimes everybody feels this wayand i do you cant hear it but i do you cant hear it but i doyoure trying to convince me that what ive dones not right and i get so frustrated i stay up every night you ask me for an answer and im so tired that im up in the air im up in the airyou know everybody feels this way sometimes everybody feels this wayand i do you cant hear it but i do you cant hear it but im feeling this way just because you sayi will be ignored and i will be denied and i could be erased i could be brushed aside and i will get scared and i will get shoved down but i feel like i do because you push me aroundim starting to ignore you ive doubted you so long im tired of over thinking i know you dont belong now im asking questions no one pushes me aroundyou know everybody feels this way sometimes everybody feels this wayand i do you cant hear it but i do you dont seem angry but i do i do i do i do you dont seem angry but i do you cant hear it but i do i i do i i do i i do ",1
59,"lookin at me","mase featuring puff daddy",1998," hey yo mase you know what i dont like why you over there lookin at me i dont like when you know im in a club why you over there lookin at meand im with my honey why you over there lookin at me you got you know the haters they wanna be tough guys all of the suddenhit you with the ice grill you know cause you boys aint with you little do they know your girl roll harder than some of yo niggas dignow what the hell is you lookin for cant a young man get money anymore let my pants sag down to the floor really do it matter as long as i scorecant my car look better than yours can i have a bad bitch without no flaws come to see me without no drawers in a stretch lex with about ten doorshow is murder p diddy name me pretty did it for the money now can you get with me people wanna know who is he he get busy spray so much izzy girls get dizzyniggas on the block know mase motto one thing about harlem world we all got dough 98 tahoe tommy and a roscoe case im every chased by a donny brascoewhy you over there lookin at me while my girl standin here why you over there lookin at me while my girl standin herewhy you over there lookin at me while my girl standin here why you over there lookin at me while my girl standin hereyo i cant get mad cuz you look at me cuz on the real look at me yo it always be the haters that be sittin in the rear dissin every gear but they better listen hereyou cats keepin it real you cats is on yo own cuz bein broke and alone is something i cant condone plus it wont be long till they send me the dome sit gently while im on the bentley phonewhy you dont like me cuz im mad fly and icy and why you cant satisfy yo wifey and if it wasnt for this bad boy exposure cd tvs really would i know yanow me and blink float in the gold rover so its only right you get the cold shoulder and if you got a girl dont be real committed cuz mase will hit it you got to deal with itwhy you over there lookin at me while my girl standin here why you over there lookin at me while my girl standin herewhy you over there lookin at me while my girl standin here why you over there lookin at me while my girl standin heremake it hot baby make it hot make it hot baby make it hot make it hot baby make it hot make it hot baby make it hot make it hotwe was all at the greek fest its hot and sandy i rent scooters im with my family tank top flip flop really nothing fancy but get approached by a girl named tammywho looked good enough to be miss miami but say since some her peeps call her candy than she starts to ask about aaliyah and brandy tellin me how she met puff down at the grammyshe aint tell you i was the one with no panties boo you know how many he meet with no panties please tell me something that i dont know like if we have sex you dont want doughand if its not a problem you can meet me at 10 ill be in room 112 and bring four friends and if you gon hit me it gotta be a quickie and please no hickies cuz wifeys with mewhy you over there lookin at me while my girl standin here why you over there lookin at me while my girl standin herewhy you over there lookin at me while my girl standin here why you over there lookin at me while my girl standin herewhy you over there lookin at me while my girl standin here why you over there lookin at me while my girl standin herewhy you over there lookin at me while my girl standin here why you over there lookin at me while my girl standin here ",1
60,"looking through your eyes","leann rimes",1998," look at the sky tell me what do you see just close your eyes and describe it to me the heavens are sparkling with starlight tonight thats what i see through your eyesi see the heavens each time that you smile i hear your heartbeat just go on for miles and suddenly i know my life is worth while thats what i see through your eyeshere in the night i see the sun here in the dark our two hearts are one its out of our hands we cant stop what we have begun and love just took me by surprise looking through your eyesi look at myself and instead i see us whoever i am now it feels like enough and i see a girl who is learning to trust thats who i see through your eyeshere in the night i see the sun here in the dark our two hearts are one its out of our hands we cant stop what we have begun and love just took me by surprise looking through your eyesand there are some things we dont know sometimes a heart just needs to go and there is so much that ill remember underneath the open sky with you foreverhere in the night i see the sun here in the dark our two hearts are one its out of our hands we cant stop what we have begun and love just took me by surprise looking through your eyes looking through your eyes ",1
61,"lately","divine",1998," lately ive been watching you been thinkin bout you baby and everything you do just sittin away watching the days go by just sittin away watching the days go byhave you ever felt a breeze hit hard like the wind was blowing it apart as youre spinning like a merrygoround indications of a storm touching downwish that i can wear the rain and storm but i guess it was heart break from the norm was a day i will always remember the saddest day in sweet novemberlately ive been watching you been thinkin bout you baby and everything you do just sittin away watching the days go by just sittin away watching the days go bybaby im on my knees praying god help me please bring my baby back right back to me if lovin you was right then i dont wanna go wrong so i drown myself with tears sittin here singin another sad love songlately ive been watching you been thinkin bout you baby and everything you do just sittin away watching the days go by just sittin away watching the days go bylately ive been torn apart i wish you hadnt broke my heart im missin you babe missin you baby jaylately ive been torn apart i wish you hadnt broke my heart im missin you babe missin you baby jaylately ive been watching you been thinkin bout you baby and everything you do just sittin away watching the days go by just sittin away watching the days go by ",1
62,"quit playing games with my heart","backstreet boys",1998," baby oheven in my heart i see youre not bein true to me deep within my soul i feel nothings like it used to besometimes i wish i could turn back time impossible as it may seem but i wish i could so bad baby quit playin games with my heartquit playin games with my heart before you tear us apart my heart quit playin games with my heart i shouldve known from the start you know you got to stop from my heart youre tearing us apart my heart quit playin games with my hearti live my life the way to keep you comin back to me everything i do is for you so what is it that you cant seesometimes i wish i could turn back time impossible as it may seem but i wish i could so bad baby you better quit playin games with my heartquit playin games with my heart before you tear us apart my heart quit playin games with my heart i shouldve known from the start you know you got to stop from my heart youre tearing us apart my heart quit playin gamesbaby baby the love that we had was so strong dont leave me hangin here forever oh baby baby this is not right lets stop this tonightbaby oh quit playin games babysometimes i wish i could turn back time impossible as it may seem but i wish i could so bad baby quit playin games with my heartquit playin games with my heart before you tear us apart my heart quit playin games with my heart i shouldve known from the start you know you got to stop from my heart youre tearing us apart my heart quit playin games with my heartquit playin games with my heart babyquit playin games with my heart with my heart my heart with my heart ",1
63,"i still love you","next",1998," i still love you babe im still for you girl ill never leave you baby cause i realize i need you in my lifegirl it just aint right what we said last night cause i know we didnt mean it you feel the love is gone cause we dont get along but i can prove you wrong girl i swearcause every time i close my eyes i see you i see you and how i wanna live my life is with you there is no one youre all i need and all i want the only one ill ever lovei still love you babe cause without you theres no me im still for you girl even though we disagree ill never leave you baby ill never leave you baby cause i realize i need you in my lifein this relationship we spend a lot of time now it would be wrong if everything was always fine girl i know weve had our shares of ups and downs but it doesnt mean that we cant work this out oh baby girl i care yeah you know i docause every time i close my eyes i see you i see you and how i wanna live my life with you there is no one else youre all i need and all i want the only one ill ever lovei still love you babe cause without you theres no me im still for you girl even though we disagree sometimes ill never leave you baby ill never leave you baby cause i realize i need you in my lifeno oh girl i know i need you baby cause every time i close my eyes i see you now i see you girl i see you and how i wanna live my life with you you know i do there is no one else youre all i want and all i need the only one ill ever lovei still love you babe cause without you theres no me im still for you girl even though we disagree sometimes ill never leave you baby ill never leave you baby cause i realize i need you in my life i realize i realize yeahi still love you babe i realize i need you im still for you girl there aint nothing i wont do ill never leave you baby you can always count on me because cause i realize i need you in my life i realize i need you in my lifei still love you babe baby there aint nothing i wont do im still for you girl girl its all girl its all about you ill never leave you baby ill be right here because i realize i need you in my life incomprehensible ",1
64,"time after time","inoj",1998," im lying in my bed hear the clock ticking i think of you caught up in circles confusion theres nothing newflashback warm nights almost left behind suitcase of memories time aftersometimes youll picture me im walking too far ahead youre calling to me i cant hear what you sayand you say go slow i fall behind the second hand unwindsif youre lost you can look and you will find me time after time if you fall i will catch you i will be waiting time after timeif youre lost you can look and you will find me time after time if you fall i will catch you i will be waiting time after timeafter my picture fades and darkness has turned to gray watching through windows youre wondering if im okaysecret stolen all from deep inside the 808s on timeif youre lost you can look and you will find me time after time if you fall i will catch you i will be waiting time after timethats right time after and you say go slow i fall behind the 808s on timeif youre lost you can look and you will find me time after time if you fall i will catch you i will be waiting time after timeif youre lost you can look and you will find me time after time if you fall i will catch you i will be waiting time after timetime after time time after time time after time  ",1
65,"are you jimmy ray","jimmy ray",1998,"are you jimmy ray are you slim ray are you faye wray who wants to know who wants to know are you sting ray are you link wray are you jimmy ray who wants to know who wants to know baby can you tell when you look in my eye you dont mess around with me unless youre feeling dangerous are you into my scene lay it on the line yeah come and take a walk with me if youre feeling dangerous because im meaner im leaner i aint no in betweener with aretha im a dreamer good god im a believer are you jimmy ray are you slim ray are you faye wray who wants to know who wants to know are you sting ray are you link wray are you jimmy ray who wants to know who wants to know about me well maybe we could shake it down by the wall do you think im taking liberties are you dangerous ive got to let it out something in my genes yeah come and take a walk with me if youre feeling dangerous because im meaner im leaner i aint no in betweener with aretha im a dreamer good god im a believer are you jimmy ray are you slim ray are you faye wray who wants to know who wants to know are you sting ray are you link wray are you jimmy ray who wants to know i said who wants to know who wants to know about me everybody jump back turn around now well lets do it again everybody jump back turn around now well lets do it again are you jimmy ray are you slim ray are you faye wray who wants to know who wants to know are you sting ray are you link wray are you jimmy ray who wants to know who wants to know about me are you jimmy ray are you slim ray are you faye wray who wants to know who wants to know are you sting ray are you link wray are you jimmy ray who wants to know who wants to know about me are you jimmy ray are you slim ray",3
66,"cruel summer","ace of base",1998," hot summer streets and the pavements are burning i sit around trying to smile but the air is so heavy and dry strange voices are saying ah what did they say things i cant understand its too close for comfort this heat has got right out of handits a cruel cruel summer cruel leaving me here on my own its a cruel cruel summer its a cruel now youre gone youre not the only one its a cruelthe city is crowded my friends are away and im on my own its too hot to handle so i gotta get up and go and goits a cruel cruel summer cruel leaving me here on my own its a cruel cruel summer its a cruel now youre gone youre not the only oneits a cruel cruel summer cruel leaving me leaving me here on my own its a cruel cruel summer its a cruel now youre gone youre not the only one its a cruelnow dont you leave me now dont you leave me now dont you leave me come on come onnow dont you leave me now dont you leave me now dont you leave me come on come onits a cruel cruel summer cruel cruel summer leaving me here on my own leaving me here all alone its a cruel cruel summer its a cruel cruel summer leaving me in this summer youre not the only one youre not the only oneits a cruel cruel summer cruel cruel summer youre not the only one leaving me here on my own its a cruel cruel summer its a cruel cruel summer now youre gone youre not the only oneits a cruel cruel summer cruel cruel summer its a cruel summer its a cruel cruel summer cruel summer its a cruel summer ",1
67,"i got the hook up","master p featuring sons of funk",1998," i got the hook up holla if you hear me ughhhhhh8xmaster pi live my life as a thug but girl you know i need ya each and ever women that i meet damn they dont wanna be ya it aint no limit to what we could do holla if ya hear me girl you know im comin through im out here on the grind livin my life fast and if you really love me lay some blankets on the grass i know the way i live make you wanna cry but you know i gotta hustle thats the way i survive it aint no changin me but me and you could make it lets fix a plate of ghetto love with grits eggs and bacon let me wipe away your ghetto tears misery and pain all you need is a passport i got the hookup and a private planechorus dont wanna go on livin without you i got the hook up holla if you hear me ughhhhhh and if we say bye bye bye then take my heart with you i got the hook up holla if you hear me ughhhhhh can we go on livin without you i got the hook up holla if you hear me ughhhhhh and if we say bye bye bye then take my heart with yousons of funkfor a while tears are all that we shared our love was fading so fast was right now is wrong gaining fast baby in the night i sat alone wanting you crying out for you wondering whos loving you baby something happened along the way the love that we shared has gone away we tried and tried for a better day for that day girl i praydont wanna go on livin without you i got the hook up holla if you hear me ughhhhhh and if we say bye bye bye then take my heart with you i got the hook up holla if you hear me ughhhhhh can we go on livin without you i got the hook up holla if you hear me ughhhhhh and if we say bye bye bye then take my heart with you holla if you hear me ughhhhhh3x i love you ohhhhhhh holla if you hear me dont wanna go on livin without you i got the hook up holla if you hear me ughhhhhh and if we say bye bye bye then take my heart with you i got the hook up holla if you hear me ughhhhhh can we go on livin without you i got the hook up holla if you hear me ughhhhhh and if we say bye bye bye byemaster p and sons of funkdont wanna be lonely i dont wanna be lonely holla if you hear me ya heard me i aint tryin to be lonely dont wanna be lonely cause you know what everybody needs somebody with or without you and im a thug for you girl the thug in me go put your soldier outfit on lets go to war tonight ya heard me dont wanna be lonely i dont wanna be lonely sons of funk ya hear medont wanna go on livin without you i got the hook up holla if you hear me ughhhhhh and if we say bye bye bye then take my heart with you i got the hook up holla if you hear me ughhhhhh can we go on livin without you i got the hook up holla if you hear me ughhhhhh and if we say bye bye bye then take my heart with you dont wanna go on livin without you holla if you heard me ughhhh master p sons of funk sons of funk and if we say bye bye bye then take my heart with you i got the hook up holla if you hear me ughhhhhh can we go on livin without you i got the hook up holla if you hear me ughhhhhh and if we say bye bye bye then take my heart with yousaid during chorus holla if you heard me ughhhh master p sons of funk sons of funk yall know how we do it no limit stlye baby told yall it was no limit was up with you shorty youre too cute to have them hittin on you you heard me you need me here goes my cellular phone number just call me if you need the hook up girl we gone handle that ",1
68,"victory","puff daddy featuring the notorious big and busta rhymes",1998," intro notorious big one one two check me out right here yo verse one puff daddy yo the sun dont shine forever big you can turn the track up a little bit for me turn me up yo can you here me but as long as its here then we might as well shine together big all up in my ears better now than never business before pleasure big the mic is loud but the beats isnt loud pdiddy and the fam who you know do it better yeah right no matter what we air tight big yeah so when you hear somethin make sure you hear it right dont make a ass outta yourself by assumin big yeah now the mic is lower turn the mics up our music keeps you movin what are you provin big turn that shit all the way up yeah you know that im two levels above you baby big musics gettin louder hug me baby ima make you love me baby big this shit is hot talkin crazy aint gonna get you nuthin but choked big uhhuh uhhuh uhhuh and that jealousy is only gonna leave you broke so the only thing left now is god for these cats and big you know you too hard for these cats im a win cause im too smart for these cats while they makin up facts uhh you rakin up plats verse two notorious big in a commision you ask for permission to hit em he dont like me him and wild wifey was wit em you heard of us the murderous most shady been on the low lately the feds hate me the son of satan they say my killins too blatant you hesitatin im in your mama crib waitin duct tapin your fam destiny lays in my hands gat lays in my waist francis m to the izh phenominal gun rest under your vest by the abdominal rob a few bars so i can buy a few cars and i kick a few flows so i can pimp a few hoes excellence is my presence never tense never hesitant leave a nigga bent real quick real sick brawl nights i perform like mike anyone  tyson jordan jackson action pack guns ridiculous and im quick to bust if my ends you touch kids or girl you touch in this world i clutch two automatoes used to call me fatso now you call me castro my rap flows militant yall faggots aint killin shit ooops cristal keep spillin shit you overdid it homes you in the danger zone you shouldnt be alone hold hands and say it like me the most shady frankie baby fantastic graphic tryin to make dough like jurassic parked in quick to spark kids who start shit see me only me the underboss of this holocaust truly yours frank white chorus busta rhymes we got the real live shit from front to back to my people in the world where the fuck you at where my niggaz is at 2x where the fuck my bitches at where my bitches is at repeat all 2x verse three puff daddy put your money on the table and get your math on break it down split it up get your laugh on see you later dog ima get my stash on theres a bed full of money that i get my ass on i never lose the passion to go platinum said id live it up til all the cash gone aint that funny only use plastic craft it to make classics hotter than acid pd rollin on your tape or cd the billboard killa no team illa the famo ammo is every channel we been hot for a long time burnin like a candle what you can do is check your distribution my songs bump in houston like scarface produced em you aint gotta like me you just mad cause i tell it how it is and you tell it how it might be verse four notorious big we got the shit mac tight brass knuckles and flashlights the heaers in the twoseaters with two midas senoritas kiss rings when you meet us pdiddy run the city show no pity im the witty one franks the crook from the brook matty broke the neck of your coke connect no respect squeeze off til all yall diminish shootouts for twenty minutes until we finish venice took the loot escaped in the coupe break bread with the kiss peniro sheek loops black rob joined the mob it aint no replacin him niggaz step up we just macin them placin them in funerals criminals turned aroused the brick city nobody come off like pdiddy business rise i play men hide money on the island cayman yall just betray men you screamin i position competition nother day in the life of the comission chorus 2x w puff talking aiyyo can you hear me out there aiyyo turn me up nobody can hear me out there thats good its all fucked up now yall know its all fucked up now right what the fuck yall gonna do now what ima do now can yall hear me out there can yall hear me out there  fuck yall niggaz wanna do its all fucked up now what ima do now huh what ima do now its all fucked up now ",1
69,"too much","spice girls",1998," love is blind as far as the eye can see deep and meaningless words to me easy lover i need a friend road to nowhere twist and turns but will this never endwell my dear youll know that he pleases me pleases me but short term solution aint no resolution that aint no release for metoo much of something is bad enough but somethings coming over me to make me wonder too much of nothing is just as tough i need to know the way to feel to keep me satisfiedunwrap myself from around my finger hold me too tight or left to linger something fine built to last slipped up there i guess were running out of time too fastyes my dear you know he shows me moves me theres no complication theres no explanation its just a groove in metoo much of something is bad enough bad enough but somethings coming over me to make me wonder too much of nothing is just as tough just as tough i need to know the way to feel to keep me satisfiedwhat part of no dont you understand understand understand i want a man not a boy who thinks he can boy who thinks he cantoo much of something is bad enough but somethings coming over me to make me wonder too much of nothing is just as tough i need to know the way to feel to keep me satisfiedtoo much of something is bad enough bad enough but somethings coming over me to make me wonder too much of nothing is just as tough just as tough i need to know the way to feel to keep me satisfiedtoo much of nothing so why dont we give it a try too much of something were gonna be living a lie too much of nothing so why dont we give it a try too much of something were gonna be living a lietoo much of nothing so why dont we give it a try too much of something were gonna be living a lie too much of nothing so why dont we give it a try too much of something were gonna be living a lie ",1
70,"ghetto supastar that is what you are","pras michel featuring ol dirty bastard and m'ya",1998,"pras michel miscellaneous ghetto supastar that is what you are ghetto supastar that is what you are pras michel featuring ol dirty bastard  mya album bulworth the soundtrack ol dirty bastard man man look up at the sky all the stars man the stars look beautiful tonight look at em chorus mya ghetto superstar that is what you are comin from afar reachin for the stars run away with me to another place we can rely on each other uhhuh from one corner to another uhhuh pras uh yeah yo yo some got hopes and dreams we got ways and means the supreme dream team always up with the schemes from hubcaps to sellin raps name your theme my rise to the top floatin on this cream who the hell wanna stop me i hated those who doubt me a million refugees with unlimited warranties black caesar dating top skeezers diplomatic legalese no time for a visa they just begun ima shoot them one by one got five sides to me somethin like a pentagon strike with the forces of king solomon lettin bygones be bygones and so on and so on ima teach this cat how to live in the ghetto keepin it retrospective from the getgo lay low let my mind shine like a halo ppolitic with ghetto senators on the deelow chorus ol dirty bastard one two and you dont stop yo my eyes are sore bein a senator behind closed doors hittin truth to the seafloor the rich go north ignore the tug of war while the kids are poor open new and better drug stores so i became hardcore couldnt take it no more ima reveal everything change the law i find myself walkin the streets tryin to find whats really goin on in the streets pras yea yo yo yo now every dog got his day needless to say when the chief away thats when them cats want to play i told you mess around with fools like cassius clay stretch my heater make you do a pas de bourree kick your balls like pele pick em doin ballet peak like dante broader than broadway get applause like a matador cry yellin ole who the hell wanna save me from bk to cali come on chorus pras yeahyo yeah just when you thought it was safe in a common place showcase your finest is losin fast in the horse race two faced gettin defaced out like scarface throw your roll money let me put on my screwface ol dirty bastard well im paranoid at the things i said wonderin whats the penalty from day to day im hangin out partyin with girls that never die you see i was pickin on the small fries my campaign tellin lies was just spreadin my love didnt know my love was the one holdin the gun and the glove but its all good as long as its understood its all together now in the hooooooooooooooooooooooooooood chorus pras uhhuh uhhuh uhhuh uhhuh yeah all stars yeah yeah yeah chorus ol dirty bastard sing it baby sing it babyeeeeeeeeeeeeee to another aheoehahahahhhhhhhhhhhhhhh yeahhhh heeee ahhhhhhhhhhhhhhhhhhhhhhh from rick thompson",3
71,"how deep is your love","dru hill featuring redman",1998," how deep is your love for me tell me what its gonna be or do you see yourself fuckin with a nigga like me on the low though so your friends wont know now mehow deep is your love for me tell me what its gonna be or do you see yourself fuckin with a nigga like me on the low though so your friends wont know now mehey mami you know that i like it when you call me papi but it seems like lately baby that youve been seein another chicoand baby you know he cant go down like me you know that a nigga cant freak like me so mami tell me one little thing how deep is your love for mehow deep is your love for me tell me what its gonna be or do you see yourself fuckin with a nigga like me on the low though so your friends wont know now mehow deep is your love for me tell me what its gonna be or do you see yourself fuckin with a nigga like me on the low though so your friends wont know now meven aqui mami puerto rican i see the way you wiggle it the way you move your body he cant make you get wetter than me but i bet he keeps tellin you hes better than meoh you know that he cant go down like me you know that he aint no freak like me so baby tell me one little thing how deep is your love for mehow deep is your love for me tell me what its gonna be or do you see yourself fuckin with a nigga like me on the low though so your friends wont know now mehow deep is your love for me tell me what its gonna be or do you see yourself fuckin with a nigga like me on the low though so your friends wont know now mehow deep is your love for me tell me what its gonna be or do you see yourself fuckin with a nigga like me on the low though so your friends wont know now mehow deep is your love for me tell me what its gonna be or do you see yourself fuckin with a nigga like me on the low though so your friends wont know now meooh mami i got to know tell me how deep tell me how deep before you tell me another chico tell me how deep tell me how deepthere will never be another senorita see and all i ask is that you keep on lovin me ooh mami chula you know that there will never be a chico quite like sisqo so i must knoway nakio te extrano mucho ven aqui my papi morenito y damelo duro damelo papi chulohow deep is your love for me tell me what its gonna be or do you see yourself fuckin with a nigga like me on the low though so your friends wont know now mehow deep is your love for me tell me what its gonna be or do you see yourself fuckin with a nigga like me on the low though so your friends wont know now mehow deep is your love for me tell me what its gonna be or do you see yourself fuckin with a nigga like me on the low though so your friends wont know now mehow deep is your love for me tell me what its gonna be or do you see yourself fuckin with a nigga like me on the low though so your friends wont know now mehow deep is your love for me tell me what its gonna be or do you see yourself fuckin with a nigga like me on the low though so your friends wont know now mehow deep is your love for me tell me what its gonna be or do you see yourself fuckin with a nigga like me on the low though so your friends wont know now me ",1
72,"friend of mine","kelly price featuring r kelly and ron isley",1998," she was a friend of mine she left with my man she lied cheated took all i had she was a friend of mine she used what she knew she lied cheated and left me confusedi feel so lost dont know why this has happened to me my closest friend i never would have thought it could be you were someone someone i really thought i could trust but my man you laid and im betrayedshe was a friend of mine she left with my man she lied cheated took all i had she was a friend of mine she used what she knew she lied cheated and left me confusedthicker than blood wherever there was me there was you my all was your all but that wasnt enough for you you had to see and tried to walk a mile in my shoes in my head in my bed betrayed by my best friendshe was a friend of mine she left with my man she lied cheated took all i had she was a friend of mine she used what she knew she lied cheated and left me confusedwhy why why why why why why whyshe was a friend of mine she left with my man she lied cheated took all i had she was a friend of mine she used what she knew she lied cheated and left me confusedshe was a friend of mine she left with my man she lied cheated took all i had she was a friend of mine she used what she knew she lied cheated and left me confusedshe was a friend of mine she left with my man she lied cheated took all i had she was a friend of mine she used what she knew she lied cheated and left me confused  ",1
73,"turn it up remixfire it up","busta rhymes",1998," we grind yall bounce back open your mind yall grind your whole ass till you twist your waistline yall know the time hey yo feel the base line stack the overdrive bounce baby feel the incline so geniune everytime busta redefine the wicked knew the dime makin yall press rewind hope you feelin fine watch me combine and intertwine the bounce rock skates make you cross the foul lineshine a nickel nine on all kinds of little swine stick the worst of porcupine if you tryin to take mine yo pick up my nigga splif in the blue 5 ss sportin out tan interior blue head restses move baby no time for second guesses been articulate the right bounce as the flow finesses yo we gettin papers spreadin love and happinesss shit blazin so hot djs scratch the test presses like make it mo hot babyturn it up i wanna hear it real loud just turn it up so we can party in the loft baby turn it up we need to tear the roof off so just turn it up i need to make it mo hot baby turn it up i wanna hear it real loud just turn it up so we can party in the loft baby turn it up we need to tear the roof off so just turn it upyo aiyo word is bond baby lets get it on i never say it wrong baby girl take off your thong let me put it in your spirit like the holy kyron got the mega song sweet like honey chicken dijon movin along yo honey body look real strong watch your ass swing hangin like a medallion exercise baby let me see you spread on the floor what you askin for relax im bout to give you some morewhere the liquor store hit you with some more metaphor the raw hot to def shit you never seen it before hit the deck on your mark get set we bout to jet spark it like ingelet chickens breakin their neck yo we play to win such a shame shit is a sin so hot baby body heat bubble your skin everytime i flow speak i caress the whole beach just like the body guard les straight walkin the street we get downturn it up i wanna hear it real loud just turn it up so we can party in the loft baby turn it up we need to tear the roof off so just turn it up i need to make it real hot baby turn it up i wanna hear it real loud just turn it up so we can party in the loft baby turn it up we need to tear the roof off so just turn it upyo yo come on baby just feel my heat wave a lot of hot ones ready for niggas that act brave chill son you better off if you behave flip money while broke niggas tryin to save lay low i say so my pesos import my cheese stack by the castros make clothes or stay fly a chase hoes equatorians soft lips and straight nose makin doughwhen we rippin the paid show get the money and dip we in the range rove now we makin grands we name brand we make plans change plans then we expand across land do it properly yo i said open sesame the recipe be the hot shit its got to be yo landscape we arrange a whole shape rock the fly tape then i continue to skyscrape like blah so hot we gottaturn it up i wanna hear it real loud just turn it up so we can party in the loft baby turn it up we need to tear the roof off so just turn it up i need to make it mo hot love turn it up i wanna hear it real loud just turn it up so we can party in the loft baby turn it up we need to tear the roof off so just turn it up i wanna make it so hot babyi wanna hear it real loud just i wanna make it so hot just ",1
74,"ill be","edwin mccain",1998," the strands in your eyes that color them wonderful stop me and steal my breath emeralds from mountains and thrust towards the sky never revealing their depth tell me that we belong together dress it up with the trappings of love ill be captivated ill hang from your lips instead of the gallows of heartache that hang from aboveill be your cryin shoulder ill be love suicide ill be better when im older ill be the greatest fan of your lifeand rain falls angry on the tin roof as we lie awake in my bed youre my survival youre my living proof my love is alive and not deadtell me that we belong together dress it up with the trappings of love ill be captivated ill hang from your lips instead of the gallows of heartache that hang from aboveill be your cryin shoulder ill be love suicide ill be better when im older ill be the greatest fan of your lifeand ive dropped out burned up fought my way back from the dead tuned in turned on remembered the thing you saidill be your cryin shoulder ill be love suicide ill be better when im older ill be the greatest fan of your lifeill be your cryin shoulder ill be love suicide ill be better when im older ill be the greatest fan of your lifethe greatest fan of your life the greatest fan of your life ",1
75,"ray of light","madonna",1998," zephyr in the sky at night i wonder do my tears of mourning sink beneath the sun shes got herself a universe gone quickly for the call of thunder threatens everyoneand i feel like i just got home and i feel and i feel like i just got home and i feelfaster than the speeding light shes flying trying to remember where it all began shes got herself a little piece of heaven waiting for the time when earth shall be as oneand i feel like i just got home and i feel and i feel like i just got home and i feelquicker than a ray of light quicker than a ray of light quicker than a ray of lightzephyr in the sky at night i wonder do my tears of mourning sink beneath the sun shes got herself a universe gone quickly for the call of thunder threatens everyoneand i feelquicker than a ray of light then gone for someone else will be there through the endless yearsshes got herself a universe shes got herself a universe shes got herself a universeand i feel and i feel and i feel like i just got home and i feelquicker than a ray of light shes flying quicker than a ray of light im flying ",1
76,"all for you","sister hazel",1998," theres been times im so confused and all my road they lead to you just cant turn and walk awayits hard to say what it is i see in you if ill always be with you words cant say it i cant do enough to prove its all for youfinally i figured out but it took a long long time now theres a turnabout maybe cause im tryin yeahtheres been times im so confused all my road they lead to you just cant turn and walk awaywell its hard to say what it is i see in you if ill always be with you words cant say it i cant do enough to prove its all for youid thought i seen it all cause its been a long long time oh but then well trip and fall wonderin if im blind yeahtheres been times im so confused all my roads they lead to you i just cant turn you walk awayits hard to say what it is i see in you wonder if ill always be with you words cant say and i cant do enough to prove its all for yourain comes pourin down fallin from blue skies words give out a sound comin from your eyesfinally i figured out but it took a long long time oh now theres a turnabout maybe cause im tryintheres been times im so confused all my roads they lead to you just cant turn and you walk awayits hard to say what it is i see in you wonder if ill always be with you words cant say i cant do enough to prove its all for youits hard to say what it is i see in you wonder if ill always be with you words cant say i cant do enough to prove its all for youwell its hard to say what it is i see in you wonder if ill always be with you words cant say i cant do enough to prove its all for you hard to say yeah yeah hard to say its all for you ",1
77,"touch it","monifah",1998," yeah yeah yeahjack night in the coda house all we wanna do is make ya bounce monifah could ya turn me on show me what ya thing is all aboutjack night in the coda house all we wanna do is make ya bounce monifah could ya turn me on show me what ya thing is all aboutdo ya really wanna touch it do ya really wanna mess with me tonight and if ya know how i like it would ya call my name and give it to me rightcould you just put that thing on me see we could just fuck on you and you could just fuck on me and i will give it to ya all night long ima show your body what your lips are doing wrongdo ya really wanna touch it do ya really wanna fuck with me tonight and if ya know how i like it would ya call my name and give it to me rightcause your love just feels so good to me could ya just move it on up cause im in ecstasy and ima give it to ya all night long ima show your body what your tongue is doin wrongdo ya really wanna touch it do ya really wanna fuck with me tonight and if ya know how i like it would ya call my name and give it to me rightthis whole shine has got me wet like crazy i want it more and more when ya call my name and spank medo ya really wanna touch it do ya really wanna mess with me tonight and if ya know how i like it would ya call my name and give it to me rightdo ya really wanna touch it do ya really wanna fuck with me tonight and if ya know how i like it would ya call my name and give it to me rightjack night in the coda house all we wanna do is make ya bounce monifah could ya turn me on show me what ya thing is all aboutjack night in the coda house all we wanna do is make ya bounce monifah could ya turn me on show me what ya thing is all aboutdo ya really wanna touch it do ya really wanna fuck with me tonight and if ya know how i like it would ya call my name and give it to me rightdo ya really wanna touch it do ya really wanna mess with me tonight and if ya know how i like it would ya call my name and give it to me rightdo ya really wanna touch it do ya really wanna fuck with me tonight and if ya know how i like it would ya call my name and give it to me rightdo ya really wanna touch it do ya really wanna mess with me tonight and if ya know how i like it would ya call my name and give it to me righttouch it touch me my man suck me gimme baby if you know how i like itdo ya really wanna touch it do ya really wanna fuck with me tonight and if ya know how i like it would ya call my name and give it to me right ",1
78,"money power  respect","the lox featuring dmx and lil kim",1998,"see i believe in money power and respect first you get the money then you get the muthafuckin power after you get the fuckin power muthafuckas will respect you its the key to life money power and respect whatchu need in life money power and respect when you eatin right money power and respect help you sleep at night youll see the light its the key to life money power and respect whatchu need in life money power and respect when you eatin right money power and respect money power and respect money power and respect ayo my whole clique bout it bout it we take yours while you pout about it truck step out the whores wanna crowd around it you could see me on optimum tv go in your bathroom turn the light out scream bloody mary 1 2 3 sheek aint your usual friend about to setchu up like kaiser and walk straight at the end im done wit ice and charms im tryin my whole casket when im gone pull up wit class on the don once i meet em i greet em kiss his feet for freedom tell em thank you lord cuz on earth i was gettin bored now resurrect me back to this cat called sheek so i can make this album and get back the cats thats weak two thirty six two me bust for you thats like a cat vs a pitbull gun know clip full keep hunger and plan for the future cuz you figure you gon be older way longer than you gon be younger its the key to life money power and respect whatchu need in life money power and respect when you eatin right money power and respect help you sleep at night youll see the light its the key to life money power and respect whatchu need in life money power and respect when you eatin right money power and respect money power and respect money power and respect its the key to life only time could tell how the clock ticks im really loved here but im still a hostage two personalities check the posture smoke out the mouth clear out the nostrils you think of death but the life seem scary im past the graveyard seein people hail mary i aint chillin til im out parachutin race my man in mountain climbin for about ten diamonds twenty five thousand a piece fuck streets tryin to own the island forget about wilin try ridin in the car that be glidin if i showed you where i lived you would think i was hidin sling dick to chicks that dont speak english wake up in trinidad like fuckin em rich come back private jet live on set if you could shit gold like you split the decks its the key to life money power and respect whatchu need in life money power and respect when you eatin right money power and respect help you sleep at night youll see the light its the key to life money power and respect whatchu need in life money power and respect when you eatin right money power and respect money power and respect money power and respect yo nutin but the hotness whenever we drop this monotonous for yall to keep hatin cuz yall never gon stop us i keep my rocks spotless and my hoes topless take time try to figure out who da lox is fear no one kick rhymes like shoguns you scared to blow one get robbed wit your own gun if i dont respect you im ah check you and if i dont kiss you im a peck you right before i wet chu i sneeze on tracks an bless you im special and if you like workin out then im gon stretch you husslin is dead but we still get red turn the spots in the bakeries to get back bread and yall said my monies spent but its in the bent so when the feds come the dogs cant get a scent for my story selfexplanatory that im the hottest thing on the street an yall aint got nutin for me its the key to life money power and respect whatchu need in life money power and respect when you eatin right money power and respect help you sleep at night youll see the light its the key to life money power and respect whatchu need in life money power and respect when you eatin right money power and respect money power and respect money power and respect arf arf this is a beat that i can freak to just drop the reals plus a nigga wit the ill yall niggas know my skills ass from the grills get em up split em up wet em up and watch em come get em up set em up when you do dirt you get dirt bitch ill make your shit hurt step back like i did worse this aint no fucking game you think im playin till you layin to where the junkyard decayin moms at home prayin that chu comin home but chu not cuz you sittin up in the trunk startin to rot and hell is hot i know because im here now baby its goin down baby git the full pound baby and let off up in a nigga especially if he think he bigga than my muthafuckin trigga did i can i get my is it gone dmx represent for one time its on its the key to life money power and respect whatchu need in life money power and respect when you eatin right money power and respect help you sleep at night youll see the light its the key to life money power and respect whatchu need in life money power and respect when you eatin right money power and respect money power and respect money power and respect",3
79,"bitter sweet symphony","the verve",1998," cause its a bittersweet symphony this life try to make ends meet youre a slave to money then you die ill take you down the only road ive ever been down you know the one that takes you to the places where all the veins meet yeahno change i cant change i cant change i cant change but im here in my mold i am here in my mold but im a million different people from one day to the next i cant change my mold no no no no nowell i never pray but tonight im on my knees yeah i need to hear some sounds that recognize the pain in me yeah i let the melody shine let it cleanse my mind i feel free now but the airways are clean and theres nobody singing to me nowno change i cant change i cant change i cant change but im here in my mold i am here in my mold and im a million different people from one day to the next i cant change my mold no no no no no i cant change i cant changecause its a bittersweet symphony this life try to make ends meet try to find some money then you die ill take you down the only road ive ever been down you know the one that takes you to the places where all the things meet yeahyou know i cant change i cant change i cant change i cant change but im here in my mold i am here in my mold and im a million different people from one day to the next i cant change my mold no no no no noi cant change my mold no no no no no i cant change cant change my body no no noill take you down the only road ive ever been down ill take you down the only road ive ever been down been down ever been down ever been down ever been down ever been down have you ever been down have youve ever been down ",1
80,"dangerous","busta rhymes",1998," hey another one of them flipmode joints busta rhymes yall word mother yall check it out yall just swing to the left swing to the right make ya feel good make ya feel alright one time feel good yeah yall busta rhymes in the place yall makin you feel real good yall flipmode is the squad in the place yallbuckwild to all of my niggaz who dont care floss like a bunch of young black millionaires makin ya run me and my dunn stackin my ones floss a lil invest up in a mutual fund blowin the horn a sense of every day i was born never dream i see a nigga landscaping my lawn dangerous my nigga shit be accurate have to get the flow be so immaculate aiyyo aiyyo watchin my dough sippin my moe sippin it slow them pretty bitches sayin hello anyway go head and diss play your oil of olay little honeydip within a little cariola i dont mean to hold you up but i got somethin to say swear to only give you hot shit everyday afraid of us you know this aint no game to us you strange to us thats when we gettin dangerous come onthis is serious we could make you delirious you should have a healthy fear of us cause too much of us is dangerous so dangerous we so dangerous my flipmode squad is dangerous so dangerous we so dangerous my whole entire unit is dangeroushold your breath we swingin it from right to left word to wyclef nigga shit be hot to death stayin alive you know only the stronger survive holdin my heat under my seat whippin my five bassline for all of my people movin around give me a pound all of my niggaz holdin it down cuttin you up the new shit ruckin you up fuckin you up my black hole suckin you up back in the days a nigga used to be ass out now a nigga holdin several money market accounts blaze the street and then i would just like to announce feelin my groove my jigga jigga makin you bounce others is fair me and my niggaz breakin the bread straight gettin it we got you niggaz holdin your head afraid of us you know this aint no game to us you strange to us thats when we gettin dangerous come onthis is serious we could make you delirious you should have a healthy fear of us cause too much of us is dangerous so dangerous we so dangerous my flipmode squad is dangerous so dangerous we so dangerous my whole entire unit is dangerousone time yall throw your hands real high yall yea get down yall let me see you all yall busta rhymes flipmode yall nineteen ninety eight yall ha get down yall lets have a ball yallfeelin the heat up in the street rockin the beat step up in the club take me to my reserved seat comin around all of my niggaz surround me so much bottles of liquor yall niggazll drown me makin ya drunk feelin the funk blazin the skunk stay hittin with the shit that blow a hole in ya trunk afraid of us you know this aint no game to us you strange to us thats when we gettin dangerous come onthis is serious we could make you delirious you should have a healthy fear of us cause too much of us is dangerous so dangerous we so dangerous my flipmode squad is dangerous so dangerous we so dangerous my whole entire unit is dangerous come on ",1
81,"spice up your life","spice girls",1998," la la la la la la la la la la la la la la la la la la la la la la la la la la la la la la la lawhen youre feelin sad and low we will take you where you gotta go smiling dancing everything is free all you need is positivitycolors of the world spice up your life every boy and every girl spice up your life people of the world spice up your life aahhslam it to the left if youre havin a good time shake it to the right if you know that you feel fine chicas to the front huh huh and go roundslam it to the left if youre havin a good time shake it to the right if you know that you feel fine chicas to the front huh huh hi ci ja hold tightla la la la la la la la la la la la la la la la la la la la la la la la la la la la la la la layellow man in timbucktoo color for both me and you kung fu fighting dancing queen tribal spaceman and all thats in betweencolors of the world spice up your life every boy and every girl spice up your life people of the world spice up your life aahhslam me to the left if youre havin a good time shake it to the right if you know that you feel fine chicas to the front huh huh and go roundslam me to the left if youre havin a good time shake it to the right if you know that you feel fine chicas to the front huh huh hi ci ja hold tightflamenco lambada but hip hop is harder we moonwalk the foxtrot then polka the salsa shake it shake it shake it haka shake it shake it shake it haka arriba ahaacolors of the world spice up your life every boy and every girl spice up your life people of the world spice up your life aahhslam it to the left if youre havin a good time shake it to the right if you know that you feel fine chicas to the front huh huh and go roundslam it to the left if youre havin a good time shake it to the right if you know that you feel fine chicas to the front huh huh hi ci ja hold tightslam me to the left if youre havin a good time shake it to the right if you know that you feel fine chicas to the front huh huh and go roundslam it to the left if youre havin a good time shake it to the right if you know that you feel fine chicas to the front huh huh hi ci ja hold tight ",1
82,"because of you","98 degrees",1998," chorus youre my sunshine after the rain youre the cure against my fear and my pain cause im losing my mind when youre not around its all its all its all because of youbaby i really know by now since we met that day you showed me the way i felt it then you gave me love i cant describe how much i feel for you i said baby i should have known by now should have been right there whenever you gave me love and if only you were here id tell you yes id tell you oh yeahchorusyoure my sunshine after the rain youre the cure against my fear and my pain cause im losing my mind when youre not around its all its all its all because of youhonestly could it be you and me like it was before neither less or more cause when i close my eyes at night i realize that no one else could ever take your place i still can feel and its so unreal when youre touching me kisses endlessly its just a place in the sun where our loves begun i miss you yes i miss you baby oh yeahchorusyoure my sunshine after the rain youre the cure against my fear and my pain cause im losing my mind when youre not around its all its all its all because of youif i knew how to tell you whats on my mind make you understand then id always be there right by your sidechorusyoure my sunshine after the rain youre the cure against my fear and my pain cause im losing my mind when youre not around its all its all its all because of youchorusyoure my sunshine youre my sunshine oh yeah ",1
83,"the mummers dance","loreena mckennitt",1998," when in the springtime of the year when the trees are crowned with leaves when the ash and oak and the birch and yew are dressed in ribbons fairwhen owls call the breathless moon in the blue veil of the night the shadows of the trees appear amidst the lantern lightweve been rambling all the night and some time of this day now returning back again we bring a garland gaywho will go down to those shady groves and summon the shadows there and tie a ribbon on those sheltering arms in the springtime of the yearthe songs of birds seem to fill the wood that when the fiddler plays all their voices can be heard long past their woodland daysweve been rambling all the night and some time of this day now returning back again we bring a garland gayand so they linked their hands and danced round in circles and in rows and so the journey of the night descends when all the shades are gonea garland gay we bring you here and at your door we stand it is a sprout well budded out the work of our lords handweve been rambling all the night and some time of this day now returning back again we bring a garland gayweve been rambling all the night and some time of this day now returning back again we bring a garland gay ",1
84,"all cried out","allure featuring 112",1998," all alone on a sunday morning outside i see the rain is falling inside im slowly dying but the rain will hide my crying crying cryingand you dont you know my tears will burn the pillow set this place on fire cause im tired of your lie all i needed was a simple hello but the traffic was so noisy that you could not hear me cryi i gave you my love in vain my body never knew such pleasure my heart never knew such pain and you you leave me so confused now im all cried out over you ooh crying over you over you yeahnever wanted to see things your way had to go astray for why was i such a fool now i see that the grass is greener is it too late for me to find my way home how could i be so wrong yeahleaving me all alone dont you know my tears will cause an inferno romance of these flames why should i take the blame you were the one who left me neglected apology not accepted add me to the broken hearts youve collectedi gave you all of me how was i to know you would weaken so easily i i dont know what to do now im all cried out over youi gave you my love in vain my body never knew such pleasure my heart never knew such pain and you you left me so confused now im all cried out now im all cried out over youplease forgive me please forgive me oh please forgive me ",1
85,"still not a player","big pun featuring joe",1998,"whoa yeah dont wanna be a playa i dont wanna be a playa no more im not a playa i just crush a lot but big punisher still got what youre lookin for for my thugs for my thugs uptown baby uptown dont wanna be dont wanna be i dont wanna be a playa no more im not a playa i just crush a lot but you know big punisher still down by law whos down to crush a lot hey yo im still not a player but you still a hater elevator to the top hah see you later im gone penthouse suite penthouse freaks in house beach french count seats ten thou piece rentout lease with a option to buy coppin a fiveoh benz for when im not far up in the sky puffin the lye from my twinzito up in the benzito with my kiko from queens nicknamed perico we go back like pas and wearin pjs now we reach the peakage runnin trains for three days who wanna ride it wont cost you a dollar whether soft or harder of course you still gonna holla my my im big huh i rip my prick through your hooters im sick you couldnt measure my dick with six rulers hold up chula im all about gettin loot but i knock that boot if you out to get hoof i dont wanna be a playa no more im not a playa i just crush a lot but big punisher still got what youre lookin for for my thugs for my thugs uptown baby uptown dont wanna be dont wanna be i dont wanna be a playa no more im not a playa i just crush a lot but you know big punisher still down by law whos down to crush a lot i love from puerto rican to blackberry molass i dont discriminate i regulate every shade of that ass long as you show class and pass my test fat fuckin breasts highly intelligent bachelorettes thats the best i wont settle for less i wanna get a brunette with unforgettable sex i lay your head on my chest come feel my heartbeat we can park the jeep pump mobb deep and just spark the leaf its hard to creep since i found joe every pretty round brown hoe wanna go down low but this boogie down professional ima let you know once i quit the blows get your clothes cause you got to go i could go downstairs little brown hairs everywhere you nasty twin i dont care round here they call me big pun if you with the big guns thick tongue known to make a chick come in the hot tub poppin bubbly rubbin your spot love got you screamin punish me but it dont stop watch the pun get wicked when i edited even luke be like dont stop get it get it in the hot tub poppin bubbly rubbin your spot love got you screamin punish me but it dont stop watch the pun get wicked when i edited even luke be like dont stop get it get it i dont wanna be a playa no more but big punisher still got what youre lookin for dont wanna be dont wanna be i dont wanna be a playa no more but you know big punisher still down by law whos down to crush a lot boricua morena boricua morena boricua morena boricua morena boricua morena boricua morena no more rollin with an entourage unless its pun and the terror squad punisher punisher big punisher punisher joe and big punisher boricua morena boricua morena boricua morena boricua morena boricua morena boricua morena boricua morena boricua morena boricua morena boricua morena boricua morena boricua morena",3
86,"the one i gave my heart to","aaliyah",1998," how could the one i gave my heart to break my heart so bad how could the one who made me happy make me feel so sadwont somebody tell me so i can understand if you love me how could you hurt me like thathow could the one i gave my world to throw my world away how could the one who said i love you say the things you sayhow could the one i was so true to just tell me lies how could the one i gave my heart to break this heart of mine tell mehow could you be so cold to me when i gave you everything all my love all i had inside how could you just walk out the door how could you not love me anymore i thought we had forever i cant understandhow could the one i shared my dreams with take my dreams from me how could the love that brought such pleasure bring such miserywont somebody tell me somebody tell me please if you love me how could you do that to me tell mehow could you just walk out the door how could you not love me anymore i thought we had forever i cant understandhow could the one i gave my heart to break my heart so bad how could the one who made me happy make me feel so sadwont somebody tell me so i can understand if you love me how could you hurt me like thathow could the one i gave my world to throw my world away how could the one who said i love you say the things you sayhow could the one i was so true to just tell me lies how could the one i gave my heart to how could the one i gave my heart to how could the one i gave my heart to break this heart of mine tell me ",1
87,"foolish games  you were meant for me","jewel",1998,NA,NA
88,"love you down","inoj",1998," it never really mattered to much to me you were just too damned old for me all that really mattered was you were my boyfriend and baby thats all that mattered to me let me love you down even if it takes all night let me love you down you know its got to be so right remember when you drove me home from work i love the way when you kissed me bye all of your friends think im just too young for you you tell em i can do what girls their age can do oh baby let me love you down even if it takes all night let me love you down you know its got to be so right let me love you down even if it takes all night let me love you down you know its got to be so right it never really mattered to much to me you were just too damned old for me all that really mattered was you were my boyfriend and baby thats all that mattered to me oh baby let me love you down let me love you down you know its gonna be so right let me love you down let me love you down you know its gonna be so right i can love you down let me love you let me love you let me love you down i know i know i could let me love you down i know its gonna take all night let me love you down let me love you down let me love cmon incomprehensible love you down down down down down love you down down down down down i know i know i could let me love you down its just you and me the whole night through let me love you baby i know i know i could love you down down let me love you i know i could do baby this so sweet to know let me love you down oh baby its just you and me baby the whole night through so let me love you down i can take this to much longer ",1
89,"do for love","2pac featuring eric williams",1998," i shoulda seen you was trouble right from the start taught me so many lessons how not to mess with broken hearts so many questions when this began we was the perfect match perhaps we had some problems but we workin at it and now the arguments are gettin loud i wanna stay but i cant help from walkin out just a little way just take my hand and understand if you could see i never planned to be a man it just wasnt me but now im searchin for commitment in other arms i wanna shelter you from harm dont be alarmed your attitude was the cause you got me stressin soon as i open up the door with your jealous questions like where can i be youre killin me with your jealousy now my ambitions to be free i cant breathe cause soon as i leave its like a trap i hear you callin me to come back im a sucka for lovewhat you wont do do for love you tried everything but you dont give upwhat you wont do do for love you tried everything but you dont give upjust when i thought i broke away and im feelin happy you try to trap me say you pregnant and guess who the daddy dont wanna fall for it but in this case what could i do so now im back to makin promises to you tryin to keep it true what if im wrong a trick to keep me on and on tryin to be strong and in the process keep you goin im bout to lose my composure im gettin close to packin up and leavin notes and gettin ghost tell me who knows a peaceful place where i can go to clear my head im feelin low losin control my heart is sayin leave oh what a tangle web we weave when we conspire to conceive and now you gettin calls at the house guess you cheatin thats all i need to hear cause im leavin im out the do never no more will you see me this is the end cause now i know youve been cheatin im a sucka for lovewhat you wont do do for love you tried everything but you dont give up what you wont do do for love you tried everything but you dont give upnow he left you with scars tears on your pillow and you still stay as you sit and pray hoping the beatingsll go away it wasnt always a hit and run relationship it use to be love happiness and companionship remember when i treated you good i moved you up to hills out the ills of the ghetto hood me and you a happy home when it was on i had a love to call my own i shoulda seen you was trouble but i was lost trapped in your eyes preoccupied with gettin tossed no need to lie you had a man and i knew it you told me dont worry bout it we can do it now im under pressure make a decision cause im waitin when im alone im on the phone havin secret conversations huh i wanna take your misery replace it with happiness but i need your faith in me im a sucka for lovewhat you wont do do for love you tried everything but you dont give up what you wont do do for love you tried everything but you dont give up ",1
90,"raise the roof","luke featuring no good but so good",1998," what time is it booty timelets go raise the roof put em up there raise the roof put em up there raise the roof put em up there raise the roof put em up thereraise the roof put em up there raise the roof put em up there raise the roof put em up there raise the roof lets gocome on yall its a big booty party get all yall day in day chillin in the m to the i to the a makin hits with luke this way burn the roof downtownincomprehensibleup if ya feel me just pump your fists up left side right side whats up put them legs up wanna be change upbiggest stars show up out to the beat federal track got more game than the heat get with that and ima get with this if you need to bite something playa bite thisdont say incomprehensiblehow ya feel now like a pimp talkin out comin here south side ready to get loose incomprehensiblepump ya fists and just raise the roofraise the roof put em up there raise the roof put em up there raise the roof put em up there raise the roof put em up thereraise the roof put em up there raise the roof put em up there raise the roof put em up there raise the roof put em up therethrow your hands in the air big booty girls shake your darria and the place gonna see one i see yall playas representing over there and what about new york foxy brown you know that we get down t nasty in the house and we dont quit this and that girls move your ass pump ya fistslittle kim and ngbg pump ya fists in the air if youre with me one time for salt n pepa luke breaks express gets so better cant leave out the dirty south phatlanta and the brat thats what im tallin about so if you can hear me all across the world let me see you pump your fistsraise the roof put em up there raise the roof put em up there raise the roof put em up there raise the roof put em up thereraise the roof put em up there raise the roof put em up there raise the roof put em up there raise the roofincomprehensiblewhat time is it booty time what time is it booty time what time is it booty booty booty timewhat time is it booty time what time is it booty time what time is it booty booty booty timeincomprehensibleraise the roof put em up there raise the roof put em up there raise the roof put em up there raise the roof put em up thereraise the roof put em up there raise the roof put em up there raise the roof put em up there raise the roof put em up theretime to get high ride down i95 might see me at iny wednesday night 4 5 6 head track monday night fat break fsss incomprehensibletake a trip where they go cay club chicago aint no tellin where i might be huston texas or dcred roper fayetteville cap d get ill east side new york funk master flex get back south side bama 9 west coast show me love for bound west in the gclub uncle luke get loose im platinum bound now raise the roofraise the roof put em up there raise the roof put em up there raise the roof put em up there raise the roof put em up thereraise the roof put em up there raise the roof put em up there raise the roof put em up there raise the roof put em up there put em up thereput yo hands up high let me see you raise the roof put yo hands up high let me see you raise the roofroof roof roof i love you man ",1
91,"heaven","nu flavor",1998," ohhh heaven oh heaven cant you help mefirst time i saw you girl you turned me upsidedown i cant stop thinking bout you my head is spinning round i got to find a way to get with you somehow girl im so crazy for you you know i want you now and every minute of every single day im dreaming of how it could be and every night before i go to sleep im praying that soon youll be here with meheaven heaven oh heaven cant you help me i looked in her eyes now shes all i see heaven oh heaven cant you help me im down on my knees please help mecant fall asleep tonight i dont what to do i hold my pillow but i wanna be holding you and when i close my eyes i always see your face i know my happiness is only a kiss away and every hour here in the dark every beat of my lonely heart tells me that i need to be with you heaven oh heaven what can i doheaven heaven oh heaven cant you help me im giving my love for eternity heaven oh heaven cant you help me im down on my knees please help megirl id give anything if you were here with me give you anything you want and anything you need i never thought that i could feel the way i do but now i wanna spend the rest of my life with you and everyday that we are apart im saving this love here in my heart and every night before i go to sleep im praying that soon youll be here with meheaven heaven oh heaven cant you help me i looked in her eyes now shes all i see heaven oh heaven cant you help me im down on my knees please help meheaven ",1
92,"the party continues","jermaine dupri featuring da brat and usher",1998," monday ten fifty three am jd its me call me man havin all them parties us cats down here think yall on vacation man incomprehensible stop doin mancome on see i been lookin at the game ya know and i see it aint too many yall that can make em dance like i do you say you wanna dance say you wanna get down the thing whats funny is yall got the nerve to wanna phd me cuz im making all the moneywhile yall ride matchbox i push the hot wheels don chi chi with the mass appeal lettin champagne spills on my house in the grill and all im about is the dolla dolla bill makin ya dance every chance i get and hatas sayin damn will he ever catch bricks nah i dont catch those keep it ghetto stayin wit the best hoes on the east and the west coast whatnow ewhere i pass they wanna see the big booty mamma tapping some ass and whether you believe it or not you see us so so def make yall true believers my whole entourage keep it top notch evidently we push vs from bentleys to drops got big things baby im still greedy to my enemies i hope you keep on envying me yeahwhatcha you wanna do huh say you wanna get down huh whatcha you wanna do huh say you wanna get down huh all we wanna do say what say what is party with youwho dat she the one who love drama keep it heated stay undefeated from the chi comma illinois my crew make more noise than yours fifteen a night on tour make em sick with no cure as she sits by the bar she sips cristies in the midst of the party they bump hits by jd the b r a t we the element and you irrelevant get down off this shiti dont pay attention to ya hatin and ya bad looks just think about gettin paper like garth brooks keep it off the hook let the world feel the touch yall doing too much sayin ya oughta see us its like this here i rock the party with cartier wrist wear in the six pretty bitches with the long hair and i got lots of dough lots in store c to the e owhatcha you wanna do huh say you wanna get down huh so whatcha you wanna do huh say you wanna get down huh all we wanna do say what say what is party with you heysee i get goosebumps when the bassline thumps so phat now call me professor clump i aint gonna front yeah i like to floss and i aint gotta lie about the girls i toss you knowbetta ask ya lil mans where his dough went needed mo rent we got bent you know the rest i split spent some lent some to my friends if you wanna get down you gotta get inwhatcha you wanna do huh say you wanna get down huh now whatcha you wanna do huh say you wanna get down huh all we wanna do say what say what is party with you hey ay yeah ay yeah ay yeah ay yeah ay yeah ay yeah hey ay yeah ay yeahsaid all i wanna do is make ya dance wit me make you dance wit me see all i wanna do is make ya dance wit me dance wit me is that alright all i wanna do is make ya dance wit me dance wit me all i wanna do is make ya dance wit me is that alrightcome on ay yeah come on ay yeah come on ay yeah come on ay yeah ay yeah ay yeah ay yeah ay yeah ",1
93,"sock it 2 me","missy elliott featuring da brat",1998," do it do it do it do it do it noi was lookin for affection so i decided to go swing that dick in my direction ill be out of control lets take it to perfection just you and me lets see if you can bring the bring the bring the nasty out of me nownownow now sock itooh ahh sock it to me like you want to i can take it like a pro and youll know do it long bro with a back stroke my hormones are jumpin like a disco i be poppin mats like some crisco and all you gotta say is that missy go and when you say it though i want it moved slowim at your house around midnight dont fall asleep itll just be me me me on a late night creep ima show you thangsthat you cant believe jump in this bebeat and wont you sock it to meooh ahh sock it to me like you want to i can take it like a pro and youll know do it long bro with a back stroke my hormones are jumpin like a disco i be poppin mats like some crisco and all you gotta say is that missy go and when you say it though i want it moved slowooh ahh sock it to me like you want to i can take it like a pro and youll know do it long bro with a back stroke my hormones are jumpin like a disco i be poppin mats like some crisco and all you gotta say is that missy go and when you say it though i want it moved slowooh ahh sock it to me like you want to i can take it like a pro and youll know do it long bro with a back stroke my hormones are jumpin like a disco i be poppin mats like some crisco and all you gotta say is that missy go and when you say it though i want it moved slowuh why missy be sockin it to niggaz like reeree the baddest industry bitches of the century hit hard like penitentiary did finally admitted that we the shit combination on this lethal poppin patron in the 600 with no seethrough hundred with no see through cept for the repercussion fuckin with shit like this we parlay puffin constantly makin niggaz suffer the consequence gotta get these ends bitch house in the chi with a caddy in atlanta with a benz niggaz been huffin and puffin but aint try shit got cream motherfuckers steady ride quick besides kid wanna but bust you shouldnt forget ends when you fuckin with me you jealous cause i live more flushed me and missy been livin with the harruss bein ruckast plus when im sellin never gon stop it sockin it to niggaz and rockin it droppin em on the spot heat up and glock and wreck a shot knockin you off of your socks guaranteed platnium watch two of the coldest bitches get hot i be the brat her be missy and we some bad bitches who be fuckin it up im the brat her be missy and we some bad bitches who be fuckin it uuuup ",1
94,"butta love","next",1998," i gotta be real wit you baby just gotta let you knowyouve got the love that i want the love that i need word is bond its butta baby check this outyoure like my homie my shorty youve shown me so many things and youre so special to me we been kickin it for a while your sexy smile prima donna style ooh youre drivin me so wildaint got no reputation educated conversation and ooh youve got that bomb love makin its more than sexual this love you know is proper dough its oh so so incredibleyouve got the love that i want the love you want youve got the love that i need the love you need girl its so smooth and so creamy youve got that butta love babyyouve got the love that i want the love you want youve got the love that i need the love you need girl its so smooth and so creamy youve got that butta love oh babyyouve got it goin on word is bond sundress with platforms feet pedicure with no corns youve got that sex appeal on the real so sure soft hands french manicure no makeup youre so pureyou dont be trippin when im kickin it s you dont be questionin where i been and what i did you got that confidence sexiness thickness that bomb shit and i like it ohhwhen im chillin with my homies think about it i think about you only you know what i want you got what i want you know what it is its that butta loveall you got to do just hit me on my hip baby and i will i will ill meet you at your crib baby cause ill rock your world ill rock you girl butta babe butta babeyouve got the love that i want the love you want youve got the love that i need the love you need girl its so smooth and so creamy youve got that butta love oh babyyouve got the love that i want the love you want youve got the love that i need the love you need girl its so smooth and so creamy youve got that butta love oh babyyouve got those sexy eyes enticing thighs you make me rise youve got that love i wanna try send my tongue up and down your spine youve got that perfect shape the love you make i scream your name wanna take all your clothes off sex you till the song goes offi like your everything your navel and your pinky ring sexy from head to toe girl never gonna let you go you got that confidence sexiness thickness that bomb and i like it all yeahyouve got it goin on word is bomb baby youve got that sex appeal on the real lady youre like my homie my shorty huh youve got that butta loveyouve got it goin on dont you know thats for sure i like your face and hands and all of your pretty toes baby youre so right youre locked tight youve got that butta love oh i want it i need it ",1
95,"a rose is still a rose","aretha franklin",1998," doo doo doo doo doo doo doo doo doothere was a rose i knew i met her once or twice before she was a pretty sweet thing not the least bit insecurethen you came with your slick game and played with her youth unashamed of the way you lied played with the truth hey heymmm she never knew what hit her yeah steal her honey then forget her a rose she wears a flower tryin to forget about youcause a rose is still a rose baby girl youre still a flower he cant lead you and then take you make you and then break you darlin you hold the powernow believe me when i tell you that ive been hurt myself when he tells you that he loves you and sees nobody elseand now youre so tough tryin to wear tight clothes and things tossin and flossin tryin to fill the void heartbreak bringsoh yeah when she faces the mirror yeah shes cryin you cant hear her now the rose is still a rose she wears a flower tryin to forget about youcause a rose is still a rose baby girl youre still a flower he cant lead you and then take you make you and then break you baby girl you hold the powersee a rose is still a rose baby girl youre still a flower he cant lead you and then take you make you and then break you darlin you hold the powerlet your life be in the sunshine not the darkness of your sorrow you may see youre all today when you know itll come tomorrowtough to be but life aint over just because your man is gone girl love yourself and love to love cause without him your life goes onwithout him your life goes on without him your life goes oncause a rose is still a rose baby girl youre still a flower he cant lead you and then take you make you and then break you baby girl you hold the powersee a rose is still a rose baby girl youre still a flower he cant lead you and then take you make you and then break you darlin you hold the power ",1
96,"4 seasons of loneliness","boyz ii men",1998," oh yea oh oh oh i long for the warmth of days gone by when you were mine but now those days are memories in time lifes empty without you by my side my heart belongs to you no matter what i trywhen i get the courage up to love somebody new it always falls apart cause they just cant compare to you your love wont release me im bound under ball and chain reminiscing our love as i watch 4 seasons changein comes the winter breeze that chills the air and drifts the snow and i imagine kissing you under the mistletoe when springtime makes its way here lilac blooms reminds me of the scent of your perfumewhen summer burns with heat i always get the hots for you go skinny dippin in the ocean where we used to do when autumn sheds the leaves the trees are bare when youre not here it doesnt feel the sameremember the nights when we closed our eyes and vowed that you and i would be in love for all timeanytime i think about these things i shared with you i break down and cry cause i get so emotional until you release me im bound under ball and chain reminiscing our love as i watch 4 seasons changein comes the winter breeze that chills the air and drifts the snow and i imagine kissing you under the mistletoe when springtime makes its way here lilac blooms reminds me of the scent of your perfumewhen summer burns with heat i always get the hots for you go skinny dippin in the ocean where we used to do when autumn sheds the leaves the trees are bare when youre not here it doesnt feel the samethis loneliness has crushed my heart please let me love again cause i need your love to comfort me and ease my pain or 4 seasons will bring the loneliness againin comes the winter breeze that chills the air and drifts the snow and i imagine kissing you under the mistletoe when springtime makes its way here lilac blooms reminds me of the scent of your perfumewhen summer burns with heat i always get the hots for you go skinny dippin in the ocean where we used to do when autumn sheds the leaves the trees are bare when youre not here it doesnt feel the same remember the warmth of days gone by ",1
97,"father","ll cool j",1998," i swear to tell the truth and nothin but the truth so help me god i just felt like tellin the story of my life felt like maybe somebody could be inspired you know we all feel pain we all go through things but its time to overcome all thatif your plane crashed in the water and everybody died would you drown on purpose or try to survive i was born handicapped my arm wouldnt move they called me a cripple pops caught a attitudebeat my moms smoked lye drove trucks my moms had a miscarriage he didnt give a fuck he sniffed some coke come home beat up on my moms cause shes talkin on the phone come onall i ever wanted all i ever wanted all i ever needed all i ever needed was a father was a father thats all thats all all i ever wanted all i ever wanted all i ever needed all i ever needed was a father was a fathermoms got tired of the beatings said yo we got to go packed up her bags we bounced out the door she said i aint takin these whippins no more i wanna live to see my little todd growi remember tear drops on my pops face lookin down at me standin on the staircase handsome brother with a smooth goatee makes me wonder why he act so ugly you feelin meall i ever wanted all i ever wanted all i ever needed all i ever needed was a father was a father thats all thats all all i ever wanted all i ever wanted all i ever needed all i ever needed was a father was a fathermy pops got drunk when me and my moms bounced swigged some jack dan sniffed up a ounce grabbed the shotty left long isle for queens possessed by a demon a devil it seemedi was too young to understand the risk when your moms come home off the midnight shift she turned around heard the shotgun click my pops said you think that you could leave mehe blasted my moms in the back she fell down screamin i cant forget that my grandfather tried to close the door he got shot ten times in the stomach yo for realall i ever wanted all i ever wanted all i ever needed all i ever needed was a father was a father thats all thats all all i ever wanted all i ever wanted all i ever needed all i ever needed was a father was a fathermy head was spinnin i had never seen blood four years old this dont feel like love anyway pops disappeared grand pops and moms healed up over the yearsthis therapist got up in her head led her to believe without him shed be dead you know they fell in love with one another everything seemed right thats word to motheruntil i started gettin beatings everyday sometimes for goin outside to play late at night on my knees id pray a young child wishin the pain would go awaydad where was you when he made me strip beat me with belts like a slave with a whip kicked me down steps outside in the snow punched me in the chest stomped me out on the floorthats just the tip of the iceberg look its too long for a song but perfect for a book word is bond thats real babyall i ever wanted all i ever wanted all i ever needed all i ever needed was a father was a father thats all thats all all i ever wanted all i ever wanted all i ever needed all i ever needed was a father was a fatherall i ever wanted all i ever wanted all i ever needed all i ever needed was a father was a father thats all thats all all i ever wanted all i ever wanted all i ever needed all i ever needed was a father was a father a father a father a father a father a shoulder a helperall i ever wanted all i ever wanted all i ever needed all i ever needed was a father was a father thats all thats all all i ever wanted all i ever wanted all i ever needed all i ever needed was a father was a father ",1
98,"thinkin bout it","gerald levert",1998," yo baby this gon hurt me more than it hurts you fo sureoh yeah yeah yeah yeah yeah oh well well well well well oh yeah yeah yeah yeah oh oh yeah i gotta let you know babe said ooh yeah yeah yeah yeah yeah oh well well well well well oh yeah oh yeah babe oh yeah babe saygirl i been waiting on this day bet you thought youd never hear me say you been creepin around all over town been layin it down been messin around what goes around always comes around baby girl thought we was down girl i hope you change your freaky ways cause i really want to stay tell me is it fair since i been there and that i should share your underwear do you really think he caresall this time time ive been sleeping with you youve been sleeping with me and you been strokin him and lovin him and kissin him and huggin him oh wow yeah you been creepin with him hes been sexing your friend and i got you thinkin bout it thinkin about it thinking about it thinking about itgirl i think that i should let you know that im gonna have to up and go if you keep givin it up and cutting up and act too fast giving up the ass i love you but i had enough do it again its gon be your lasti can forgive but wont forget the things you did youll soon regret ever dissin me cause this could be the end of we cant you see girl youre hurting meall this time all this time ive been sleeping with you ive been sleeping with you youve been sleeping with me youve been sleeping with me baby and you been strokin him you been strokin him and lovin him and kissin him and huggin him oh wow you been creepin with him hes been sexing your friend and i got you thinkin bout it thinkin about it thinking about it thinking about itall this time ive been sleeping with you youve been sleeping with me and you been strokin him and lovin him and kissin him and huggin him oh wow oh wow you been creepin creepin creepin with him hes been sexing your friend and i got you thinkin bout it thinkin about it thinking about it thinking about itfor the life of me i just cant conceive why i just cant leave while you do this to me baby i feel like a fool but what can i do youre loves got me weak babe why must i endure your constant greed your endless need to be so damn freaky now ill understand cause it was just me guess paybacks a mother baby oh why why why why why why tell me why why are you so freaky tell me why youre so freaky ohall this time all this time ive been sleeping with you youve been sleeping with me and you been strokin him and lovin him and kissin him and huggin him oh why why why why why why why why you been creepin with him hes been sexing your friend and i got you thinkin bout it thinkin about it thinking about it thinking about iti got you thinkin thinkin thinkin got you thinkin thinkin thinkin said i got you thinkin thinkin thinkin oh baby ooh baby oh baby said i got you i got you thinkin thinkin thinkin keep on thinkin thinkin thinkin baby oh oh oh thinkin about it babe thinkin about it baby hey hey mamas tied in you your constant greed yourre inner stage oh be so damn freaky guess i understand closin whats with me said i get you thinkin thinkin ohho oh ho oh baby ooh yeah oh thinkin said youre thinkin thinkin thinkin thinkin baby sayin i got you thinkin thinkin thinkin got you thinkin thinkin thinkin thinkin just thinkinthinkin about it thinking about it about it baby thinkin about it thinking about it about it baby thinkin about it thinking about it about it baby thinkin about it thinking about it about it baby ",1
99,"nobodys supposed to be here","deborah cox",1998," how did you get in nobodys supposed to be here ive tried that love thing for the last time my heart says no no nobodys supposed to be here but you came along and changed my mindive spent all my life on a search to find the love wholl stay for eternity the heaven sent to fulfill my needs but when i turned around again love has knocked me down my heart got broken oh it hurt so bad im sad to say love wins again so i place my heart under lock and key to take some time and take care of me but i turn around and youre staying herehow did you get in nobodys supposed to be here ive tried that love thing for the last time my heart says no no nobodys supposed to be here nobodys supposed to be here but you came along and changed my mindthis time i swear im through but if only you knew how many times ive said those words then fall again when will i ever learn knowing these tears ive cried this lovely black butterfly must take a chance and spread my wings love can make you do some crazy things so i place my heart under lock and key to take some time and take care of me but i turn around and youre standing here standing hereshoo do doop nobodys supposed to be here nobody no no no no no no no nohow did you get in nobodys supposed to be here ive tried that love thing for the last time my heart says no no nobodys supposed to be here but you came along and you changed my mind ",1
100,"westside","tq",1998," i was just a young boy ha ha the remix this is the way we do itnow im standing on the corner high as fuck thinking bout busting a nut and you can say what you wanna its all about hips and butts and other ways to come why do they hate all our khakis embrace when youre right in the way its just another sunny day in california seven eight bomb poppa snoop dogg dipping down the show with the dubs upi thought you heard about it i proclaim to hate in the city where you bang and bang dames wear sexy things just to get you for your change and chickens dont know youd better be careful this shit could take over your brain westside westside where we bang westside westsidei bang with rock bottom solid get them mad for the tip up out your wallet bitches i shine with a five hundred line long rhyme i come from the state where the bitches be fine on main line it aint no crime to see i ride a whore when i hit it from behind you must be out your rabbit ass mind you think your bitch jab a lot you got chips cause here it dont matter when you aint hit the right spot cause you wanna roll with the thugs that aint scared to get a swing on bang gone tq the whisper that been this bomb bitch here sing on im bullet balling you low as my religion i aint from 28 if you dont believe me then you can come and see me im banking folks had better not come from sdc biatchyeah my nigga jayo today yo yall done heard about iti thought you heard about it i proclaim to hate in the city where you bang and bang dames wear sexy things just to get you for your change and chickens dont know youd better be careful this shit could take over your brain westside westside where we bang westside westsidei live this west life see the stress strife knife and needles niggas with the sticky green they make viki jeans and white filas tshirt new chicks be hurting new tricks you brake laws doing wrong chewing those straws and twofix one time to greet you with a drawn gun they cant stand to see us having fun these assholes be on one niggas on the run just like a free laid light dont house arrest her in an orange vest working on the freeway but we play for keeps my peeps i represent im laying down a law and order boy and quarter roy a time spinner venom like a snake i make your muscles lock so i give my spray can a shake and strike your whole block son youve got me twisting like the cap on a guinness stout beer cause when it come to la rap im the tightest nigga out here woo shit niggas got amnesia but kam sees yai thought you heard about it i proclaim to hate in the city where you bang and bang dames wear sexy things just to get you for your change and chickens dont know youd better be careful this shit could take over your brain westside westside where we bang westside westsidei thought you heard about it i proclaim to hate in the city where you bang and bang dames wear sexy things just to get you for your change and chickens dont know youd better be careful this shit could take over your brain westside westside where we bang westside westsidewestside westsidewestside westsidewestside westsidewestside westside ",1
1,"believe","cher",1999," no matter how hard i try you keep pushing me aside and i cant break through theres no talking to you its so sad that youre leaving it takes time to believe it but after all is said and done youre gonna be the lonely onedo you believe in life after love i can feel something inside me say i really dont think youre strong enough do you believe in life after love i can feel something inside me say i really dont think youre strong enoughwhat am i supposed to do sit around and wait for you well i cant do that and theres no turning back i need time to move on i need a love to feel strong cause ive got time to think it through and maybe im too good for youdo you believe in life after love i can feel something inside me say i really dont think youre strong enough do you believe in life after love i can feel something inside me say i really dont think youre strong enoughwell i know that ill get through this cause i know that i am strong i dont need you anymore i dont need you anymore i dont need you anymore no i dont need you anymoredo you believe in life after love i can feel something inside me say i really dont think youre strong enough do you believe in life after love i can feel something inside me say i really dont think youre strong enough do you believe in life after love i can feel something inside me say i really dont think youre strong enough do you believe in life after love i can feel something inside me say i really dont think youre strong enough ",1
2,"no scrubs","tlc",1999," a scrub is a guy that think hes fine and is also known as a buster buster buster always talkin about what he wants and just sits on his broke ass sono i dont want your number no i dont want to give you mine and no i dont want to meet you nowhere no dont want none of your time andno i dont want no scrub a scrub is a guy that cant get no love from me hanging out the passenger side of his best friends ride trying to holler at me i dont want no scrub a scrub is a guy that cant get no love from me hanging out the passenger side of his best friends ride trying to holler at mebut a scrub is checkin me but his game is kinda weak and i know that he cannot approach me cause im lookin like class and hes lookin like trash cant get wit no deadbeat ass so yeah yeahno i dont want your number no i dont want to give you mine and no i dont want to meet you nowhere no i dont want none of your timeno i dont want no scrub a scrub is a guy that cant get no love from me hanging out the passenger side of his best friends ride trying to holler at me i dont want no scrub a scrub is a guy that cant get no love from me hanging out the passenger side of his best friends ride trying to holler at meif you dont have a car and youre walking oh yea son im talking to you if you live at home wit your momma oh yes son im talking to you baby if you have a shorty but you dont show love oh yes son im talking to you wanna get with me with no money oh no i dont want no ohno no scrub scrubno love no no scrub scrub no no no no scrub scrub no no no no no scrub no nono i dont want no scrub a scrub is a guy that cant get no love from me hanging out the passenger side of his best friends ride trying to holler at me i dont want no scrub a scrub is a guy that cant get no love from me hanging out the passenger side of his best friends ride trying to holler at mesee if you cant spatially expand my horizons then that leaves you in a class with scrubs never risin i dont find it surprisin if you dont have the gs to please me and bounce from here to the coast of overseas so let me give you somethin to think about inundate your mind with intentions to turn you out cant forget the focus on the picture in front of me you as clear as dvd on digital tv screen satisfy my appetite with something spectacular check your vernacular and then i get back to ya with diamond like precision insatiable is what i envision cant detect acquisition from your friends expedition mr big willy if you really wanna know ask chilli could i be a silly ho not really tboz and all my se̱oritas is steppin on your filas but you dont hear me thoughno i dont want no scrub a scrub is a guy that cant get no love from me hanging out the passenger side of his best friends ride trying to holler at me i dont want no scrub a scrub is a guy that cant get no love from me hanging out the passenger side of his best friends ride trying to holler at me ",1
3,"angel of mine","monica",1999," when i first saw you i already knew there was something inside of you something i thought that i would never find angel of minei look at you looking at me now i know why they say the best things are free gonna love you boy you are so fine angel of minehow you changed my world youll never know im different now you helped me growchorus you came into my life sent from above when i lost all hope you showed me love im checkin for you boy youre right on time angel of minenothing means more to me than what we share no one in this whole world can ever compare last night the way you moved is still on my mind angel of minewhat you mean to me youll never know deep inside i need to showchorus you came into my life sent from above when i lost all hope you showed me love im checkin for you boy youre right on time angel of minei never knew i could feel each moment as if they were new every breath that i take the love that we make i only share it with you you you you youwhen i first saw you i already knew there was something inside of you something i thought that i would never find angel of minechorus you came into my life sent from above when i lost all hope you showed me love im checkin for you boy youre right on time angel of minehow you changed my world youll never know im different you helped me growi look at you looking at me now i know why they say the best things are free checkin for you boy your right on time angel of mine ",1
4,"heartbreak hotel","whitney houston featuring faith evans and kelly price",1999," this is the heartbreak hotel this is the heartbreak hotel this is the heartbreak hotel this is the heartbreak hotelyou said youd be here by 9 instead you took your time you didnt think to call me boy here i sit trying not to cry askin myself why you do this to mesince youre not around for me to tell you baby face to face im writing you this letter and this is what i have to sayall i really wanted was some of your time instead you told me lies when someone else was on your mind whatd you do to me look what you did to me i thought that you were someone who would do me right until you played with my emotions and you made me cry whatd you do to me cant take what you did to menow i see that youve been doin wrong played me all along and made a fool of me baby you got it all wrong to think that i wouldnt find out that you were cheating on me baby how could u do it to mesince youre not around for me to tell you baby face to face im writing you this letter and this is what i have to sayall i really wanted was some of your time instead you told me lies when someone else was on your mind whatd you do to me look what you did to me i thought that you were someone who would do me right until you played with my emotions and you made me cry whatd you do to me cant take what you did to methis is the heartbreak hotel this is the heartbreak hotel this is the heartbreak hotel this is the heartbreak hotelall i really wanted was some of your time instead you told me lies when someone else was on your mind whatd you do to me look what you did to me i thought that you were someone who would do me right until you played with my emotions and you made me cry whatd you do to me cant take what you did to meall i really wanted was some of your time instead you told me lies when someone else was on your mind whatd you do to me look what you did to me i thought that you were someone who would do me right until you played with my emotions and you made me cry whatd you do to me cant take what you did to mei aint gonna take it i aint gonna take it no more i aint gonna take it boy i aint gonna take it no more everything you say is a lie ",1
5,"baby one more time","britney spears",1999," oh baby baby how was i supposed to know that something wasnt right here oh baby baby i shouldnt have let you go and now youre out of sight yeah show me how you want it to be tell me baby cause need to know now oh becausemy loneliness is killing me and i i must confess i still believe still believe still believe when im not with you i lose my mind give me a sign hit me baby one more timeoh baby baby the reason i breathe is you boy you got me blinded oh pretty baby theres nothing that i wouldnt do its not the way i planned it show me how you want it to be tell me baby cause i need to know now oh becausemy loneliness is killing me and i i must confess i still believe still believe still believe when im not with you i lose my mind give me a sign hit me baby one more timeoh baby baby how was i supposed to know oh pretty baby i shouldnt have let you go i must confess that my loneliness is killing me now dont you know i still believe that you will be here and give me a sign hit me baby one more timemy loneliness is killing me and i i must confess i still believe still believe still believe when im not with you i lose my mind give me a sign hit me baby one more timemy loneliness is killing me and i i must confess i still believe still believe still believe when im not with you i lose my mind give me a sign hit me baby one more time ",1
6,"kiss me","sixpence none the richer",1999,"kiss me out of the bearded barley nightly beside the green green grass swing swing swing the spinning step you wear those shoes and i will wear that dress oh kiss me beneath the milky twilight lead me out on the moonlit floor lift your open hand strike up the band and make the fireflies dance silver moons sparkling so kiss me kiss me down by the broken tree house swing me upon its hanging tire bring bring bring your flowered hat well take the trail marked on your fathers map oh kiss me beneath the milky twilight lead me out on the moonlit floor lift your open hand strike up the band and make the fireflies dance silver moons sparkling so kiss me kiss me beneath the milky twilight lead me out on the moonlit floor lift your open hand strike up the band and make the fireflies dance silver moons sparkling so kiss me so kiss me so kiss me so kiss me",3
7,"genie in a bottle","christina aguilera",1999," i feel like ive been locked up tight for a century of lonely nights waiting for someone to release me youre lickin your lips and blowing kisses my way but that dont mean im gonna give it away baby baby baby baby baby babyooh my bodys sayin lets go ooh but my heart is sayin noif you wanna be with me baby theres a price to pay im a genie in a bottle you gotta rub me the right wayif you wanna be with me i can make your wish come true you gotta make a big impression oh yeah gotta like what you doim a genie in a bottle baby gotta rub me the right way honey im a genie in a bottle baby come come come on and let me outthe musics fading and the lights down low just one more dance and then were good to go waiting for someone who needs me hormones racing at the speed of light but that dont mean its gotta be tonight baby baby baby baby baby babyooh my bodys sayin lets go ooh but my heart is sayin no but my heart is sayin noif you wanna be with me baby theres a price to pay im a genie in a bottle im a genie in a bottle you gotta rub me the right wayif you wanna be with me oh i can make your wish come true your wish come true oh just come and set me free baby and ill be with youim a genie in a bottle baby gotta rub me the right way honey im a genie in a bottle baby come come come on and let me outim a genie in a bottle baby gotta rub me the right way honey if you wanna be with me im a genie in a bottle baby come come come on and let me outooh my bodys sayin lets go ooh but my heart is sayin noif you wanna be with me baby theres a price to pay im a genie in a bottle im a genie in a bottle you gotta rub me the right wayif you wanna be with me i can make your wish come true just come and set me free baby and ill be with youif you wanna be with me baby theres a price to pay im a genie in a bottle in a bottle baby you gotta rub me the right wayif you wanna be with me if you wanna be with me i can make your wish come true just come and set me free baby and ill be with youim a genie in a bottle baby come come come on and let me out ",1
8,"every morning","sugar ray",1999," every morning theres a halo hangin from the corner of my girlfriends four post bed i know its not mine but ill see if i can use it for the weekend or a onenight standcouldnt understand how to work it out once again as predicted left my broken heart open and you ripped it outsomethings got me reeling stopped me from believing turn me around again said that we can do it you know i wanna do it againsugar ray say every morning every morning when i wake up shut the door baby dont say a word she always rights wrongs she always rights she always rights shut the door baby shut the door babyevery morning theres a heartache hanging from the corner of my girlfriends fourpost bed i know its not mine and i know she thinks she loves me but i never can believe what she saidsomething so deceiving when you stop believing turn me around again said we couldnt do it you know i wanna do it againevery morning every morning when i wake up shut the door baby dont say a word every morning every morning when i wake up shut the door baby shut the door baby she always rights the wrongs for me baby she always rights the wrongs for meevery morning theres a halo hanging from the corner of my girlfriends fourpost bed i know its not mine but ill see if i can use it for the weekend or a onenight stand shut the door baby dont say a wordevery morning every morning when i wake up shut the door baby shut the door baby every morning every morning shut the door baby dont say a word every morning every morning when i wake up every morning shut the door baby ",1
9,"nobodys supposed to be here","deborah cox",1999," how did you get in nobodys supposed to be here ive tried that love thing for the last time my heart says no no nobodys supposed to be here but you came along and changed my mindive spent all my life on a search to find the love wholl stay for eternity the heaven sent to fulfill my needs but when i turned around again love has knocked me down my heart got broken oh it hurt so bad im sad to say love wins again so i place my heart under lock and key to take some time and take care of me but i turn around and youre staying herehow did you get in nobodys supposed to be here ive tried that love thing for the last time my heart says no no nobodys supposed to be here nobodys supposed to be here but you came along and changed my mindthis time i swear im through but if only you knew how many times ive said those words then fall again when will i ever learn knowing these tears ive cried this lovely black butterfly must take a chance and spread my wings love can make you do some crazy things so i place my heart under lock and key to take some time and take care of me but i turn around and youre standing here standing hereshoo do doop nobodys supposed to be here nobody no no no no no no no nohow did you get in nobodys supposed to be here ive tried that love thing for the last time my heart says no no nobodys supposed to be here but you came along and you changed my mind ",1
10,"livin la vida loca","ricky martin",1999," shes into superstitions black cats and voodoo dolls i feel a premonition that girls gonna make me fall shes into new sensation new kicks in the candlelight shes got a new addiction for every day and night shell make you take your clothes off and go dancing in the rain shell make you live her crazy life but shell take away your pain like a bullet to your brainchorus upside inside out shes livin la vida loca shell push and pull you down livin la vida loca her lips are devil red and her skins the color of mocha she will wear you out livin la vida loca shes livin la vida locawoke up in new york city in a funky cheap hotel she took my heart and she took my money she mustve slipped me a sleepin pill she never drinks the water and makes you order french champagne once youve has a taste of her youll never be the same yeah shell make you go insanechorusshell make you take your clothes off and go dancing in the rain shell make you live her crazy life until you go insane no youll never be the sameupside inside out shes livin la vida loca shell push and pull you down livin la vida loca her lips are devil red and her skins the color of mocha she will wear you out livin la vida loca livin la vida loca livin la vida loca livin la vida locaupside inside out shes livin la vida loca shell push and pull you down livin la vida loca her lips are devil red and her skins the color of mocha she will wear you out livin la vida loca livin la vida loca livin la vida loca livin la vida loca ",1
11,"where my girls at","702",1999," see hes my property and any girl that touch i might just call your bluff cause i dont give a whoo are you to call my cell oh ima wish you well cause any girl that tried has fellwhere my girls at from the front to back well is you feelin that well put one hand up can you repeat that tryin to take my man see i dont need that so dont play yourselfwhere my girls at from the front to back well is you feelin that well put one hand up can you repeat that tryin to take my man see i dont need thathey hey hey heydont you violate me cause ima make you hate me if you decide to mess with mine chop you down to size make you realize you done messed up this timewhere my girls at from the front to back well is you feelin that well put one hand up can you repeat that tryin to take my man see i dont need that so dont play yourselfwhere my girls at from the front to back well is you feelin that well put one hand up can you repeat that tryin to take my man see i dont need thatyou must learn the rules dont come close to anything that belongs to me he is my my property so dont you seewhere my girls at from the front to back well is you feelin that well put one hand up can you repeat that tryin to take my man see i dont need that so dont play yourselfwhere my girls at from the front to back well is you feelin that well put one hand up can you repeat that tryin to take my man see i dont need thatwhere my girls at from the front to back well is you feelin that well put one hand up can you repeat that tryin to take my man see i dont need that so dont play yourselfwhere my girls at from the front to back well is you feelin that well put one hand up can you repeat that tryin to take my man see i dont need that ",1
12,"if you had my love","jennifer lopez",1999," if you had my love and i gave you all my trust would you comfort me and if somehow you knew that your love would be untrue would you lie to me and call me babynow if i give you me this is how its got to be first of all i wont take your cheating on me tell me who can i trust if i cant trust in you and i refuse to let you play me for a foolyou said that we could possibly spend eternity see thats what you told me thats what you said but if you want me youll have to be fulfilling all my dreams if you really want me babyif you had my love and i gave you all my trust would you comfort me tell me baby and if somehow you knew that your love would be untrue would you lie to me and call me babyyou say you want my love and you got to have it all but first there are some things you need to know if you wanna live with all i have to give i need to feel true love or its got to end yeahi dont want you tryin to get with me and i end up unhappy i dont need the hurt and i dont need the pain so before i do give myself to you i have to know the truth if i spend my life with youif you had my love and i gave you all my trust would you comfort me what would you do babe tell me right now and if somehow you knew that your love would be untrue would you lie to me and call me baby dont you lie to meif you had my love and i gave you all my trust would you comfort me tell me baby and if somehow you knew that your love would be untrue would you lie to me and call me baby dont you lie to me babyif you had my love and i gave you all my trust would you comfort me tell me baby and if somehow you knew that your love would be untrue would you lie to me and call me babyif you had my love and i gave you all my trust would you comfort me and if somehow you knew that your love would be untrue would you lie to me and call me babyif you had my love and i gave you all my trust would you comfort me and if somehow you knew that your love would be untrue would you lie to me ",1
13,"slide","goo goo dolls",1999," could you whisper in my ear the things you wanna feel id give you anythin to feel it comindo you wake up on your own and wonder where you are you live with all your faultsi wanna wake up where you are i wont say anything at all so why dont you slideyeah im gonna let it slidedont you love the life you killed the priest is on the phone your father hit the wall your ma disowned youdont supposed ill ever know what it means to be a man its somethin i cant change ill live around iti wanna wake up where you are i wont say anything at all so why dont you slide ooh slideand ill do anythin you ever dreamed to be complete little pieces of the nothin that fall oh may put your arms around me what you feel is what you are and what you are is beautiful oh may do you wanna get married or run awayand ill do anythin you ever dreamed to be complete little pieces of the nothin that fall oh may put your arms around me what you feel is what you are and what you are is beautiful oh may do you wanna get married or run awayi wanna wake up where you are i wont say anythingand ill do anythin you ever dreamed to be complete yeah slide little pieces of the nothin that fall yeah slide and ill do anythin you ever dreamed to be complete yeah slide little pieces of the nothin that fall oh oh slide yeah slide between the sheets of all them beds you never knew yeah slide why dont you slide into my room just slide into my room oh well run away run away run away ",1
14,"have you ever","brandy",1999," chorus have you ever loved somebody so much it makes you cry have you ever needed something so bad you cant sleep at night have you ever tried to find the words but they dont come out right have you ever have you everhave you ever been in love been in love so bad youd do anything to make them understand have you ever had someone steal your heart away youd give anything to make them feel the same have you ever searched for words to get you in their heart but you dont know what to say and you dont know where to startchorushave you ever found the one youve dreamed of all of your life just about anything to look into their eyes have you finally found the one youve given your heart to only to find that one wont give their heart to you have you ever closed your eyes and dreamed that they were there and all you can do is wait for the day when they will carechoruswhat do i gotta do to get you in my arms baby what do i gotta say to get your heart to make you understand how i need you next to me gotta get you in my world cause baby i cant sleepchorus ",1
15,"i want it that way","backstreet boys",1999," yeahehheah you are my fire the one desire believe when i say i want it that waybut we are two worlds apart cant reach to your heart when you say that i want it that waytell me why aint nothin but a heartache tell me why aint nothin but a mistake tell me why i never want to hear you say i want it that wayam i your fire your one desire yes i know its too late but i want it that waytell me why aint nothin but a heartache tell me why aint nothin but a mistake tell me why i never want to hear you say i want it that waynow i can see that weve fallen apart from the way that it used to be yeah no matter the distance i want you to know that deep down inside of meyou are my fire the one desire you are you are you are you aredont want to hear you say aint nothin but a heartache aint nothin but a mistake dont want to hear you say i never want to hear you say i want it that waytell me why aint nothin but a heartache tell me why aint nothin but a mistake tell me why i never want to hear you say i want it that waytell me why aint nothin but a heartache aint nothin but a mistake tell me why i never want to hear you say never want to hear you say it i want it that waycause i want it that way ",1
16,"im your angel","r kelly and celine dion",1999," no mountains too high for you to climb all you have to do is have some climbing faith no rivers too wide for you to make it across all you have to do is believe it when you prayand then you will see the morning will come and everyday will be bright as the sun all of your fears cast them on me i just want you to seeill be your cloud up in the sky ill be your shoulder when you cry ill hear your voices when you call me i am your angel and when all hope is gone im here no matter how far you are im near it makes no difference who you are i am your angel im your angeli saw your tear drops and i heard you cry all you need is time seek me and you shall find you have everything and your still lonely it dont have to be this way let me show you a better dayand then you will see the morning will come and all of your days will be bright as the sun so all of your fears just cast them on me how can i make you seeill be your cloud up in the sky ill be your shoulder when you cry ill hear your voices when you call me i am your angel and when all hope is gone im here no matter how far you are im near it makes no difference who you are i am your angeland when its time to face the storm ill be right by your side grace will keep us safe and warm and i know we will survive and when it seems as if your end is drawing near dont you dare give up the fight just put your trust beyond the skyill be your cloud up in the sky ill be your shoulder when you cry ill hear your voices when you call me i am your angel and when all hope is gone im here no matter how far you are im near it makes no difference who you are i am your angelill be your cloud up in the sky ill be your shoulder when you cry ill hear your voices when you call me i am your angel and when all hope is gone im here no matter how far you are im near it makes no difference who you are i am your angelill be your cloud up in the sky ill be your shoulder when you cry ill hear your voices when you call me im your angel ",1
17,"all star","smash mouth",1999," somebody once told me the world is gonna roll me i aint the sharpest tool in the shed she was lookin kinda dumb with her finger and her thumb in the shape of an l on her foreheadwell the years start coming and they dont stop coming fed to the rules and i hit the ground running didnt make sense not to live for fun your brain gets smart but your head gets dumbso much to do so much to see so whats wrong with taking the backstreets youll never know if you dont go youll never shine if you dont glowhey now youre an all star get your game on go play hey now youre a rock star get the show on get paid and all that glitters is gold only shooting stars break the moldits a cool place and they say it gets colder youre bundled up now wait till you get older but the meteor men beg to differ judging by the hole in the satellite picturethe ice we skate is getting pretty thin the waters getting warm so you might as well swim my worlds on fire how about yours thats the way i like it and ill never get boredhey now youre an all star get your game on go play hey now youre a rock star get the show on get paid all that glitters is gold only shooting stars break the moldhey now youre an all star get your game on go play hey now youre a rock star get the show on get paid and all that glitters is gold only shooting starssomebody once asked could i spare some change for gas i need to get myself away from this place i said yep what a concept i could use a little fuel myself and we could all use a little changewell the years start coming and they dont stop coming fed to the rules and i hit the ground running didnt make sense not to live for fun your brain gets smart but your head gets dumbso much to do so much to see so whats wrong with taking the backstreet youll never know if you dont go youll never shine if you dont glowhey now youre an all star get your game on go play hey now youre a rock star get the show on get paid and all that glitters is gold only shooting stars break the mold and all that glitters is gold only shooting stars break the mold ",1
18,"angel","sarah mclachlan",1999," spend all your time waiting for that second chance for a break that would make it okaytheres always some reason to feel not good enough and its hard at the end of the dayi need some distraction oh beautiful release memories seep from my veinsand maybe empty oh and weightless and maybe ill find some peace tonightin the arms of the angel fly away from here from this dark cold hotel room and the endlessness that you fear you are pulled from the wreckage of your silent reverie youre in the arms of the angel may you find some comfort hereso tired of the straight line and everywhere you turn theres vultures and thieves at your backthe storm keeps on twisting keep on building the lies that you make up for all that you lackit dont make no difference escape one last time its easier to believe in this sweet madness oh this glorious sadness that brings me to my kneesin the arms of the angel fly away from here from this dark cold hotel room and the endlessness that you fear you are pulled from the wreckage of your silent reverie youre in the arms of the angel may you find some comfort hereyoure in the arms of the angel may you find some comfort here ",1
19,"smooth","santana featuring rob thomas",1999," man its a hot one like seven inches from the midday sun well i hear you whispering in the words to melt everyone but you stay so cool my mu̱equita my spanish harlem mona lisa youre my reason for reason the step in my grooveand if you said this life aint good enough i would give my world to lift you up i could change my life to better suit your mood because youre so smoothand its just like the ocean under the moon oh its the same as the emotion that i get from you you got the kind of lovin that can be so smooth yeah give me your heart make it real or else forget about itbut ill tell you one thing if you would leave it would be a crying shame in every breath and every word i hear your name calling me out out from the barrio you hear my rhythm on your radio you feel the turning of the world so soft and slow its turning you round and roundand if you said this life aint good enough i would give my world to lift you up i could change my life to better suit your mood because youre so smoothand its just like the ocean under the moon oh its the same as the emotion that i get from you you got the kind of lovin that can be so smooth yeah give me your heart make it real or else forget about itand its just like the ocean under the moon oh its the same as the emotion that i get from you you got the kind of lovin that can be so smooth yeah give me your heart make it real or else forget about itor else forget about it or else forget about it lets not forget about it give me your heart make it real lets not forget about it lets not forget about it lets not forget about it lets not forget about it lets not forget about it ",1
20,"unpretty","tlc",1999," i wish could tie you up in my shoes make you feel unpretty too i was told i was beautiful but what does that mean to you look into the mirror whos inside there the one with the long hair same old me again today yeahmy outsides look cool my insides are blue every time i think im through its because of you ive tried different ways but its all the same at the end of the day i have myself to blame im just trippinyou can buy your hair if it wont grow you can fix your nose if he says so you can buy all the make up that mac can make but if you cant look inside you find out who am i too be in the position to make me feel so damn unpretty yeah ill make you feel unpretty toonever insecure until i met you now im bein stupid i used to be so cute to me just a little bit skinny why do i look to all these things to keep you happy maybe get rid of you and then ill get back to me heymy outsides look cool my insides are blue every time i think im through its because of you ive tried different ways but its all the same at the end of the day i have myself to blame believe im just trippin yeahyou can buy your hair if it wont grow you can fix your nose if he says so you can buy all the make up that mac can make but if you cant look inside you find out who am i too be in the position to make me feel so damn unpretty ill make you feel unpretty tooill make you feel unprettyyou can buy your hair if it wont grow you can fix your nose if he says so you can buy all the make up that mac can make but if you cant look inside you find out who am i too be in the position to make me feel so damn unprettyyou can buy your hair if it wont grow you can buy all the make up that mac can make ",1
21,"bills bills bills","destinys child",1999," at first we started out real cool taking me places i aint never been but now youre getting comfortable aint doing those things you did no more youre slowly making me pay for things your money should be handlingand now you ask to use my car drive it all day and dont fill up the tank and you have the audacity to even come and step to me ask to hold some money from me until you get your check next weekyou triflin good for nothing type of brother silly me why havent i found another a baller when times get hard i need someone to help me out instead of a scrub like you who dont know what a mans aboutcan you pay my bills can you pay my telephone bills do you pay my automo bills if you did then maybe we could chill i dont think you do so you and me are throughcan you pay my bills can you pay my telephone bills do you pay my automo bills if you did then maybe we could chill i dont think you do so you and me are throughnow youve been maxing out my card gave me bad credit buyin me gifts with my own ends havent paid the first bill but instead youre headin to the mall goin on shopping sprees perpetrating to your friends like you be ballinand then you use my cell phone callin whoever that you thinks at home and then when the bill comes all of a sudden you be acting dumb dont know where none of these calls come from when your mommas numbers here more than onceyou triflin good for nothing type of brother silly me why havent i found another a baller when times get hard i need someone to help me out instead of a scrub like you who dont know what a mans aboutcan you pay my bills can you pay my telephone bills do you pay my automo bills if you did then maybe we could chill i dont think you do so you and me are throughcan you pay my bills can you pay my telephone bills do you pay my automo bills if you did then maybe we could chill i dont think you do so you and me are throughyou triflin good for nothing type of brother oh silly me why havent i found another you triflin good for nothing type of brother oh silly me why havent i found anotheryou triflin good for nothing type of brother oh silly me why havent i found another you triflin good for nothing type of brother oh silly me why havent i found anothercan you pay my bills can you pay my telephone bills do you pay my automo bills if you did then maybe we could chill i dont think you do so you and me are throughcan you pay my bills can you pay my telephone bills do you pay my automo bills if you did then maybe we could chill i dont think you do so you and me are throughcan you pay my bills can you pay my telephone bills do you pay my automo bills if you did then maybe we could chill i dont think you do so you and me are throughcan you pay my bills can you pay my telephone bills do you pay my automo bills if you did then maybe we could chill i dont think you do so you and me are throughthou shall confess ",1
22,"save tonight","eagleeye cherry",1999,NA,NA
23,"last kiss","pearl jam",1999," oh where oh where can my baby be the lord took her away from me shes gone to heaven so ive got to be good so i can see my baby when i leave this worldwe were out on a date in my daddys car we hadnt driven very far there in the road straight ahead a car was stalled the engine was deadi couldnt stop so i swerved to the right ill never forget the sound that night the screamin tires the bustin glass the painful scream that i heard lastoh where oh where can my baby be the lord took her away from me shes gone to heaven so ive got to be good so i can see my baby when i leave this worldwhen i woke up the rain was pourin down there were people standing all around something warm goin through my eyes but somehow i found my baby that nighti lifted her head she looked at me and said hold me darling just a little while i held her close i kissed her our last kiss i found the love that i knew i had missedwell now shes gone even though i hold her tight i lost my love my life that nightoh where oh where can my baby be the lord took her away from me shes gone to heaven so ive got to be good so i can see my baby when i leave this world ",1
24,"fortunate","maxwell",1999," never seen a sun shine like this never seen the moon glow like this never seen the waterfalls like this never seen the lights off like thisnever dug anyone like this never had tasty lips to kiss never had someone to miss never wrote a song quite like thisfortunate to have you girl im so glad youre in my world just as sure as the sky is blue i bless the day that i found younever had room service all night never took a trip first class flight never had a love affair so tight ive never felt a feeling so rightnever seen a winter so white never had words to recite never had a flame to ignite and i never sang a song with all my mightfortunate to have you girl im so glad youre in my world just as sure as the sky is blue i bless the day that i found youfortunate to have you girl im so glad youre in my world just as sure as the sky is blue i bless the day that i found yousilence child hope you hear im callin out to your body baby you know just what to do close the door and windows toofortunate to have you girl im so glad youre in my world just as sure as the sky is blue i bless the day that i found youfortunate to have you girl im so glad youre in my world just as sure as the sky is blue i bless the day that i found you ",1
25,"all i have to give","backstreet boys",1999," i dont know what he does to make you cry but ill be there to make you smile i dont have a fancy car to get to you id walk a thousand miles i dont care if he buys you nice things does his gifts come from the heart i dont know but if you were my girl id make it so wed never be apartbut my love is all i have to give without you i dont think i can live i wish i could give the world to you but love is all i have to givewhen you talk does it seem like hes not even listening to a word you say thats okay babe just tell me your problems ill try my best to kiss them all away does he leave when you need him the most does his friends get all your time baby please im on my knees praying for the day that youll be minebut my love is all i have to give without you i dont think i can live i wish i could give the world to you but love is all i have to giveto you hey girl hey girl i dont want you to cry no more inside all the money in the world could never add up to all the love i have inside i love youand i will give it to you all i can give all i can give everything i have is for you my love is all i have to givemy love is all i have to give without you i dont think i can live i wish i could give the world to you but love is all i have to givebut my love is all i have to give without you i dont think i can live i wish i could give the world to you but love is all i have to give to youi have to give without you i dont think i can live give the world to you but love is all i have to givebut my love is all i have to give without you i dont think i can live i wish i could give the world to you but love is all i have to give to you ",1
26,"bailamos","enrique iglesias",1999," esta noche bailamos te doy toda mi vidaqu̩date conmigotonight we dance i leave my life in your hands we take the floor nothing is forbidden anymoredont let the world dim my sight dont let a moment go by nothing can stop us tonightbailamos let the rhythm take you over bailamos te quiero amor m�_o bailamos gonna live this night forever bailamos te quiero amor m�_o te quierotonight im yours we can make it happen im so sure now im letting go there is something i think you should know i wont be leaving your side were gonna dance through the night im gonna reach for the starsbailamos let the rhythm take you over bailamos te quiero amor m�_o bailamos gonna live this night forever bailamos te quiero amor m�_o te quierowhoa oh oh oh tonight we dance whoa oh oh oh like no tomorrow whoa oh oh oh if you will stay with me te quiero mi amorqu̩date conmigo esta nochebailamos let the rhythm take you over bailamos te quiero amor m�_o bailamos gonna live this night forever bailamos te quiero amor m�_obailamos let the rhythm take you over bailamos te quiero amor m�_o bailamos gonna live this night forever bailamos te quiero amor m�_o ",1
27,"whats it gonna be","busta rhymes featuring janet",1999," whats it gonna be is it gonna be you and me whats it gonna be is it gonna be you and me babewasnt it you who said wed be together always i think ive been misled it took a while to see but nowone of us has to go you just cant love two no tell mewhats it gonna be is it gonna be you and me whats it gonna be is it gonna be you and me babewhat makes you think that you could keep me hanging on a string if you cant make up your mind ill bow out gracefully yeahbut one of us has to go you cant love two no no nowhats it gonna be is it gonna be you and me whats it gonna be is it gonna be you and me babei wanna know whats it gonna be is it gonna be you and me whats it gonna be is it gonna be you and me babewhats it gonna be i hope you can see its gotta be you and me baby tell mewhats it gonna be is it gonna be you and me whats it gonna be is it gonna be you and mewhats it gonna be is it gonna be you and me whats it gonna be is it gonna be you and me babewhats it gonna be ",1
28,"what its like","everlast",1999," weve all seen a man at the liquor store beggin for your change the hair on his face is dirty dreadlocked and full of mange he asks a man for what he could spare with shame in his eyes get a job you fucking slob is all he replies god forbid you ever had to walk a mile in his shoes cause then you really might know what its like to sing the bluesthen you really might know what its like then you really might know what its like then you really might know what its like then you really might know what its likemary got pregnant from a kid named tom that said he was in love he said dont worry about a thing baby doll im the man youve been dreaming of but 3 months later he say he wont date her or return her calls and she swear goddamn if i find that man im cuttin off his ballsand then she heads for the clinic and she gets some static walking through the door they call her a killer and they call her a sinner and they call her a whore god forbid you ever had to walk a mile in her shoes cause then you really might know what its like to have to choosethen you really might know what its like then you really might know what its like then you really might know what its like then you really might know what its likeive seen a rich man beg ive seen a good man sin ive seen a tough man cry ive seen a loser win and a sad man grin i heard an honest man lie ive seen the good side of bad and the downside of up and everything betweeni licked the silver spoon drank from the golden cup and smoked the finest green i stroked the fattest dimes at least a couple of times before i broke their heart you know where it ends yo it usually depends on where you starti knew this kid named max who used to get fat stacks out on the corner with drugs he liked to hang out late he liked to get shitfaced and keep the pace with thugsuntil late one night there was a big old fight and max lost his head he pulled out his chrome 45 talked some shit and wound up dead now his wife and his kids are caught in the midst of all of this pain you know it comes that way at least thats what they say when you play the game god forbid you ever had to wake up to hear the news cause then you really might know what its like to have to losethen you really might know what its like then you really might know what its like then you really might know what its like to have to lose ",1
29,"fly away","lenny kravitz",1999," i wish that i could fly into the sky so very high just like a dragonflyid fly above the trees over the seas in all degrees to anywhere i pleaseoh i want to get away i want to fly away yeah yeah yeahoh i want to get away i want to fly away yeah yeah yeahlets go and see the stars the milky way or even mars where it could just be ourslets fade into the sun let your spirit fly where we are one just for a little fun oh oh oh yeah i want to get away i want to fly away yeah yeah yeahi want to get away i want to fly away yeah yeah yeahi got to get away feel i got to get away oh oh oh yeahi want to get away i want to fly away yeah with you yeah yeah oh yeah i want to get away i want to fly away yeah with you yeah yeah i got to get awayi want to get away x4 yeah i want to get away i want to fly away yeah with you yeah yeah i got to get awayi want to get away x4 yeahi want to get away i want to fly away yeah with you yeah yeah yeah yeah yeah ",1
30,"someday","sugar ray",1999," someday when my life has passed me by ill lay around and wonder why you were always there for me one way in the eyes of a passer by ill look around for another try and fade awayjust close your eyes and ill take you there this place is warm and without a care well take a swim in the deep blue sea i go to leave and you reach for mesome say better things will come our way no matter what they try to say you were always there for me some way when the sun begins to shine i hear a song from another time and fade away and fade awayjust close your eyes and ill take you there this place is warm and without a care well take a swim in the deep blue sea i go to leave and you reach for meoh come on someone said you tried to long you will pass me by someone said we got it all wrong all wrong someone said we tried to long you will pass me by every thinks were right belongso far so long so far away so far so wrong so far away away awaysomeday when my life has passed me by ill lay around and wonder why you were always there for me one way in the eyes of a passer by ill look around for another try and fade away and fade away and fade away and fade away and fade away and fade away and fade away and fade away and fade away and fade away ",1
31,"lately","divine",1999," lately ive been watching you been thinkin bout you baby and everything you do just sittin away watching the days go by just sittin away watching the days go byhave you ever felt a breeze hit hard like the wind was blowing it apart as youre spinning like a merrygoround indications of a storm touching downwish that i can wear the rain and storm but i guess it was heart break from the norm was a day i will always remember the saddest day in sweet novemberlately ive been watching you been thinkin bout you baby and everything you do just sittin away watching the days go by just sittin away watching the days go bybaby im on my knees praying god help me please bring my baby back right back to me if lovin you was right then i dont wanna go wrong so i drown myself with tears sittin here singin another sad love songlately ive been watching you been thinkin bout you baby and everything you do just sittin away watching the days go by just sittin away watching the days go bylately ive been torn apart i wish you hadnt broke my heart im missin you babe missin you baby jaylately ive been torn apart i wish you hadnt broke my heart im missin you babe missin you baby jaylately ive been watching you been thinkin bout you baby and everything you do just sittin away watching the days go by just sittin away watching the days go by ",1
32,"that dont impress me much","shania twain",1999," ive known a few guys who thought they were pretty smart but youve got being right down to an art you think youre a geniusyou drive me up the wall youre a regular original a knowitallohoooh you think youre special ohoooh you think youre something elseokay so youre a rocket scientist that dont impress me much so you got the brain but have you got the touch dont get me wrong yeah i think youre alright but that wont keep me warm in the middle of the night that dont impress me muchi never knew a guy who carried a mirror in his pocket and a comb up his sleevejust in case and all that extra hold gel in your hair oughta lock it cause heaven forbid it should fall outta placeohoooh so you think youre something special ohoooh you think youre something elseokay so youre brad pitt that dont impress me much so you got the looks but have you got the touch dont get me wrong yeah i think youre alright but that wont keep me warm in the middle of the night that dont impress me muchyoure one of those guys who likes to shine his machine you make me take off my shoes before you let me get in i cant believe you kiss your car good night cmon baby tell meyou must be jokin rightohoooh so you think youre something special ohoooh you think youre something elseokay so youve got a car that dont impress me much so you got the moves but have you got the touch dont get me wrong yeah i think youre alright but that wont keep me warm in the middle of the nightthat dont impress me much you think youre cool but have you got the touch dont get me wrong yeah i think youre alright but that wont keep me warm on the long cold lonely night that dont impress me muchokay so what do you think youre elvis or something whatever that dont impress me ",1
33,"wild wild west","will smith featuring dru hill and kool moe dee",1999," uh wickey wild wild wicky wicky wild wickey wild wicky wicky wild wild wild west jim west desperado rough rider no you dont want nada none of this six gun in this brotha runnin this buffalo soldier look its like i told ya any damsel thats in distress be out of that dress when she meet jim west rough neck so go check the law and abide watch your step  well flex and get a hole in your side swallow your pride dont let your lip react you dont wanna see my hand where my hip be at with all of this from the start of this runnin the game james west tamin the west so remember the name now who ya gonna callnot the gbsnow who you gon callj double a gif you have a riff with people wanna bust break out before you get bumrushed at the wild wild west when i roll into the wild wild west when i stroll into the wild wild west when i bounce into the wild wild west sisqo sisqowe going straight to the wild wild west we going straight to the wild wild westnow now now now once upon a time in the west mad man lost his damn mind in the west loveless kidnap a dime nothin less now i must put his behind to the test can you feel me then through the shadows in the saddle ready for battle bring all your boys in here come the poison behind my back all the riffin ya did front and center now where ya lip at kid who dat is a mean brotha bad for your health lookin damn good though if i could say it myself told me loveless is a mad man but i dont fear that got mad weapons too aint tryin to hear that tryin to bring down me the champion when yall clowns gon see that it cant be done understand me son im the slickest they is im the quickest as they is did i say im the slickest they is so if you barking up the wrong tree we comin dont be startin nothin me and my partner gonna test your chest loveless cant stand the heat then get out the wild wild westwe going straight to when i roll into the the wild wild west when i stroll into the we going straight to when i bounce into the the wild wild west we going straight to the wild wild west we going straight to the wild wild westyeah can you feel it cmon cmon yeah keep it movin keep it movin ooh yeahto any outlaw tryin to draw thinkin youre bad any draw on west best with a pen and a pad dont even think about it six gun weighin a ton 10 paces and turn just for fun son up till sundown rolling around see where the bad guys ought to be found and make em lay down the defenders of the west crushin on pretenders in the west dont mess with us cause were in the wild wild westgoing straight to the wild wild west we going straight to the wild wild west we going straight to the wild wild west we going straight to the wild wild west we going straight to the wild wild west we going straight to the wild wild west cmonwild wild west when i roll into the wild wild west when i stroll into the we going straight to the wild wild the wild wild west the wild wild west woo uh the wild wild west ha ha ha ha the wild wild west uh dru dru the wild wild west i done done it again yall done done it again the wild wild west ha ha ha ha the wild wild west big will dru hill uh the wild wild west big will dru hill ha ha ha ha the wild wild west the wild wild west the wild wild west uh the wild wild west one time the wild wild west uh the wild wild west the wild wild west bring in the heat bring in the heat what wild wild west the wild wild west the wild wild wicky wickidy wild wild wild wickidy wild wild wickidy wild wild the wickidy wickidy wickidy wickidy the wild wild west the wild wild west the wild wild west the wild wild west cant stop the bumrush the wild wild the wild wild west ",1
34,"scar tissue","red hot chili peppers",1999," scar tissue that i wish you saw sarcastic mister know it all close your eyes and ill kiss you cause with the bird ill share with the bird ill share this lonely view with the bird ill share this lonely viewpush me up against the wall young kentucky girl in a pushup bra fallin all over myself to lick your heart and taste your health cause with the bird ill share this lonely viewblood loss in a bathroom stall southern girl with a scarlet drawl wave goodbye to ma and pa cause with the bird ill share with the bird ill share this lonely viewsoft spoken with a broken jaw step outside but not to brawl autumns sweet we call it fall ill make it to the moon if i have to crawl with the bird ill share this lonely view ",1
35,"heartbreaker","mariah carey featuring jayz",1999," give me your love give me your love give me your love give me your love give me your love give me your love give me your love give me your loveyou gotta bounce to it like this you almost gotta walk to this uh huh escapeboy your loves so good i dont want to let go and although i should i cant leave you alone cause youre so disarming im caught up in the midst of you and i can not resist and ohboy if i do the things you want me to the way i used to do would you love me baby hold me feeling now go and break my heartheartbreaker you got the best of me but i just keep on coming back incessantly oh why did you have to run your game on me i should have known right from the start youd go and break my heartgive me your love give me your love give me your love give me your love give me your love give me your love give me your love give me your love give me your love give me your love give me your love give me your love give me your love give me your love give me your love give me your loveits a shame to be so euphoric and weak when you smile at me and you tell me the things that you know persuade me to relinquish my love to you but i can not resist at allboy if i do the things you want me to the way i used to do would you love me baby hold me feeling now go and break my heartheartbreaker you got the best of me but i just keep on coming back incessantly oh why did you have to run your game on me i should have known right from the start youd go and break my heartshe want to shop with jay play box with jay she want to pillow fight in the middle of the night she want to drive my benz with five of her friends she want to creep past the block spyin again she want to roll with jay chase the skeeos away she want to fight with lame chicks blow my day she want to inspect the rest kick me to the curb if she find a strand of hair longer than hers she want love in the jacuzzi rub up in the movies access to the old crib keys to the new crib she want to answer the phone tattoo her arm thats when i gotta send her back to her moms she call me heartbreaker when we apart it makes her want to get a piece of paper scribble i hate ya but she know she love jay because she love everything jay say jay does and uhheartbreaker you got the best of me but i just keep on coming back incessantly oh why did you have to run your game on me i should have known right from the start youd go and break my heartheartbreaker you got the best of me but i just keep on coming back incessantly oh why did you have to run your game on me i should have known right from the start youd go and break my heartheartbreaker you got the best of me but i just keep on coming back incessantly oh why did you have to run your game on me i should have known right from the start youd go and break my heartheartbreaker you got the best of me but i just keep on coming back incessantly oh why did you have to run your game on me i should have known right from the start youd go and break my heartgive me your love give me your love give me your love give me your love ",1
36,"i still believe","mariah carey",1999," you look in my eyes and i get emotional inside i know its crazy but you still can touch my heart and after all this time youd think that i wouldnt feel the same but time melts into nothing and nothings changedi still believe someday you and me will find ourselves in love again i had a dream someday you and me will find ourselves in love againeach day of my life im filled with all the joy i could find you know that i im not the desperate type if theres one spark of hope left in my grasp ill hold it with both hands its worth the risk of burning to have a second chanceno no no no no no i need you baby i still believe that we can be together no no if we believe that true love never has to end then we must know that we will love againi still believe someday you and me will find ourselves in love again i had a dream you and me will find ourselves in love againi still believe someday you and me will find ourselves in love again i had a dream someday you and me will find ourselves in love again ",1
37,"the hardest thing","98 degrees",1999," we both know that i shouldnt be here this is wrong and baby its killing me its killing you both of us trying to be strong ive got somewhere else to be promises to keep someone else who loves me and trusts me fast asleep ive made up my mind there is no turning back shes been good to me and she deserves better than that its the hardest thing ill ever have to do to look you in the eye and tell you i dont love you its the hardest thing ill ever have to lie to show no emotion when you start to cry i cant let you see what you mean to me when my hands are tied and my hearts not free were not meant to be its the hardest thing ill ever have to do to turn around and walk away pretending i dont love you i know well meet again fate has a place and time so you can get on with your life ive got to be cruel to be kind like dr zhivago all my love ill be sending and you will never know cause there can be no happy ending its the hardest thing ill ever have to do to look you in the eye and tell you i dont love you its the hardest thing ill ever have to lie to show no emotion when you start to cry i cant let you see what you mean to me when my hands are tied and my hearts not free were not meant to be its the hardest thing ill ever have to do to turn around and walk away pretending i dont love you maybe another time another day as much as i want to i cant stay ive made up my mind there is no turning back shes been good to me and she deserves better than that its the hardest thing ill ever have to do to look you in the eye and tell you i dont love you its the hardest thing ill ever have to lie to show no emotion when you start to cry i cant let you see what you mean to me when my hands are tied and my hearts not free were not meant to be its the hardest thing ill ever have to do to turn around and walk away pretending i dont love you ",1
38,"summer girls","lfo",1999," yeah i like it when the girls stop by in the summer do you remember do you remember when we met that summernew kids on the block had a bunch of hits chinese food makes me sick and i think its fly when girls stop by for the summer for the summeri like girls that wear abercrombie and fitch id take her if i had one wish but shes been gone since that summer since that summerhip hop marmalade spic and span met you one summer and it all began your the best girl that i ever did see the great larry bird jersey 33when you take a sip you buzz like a hornet billy shakespeare wrote a whole bunch of sonnets call me willy whistle cause i cant speak baby somethin in your eyes went and drove me crazynow i cant forget you and it makes me mad left one day and never came back stayed all summer then went back home macauly culkin wasnt home alonefell deep in love but now we aint speakin michael j fox was alex p keaton when i met you i said my name was rich you look like a girl from abercrombie and fitchnew kids on the block had a bunch of hits chinese food makes me sick and i think its fly when girls stop by for the summer for the summeri like girls that wear abercrombie and fitch id take her if i had one wish but shes been gone since that summer since that summercheery pez cold crush rock star boogie used to hate school so i had to play hookie always been hip to the bboy style known to act wild and make girls smilelove new edition and the candy girl remind me of you because you rock my world you come from georgia where the peaches grow they drink lemonade and speak real slowyou love hip hop and rock n roll dad took off when you were four years old there was a good man named paul revere i feel much better baby when youre nearyou love fun dip and cherry coke i like the way you laugh when i tell a joke when i met you i said my name was rich you look like a girl from abercrombie and fitchnew kids on the block had a bunch of hits chinese food makes me sick and i think its fly when girls stop by for the summer for the summeri like girls that wear abercrombie and fitch id take her if i had one wish but shes been gone since that summer since that summerin the summertime girls got it goin on shake and wiggle to a hip hop song summertime girls are the kind i like ill steal your honey like i stole your bikebugaloo shrimp and pogo sticks my mind takes me back there oh so quick let you off the hook like my man mr lipit think about that summer and i bug cause i miss itlike the color purple macaroni and cheese ruby red slippers and a bunch of trees call you up but whats the use i like kevin bacon but i hate footloosecame in the door said it before i think im over you but im really not sure when i met you i said my name was rich you look like a girl from abercrombie and fitchnew kids on the block had a bunch of hits chinese food makes me sick and i think its fly when girls stop by for the summer for the summeri like girls that wear abercrombie and fitch id take her if i had one wish but shes been gone since that summer since that summercause summer girls come and summer girls go some are worth while and some are so so summer girls come and summer girls go some are worth while and some are so sosummertime girls got it goin on shake and wiggle to a hip hop song summertime girls are the kind i like ill steal your honey like i stole your bikenew kids on the block had a bunch of hits chinese food makes me sick and i think its fly when girls stop by for the summer for the summeri like girls that wear abercrombie and fitch id take her if i had one wish but shes been gone since that summer since that summer ",1
39,"can i get a","jayz featuring amil and ja rule",1999," what well fuck you bitchbounce wit me wit me wit me wit me can you bounce wit me bounce wit me wit me wit me can you bounce wit me bounce wit me ge gi gi gi gi gi can you bounce wit me bounce wit me ye ye yeahuhhuh uhhuh bounce wit me bounce wit me can ya can ya can ya bounce wit me bounce wit me ya yah yah ya ya yah yeah bounce wit me bounce wit me ge gi ge gi gi gi geyeah bounce wit me bounce wit me get itcan i hit in the mornin without givin you half of my dough and even worse if i was broke would you want me if i couldnt get you finer things like all of them diamond rings bitches kill for would you still roll if we couldnt see the sun risin off the shore of thailand would you ride then if i wasnt drivin if i wasnt ah eight figure nigga by the name of jigga would you come around me or would you clown me if i couldnt flow futuristic would ya put your two lips on my wood and kiss it could ya see yourself with a nigga workin harder than nine to five contend with six two jobs to survive or do you need a balla so you can shop and tear the mall up brag tell your friends what i bought ya if you couldnt see yourself with a nigga when his dough is low baby girl if this is so yocan i get a fuck you to these bitches from all of my niggaz who dont love hoes they get no dough can i get a woop woop to these niggaz from all of my bitches who dont got love for niggaz without dubs can i get a fuck you to these bitches from all of my niggaz who dont love hoes they get no dough can i get a woop woop to these niggaz from all of my bitches who dont got love for niggaz without dubsnow can you bounce wit me uhh bounce wit me bounce wit me can ya can ya can ya bounce wit me bounce wit me uh uh major coins amillion bounce wit me bounce wit me uhh yo bounce wit me can ya can ya can ya bounce wit me bounce wit me yeah uhuh uh uhyou aint gotta be rich but fuck that how we gonna get around your bus pass fo i put this pussy on your mustache can you afford me my niggaz breadwinners never corny ambition makes me so horny not the fussing and the fronting if you got nuttin baby boy you betta git up git out and get somethin shit i like a lot of prada alize and vodka late nights candlelight then i tear the cock up get it up i put it down erytime it pop up huh i got to snap em let it loose then i knock ya feel the juice then i got ya when you produce a rocka i let you meet momma and introduce you to poppa my coochie remains in a gucci name never test my patience nigga im high maintenance high class if you aint rollin bypass if you aint holdin i dash yocan i get a fuck you to these bitches from all of my niggaz who dont love hoes they get no dough can i get a woop woop to these niggaz from all of my bitches who dont got love for niggaz without dubs can i get a fuck you to these bitches from all of my niggaz who dont love hoes they get no dough can i get a woop woop to these niggaz from all of my bitches who dont got love for niggaz without dubsnow can you bounce for me bounce for me uhh can ya can ya can ya bounce wit me bounce wit me uhh gi gi gi geyeah geyeah can ya bounce wit me bounce wit me uhh gi gi gi gi can ya bounce wit me bounce wit me uhh yeahit aint even a question how my dough flows im good to these bad hoes like my bush wet and undry like damp clothes what yall niggaz dont know its eazy to pimp a hoe bitches betta have my money fo sho before they go runnin they mouth promotin half i be dickin they back out go head let it out i fucks with my gat out bounce and leave a hundred making em feel slutted even if they dont want it its been so long since i met a chick aint on my tips but then im dead wrong when i tell em be gone so hold on to the feelin of flossin and platinum cause from now on you can witness ja the icon with hoodies and timbs on cause i thugs my bitches veve studs my bitches then we rob bitch niggaz im talkin bout straight figures if you here you wit us if not boo you know what i still fucked youcan i get a fuck you to these bitches from all of my niggaz who dont love hoes they get no dough can i get a woop woop to these niggaz from all of my bitches who dont got love for niggaz without dubs can i get a fuck you to these bitches from all of my niggaz who dont love hoes they get no dough can i get a woop woop to these niggaz from all of my bitches who dont got love for niggaz without dubsnow can you bounce wit me bounce wit me ge gi ge gi gi gi bounce wit me bounce wit me wit me wit me wit me bounce wit me bounce wit me bounce bitch bounce wit me wit me wit me wit me can ya bounce wit me wit me ge gi uh huh uh huh uh huh uh huh uh huh uh huh uh huh uh huh uh huh uh huh uh can ya bounce wit me bounce wit me geyeah ",1
40,"jumper","third eye blind",1999," i wish you would step back from that ledge my friend you could cut ties with all the lies that youve been living in and if you do not want to see me again i would understand i would understand the angry boy a bit too insane icing over a secret pain you know you dont belong youre the first to fight youre way too loud youre the flash of light on a burial shroud i know somethings wrong well everyone i know has got a reason to say put the past away i wish you would step back from that ledge my friend you could cut ties with all the lies that youve been living in and if you do not want to see me again i would understand i would understand well hes on the table and hes gone to code and i do not think anyone knows what they are doing here and your friends have left youve been dismissed i never thought it would come to this and i i want you to know everyones got to face down the demons maybe today we can put the past away i wish you would step back from that ledge my friend you could cut ties with all the lies that youve been living in and if you do not want to see me again i would understand i would understand i would understand can you put the past away i wish you would step back from that ledge my friend i would understand ",1
41,"doo wop that thing","lauryn hill",1999," yo remember back on the boogie when cats used to harmonize like yo my men and my women dont forget about the dean sirat almustaqim yo its about a thing if ya feel real good wave your hands in the air and lick two shots in the atmosphereits been three weeks since you were looking for your friend the one you let hit it and never called you again member when he told you he was bout the benjamins you act like you aint hear him then give him a little trim to begin how you think youre really gon pretend like you wasnt down and you called him again plus when you give it up so easy you aint even foolin him if you did it then then youd probably fuck again talking out your neck sayin youre a christian a muslim sleeping with the gin now that was the sin that did jezebel in who you gon tell when the repercussions spin showing off your ass cause youre thinkin its a trend girlfriend let me break it down for you again you know i only say it cause im truly genuine dont be a hard rock when you really are a gem baby girl respect is just a minimum niggas fucked up and you still defending em now lauryn is only human dont think i havent been through the same predicament let it sit inside your head like a million women in philly penn its silly when girls sell their souls because its in look at where you be in hair weaves like europeans fake nails done by koreans come again come again come again my friend come againguys you know youd better watch out some girls some girls are only about that thing that thing that thing that thing that thing that thingthe second verse is dedicated to the men more concerned with his rims and his timbs than his women him and his men come in the club like hooligans dont care who they offend poppin yang like you got yen lets stop pretend the ones that pack pistols by they waist men cristal by the case men still in they mothers basement the pretty face men claiming that they be the big men need to take care of they three or four kids and they face a court case when the child support late money taking and heart breaking now you wonder why women hate men the sleepy silent men the punk domestic violence men quick to shoot the semen stop acting like boys and be men how you gonna win when you aint right within how you gonna win when you aint right within how you gonna win when you aint right within come again come again come again come againwatch out watch out look out look out watch out watch out look out look out watch out watch out look out look out watch out watch out look out look outgirls you know youd better watch out some guys some guys are only about that thing that thing that thing that thing that thing that thing guys you know youd better watch out some girls some girls are only about that thing that thing that thing that thing that thing that thinggirls you know youd better watch out some guys some guys are only about that thing that thing that thing ",1
42,"mambo no 5","lou bega",1999," ladies and gentleman this is mambo no 5one two three four five everybody in the car so come on lets ride to the liquor store around the corner the boys say they want some gin and juice but i really dont wanna beer bust like i had last week i must stay deep because talk is cheapi like angela pamela sandra and rita and as i continue you know they are getting sweeter so what can i do i really beg you my lord to me is flirting its just like sport anything fly its all good let me dump it please set in the trumpeta little bit of monica in my life a little bit of erica by my side a little bit of rita is all i need a little bit of tina is what i see a little bit of sandra in the sun a little bit of mary all night long a little bit of jessica here i am a little bit of you makes me your manmambo no 5jump up and down and move it all around shake your head to the sound put your hand on the ground take one step left and one step right one to the front and one to the side clap your hand once and clap your hands twice and if it looks like this then you are doing it righta little bit of monica in my life a little bit of erica by my side a little bit of rita is all i need a little bit of tina is what i see a little bit of sandra in the sun a little bit of mary all night long a little bit of jessica here i am a little bit of you makes me your mantrumpet the trumpet mambo no 5a little bit of monica in my life a little bit of erica by my side a little bit of rita is all i need a little bit of tina is what i see a little bit of sandra in the sun a little bit of mary all night long a little bit of jessica here i am a little bit of you makes me your mani do all to fall in love with a girl like you you cant run and you cant hide you and me gonna touch the skymambo no 5 ",1
43,"sweet lady","tyrese",1999," sweet lady would you be my sweet love for a lifetime ill be there when you need me just call and receive menow any other day i would play it cool but i cant now cause i want you see im hooked on how you flex your style and i wanna talk for a little while i never really seen your type but i must admit that i kinda like so maybe if you have the time we could talk about you being mychorus sweet lady would you be my sweet love for a lifetime ill be there when you need me just call and receive me sweet lady would you be my sweet love for a lifetime ill be there when you need me just call and receive menow on the regular i would waste time but i dont want to cause youre so damn fine and i heard that you were taken but that dont have to stop you from makin late night phone calls on the telephone about your fantasies and now to get it on when you need me i will be there for you my sweet ladychorussay you will be baby say you will be my lady ive got to have all your love so i wont even front just say youll give it to me dont wanna hear the maybes and i will give you all my heart if you say youll be my babychorus ",1
44,"its not right but its okay","whitney houston",1999," friday night you and your boys went out to eat then they hung out but you came home around three if six of yall went out then four of you were really cheap cause only two of you had dinner i found your credit card receiptits not right but its okay im gonna make it anyway pack your bags up and leave and dont you dare come running back to meits not right but its okay im gonna make it anyway close the door behind you leave your key id rather be alone than unhappyi pack your bags so you can leave town for a week yes i am the phone rings and then you look at me whyd you turn and look at me you said it was one of your friends down on 54th street boy so why did 213 show up on your caller idive been through all this before so how could you think that i would stand around and take some more things are gonna change cause i wont be your fool anymore thats why you have to leave so dont turn around to see my face theres no more tears left here for you to seewas it really worth you going out like that see im moving on and i refuse to turn back see all of this time i thought i had somebody down for whitney it turns out you were making a fool of meits not right but its okay im gonna make it anyway pack your bags up and leave and dont you dare come running back to meits not right but its okay im gonna make it anyway close the door behind you leave your key id rather be alone than unhappyits not right but its okay im gonna make it anyway pack your bags up and leave and dont you dare come running back to meits not right but its okay im gonna make it anyway close the door behind you leave your key id rather be alone than unhappyits not right but its okay im gonna make it anyway pack your bags up and leave and dont you dare come running back to meits not right but its okay im gonna make it anyway close the door behind you leave your key id rather be alone than unhappyits not right but its okay im gonna make it anyway pack your bags up and leave and dont you dare come running back to meits not right but its okay im gonna make it anyway close the door behind you leave your key id rather be alone than unhappyits not right but its okay im gonna make it anyway pack your bags up and leave ",1
45,"god must have spent a little more time on you","n sync",1999,"n sync n sync god must have spent a little more time on you yeah oh yes ohhhyeah can this be true tell me can this be real how can i put into words what i feel my life was complete i thought i was whole why do i feel like im losing control i never thought that love could feel like this and youve changed my world with just one kiss how can it be that right here with me theres an angel its a miracle your love is like a river peaceful and deep your soul is like a secret that i could never keep when i look into your eyes i know that its true god must of spent a little more time on you a little more time yes he did baby in all of creation all things great and small you are the one that surpasses them all more precious than any diamond or pearl they broke the mold when you came in this world and im trying hard to figure out just how i ever did without the warmth of your smile the heart of a child thats deep inside leaves me purified your love is like a river peaceful and deep and deep your soul is like a secret that i could never keep when i look into your eyes i know that its true god must of spent a little more time on you on you on you on you youon you on you on you you ohhh on you on you on you youon you on you on you you yeah never thought that love could feel like this and you changed my world with just one kiss how can it be that right here with me theres an angel its a miracle your love is like a river peaceful and deep peaceful and deep your soul is like a secret that i could never keep when i look into your eyes i know that its true god must of spent a little more time on you on you on you on you you god must of spent a little more time on you on you on youyouyouooohyeah a little more time on youohhh",3
46,"lullaby","shawn mullins",1999," she grew up with the children of the stars in the hollywood hills in the boulevard her parents threw big parties everyone was there they hung out with folks like dennis hopper and bob seger and sonny and cherand she feels safe now in this bar on fairfax and from the stage i can tell that she cant let go and she cant relax and just before she hangs her head to cry i sing to her a lullabyi say everythings gonna be alright rockabye rockabye everythings gonna be alright rockabye rockabye rockabyeand she still lives with her mom outside the city down that street about a half a mile and all her friends tell her shes so pretty but shed be whole lot prettier if she smiled once in a while cause even her smile looks like a frown shes seen her share of devils in this angel towneverythings gonna be alright rockabye rockabye everythings gonna be alright rockabye rockabye rockabyei told her i aint so sure about this place its hard to play a gig in this town and keep a straight face and it seems like everybodys got a plan its kinda like nashville with a taneverythings gonna be alright rockabye rockabye everythings gonna be alright rockabye rockabyeeverythings gonna be alright rockabye rockabye everythings gonna be alright rockabye rockabye rockabyebye bye bye bye ",1
47,"anywhere","112 featuring lil zane",1999," here we are all alone you and me privacy and we can do anything your fantasy i wanna make your dreams come true can you hear shes calling me between your legs loud and clear i wanna talk back to her make love to her i wanna hear you scream my namewe can make love in the bedroom floatin on top of my waterbed im kissing you running my fingers through your hair in the hallway making our way beside the stairs we can do it anywhere i can love you in the shower both of our bodies dripping wet on the patio we can make a night you wont forget on the kitchen floor as i softly pull your hair we can do it anywhere anywherei love the way your body feels on top of mine so take your time we got a night girl you know i like it slow and i know you like it too baby please dont stop i feel it now you feel it too youre shivering ooh you put me close to you just let it flow theres no other place to gowe can make love in the bedroom floatin on top of my waterbed im kissing you running my fingers through your hair in the hallway making our way beside the stairs we can do it anywhere i can love you in the shower both of our bodies dripping wet on the patio we can make a night you wont forget on the kitchen floor as i softly pull your hair we can do it anywhere anywherez too hot to stop so we goin from the bedroom to the floor let you know a nigga miss you when out on tour when our tongues touch have a playboy sing it much roll a dutch let me tell you it turns me on when 112 sing to you what kinda feeling do it bring to you i bump hard till you say im being mean to you i know the ice roley gleam to you a true players what i seem to you and if you want it we can do it in the black 500 wit the top down in overdrive when we ride cause im hot now you got me goin i dont think i wanna stop now z feinin like a criminal on lockdown so lets get a way to get away you gettin hot baby please dont melt away i got a crib on the beach in palmettoway and heres your personal key to see me everyday 112we can make love in the bedroom floatin on top of my waterbed im kissing you running my fingers through your hair in the hallway making our way beside the stairs we can do it anywhere i can love you in the shower both of our bodies dripping wet on the patio we can make a night you wont forget on the kitchen floor as i softly pull your hair we can do it anywhere anywherewe can make love in the bedroom floor floatin on top of my waterbed im kissing you running my fingers through your hair in the hallway making our way beside the stairs we can do it anywhere i can love you in the shower both of our bodies dripping wet on the patio we can make a night you wont forget on the kitchen floor as i softly pull your hair we can do it anywhere anywhere ",1
48,"tell me its real","kci  jojo",1999,NA,NA
49,"back 2 good","matchbox 20",1999," its nothing its so normal you just stand there i could say so much but i dont go there cuz i dont want to i was thinking if you were lonely maybe we could leave here and no one would know at least not to the point that we would think soeveryone here knows everyone here is thinking about somebody else its best if we all keep it under our heads i couldnt tell if anyone here was feeling the way i do but im lonely now and i dont know how to get it back to goodthis dont mean that you own me this aint no good in fact its phony as hell but things worked out just like you wanted too if you see me out you dont know me try to turn your head try to give me some room to figure out just what im going to doand everyone here hates everyone here for doing just like they do its best if we all keep this quiet instead and i couldnt tell why everyone here was doing me like they do but im sorry now and i dont know how to get it back to goodeveryone here is wondering what its like to be with somebody else everyone heres to blame everyone here gets caught up in the pleasure of the pain everyone hides shades of shame but looking inside were the same were the same and were all grown now but we dont know how to get it back to goodeveryone here knows everyone here is thinking bout somebody else its best if we all keep this under our heads i couldnt tell if anyone here was feeling the way i do but its over now and i dont know how its over now theres no getting back to good ",1
50,"808","blaque",1999," check it out see what i believe is we was granted the power whats that power what ha the power to make you dance like thisi heard shes got a nine to five but comin in after twelve i know theyre tired of her lies just let her go what the deal and now take me for instance babe see my love will drive her crazycause ill be goin boom like an eight o eight be makin circles like a figure eight you know it feels good from head to toe now hold on to me baby here we go youll be goin boom baby boom baby boom and ill be goin ooh baby ooh baby oohi heard shes not all that to you cause she cant do it like i do so put that trophy on the shelf go out and find somebody else now take me for instance babe see my love will drive her crazycause ill be goin boom like an eight o eight be makin circles like a figure eight you know it feels good from head to toe now hold on to me baby here we go youll be goin boom baby boom baby boom and ill be goin ooh baby ooh baby oohboom like an eight o eight circles like a figure eight feels good from head to toe to me baby here we goyo aint nobody can bang it like me stack it like me wouldnt like me ask kelly his original plan to get as large on the map by makin you clap your hands damn shoo bizzatchim not gonna lie ill pump my amps to this cutie pie honey bunch if youre not busy take me to lunch oh yall done did it nowwith the luscious music world poppin crews and what eight boost and and what tellin yous yeah give me up you one in a million forget the mens cause they ride in my pocket babyand today i just wanna jiggle my ball bet i knock your socks off wit my what what what yeah yeahboom like an eight o eight circles like a figure eight feels good from head to toe to me baby here we goboom like an eight o eight circles like a figure eight feels good from head to toe to me baby here we goyoull be goin boom baby boom baby boom and ill be goin ooh baby ooh baby ooh youll be goin boom baby boom baby boom and ill be goin ooh baby ooh baby oohboom like an eight o eight circles like a figure eight feels good from head to toe to me baby here we goboom like an eight o eight circles like a figure eight feels good from head to toe to me baby here we goboom like an eight o eight circles like a figure eight feels good from head to toe to me baby here we go ",1
51,"shes so high","tal bachman",1999," shes blood flesh and bone no tucks or silicone shes touch smell sight taste and soundbut somehow i cant believe that anything should happen i know where i belong and nothings gonna happen yeah yeahcause shes so high high above me shes so lovely shes so high like cleopatra joan of arc or aphrodite shes so high high above mefirst class and fancy free shes high society shes got the best of everythingwhat could a guy like me ever really offer shes perfect as she can be why should i even bothercause shes so high high above me shes so lovely shes so high like cleopatra joan of arc or aphrodite shes so high high above meshe comes to speak to me i freeze immediately cause what she says sounds so unrealbut somehow i cant believe that anything should happen i know where i belong and nothings gonna happen yeah yeah yeah yeahcause shes so high high above me shes so lovely shes so high like cleopatra joan of arc or aphrodite shes so high high above me ",1
52,"shes all i ever had","ricky martin",1999," here i am broken wings quiet thoughts unspoken dreams here i am alone again i need her now to hold my handshes all shes all i ever had shes the air i breathe yeah shes all shes all i ever hadits the way she makes me feel its the only thing thats real its the way she understands shes my lover shes my friend when i look into her eyes its the way i feel inside like the man i wanna be shes all ill ever needso much time so much pain but theres one thing that still remains its the the way she cared the love we shared and through it all shes always been thereshes all shes all i ever had in a world so cold so empty shes all shes all i ever hadits the way she makes me feel its the only thing thats real its the way she understands shes my lover shes my friend and when i look into her eyes its the way i feel inside like the man i wanna be shes all ill ever needshes all shes all i ever had i love to make her see shes all shes all i ever hadits the way she makes me feel its the only thing thats real its the way she understands shes my lover shes my friend when i look into her eyes its the way i feel inside like the man i wanna be shes all ill ever needits the way she makes me feel its the only thing thats real its the way she understands shes my lover shes my friend when i look into her eyes its the way i feel inside like the man i wanna be shes all ill ever need ",1
53,"miami","will smith",1999," uh miami yeah yeahsouth beach bringing the heat jig it out uhhere i am in the place where i come to let gomiami the bass and the sun set low everyday like a mardigras everybody party all day no work all play okso we sip a little something leave the rest to spill me and charlie at the bar running up a high bill nothin less than ill when we dress to kill and every time the ladies pass they be like hi willyall feel me all ages and races real sweet faces every single nation spanish hatian indian jamaican black white cuban or asiani only come for 2 days of playing but every time we come we always wind up staying this the type of town i could spend a few days in miami the city that keeps the roof blazingchorus party in the city where the heat is on all night on the beach til the break of dawn welcome to miami bienvenido a miami bouncin in the club where the heat is on all night on the beach til the break of dawn im going to miami welcome to miamiyo i heard the rain storms aint nuttin to mess wit but i cant feel a drip on the strip its a trip ladies half dressed fully equipped and they be screamin outwill we loved your last hit so im thinking ima scoop me something hot in this salsa merengue melting pot hottest club in the city and its right on the beachtemperature get to ya its about to reach five hundred degrees in the caribbean seas with the hot mommies screaming ayy papi every time i come to town they be spotting mein the drop bentley aint no stoppin me so cash in your dough and lets flow to this fashion show pound for pound anywhere you want to go yo aint no city in the world like this but if you ask how i knowi gots to plead the 5th miamichorusdont get me wrong chitown got it goin on and new york is the city that we know dont sleep and we all know the la and philly stay jiggy but on the snake miami bringing heat for real yall dont understandi never seen so many dominican women with cinnamon tans mira this is plan take a walk on the beach draw a heart in the sand give me your hand damn you look sexy lets go to yacht in the west keys ride my jet skis lounge under the palm treescause you got to have cheese for the summer time piece on south beach water so clear you can see to the bottom 100000 cars everybody got em aint no place in a club to see sly stallone miami my second homechorusrepeat x3 ",1
54,"hands","jewel",1999," if i could tell the world just one thing it would be that were all ok and not to worry because worry is wasteful and useless in times like these i will not be made useless i wont be idled with despair i will gather myself around my faith for light does the darkness most fearmy hands are small i know but theyre not yours they are my own but theyre not yours they are my own and i am never brokenpoverty stole your golden shoes but it didnt steal your laughter and heartache came to visit me but i knew it wasnt ever afterwe will fight not out of spite for someone must stand up for whats right cause where theres a man who has no voice there ours shall go singingmy hands are small i know but theyre not yours they are my own but theyre not yours they are my own and i am never brokenin the end only kindness matters in the end only kindness mattersi will get down on my knees and i will pray i will get down on my knees and i will pray i will get down on my knees and i will praymy hands are small i know but theyre not yours they are my own but theyre not yours they are my own and i am never brokenmy hands are small i know but theyre not yours they are my own but theyre not yours they are my own and i am never broken we are never brokenwe are gods eyes gods hands gods mind we are gods eyes gods hands gods heart we are gods eyes gods hands gods eyes gods hands we are gods hands gods hands we are gods hands ",1
55,"who dat","jt money featuring sole",1999," jack jack yeah put em up put em up yo yo jt money throw em up throw em up jt moneyaiy ya ya ya ya ya ya aiy ya ya ya ya ya ya who dat who dat who dat who dat who dat who dat who who dat who dat who dat tryin to get up in my crewyo who dat offbrand nigga tryin to hang wit the clique flossin like you came wit the clique but would you bang with the clique if it was thick or do you just ride dick cause playa i dont know you nigga tell me who you witif you hang wit the squad you bound to get scarred sucker boys run they mouth real niggaz run the yard round here we blow trees dont fuck with obs you dick ride niggaz might be the police aightaiy ya ya ya ya ya ya aiy ya ya ya ya ya ya who dat who dat who dat who dat who dat who dat who who dat who dat who dat tryin to get up in my crewaiy ya ya ya ya ya ya aiy ya ya ya ya ya ya who dat who dat who dat who dat who dat who dat who who dat who dat who dat tryin to get up in my crewuhh me an my girls rollin deep represent the sole bunch of flyass bitches when we ride its on see them niggaz all pause droppin digital phones askin me where you from cause they wantin to cloneniggaz them lines they spit they want my shit but game be whack i turn my back then hear that youre lickinit stickin it tell all your friends that youre dickin itswingin on them incomprehensible hifi shit nigga get sick with this say who dey who dat no chance blew dat when you said that you wrote this have red zone niggaz on blow for this bitchdont you deny it nigga dont even try it nigga you makin claims that you laid wit the fly nigga dont know your name it still remains that you would say you fucked soleevery time they turn a back burn tracks niggaz wanna say theyve earned stacks dick be jack picture that say my name im the one who the fuck is dat whyaiy ya ya ya ya ya ya aiy ya ya ya ya ya ya who dat who dat who dat who dat who dat who dat who who dat who dat who dat tryin to get up in my crewaiy ya ya ya ya ya ya aiy ya ya ya ya ya ya who dat who dat who dat who dat who dat who dat who who dat who dat who dat tryin to get up in my crewi been said a legendary up in this motherfucker veteran in this game an still bringin ruckus never had no time for tricks or no bustaz i only fuck wit dat real i got no love for suckersall these tiny ass niggaz be wanna wear my shoes aint got the slightest of clues or either paid your dues then these hoes goin crazy bout j baby the way you show me your love is by the way you pay methe game room been closed so stay up out of mine just know i keep niggaz up an crunk like battle lines motherfuckers be all up in a nigga biz tryin to question my shit just like a pop quiz nigga what this is aightaiy ya ya ya ya ya ya aiy ya ya ya ya ya ya who dat who dat who dat who dat who dat who dat who who dat who dat who dat tryin to get up in my crewaiy ya ya ya ya ya ya aiy ya ya ya ya ya ya who dat who dat who dat who dat who dat who dat who who dat who dat who dat tryin to get up in my crewwe out to change nigga we runnin game nigga you wanna bang nigga it aint no thang nigga we out to change nigga we runnin game nigga you wanna bang nigga it aint no thang nigga aightaiy ya ya ya ya ya ya aiy ya ya ya ya ya ya who dat who dat who dat who dat who dat who dat who who dat who dat who dat tryin to get up in my crewwho dat who dat who dat who dat who dat who dat who who dat who dat who dat who dat who dat who dat who who dat who dat who dat who dat who dat who dat who who dat who dat who dat tryin to get up in my crewyeah obs off limits ",1
56,"please remember me","tim mcgraw",1999," all our tears have reached the sea part of you will live in me way down deep inside my heart the days keep coming without fail new wind is gonna find your sail thats where your journey startsyoull find better love strong as it ever was deep as the river runs warm as the morning sun please remember mejust like the waves down by the shore were gonna keep on comin back for more cause we dont ever want to stop out in this brave new world youll see ovr the valleys and the peaks and i can see you on the topyoull find better love strong as it ever was deep as the river runs warm as the morning sun please remember meremember me when youre out walking when snow falls high outside your door late at night when youre not sleeping and moonlight falls across your floor and i cant hurt you anymoreyoull find better love strong as it ever was deep as the river runs warm as the morning sun please remember meplease remember me ",1
57,"from this moment on","shania twain",1999," i do swear that ill always be there id give anything and everything and i will always care through weakness and strength happiness and sorrow for better for worse i will love you with every beat of my heartfrom this moment life has begun from this moment you are the one right beside you is where i belong from this moment onfrom this moment i have been blessed i live only for your happiness and for your love id give my last breath from this moment oni give my hand to you with all my heart cant wait to live my life with you cant wait to start you and i will never be apart my dreams came true because of youfrom this moment as long as i live i will love you i promise you this there is nothing i wouldnt give from this moment onyoure the reason i believe in love and youre the answer to my prayers from up above all we need is just the two of us my dreams came true because of youfrom this moment as long as i live i will love you i promise you this there is nothing i wouldnt give from this moment i will love you as long as i live from this moment on ",1
58,"love like this","faith evans",1999," i never knew there was a love like this before never had someone to show me a love love like this beforenow that we have come to be a brand new light i can see never thought youd be a special part of me no babythe reasons are because of you i can go on and make it through i cant even take my mind off lovin you and i wanna sayi never knew there was a love like this before a love like this before no never had someone to show me a love love like this beforei know you cant see all the things you mean to me im so amazed that you are mine yeah yeah yeah yeahif we can work together maybe this can last forever this is somethin that i wanna hold on to so baby try to understandbaby try to understand ill be crazy if you leave cause you compliment my styleand i like the way you walk and the sexy things you talk you dont know just what you do to me you see i neveri never knew there was a love like this before a love like this before no never had someone to show me a love ooh i never had a love like this beforei never knew there was a love like this before never knew never knew never had someone to show me a love love like this beforebaby try to understand ill be crazy if you leave cause you compliment my styleand i like the way you walk and the sexy things you talk you dont know just what you do to me you see i nevernever knew a never knew a never knew a love like this beforenever knew a never knew a never knew a love like this beforei never knew there was a love like this before never had somebody never had someone to show me a love love like this beforei never knew there was a love like this before i never knew but ill find you never had someone to show me a love love like this beforei never knew there was a love like this before never had someone to show me a love ",1
59,"you","jesse powell",1999," ive finally found the nerve to say im gonna make a change in my life starting here todayi surrender all my love i never thought i could im giving all my love away and theres only one reason that i wouldand baby its you the way you walk the way you talk the way you say my name your smile the way you move me the way you soothe me the way you sleep softly through the nightevery morning you rise and open your eyes i just wanna be there with you baby i just wanna be yours from this day forthnext year lets call this day our anniversary the day i put my heart in your hands and said that it was yours to keepfrom this moment on say that youll always be mine cause girl when im alone with you theres only one thing thats on my mindand baby its you the way you walk the way you talk the way you say my name your smile the way you move me the way you soothe me the way you sleep softly through the nightevery morning you rise and open your eyes i just wanna be there with you baby just wanna be yours from this day forthi just wanna be yours from this day forth the way you walk the way you talk the way you say my name your smile the way you move me the way you soothe me the way you sleep softly through the nightevery morning you rise and open your eyes i just wanna be there with you baby just wanna be yours from this day forththe way you walk the way you talk the way you say my name your smile the way you move me the way you soothe me the way you sleep softly through the nightevery morning you rise and open your eyes i just wanna be there with you baby just wanna be yours from this day forththe way you walk the way you talk the way you say my name your smile the way you move me the way you soothe me the way you sleep softly through the nightevery morning you rise and open your eyes i just wanna be there with you baby just wanna be yours from this day forth ",1
60,"trippin","total featuring missy elliott",1999," bad boy 98 total kima keisha pam missy talk to me yeah yeah yeah yeahuh bad boy bad boy my mic sounds nice check one bad boy my mic sounds nice check twopuff ima make em go deaf make you say who dat them total bitches bad asses kima keisha and pam oh shit god dammit should you cram it or slam it damn right ima jam itbaby you sho is somethin see i wont trade you for nothin see everything you do to me you got me trippin and im satisfied and thats guaranteedchorus x2 i hope you that youve been checkin me i know what youre talkin bout you got me trippin on my own feet you got me buggin boy you bring me so much joy you got me open boy and ima save my stuff for youbaby yeah theres one thing ill mention me and her see shes no competitionso tell her that youre through with her and youre in love with me and thats totally and youre dedicated to mechorus x2baby theres one thing ill mention nah nah nah see shes no competitioni wont quit it till i get it till i have it ill admit it im in love you got me shit you got me i wont quit it till i get it till i have it ill admit it im in love you got me shit you got mebaby you know that you got me trippin ya see im open baby im open baby you know that you got me trippin ya see im open baby im openchorusthank you thank you 98 and we wont stop nah nah nah nah yeah yeah yeah missy misdemeanor ",1
61,"if you","silk",1999,"and if youre feelin like lovin me and and if youre feelin like lovin me lovin me lovin me and if youre feelin like lovin me and and and if youre feelin like lovin me lovin me and when youre feelin like holdin me holdin me you know ill make it right so come to me come to me i know you really wanna sex me and if youre feelin like lovin me lovin me and when youre feelin like holdin me holdin me you know ill make it right so come to me come to me i know you really wanna sex me girl i been checking you straight tryin to feel your vibe i cant explain it but i think you wanna let me slide so all you gotta do is tell me what the deal just let me know and ill be there for you keep it real you know you want it girl you know i want it too so lets stop frontin like you dont want me and i dont want you so baby let me know if youre bout it bout it let me fill you of with my love and make you shout it shout it and if youre feelin like lovin me lovin me and when youre feelin like holdin me holdin me you know ill make it right so come to me come to me i know you really wanna sex me and if youre feelin like lovin me lovin me and when youre feelin like holdin me holdin me you know ill make it right so come to me come to me i know you really wanna sex me so on your lonely nights when them fingers just wont do let me come satisfy i wanna make it right for an hour or two so baby dont be shy cause im not judging you but i think its time you change your mind and let my love come through stop talkin bout it and girl just be about it girl let me in and out just trust in me girl dont you doubt it so baby now you know that im bout it bout it let me fill you with my love ill make you shout it shout it and if youre feelin like lovin me lovin me and when youre feelin like holdin me holdin me you know ill make it right so come to me come to me i know you really wanna sex me and if youre feelin like lovin me lovin me and when youre feelin like holdin me holdin me you know ill make it right so come to me come to me i know you really wanna sex me and if youre feelin like lovin me lovin me lovin me lovin me holdin me holdin me holdin me holdin me come to me come to me come to me come to me sex me i know you really wanna lovin me lovin me lovin me lovin me holdin me holdin me holdin me holdin me come to me come to me come to me oh no yeah yeah and if youre feelin like lovin me s e x i n g me l o v i n g me yeah you know ill make it right so lovin me oh yeah and if youre feelin like sex me s e x i n g me l o v i n g me yeah you know ill make it right so sex me come on come on come on yeah yeah i know you really wanna sex me i know you really wanna sex me i know you really wanna sex me sex me i know you really wanna sex me i know you really wanna sex me i know you really wanna sex me sex me i know you really wanna sex me i know you really wanna sex me i know you really wanna sex me sex me i know you really wanna sex me i know you really wanna sex me i know you really wanna sex me sex me i know you really wanna sex me i know you really wanna sex me i know you really wanna sex me sex me",3
62,"exfactor","lauryn hill",1999," it could all be so simple but youd rather make it hard loving you is like a battle and we both end up with scars tell me who i have to be to get some reciprocity no one loves you more than me and no one ever willis this just a silly game that forces you to act this way forces you to scream my name then pretend that you cant stay tell me who i have to be to get some reciprocity no one loves you more than me and no one ever willno matter how i think we grow you always seem to let me know it aint workin it aint workin no it aint workin and when i try to walk away youd hurt yourself to make me stay this is crazy this is crazy this is crazy uhhuhi keep letting you back in how can i explain myself as painful as this thing has been i just cant be with no one else see i know what weve got to do you let go and ill let go too cause no ones hurt me more than you and no one ever willno matter how i think we grow you always seem to let me know it aint workin it aint workin it aint workin and when i try to walk away youd hurt yourself to make me stay this is crazy this is crazycare for me care for me i know you care for me there for me there for me said youd be there for mecry for me cry for me you said youd die for me give to me give to me why wont you live for mecare for me care for me you said you care for me there for me there for me said youd be there for mecry for me cry for me you said youd die for me give to me give to me why wont you live for mecare for me care for me you said you care for me there for me there for me said youd be there for mecry for me cry for me you said youd die for me give to me give to me why wont you live for mecare for me care for me you said you care for me there for me there for me said youd be there for megive to me give to me why wont you live for me cry for me cry for me you said youd die for me ",1
63,"give it to you","jordan knight",1999," you say its been too long since you had some you say i turn you on like the fire thats burring inside you think that im the one you see in your dreams i know what you mean yeahits creepin around in my head me holding you down in my bed you dont have to say a word im convinced you want thisbaby you know i can give it to you cant deny ill do it right just let me know and ill give it to you show me where ill taste you therebaby you know that ill give it to you your body needs a man like me anything goes when i give it to you without a doubt ill turn you outthe feelin is fine giving you everything of mineim the place to be and soon youll see i dont care who leads as long as we do horizontally anyone can make you sweat but i can keep you wetits creepin around in my head me holding you down in my bed i cant wait to give you some im convinced you need itbaby you know i can give it to you cant deny ill do it right just let me know and ill give it to you show me where ill taste you therebaby you know that ill give it to you your body needs a man like me anything goes when i give it to you without a doubt ill turn you onthe feelin is fine givin you everything of mineits creepin around in my head im holding you down in my bed you dont have to say a word just relax ill do the work i cant wait to give you some im convinced you need one babybaby you know i can give it to you cant deny ill do you right just let me know and ill give it to you show me where ill taste you therebaby you know that ill give it to you your body needs a man like me anything goes when i give it to you without a doubt ill turn you out baby you knowi want to satisfy your every wish and mine baby id know just what you need and all the things you want baby no one could ever do you like i do you right baby theres nothing we cant do cause we do it right babythe feelin is fine giving you everything of mine ",1
64,"black balloon","goo goo dolls",1999," babys black balloon makes her fly i almost fell into that hole in your life and youre not thinking about tomorrow cause you were the same as me but on your kneesa thousand other boys could never reach you how could i have been the one i saw the world spin beneath you and scatter like ice from the spoon that was your wombcomin down the world turned over and angels fall without you there and i go on as you get colder or are you someones prayeryou know the lies that they always told you and the love you never knew whats the things they never showed you that swallowed the light from the sun inside your roomcomin down the world turned over and angels fall without you there and i go on as you get colder or are you someones prayerand theres no time left for losin when you stand they fall comin down the world turned over and angels fall without you there and i go on as you grow colder all because im comin down the years turn over and angels fall without you there and ill go on to bring you home all because im all because im and ill become what you became to me ",1
65,"spend my life with you","eric benet featuring tamia",1999," i never knew such a day could come and i never knew such a love could be inside of one i never knew what my life was for but now that youre here i know for surei never knew till i looked in your eyes i was incomplete till the day you walked into my life and i never knew that my heart could feel so precious and pure one love so realcan i just see you every morning when i open my eyes can i just feel your heart beating beside me every night can we just feel this way together till the end of all time can i just spend my life with younow baby the days and the weeks and the years will roll by but nothing will change the love inside of you and i and baby ill never find any words that could explain just how much my heart my life my soul youve changedcan you run to these open arms when no one else understands can we tell god and the whole world im your woman youre my man cant you just feel how much i love you with one touch of my hand can i just spend my life with youno touch has ever felt so wonderful you are incredible and a deeper love ive never known ill never let you goi swear this love is true now and forever to you only for you to youcan i just see you every morning when i open my eyes can i just feel your heart beating beside me every night can we just feel this way together till the end of all time can i just spend my life with youcan you run to these open arms when no one else understands can we tell god and the whole world youre my woman and youre my man cant you just feel how much i love you with one touch of my hand can i just spend my life with you can i just spend my life with youcan i just spend my life with you can i just see you every morning when i open my eyes ",1
66,"these are the times","dru hill",1999," god knows that youre a sexy thang its taking everything in me not to kiss you over under feel you inside feel my thunder how the hell could i not want yougirl it dont have to be a thang ill wait for you you wait for me baby cause true love is consistent we dont have to rush at all baby yeahthese are the times we all wish for the moment when less means so much more we dont have to do a thing at all we take our time and talkand this is the way things need to be no pressure from you and none from me just let the mood set the moment off we can make love or not at allbe thinkin bout you all the time mornin noon and supper time baby tear you up in little pieces swallow you like reeses pieces come on girl you know i need youi know it aint supposed to be a thing i know ill wait for you you wait for me and i know true loves consistent we dont have to rush at allthese are the times we all wish for the moment when less means so much more we dont have to do a thing at all we take our time and talkand this is the way things need to be no pressure from you and none from me just let this mood set the moment off we can make love or not at alli dont make promises cause i know my heart gets weak when i get around you girl it makes them hard to keep cause you bring out the best make me the man god knows im proud to be baby yeahthese are the times we all wish for the moment when less means so much more we dont have to do a thing at all we take our time and talkand this is the way things need to be no pressure from you and none from me just let the mood set the moment off we can make love or not at allthese are the times we all wish for the moment when less means so much more we dont have to do a thing at all we take our time and talkand this is the way things need to be no pressure from you and none from me ",1
67,"i dont want to miss a thing","mark chesnutt",1999," i could stay awake just to hear you breathing watch you smile while you are sleeping while youre far away dreaming i could spend my life in this sweet surrender i could stay lost in this moment forever every moment spent with you is a moment i treasurei dont wanna close my eyes i dont wanna fall asleep cause id miss you an i dont wanna miss a thing cause even when i dream of you the sweetest dream will never do id still miss you an i dont wanna miss a thinglying close to you feeling your heart beating an im wondering what youre dreaming wondering if its me youre seeing then i kiss your eyes an thank god were together i just wanna stay with you in this moment foreveri dont wanna close my eyes i dont wanna fall asleep cause id miss you an i dont wanna miss a thing cause even when i dream of you the sweetest dream will never do id still miss you an i dont wanna miss a thingi dont wanna miss one smile i dont wanna miss one kiss i just wanna be with you right here with you just like thisi just wanna hold you close and feel your heart so close to mine and just stay here in this moment for all the rest of timei dont wanna close my eyes i dont wanna fall asleep cause id miss you an i dont wanna miss a thing cause even when i dream of you the sweetest dream will never do id still miss you an i dont wanna miss a thingid still miss you babe i dont wanna close my eyes i dont wanna fall asleep cause id miss you an i dont wanna miss a thing cause even when i dream of you the sweetest dream will never do id still miss you an i dont wanna miss a thing ",1
68,"i do cherish you","98 degrees",1999," i do i do now i do i doall i am all ill be everything in this world all that ill ever need is in your eyes shining at me when you smile i can feel all my passion unfoldingyour hand brushes mine and a thousand sensations seduce me cause ii do cherish you for the rest of my life you dont have to think twice i will love you still from the depths of my soul its beyond my control ive waited so long to say this to you if youre asking do i love you this much i do oh baby ohin my world before you lived outside my emotions didnt know where i was going until that day i found you how you opened my life to a new paradisein a world torn by change still with all my heart until my dying dayi do cherish you for the rest of my life you dont have to think twice i will love you still from the depths of my soul its beyond my control ive waited so long to say this to you if youre asking do i love you this much yes i doi do if youre asking do i love you this much baby i do cherish you from the depths of my soul its beyond my control ive waited so long to say this to you if youre asking do i love you this much baby i do i do ",1
69,"because of you","98 degrees",1999," chorus youre my sunshine after the rain youre the cure against my fear and my pain cause im losing my mind when youre not around its all its all its all because of youbaby i really know by now since we met that day you showed me the way i felt it then you gave me love i cant describe how much i feel for you i said baby i should have known by now should have been right there whenever you gave me love and if only you were here id tell you yes id tell you oh yeahchorusyoure my sunshine after the rain youre the cure against my fear and my pain cause im losing my mind when youre not around its all its all its all because of youhonestly could it be you and me like it was before neither less or more cause when i close my eyes at night i realize that no one else could ever take your place i still can feel and its so unreal when youre touching me kisses endlessly its just a place in the sun where our loves begun i miss you yes i miss you baby oh yeahchorusyoure my sunshine after the rain youre the cure against my fear and my pain cause im losing my mind when youre not around its all its all its all because of youif i knew how to tell you whats on my mind make you understand then id always be there right by your sidechorusyoure my sunshine after the rain youre the cure against my fear and my pain cause im losing my mind when youre not around its all its all its all because of youchorusyoure my sunshine youre my sunshine oh yeah ",1
70,"one","creed",1999," affirmative may be justified take from one give to another the goal is to be unified take my hand be my brother the payment silenced the masses sanctified by oppression unity took a backseat sliding further into regressionone oh one the only way is one one oh one the only way is onei feel angry i feel helpless want to change the world yeah i feel violent i feel alone dont try and change my mind nosociety blind by color why hold down one to raise another discrimination now on both sides seeds of hate blossom further the world is heading for mutiny when all we want is unity we may rise and fall but in the end well meet our fate togetherone oh one the only way is one one oh one the only way is onei feel angry i feel helpless want to change the world yeah i feel violent i feel alone dont try and change my mind noi feel angry i feel helpless want to change the world yeah i feel violent i feel alone dont try and change my mind noi feel angry i feel helpless want to change the world yeah i feel violent i feel alone dont try and change my mind noi feel angry i feel helpless want to change the world yeah i feel violent i feel alone dont try and change my mind ",1
71,"chantes got a man","chante moore",1999,"listen chantes got a man at home it hurts me your mans leavin you all alone i cant help it that your babys bad creepin out cheatin on ya beatin on ya chantes got a man at home an hes sure good to me im sorry that your man aint home im sorry that yours left you alone its such a shame your man is playin games an i heard you say that men are all the same no no no its not the truth girl cause i got proof girl oh i got proof girl i got a man at home chantes got a man at home it hurts me your mans leavin you all alone i cant help it that your babys bad creepin out cheatin on ya beatin on ya chantes got a man at home an hes sure good to me listen now whyd you let him beat you down no no whats up with that theres good men around dont you know how beautiful you are inside girl an dont you let nobody go an steal your pride oh no no i know your thing girl its not the truth girl cause i got proof girl oh i got proof girl i got a man at home chantes got a man at home it hurts me your mans leavin you all alone i cant help it that your babys bad creepin out cheatin on ya beatin on ya chantes got a man at home an hes sure good to me i once was where you are thought men were all the same but i never gave up hope an now my life has changed listen to me girls one bad apple dont spoil the whole bunch girl he always treats me right we never fight he sends me flowers an wines an dines me took me home to meet his momma how he loves me one bad apple dont spoil the whole bunch girl give it one more try before ya give up on love",3
72,"happily ever after","case",1999," guess what i did today those were the words i said to you it was last may dont know the exact day in my hand there was a ringthen you told me that you loved me more than anything in your life so i asked you would you do me the honor of bein my wifeyes i will i will be your man your protector your best friend till my humble life is ended and time begins again couldnt wecouldnt we be be happily ever after we could be strong together for so long couldnt we be be happily ever after leavin you never til forevers gonewhen i was away hmm hmm some friends became just faces some people grew apart but you stayed right in my heartand so many times pictured this day inside my mind and for so many years ooh i knew it would be you here with me ohyes i will take you for my wife the center of my life and i will never ever fade from this choice i made ooh ohcouldnt we be be happily ever after we could be strong together for so long couldnt we be be happily ever after leavin you never til forevers gonehey yeah you dont have to look no further than me dont look no more baby yeah you dont need much more than my lovin to make you happy im so happy im so happy babe beneath the sight of god i will make this vow to you so come on baby ill be right here stay with me said ill be here baby heycouldnt we be be happily ever after we could be strong together for so long couldnt we be be happily ever after leavin you never til forevers gone no no say no no i wont never leave you bluecouldnt we be be happily ever after you see today i want to to make you my wife we could be strong together for so long i want to spend all of my life couldnt we be be happily ever after i will never leave i will never go nowhere leavin you never til forevers gone oh no never hurt you ",1
73,"my love is your love","whitney houston",1999," clap your hands yall its alrightif tomorrow is judgment day sing mommy and im standing on the front line and the lord asks me what i did with my life i will say i spent it with youif i wake up in world war iii i see destruction and poverty and i feel like i want to go home its okay if youre coming with mecause your love is my love and my love is your love it would take an eternity to break us and the chains of amistad couldnt hold us cause your love is my love and my love is your love it would take an eternity to break us and the chains of amistad couldnt hold usif i lose my fame and fortune and im homeless on the street and im sleeping in grand central station its okay if youre sleeping with meas the years they pass us by we stay young through each others eyes and no matter how old we get its okay as long as i got you babycause your love is my love and my love is your love it would take an eternity to break us and the chains of amistad couldnt hold us cause your love is my love and my love is your love it would take an eternity to break us and the chains of amistad couldnt hold usif i should die this very day dont cry cause on earth we werent meant to stay and no matter what the people say ill be waiting for you after the judgment daycause your love is my love and my love is your love it would take an eternity to break us and the chains of amistad couldnt hold us cause your love is my love and my love is your love it would take an eternity to break us and the chains of amistad couldnt hold us ",1
74,"all night long","faith evans featuring puff daddy",1999," i like this right here yeah bad boy and we wont stop faith 99we can dance dance dance clap your hands hands hands all night if youre in the mood do what you wanna do all night longhappy days are here so leave your cares behind just relax your mind its so easy to do itjust enjoy yourself if the feelings right get your groove on tonight take your time tonight everythings all right aint nothing but a partywe can dance dance dance clap your hands hands hands all night if youre in the mood do what you wanna do all night longget up on the floor dont worry bout a thing rhythms got you now so come on get into itjust enjoy yourself if the feelings right get your groove on tonight take your time tonight everythings all right aint nothing but a partywe can dance dance dance clap your hands hands hands all night if youre in the mood do what you wanna do all night longhave a good time lay back relax just free your mind let the music take control of youyeah yeah yeah yeah yeah if its a hot then i mustve did it if its not then i wasnt with it bad boy stay committedwhether hiphop or rb featuring faith evans co starring me p diddy you know i got the key to your city unlock the door rock some morebeats we lace bad boy heat the place we run rb too cuz we keep the faith givin the streets a taste blaze the charts i rememberin case you forgot first lady b making it hot aint nobody taking the spot now its faith instead of pain coming through with a better grainin the dash cell phone better range get the cash stock paper for the whole four quarters damn some things never change you feel me lets make em dance lets go yeah yeah yeah yeah yeahwe can dance dance dance clap your hands hands hands all night if youre in the mood do what you wanna do all night longhave a good time lay back relax just free your mind let the music take control of youwe can dance dance dance clap your hands hands hands all night if youre in the mood do what you wanna do all night longwe can dance dance dance clap your hands hands hands all night if youre in the mood do what you wanna do all night long ",1
75,"back that azz up","juvenile featuring mannie fresh and lil wayne",1999," girl you workin with some ass yeah you bad yeah make a nigga spend his cash yeah his last yeah hoes frown when you pass yeah they mad yeah you gon ride in the jag yeah with that head you could smoke or buy a bag yeah of grass yeah got money i can flash yeah and trash yeah ima big timer nigga yeah pull the trigger yeah a playa hata flipper yeah grave filla yeah i be slangin wood yeah out the hood yeah let it be understood yeah its all good yeah got a nigga schemin large yeah on the hard yeah a smooth little broad yeah from out the projects a nigga do a trick yeah on the dick yeah you claimin you want a picture that aint shit yeah the nigga with the money yeah dont act funny yeah got birds and im runnin yeah bout a hundred yeahgirl you looks good wont you back that azz up youse a fine motherfucker wont you back that azz up call me big daddy when you back that azz up hoe who is you playin wit back that azz up girl you looks good wont you back that azz up youse a fine motherfucker wont you back that azz up call me big daddy when you back that azz up girl who is you playin wit back that azz upgirl you looks good wont you back that azz up youse a fine motherfucker wont you back that azz up you got a stupid ass yeah make me laugh yeah make a nigga want to grab that autograph that im sweatin in the drawers yeah hard and long yeah want to walk it like a dog yeah break you off yeah get  mine you gon get yours yeah that for sure yeah you fuckin with my nerves yeah and to the curb yeah i know you bitches know yeah and it show yeah but a nigga got some more yeah im out to flow yeah fresh brought some shit yeah and his bitch yeah we be making hit yeah after hit yeah them titties sittin nice yeah i want to bite yeah i could fuck you right yeah all night yeah want to bring it to my house yeah on the couch yeah knock the pussy out yeah get them out yeah i want to see these hoes yeah bend it low yeah let me run it in the hole yeah and let me know yeahgirl you looks good wont you back that azz up youse a fine motherfucker wont you back that azz up call me big daddy when you back that azz up hoe who is you playin wit back that azz up girl you looks good wont you back that azz up youse a fine motherfucker wont you back that azz up call me big daddy when you back that azz up hoe who is you playin wit back that azz upi know you cant stand it dick bandit done landed see your drawers handed freak to get it yall game spit at yall put the bitch on the wall and i hit it yall lookin kind of lonely im feelin horny put the dick in the middle like monie big thick plumber chick and a hummer chick beat the dick like a motherfuckin drummer chick see dat puddycat look at dat i love a fuckin hoodierat thats a fact youse a motherfuckin get it girl quit it girl im the nigga the nigga nigga that hit it girlgirl you looks good wont you back that azz up youse a fine motherfucker wont you back that azz up call me big daddy when you back that azz up hoe who is you playin wit back that azz up girl you looks good wont you back that azz up youse a fine motherfucker wont you back that azz up call me big daddy when you back that azz up hoe who is you playin wit back that azz upnow now now now now after you back it up then stop then whawhawhat drop drop it like its hot now after you back it up then stop now whawhawhawhat drop it like its hot now drop it like its hot drop drop it like its hot cmb make you drop it like its hot drop it like its hot drop drop it like its hot drop it like its hot drop drop it like its hot ha ",1
76,"almost doesnt count","brandy",1999," oh yeah yeah yeah almost made you love me almost made you cry almost made you happy babe didnt i didnt iyou almost had me thinkin you were turned around but everybody knows almost doesnt countalmost heard you sayin you were finally free what was always missin for you babe you found it in me you cant get to heaven half off the ground everybody knows almost doesnt counti cant keep on lovin you one foot outside the door i hear a funny hesitation of a heart thats never really sure cant keep on tryin if youre lookin for more and all that i could give you in whatcha came here forgonna fine me somebody not afraid to let go wanna no doubt be there kind of man you came real close but everytime you build me up you only let me downbut everybody knows almost doesnt count hey yeah everybody knows hey yeah yeah yeah yeah cant keep on baby cant keep on tryin everybody knows almost doesnt counti cant keep on cant keep on lovin you one foot outside the door i hear a funny hesitation of a heart thats never never really sure cant keep on tryin if youre lookin for more and all that i could give you in what you came here formaybe youll be sorry maybe youll be cold maybe youll come runnin back babe from the cruel cruel world almost convinced me youre gonna stick around but everybody knows almost doesnt countso maybe ill be here maybe ill see you around thats the way it goes almost doesnt count ",1
77,"man i feel like a woman","shania twain",1999," lets go girls come on im going out tonight im feelin alright gonna let it all hang out want to make some noise really raise my voice yeah i want to scream and shoutno inhibitions make no conditions get a little outta line i aint gonna act politically correct i only want to have a good timethe best thing about being a woman is the prerogative to have a little fun andoh oh oh go totally crazy forget im a lady mens shirts short skirts oh oh oh really go wild yeah doin it in style oh oh oh get in the action feel the attraction color my hair do what i dare oh oh oh i want to be free yeah to feel the way i feel man i feel like a womanthe girls need a breaktonight were gonna take the chance to get out on the town we dont need romance we only want to dance were gonna let our hair hang downthe best thing about being a woman is the prerogative to have a little fun andoh oh oh go totally crazy forget im a lady mens shirts short skirts oh oh oh really go wildyeah doin it in style oh oh oh get in the action feel the attraction color my hair do what i dare oh oh oh i want to be free yeah to feel the way i feel man i feel like a womanthe best thing about being a woman is the prerogative to have a little fun andoh oh oh go totally crazy forget im a lady mens shirts short skirts oh oh oh really go wild yeah doin it in style oh oh oh get in the action feel the attraction color my hair do what i dare oh oh oh i want to be free yeah to feel the way i feel man i feel like a womani get totally crazy can you feel it come come come on baby i feel like a woman ",1
78,"steal my sunshine","len",1999," i was lying on the grass on sunday morning of last week indulging in my self defeat my mind was thugged all laced and bugged all twisted wrong and beat a comfortable three feet deep now the fuzzy stare from not being there on a confusing morning week impaired my tribal lunar speak and of course you cant become if you only say what you would have done so i missed a million miles of funi know its up for me if you steal my sunshine making sure im not in too deep if you steal my sunshine keeping versed and on my feet if you steal my sunshinecheck come here come here come here wow look at her i know ive never seen sharon look so bad before i did once before but this is pretty bad yeah what do you think she got up to last night ha ha ha tell i karen i love youi was lying on the bench slide in the park across the street lateare that week my sticky paws were in to making straws out of big fat slurpy treats an incredible eight foot heap now the funny glare to pay a gleaming tare in a staring under heat involved an under usual feet and im not only among but i invite who i want to come so i missed a million miles of funi know its up for me if you steal my sunshine making sure im not in too deep if you steal my sunshine keeping versed and on my feet if you steal my sunshinei know its done for me if you steal my sunshine not some and hard to see if you steal my sunshine keeping dumb and built to beat if you steal my sunshinemy sunshine if you steal my sunshinemy sunshine if you steal my sunshinemy sunshine if you steal my sunshinemy sunshine if you steal my sunshinemy sunshine if you steal my sunshine ",1
79,"i need to know","marc anthony",1999," they say around the way youve asked for me theres even talk about you wanting me i must admit thats what i want to hear but thats just talk until you take me there ohif its true dont leave me all alone out here wondering if youre ever gonna take me there tell me what youre feeling cause i need to know girl youve gotta let me know which way to gocause i need to know i need to know tell me baby girl cause i need to know i need to know i need to know tell me baby girl cause i need to knowmy every thought is of this being true its getting harder not to think of you girl im exactly where i wanna be the only things i need you here with me ohif its true dont leave me all alone out here wondering if youre ever gonna take me there tell me what youre feeling cause i need to know girl youve gotta let me know which way to gocause i need to know i need to know tell me baby girl cause i need to know i need to know i need to know tell me baby girl cause i need to knowcause i need to know i need to know tell me baby girl cause i need to know i need to know i need to know tell me baby girl cause i need to knowif its true dont leave me all alone out here wondering if youre ever gonna take me there tell me what youre feeling cause i need to know girl youve gotta let me know which way to gocause i need to know i need to know tell me baby girl cause i need to know i need to know i need to know tell me baby girl cause i need to knowif its true dont leave me all alone out here wondering if youre ever gonna take me there tell me what youre feeling cause i need to know girl youve gotta let me know which way to gocause i need to know i need to know tell me baby girl cause i need to know i need to know i need to know tell me baby girl cause i need to know ",1
80,"so anxious","ginuwine",1999," nine oclock nine oclock home alone home alone paging you paging you wishing youd come over my place my place after while after while let me know let me know we cant just keep talking about the last time last time you were here you were here what we did what we did no sleep till morning only bubble baths bubble baths and back rubs back rubs hit me back hit me back girl i hope you hurry causeim so anxious so meet me at eleventhirty i love the way your talkin dirty said im so anxious girl could you quit this stallin you know im a sexaholic said imso anxious so meet me at eleventhirty i love the way your talkin dirty said im so anxious girl could you quit this stallin you know im a sexaholic said imit 1010 1010 where you been where you been did you get my message get my message your expression is tellin me that youve been thinkin the same thang the same thang ive been thinkin ive been thinkin you say youre workin say youre workin well hit me just as soon as youre shift is over over and ill be waitin ill be waitin cause i cant sleep i cant sleep for reminiscin reminscin about you about you and what we do and what we do hit me back hit me back and i you hope cause imso anxious so meet me at eleventhirty i love the way your talkin dirty said im so anxious girl could you quit this stallin you know im a sexaholic said imso anxious so meet me at eleventhirty i love the way your talkin dirty said im so anxious girl could you quit this stallin you know im a sexaholic said imsaid as soon as you hit the door imma pull you down on the floor and before we get to touch the bed baby back up every word you said and before we got to hit the lights and before we start the candlelight baby girl i want to bump and grind this is something that is on my mindso anxious so meet me at eleventhirty i love the way your talkin dirty said im so anxious girl could you quit this stallin you know im a sexaholic said imso anxious so meet me at eleventhirty i love the way your talkin dirty said im so anxious ",1
81,"faded pictures","case featuring joe",1999," thats right life is funny aint it sometimes you can end up with somebody you really dont wanna be with and others left to figure it out check itshe was more than a woman a goddess for all it seems and all i ever needed was her right here loving me for a while we were cool and the grooving of love was on but i still remember how it felt when our love was gonein a tattered picture book was a photograph she took years ago secret memories in her mind how could love be so unkind heartbreak time my heart is breaking ohfaded pictures in a broken glass like a mirror revealing what the woman is feeling was it someone from a distant past cause its breaking my heart so wont you stare into the glassas she turned through the pages the tears roll down her face i can see her reminiscing why her life had to be this way then she stopped as she came to a page where her diary ends to smell the scent of an old rose from her lover i supposein a tattered picture book was a photograph she took years ago secret memories in her mind how could love be so unkind heartbreak timefaded pictures in a broken glass like a mirror revealing what the woman is feeling was it someone from a distant past cause its breaking my heart so wont you stare into the glassthe pictures keep spinning as she stares into the glass ill be waiting cause shes lost inside the past the pictures keep spinning as she stares into the glass ill be waiting cause shes lost inside the pastfaded pictures in a broken glass like a mirror revealing what the woman is feeling was it someone from a distant past cause its breaking my heart so wont you stare into the glassfaded pictures in a broken glass ",1
82,"back at one","brian mcknight",1999," its undeniable that we should be together its unbelievable how i used to say that id fall never the basis is need to know if you dont know just how i feel then let me show you now that im for real if all things in time time will revealone youre like a dream come true two just want to be with you three girl its plain to see that youre the only one for me and four repeat steps one through three five make you fall in love with me if ever i believe my work is done then ill start back at oneits so incredible the way things work themselves out and all emotional once you know what its all about hey and undesirable for us to be apart i never would have made it very far cause you know youve got the keys to my heartone youre like a dream come true two just want to be with you three girl its plain to see that youre the only one for me and four repeat steps one through three five make you fall in love with me if ever i believe my work is done then ill start back at onesay farewell to the dark of night i see the coming of the sun i feel like a little child whose life has just begun you came and breathed new life into this lonely heart of mine you threw out of the lifeline just in the nick of timeone youre like a dream come true two just want to be with you three girl its plain to see that youre the only one for me and four repeat steps one through three five make you fall in love with me if ever i believe my work is done then ill start back at one ",1
83,"when a womans fed up","r kelly",1999," im standing here looking in the mirror saying damn to myself i should have known the day would come that she would find somebody else and all the things i took her through shit i shouldnt have lasted this long now im at this telephone booth calling tyronechorus cause when a womans fed up no matter how you beg no it aint nothing you can do about it nothing you can do about it its like running out of love no matter what you say no and then its too late to talk about it too late to talk about itnow lets talk about how it all goes down i used to make love to you daily when the night fell the same and anytime that you were hurt i could feel your pain and if i had a dollar it was yours yeah and whenever we would go out i would front the bill but now the up is down and the silence is sound i hurt you too too many times now i cant come aroundchorusif you dont want to find out the hard way then listen to this song while the record playschorusyou can cry a river till an ocean starts to form yeah but she will always remember cause shes a woman scorned and if you ever get her back it will never be the same shes cuttin the corners of her eyes every time she see your face now your trust is out the door she dont want you no more you used to tell your boys not me and she would always be there for you if you had took the time to see what that woman meant to you is what the mirror said to me whoa she was raised in illinois right outside of chicago some of the best cookin you ever had yes it was and i miss her hey woman if youre listening i said i miss you baby ",1
84,"how forever feels","kenny chesney",1999," big orange ball sinkin in the water toes in the sand couldnt get much hotter little umbrellashaded margaritas coconut oil tannin senoritas oh now i know how jimmy buffet feels hands on the wheel cruisin down the interstate gas pedal sticks carries my car away i was goin as fast as a rambler goes i could feel the speed from my head to my toes oh now i know how richard petty feelsive been around the block a time or two done almost everything a boy can do ive done some livin yeah ive had fun but there is one thing i havent donesaved 2 months bought a little diamond tonights the night feels like perfect timin down on one knee on mommas front steps man im gonna die if she really says yes i wanna know how forever feelsive been around the block a time or two done almost everything a boy can do ive done some livin yeah ive had fun but there is one thing i havent done ",1
85,"amazed","lonestar",1999," lonestar lyricsamazedevery time our eyes meet this feeling inside me is almost more than i can take baby when you touch me i can feel how much you love me and it just blows me away ive never been this close to anyone or anything i can hear your thoughts i can see your dreamsi dont know how you do what you do im so in love with you it just keeps getting better i wanna spend the rest of my life with you by my side forever and ever every little thing that you do baby im amazed by youthe smell of your skin the taste of your kiss the way you whisper in the dark your hair all around me baby you surround me you touch every place in my heart oh it feels like the first time every time i wanna spend the whole night in your armsi dont know how you do what you do im so in love with you it just keeps getting better i wanna spend the rest of my life with you by my side forever and ever every little thing that you do baby im amazed by youevery little thing that you do im so in love with you it just keeps getting better i wanna spend the rest of my life with you by my side forever and ever every little thing that you do oh yeah every little thing that you do baby im amazed by you ",1
86,"sometimes","britney spears",1999," you tell me youre in love with me like you cant take your pretty eyes away from me its not that i dont want to stay but every time you come too close i move away i wanna believe in everything that you say cause it sounds so good but if you really want me move slow theres things about me you just have to knowsometimes i run sometimes i hide sometimes im scared of you but all i really want is to hold you tight treat you right be with you day and night baby all i need is timei dont wanna be so shy every time that im alone i wonder why hope that you will wait for me youll see that youre the only one for me i wanna believe in everything that you say cause it sounds so good but if you really want me move slow theres things about me you just have to knowsometimes i run sometimes sometimes i hide sometimes im scared of you but all i really want is to hold you tight treat you right be with you day and night all i really want is to hold you tight treat you right be with you day and night baby all i need is timecome just hang around and youll see theres nowhere id rather be if you love me trust in me the way that i trust in yousometimes i run sometimes i hide sometimes im scared of you all i really want is to hold you tight treat you right be with you day and nightsometimes i run sometimes i hide sometimes im scared of you all i really want is to hold you tight treat you right be with you day and night all i really want is to hold you tight be with you day and nightsometimes i run sometimes i hide sometimes im scared of you all i really want is to hold you tight treat you right be with you day and night ",1
87,"ghetto cowboy","mo thugs",1999," you better count your money ghetto cowboythe name is krayzie big bad ass bone wanted up north for all the gold that i stole along with some cash even took the mayors daughter now that theres kidnappin but she was with it so i brought herthen got myself into a whole heap of trouble doublecrossed by the law so theres nobody to run to yeah its just me and my sawedoff shotgun outlaw call him leather faceim headed for the west heard they got a couple banks in town that aint been held up yet well uh i oughta make it by sundown i figure thats enough time for me to get the whole rundownso i continue my mission its gettin dark so im watchin for them damn injuns they like to catch ya then they rob and split i be a rootin tootin shootin damn fool protectin my chipsall of a sudden i heard somebody rumble in the bushes stop my horse whoa nellie who in the bushes you better speak out or im a let my shotgun song sing out thug queen the horse stealerwho is this i hope this aint the law jump out the bushes with my sawedoff shotgun cmon out right now im gettin angry took a step back cause it could get dangerousplease dont shoot its just me then why the hell is you hidin in them bushes im wanted in four counties for armed robbery killed to two sheriffs six of his best men with my hand stole two horsesthought you was the law thats why i jumped in the bushes goodness now she was hotter than the barrel on fire but i could use her for the job so i told her to ride cmonmay i ask you what you headed to the west for i got a partner got a plan for some dough and if youre down you can pick up yourself a pretty penny be in town in a minute now be sure if yore with itwe out before the sun rise gotta stallion for your partner to ride hit the saloon for the moonshine down for whatever lets ride lets ridethese directions say we go to tucson arizona when we arrive well cop a place we can bunk and meet my boy in the mornin for details and hookup you better count your money ghetto cowboyrise and shine good mornin howdy nine o clock we meet my boy in the saloon in the valley now i done came a long way and i dont wanna be late tell him i make ya cause you know we aint move out giddyup giddyup giddyup whip cracks horses neighyou better count your money ghetto cowboy im peepin krayzies wanted poster in the saloon so i assume itll be trouble around here pretty soon glance across the roomi see this youngster getting ready to fight but if he mess up the night i think that krayzie just might take his life so i approach him and i pauselook man i really dont wanna brawl but wont you chill before them laws come messin up this master plan since he already rowdy i just asked the manhey you want some work well partner put in your bid and by the way now whats your name they call me layzie the kidthe names powder p can i get a twelve gauge outlaw everyday on the front page mister kid if you give me the lowdown me and black jack be ready for the showdownwith two doublebarrels pointed at whatever well stick together im purty clever so saddle up jump on the bandwagon because its all goin down i heard a guy run in the bar screamin krayzies in townnow when we get to the saloon you dont worry wait outside and dont be stealin nobodys damn horses step inside the bar lay the kid you son of a gun hey man im glad you made it safelynow lets go have some fun and this my partner powder hes a young gun howdymighty glad to meet ya son oh yeah you know i also brought a friend along meet thug queen the horse peddler straggler just met herhowdy partner already got the horses saddled up i hope you good at robbin banks like you rustle that cattle up now yall its gon be gettin dark real soon i think youre right i say we movecmon lets move out giddyup giddyup giddyup move out whip cracks horses neigh you better count your money ghetto cowboy ",1
88,"out of my head","fastball",1999," sometimes i feel like i am drunk behind the wheel the wheel of possibility however it may roll give it a spin see if you can somehow factor in you know theres always more than one way to say exactly what you mean to saywas i out of my head was i out of my mind how could i have ever been so blind i was waiting for an indication it was hard to finddont matter what i say only what i do i never mean to do bad things to you so quiet but i finally woke up if youre sad then its time you spoke up toowas i out of my head was i out of my mind how could i have ever been so blind i was waiting for an indication it was hard to finddont matter what i say only what i do i never mean to do bad things to you so quiet but i finally woke up if youre sad then its time you spoke up toowas i out of my head was i out of my mind how could i have ever been so blind i was waiting for an indication it was hard to finddont matter what i say only what i do i never mean to do bad things to you so quiet but i finally woke up if youre sad then its time you spoke up too ",1
89,"hard knock life ghetto anthem","jayz",1999," check the bassline out uhhuh jigga bounce wit it uhhuh uhhuh uhhuh yeahh let it bump thoughits the hard knock life uhhuh for us its the hard knock life for us steada treated we get tricked steada kisses we get kicked its the hard knock lifefrom standin on the corners boppin to drivin some of the hottest cars new york has ever seen for droppin some of the hottest verses rap has ever heard from the dope spot with the smoke glock fleein the murder scene you know me well from nightmares of a lonely cell my only hell but since when yall niggaz know me to fail fuck naw where all my niggaz with the rubber grips bust shots and if you with me mom i rub on your tits and whatnot im from the school of the hard knocks we must not let outsiders violate our blocks and my plot lets stick up the world and split it fiftyfifty uhhuh lets take the dough and stay real jiggy uhhuh and sip the cris and get pissypissy flow infinitely like the memory of my nigga biggie baby you know its hell when i come through the life and times of shawn carter nigga volume 2 yall niggaz get readyits the hard knock life for us its the hard knock life for us steada treated we get tricked steada kisses we get kicked its the hard knock lifei flow for those droed out all my niggaz locked down in the ten by fo controllin the house we live in hard knocks we dont take over we borrow blocks burn em down and you can have it back daddy id rather that i flow for chicks wishin they aint have to strip to pay tuition i see you vision mama i put my money on the long shots all my ballers thats born to clock now ima be on top whether i perform or not i went from lukewarm to hot sleepin on futons and cots to king size green machines the green fives ive seen pies let the thing between my eyes analyze lifes ills then i put it down type braile im tight grill with the phony rappers yall might feel we homies im like still yall dont know me shit im tight grill when my situation aint improving im tryin to murder everything movin feel meits the hard knock life for us its the hard knock life for us steada treated we get tricked steada kisses we get kicked its the hard knock life for us its the hard knock life for us steada treated we get tricked steada kisses we get kicked its the hard knock lifei dont how to sleep i gotta eat stay on my toes gotta a lot of beef so logically i prey on my foes hustlings still inside of me and as far as progress youd be hardpressed to find another rapper hot as me i gave you prophecy on my first joint and yall lamed out didnt really appreciate it til the second one came out so i stretched the game out xed your name out put jigga on top and drop albums nonstop for ya nigguhits the hard knock life for us its the hard knock life for us steada treated we get tricked steada kisses we get kicked its the hard knock life for us its the hard knock life for us steada treated we get tricked steada kisses we get kicked its the hard knock life its the hard knock life its the hard knock life ",1
90,"jamboree","naughty by nature featuring zhane",1999," i wanna see yall who wanna plan with me wave your hands across the land if we family say hotdamn hotdamn we wanna jamboree this for my peeps here i stand for you cause you stand for mecmon i know i jam i know i jam jam while oh damn i know i jam i know i jam jam boree i know i jam i know i jam jam well oh damn why dont you jamboree for me yes indeedkaboom kaboom the platoon came on in eight limbs and timbs broke rims smoked sims whoop dogs with bent rims for the real and the raw from whod up with the law i never kill for the thrill but i cut for the cars smokin buddha with a hoota get better prices from looters shake my shell with the shooters leed a luga with duga some say modelin and acting mean treach is sellingwhile im yelling first a felon with my gat at ya melon hella heated too ill for them to beat it most cheated most weeded most needed you best believe it lets take the tapes jam for me stand for me youre damned to be without the jamboreecmon i know i jam i know i jam jam while oh damn i know i jam i know i jam jam boree i know i jam i know i jam jam well oh damn why dont you jamboree for me yes indeedweve put it down since the days of high school and everywhere we mark we rule naughtys about to raise our stock and we didnt come to brag about what we got nigga we came to rock we blew the spot taking the streets to pac youd be thugstyle for a while then cold rolled our jockusing them last few years as our evidence niggas been tryin to duplicate the mixture ever since you live in value reprimanded if you challenge me i guarantee when we finish ill be the last man standing fuck what you heard naughty is forever in demand when kay drop tracks all the party people jammini wanna see yall who wanna plan with me wave your hands across the land if we family say hotdamn hotdamn we wanna jamboree this for my peeps here i stand for you cause you stand for mecmon i know i jam i know i jam jam while oh damn i know i jam i know i jam jam boree i know i jam i know i jam jam well oh damn why dont you jamboree for me yes indeedi ask the thugs who have mercy in these days is dirty im still sturdy and flirty till my derby for jersey the funk is pass booted lights camera shoot it i just did it to do it thats why i suit it and boot it heres the graphic niggas is just a tattered and added orgys are automatic from backtraffic to addicts crush the cabbage straight from the savage to lavish we rip those who rat it thats why your click had it dog cats to coochies for me its lootchies then hootchiescause well drop a cuzzie that leaves your whole label woozy and shitty and dizzy because your whole city miss me they whip out their titties and from they kiddies throw me 50s in bundles of 100s and make every hater want it drunk and blunt it knock onto the hottest nigga comin kay scratch and cut ya no matta what you make em wanna come and touch her the punani rusher like ushercmon i know i jam i know i jam jam while oh damn i know i jam i know i jam jam boree i know i jam i know i jam jam well oh damn why dont you jamboree for me yes indeedcmon i know i jam i know i jam jam while oh damn i know i jam i know i jam jam boree i know i jam i know i jam jam well oh damn why dont you jamboree for me yes indeed ",1
91,"take me there","blackstreet featuring m'ya mase and blinky blink",1999," rugrats chorus mya and blackstreet take me there i want to go there take me there lets go there take me to that great place with wonders and wishes take me there i want to go there take me there you know where just take me to that great place with wonders and wishes verse one mya sittin here thinkin bout yesterday about what we did and how we used to play just the thought of you brings a smile upon my face thats how it makes me feel to see you everyday where we go nobody knows and what we do is between me and you so cmon and take my hand to that special place where smiles come to life and dreams come true chorus verse two chauncey of blackstreet lets make a wish close your eyes and count to five cause you know that everything will be alright i see the magic in your eyes youre strong enough i know to bring your dreams to life where we go nobody knows and what we do is between me and you so cmon and take my hand to that special place i dont want this dream to ever go away chorus rap one mase now angelicas the one with all the exposure dil is the one who drop in the stroller tommy got the whole world on his shoulders and dil cries to sleep til his eyes get bleak im identical to chuckie chuckie to petro chuckie get scared chuckie says lets go if i was a rugrat it wouldve been so real me and my twin wouldve been just like phil and lil rap two blinky blink and with one wish blink grant you one trip where we goin its an adventure who you want to come with see youre my little brother that ill come get run with but its gotta be done quick yo chucky is scared and tommy is sad and phil and lil misses their mom and dad so take the time of day and well find the place and i guarantee that we will all get home safe mya just take me there chorus ",1
92,"stay the same","joey mcintyre",1999," dont you ever wish you were someone else you were meant to be the way you are exactlydont you ever say you dont like the way you are when you learn to love yourself youre better off by farand i hope you always stay the same cause theres nothing bout you i would changei think that you could be whatever you wanted to be if you could realize all the dreams you have insidedont be afraid if youve got something to say just open up your heart and let it show you the waydont you ever wish you were someone else you were meant to be the way you are exactlydont you ever say you dont like the way you are when you learn to love yourself youre better off by farand i hope you always stay the same cause theres nothing bout you i would changebelieve in yourself reach down inside the love you find will set you freebelieve in yourself you will come alive have faith in what you do youll make it throughdont you ever wish you were someone else you were meant to be the way you are exactlydont you ever say you dont like the way you are when you learn to love yourself youre better off by farand i hope you always stay the same cause theres nothing bout you i would change cause theres nothing bout you i would change dont change ",1
93,"a lesson in leavin","jo dee messina",1999,NA,NA
94,"iris","goo goo dolls",1999," and id give up forever to touch you cause i know that you feel me somehow youre the closest to heaven that ill ever be and i dont want to go home right nowand all i can taste is this moment and all i can breathe is your life and sooner or later its over i just dont wanna miss you tonightand i dont want the world to see me cause i dont think that theyd understand when everythings meant to be broken i just want you to know who i amand you cant fight the tears that aint coming or the moment of truth in your lies when everything feels like the movies yeah you bleed just to know youre aliveand i dont want the world to see me cause i dont think that theyd understand when everythings meant to be broken i just want you to know who i amand i dont want the world to see me cause i dont think that theyd understand when everythings meant to be broken i just want you to know who i amand i dont want the world to see me cause i dont think that theyd understand when everythings meant to be broken i just want you to know who i ami just want you to know who i am i just want you to know who i am i just want you to know who i am ",1
95,"satisfy you","puff daddy featuring r kelly",1999," all i want is somebody whos gonna love me for me somebody i can love for them all this money dont mean shit if you aint got nobody to share it with love rules the world you feel mehe dont understand you like i do no hell never make love to you like i do so give it to me cause i can show you bout a real love and i can promise anything that i do is just to satisfy youwhen it hurt i ease the pain girl caress your frame get them worries off your brain girl im in your corner do what you want its your thing girl i persist and try but we one in the same girl it aint a game so i cant play with you i wanna lay with you stay with you pray with you grow old and gray with you in good and bad times well always make it through cause what we got is true no matter what they say to you i could straight lace you not just appearance stimulate your mind strengthen your spirits be that voice of reason when you aint tryna hear it you want it but you fear it but you love it when you near it sit her on the sofa get a little closer touch you right do it like a mans suppose to knew you was the one thats why i chose you cause you get down for yours and ride like a soldierhe dont understand you like i do no hell never make love to you like i do so give it to me cause i can show you bout a real love and i can promise anything that i do is just to satisfy youyour soul aint a toy you aint dealin with a boy feel emptiness inside i can fill that void when you spend time with your woman and listen it shines more than any bagguette diamond can glisten i cant impress you with the cars and the wealth cause any woman with will and drive can get it herself id rather show you its heartfelt make your heart melt and prove to you youre more important than anything else worthwhile special like my first child when i see your face its always like the first time our eyes met i knew wed be together in a trijet i wanna give you things that i didnt buy yet hold you mold you dont know let me show you aint no tellin what we could grow to let it be known i told you and imma be there for whatever you go through my loves truehe dont understand you like i do no hell never make love to you like i do so give it to me cause i can show you bout a real love and i can promise anything that i do is just to satisfy youdont let him sing you a sad song no baby waiting for love like this too long you dont have to wait you dont have to wait on him baby all that you need i can give you you dont have to wait you dont have to wait on i do satisfy you you dont have to wait on himim the light when you cant see im that air when you cant breathe im that feeling when you cant leave some doubt some believe some lie cheat and deceive so its only you and me when you weak ill make you strong heres where you belong i aint perfect but i promise i wont do you wrong keep you away from harm my love is protected ill wrap you in my arms so youll never feel neglected ill just make you aware of what we have is rare in the moment of despair im the courage when youre scared loyal down for you soon as i saw you wanted to be there cause i could hold it down for you be around for you plant seeds in the soil make love all night bending bed coils youre a queen therefore i treat you royal this is all for you cause i simply adore youhe dont understand you like i do no hell never make love to you like i do so give it to me cause i can show you bout a real love and i can promise anything that i do is just to satisfy youthis one right here goes out to all my sisters ",1
96,"better days and the bottom drops out","citizen king",1999," in my shoes my toes are busted my kitchen says my bread is molded i got a good job at the dollar storeone foot in the hole one foot gettin deeper with a broken mirror and a blown out speaker i aint got much else to loseim faded flat busted been jaded ive been dusted i know that ive seen better daysone foot in the hole one foot gettin deeper crank it to eleven blow another speaker and i aint got i aint got much to losecuz ive seen better days ive been the star of many plays ive seen better days and the bottom drops outive seen better days ive been the star of many plays ive seen better days and the bottom drops outnow my cups filled up with five buck wine i find myself here all the time another rip in the glass another chip in my toothrained on ive been stained on found another goat i try to put the blame on and now im steppin on all the cracks so i guess there aint no usecuz ive seen better days ive been the star of many plays ive seen better days and the bottom drops outive seen better days ive been the star of many plays ive seen better days and the bottom drops outim bent like glass second hand like glory missed the bus but im in no hurry molasses fast no business bornone foot in the hole one foot gettin deeper crank it to eleven blow another speaker and i aint got i aint got much to loseive seen better days ive been the star of many plays ive seen better days and the bottom drops outive seen better days ive been the star of many plays ive seen better days ive seen better daysi know that ive seen better days and the bottom drops out ive been the star of so many plays and the bottom drops outi walked on the edge without a hold whole way and the botton drops out cuz i know i know that ive seen better better days and the bottom drops out ",1
97,"music of my heart","n sync and gloria estefan",1999,"youll never know what youve done for me what your faith in me has done for my soul youll never know the gift youve given me ill carry it with me yeahyeah through the days ahead i think of days before you made me hope for something better yes you did and made me reach for something more you taught me to run you taught me to fly helped me to free the me inside help me hear the music of my heart help me hear the music of my heart youve opened my eyes youve opened the door to something ive never known before and your love love is the music of my heart music of my heart you were the one always on my side always on my side always standing by always standing by seeing me through you were the song that always made me sing im singing this for you singing this for you baby everywhere i go i think of where ive been think of where ive been and of the one who knew me better than anyone ever will again you taught me to run you taught me to fly helped me to free the me inside help me hear the music of my heart help me hear the music of my heart youve opened my eyes youve opened the door you opened the door to something ive never known before and your loveyour love is the music of my heart what you taught me only your love could ever teach me you got through when no one could reach me ohhohhohh cause you always saw in me all the best that i could be it was you who set me free you taught me to run you taught me to fly helped me to free the me inside me inside help me hear the music of my heart help me hear the music of my heart you taught me to run you taught me to fly helped me to free the me inside me inside help me hear the music of my heart music of my heart help me hear the music of my heart youve opened my eyes youve opened the door opened the door to something ive never known before never never felt before and your love is the music of my heart music of my heart music of my heart is the music of my heart",3
98,"write this down","george strait",1999," i never saw the end in sight fools are kind of blind thought everything was going alright but i was running out of timecause you had one foot out the door i swear i didnt see but if youre really going away heres some final words from mebaby write this down take a little note to remind you in case you didnt know tell yourself i love you and i dont want you to go write this downtake my words and read em everyday keep em close by dont you let em fade away so youll remember what i forgot to say write this downill sign it at the bottom of this page ill swear under oath cause every single word is true and i think you need to knowso use it as a bookmark stick it on your frigerator door hang it in a picture frame up above the mantel where youll see it for surebaby write this down take a little note to remind you in case you didnt know tell yourself i love you and i dont want you to go write this downan take my words and read em everyday keep em close by dont you let em fade away so youll remember what i forgot to say write this downyou can find a chisel i can find a stone folks will be reading these words long after were gonebaby write this down take a little note to remind you in case you didnt know tell yourself i love you and i dont want you to go write this downtake my words and read em everyday keep em close by dont you let em fade away so youll remember what i forgot to say write this downoh i love you and i dont want you to go baby write this down ",1
99,"when you believe","whitney houston and mariah carey",1999," many nights we prayed with no proof anyone could hear in our hearts a hope for a song we barely understoodnow we are not afraid although we know theres much to fear we were moving mountains long before we knew we could whoa yesthere can be miracles when you believe though hope is frail its hard to killwho knows what miracles you can achieve when you believe somehow you will you will when you believemmmmmmmmmyeah mmmyeah in this time of fear when prayer so often proves in vainhope seems like the summer bird too swiftly flown away yet now im standing here my hearts so full i cant explainseeking faith and speakin words i never thought id say there can be miracles when you believe when you believethough hope is frail its hard to kill mmm who knows what miracles you can achieve you can achievewhen you believe somehow you will you will when you believe hey oohthey dont always happen when you ask and its easy to give in to your fears but when youre blinded by your pain cant see the way get through the raina small but still resilient voice says hope is very near oh oh there can be miracles miracles when you believe boy when you believe yeah though hope is frailthough hope is frail its hard its hard to kill hard to kill oh yeah who knows what miracles you can achieve you can achieve ohwhen you believe somehow you will somehow somehow somehow somehow you will i know i know know you will when you believe when you oh ohyou will when you you will when you believe ohoohooh oh ohwhen you believe when you believe ",1
100,"god must have spent a little more time on you","alabama and n sync",1999," can this be true tell me can this be real how can i put into words what i feel my life was complete i thought i was whole why do i feel like im losing controli never knew that love could feel like this then you changed my world with just one kiss how can it be that right here with me theres an angel its a miracleyour love is like a river peaceful and deep your soul is like a secret that i never could keep when i look into your eyes i know that its true god must of spent a little more time on you a little more time im sure he did yes he didin all of creation all things great and small you are the one that surpasses them all more precious than any diamond or pearl they broke the mold when you came in this worldand im trying hard to figure out just how i ever did without the warmth of your smile the heart of a child its deep inside and leaves me purifiedyour love is like a river peaceful and deep your soul is like a secret that i never could keep when i look into your eyes i know that its true god must of spent a little more time on you yes he did yes he didi never knew that love could feel like this then you changed my world with just one kiss how can it be that right here with me theres an angel its just a miracleyour love is like a river peaceful and deep your soul is like a secret that i never could keep when i look into your eyes i know that its true god must of spent a little more time on you god must of spent a little more time on you on you a little more time you ",1
1,"breathe","faith hill",2000," i can feel the magic floating in the air being with you gets me that way i watch the sunlight dance across your face and ive never been this swept awayall my thoughts just seem to settle on the breeze when im lying wrapped up in your arms the whole world just fades away the only thing i hear is the beating of your heartcause i can feel you breathe its washing over me and suddenly im melting into you theres nothing left to prove baby all we need is just to be caught up in the touch slow and steady rush baby isnt that the way that loves suppose to be i can feel you breathe just breathein a way i know my heart is waking up as all the walls come tumbling down closer than ive ever felt before and i know and you know theres no need for words right nowi can feel you breathe washing over me and suddenly im melting into you theres nothing left to prove baby all we need is just to be caught up in the touch slow and steady rush baby isnt that the way that loves suppose to be i can feel you breathe just breathecaught up in the touch slow and steady rush baby isnt that the way that loves suppose to be i can feel you breathe just breathei can feel the magic floating in the air being with you gets me that way ",1
2,"smooth","santana featuring rob thomas",2000," man its a hot one like seven inches from the midday sun well i hear you whispering in the words to melt everyone but you stay so cool my mu̱equita my spanish harlem mona lisa youre my reason for reason the step in my grooveand if you said this life aint good enough i would give my world to lift you up i could change my life to better suit your mood because youre so smoothand its just like the ocean under the moon oh its the same as the emotion that i get from you you got the kind of lovin that can be so smooth yeah give me your heart make it real or else forget about itbut ill tell you one thing if you would leave it would be a crying shame in every breath and every word i hear your name calling me out out from the barrio you hear my rhythm on your radio you feel the turning of the world so soft and slow its turning you round and roundand if you said this life aint good enough i would give my world to lift you up i could change my life to better suit your mood because youre so smoothand its just like the ocean under the moon oh its the same as the emotion that i get from you you got the kind of lovin that can be so smooth yeah give me your heart make it real or else forget about itand its just like the ocean under the moon oh its the same as the emotion that i get from you you got the kind of lovin that can be so smooth yeah give me your heart make it real or else forget about itor else forget about it or else forget about it lets not forget about it give me your heart make it real lets not forget about it lets not forget about it lets not forget about it lets not forget about it lets not forget about it ",1
3,"maria maria","santana featuring the product gb",2000," ladies and gents turn up your sound systems to the sound of carlos santana in the gmb ghetto blues from the refugee campsoh maria maria she remind me of a west side story growin up in spanish harlem she livin a life just like a movie staroh maria maria she fell in love in east la to the sounds of the guitar yeah yeah played by carlos santanastop the lootin stop the shootin pick pocking on the corner see as the rich is getting richer the poor is getting poorerse mira maria on the corner thinkin of ways to make it better in my mailbox theres an eviction letter somebody just said see you later yeahahora vengo mama chula mama chula ahora vengo mama chula east coast ahora vengo mama chula mama chula ahora vengo mama chulamaria maria west coast she remind me of a west side story growin up in spanish harlem she livin a life just like a movie staroh maria maria she fell in love in east la i said it to the sounds of the guitar yeah yeah played by carlos santanai said a la favella los colores the streets are getting hotter there is no water to putout the fire mi canto la esperanzase mira maria on the corner thinkin of ways to make it better then i looked up in the sky hopin the days of paradiseahora vengo mama chula mama chula ahora vengo mama chula north side ahora vengo mama chula mama chula ahora vengo mama chula south sideahora vengo mama chula mama chula ahora vengo mama chula worldwide ahora vengo mama chula mama chula ahora vengo mama chula open up your eyesmaria you know youre my lover when the wind blows i can feel you through the weather and even when were apart it still feels like were togethermaria oh yeah she remind me of a west side story growin up in spanish harlem she livin a life just like a movie staroh maria maria oh she fell in love in east la to the sounds of the guitar played by carlos santanaput em up yall carlos santana with the refugee camp wyclef jerry wonder mr santana gmb yo carlos man you makin that guitar cry ",1
4,"i wanna know","joe",2000," yeah oh yeah alright oh oh ohits amazing how you knock me off my feet hm every time you come around me i get weak oh yeah nobody ever made me feel this way oh you kiss my lips and then you take my breath away so i want to knowi want to know what turns you on id like to know so i can be all that and more id like to know id like to know what makes you cry so i can be the one who always makes you smilegirl he never understood what you were worth hm no and he never took the time to make it work you deserve more loving girl baby im the kind of man who shows concern yes i do oh anyway that i can please you let me learn so i wanna knowi wanna know what turns you on i wanna know so i can be all that and more id like to id like to know what makes you cry so so i can be the one who always makes you smile make you smile babetell me what i gotta do to please you baby anything you say ill do cause i only want to make you happy from the bottom of my heart its truetell me what i gotta do to please you baby anything you say ill do cause i only want to make you happy from the bottom of my heart its truei wish that i could take a journey through your mind alright and find emotions that you always try to hide babe oh i do believe that theres a love you want to share oh oh ill take good care of you lady have no fear oh so i wanna knowi wanna know what turns you on i wanna know so i can be all that and more and id like to id like to know what makes you cry so i can be the one who always makes you smileuh tell me tell me tell me what i gotta do to please you baby anything you say ill do cause i only want to make you happy from the bottom of my heart its truetell me what i gotta do to please you baby anything you say ill do cause i only want to make you happy from the bottom of my heart its truei wanna know what turns you on id like to know id like to know so i can be all that and more i wanna know id like to know what makes you cry so so i can be the one who always makes you smileid like to know i wanna know i wanna know what turns you on tell me girl ",1
5,"everything you want","vertical horizon",2000," somewhere theres speaking its already coming in oh and its rising at the back of your mind you never could get it unless you were fed it now youre here and you dont know whybut under skinned knees and the skid marks past the places where you used to learn you howl and listen listen and wait for the echoes of angels who wont returnhes everything you want hes everything you need hes everything inside of you that you wish you could be he says all the right things at exactly the right time but he means nothing to you and you dont know whyyoure waiting for someone to put you together youre waiting for someone to push you away theres always another wound to discover theres always something more you wish hed sayhes everything you want hes everything you need hes everything inside of you that you wish you could be he says all the right things at exactly the right time but he means nothing to you and you dont know whybut youll just sit tight and watch it unwind its only what youre asking for and youll be just fine with all of your time its only what youre waiting forout of the island into the highway past the places where you might have turned you never did notice but you still hide away the anger of angels who wont returnhes everything you want hes everything you need hes everything inside of you that you wish you could be he says all the right things at exactly the right time but he means nothing to you and you dont know whyi am everything you want i am everything you need i am everything inside of you that you wish you could be i say all the right things at exactly the right time but i mean nothing to you and i dont know why and i dont know why why why and i dont know ",1
6,"say my name","destinys child",2000," say my name say my name if no one is around you say baby i love you if you aint runnin game say my name say my name you actin kinda shady aint callin me baby why the sudden change say my name say my name if no one is around you say baby i love you if you aint runnin game say my name say my name you actin kinda shady aint callin me baby why the sudden changeany other day i would call and you would say baby hows your day but today it aint the same every other word is uhhuh yeah okay could it be that you are at the crib with another lady if you took it there first of all let me say i am not the one to sit around and be played so prove yourself to me i am the girl that you claim why dont you say the thangs that you said to me yesterdayi know you say that i am assuming things somethings going down thats the way it seems shouldnt be the reason why youre acting strange if nobodys holding you back from me cause i know how you usually do when you say everything to me times two why cant you just tell the truth if somebodys there then tell me whosay my name say my name if no one is around you say baby i love you if you aint runnin game say my name say my name you actin kinda shady aint callin me baby why the sudden change say my name say my name if no one is around you say baby i love you if you aint runnin game say my name say my name you actin kinda shady aint callin me baby why the sudden changewhat is up with this tell the truthwho you with how would you like it if i came over with my clique dont try to change it now see you gotta bounce when two seconds ago you said you just got in the house its hard to believe that you are at home by yourself when i just heard the voice heard the voice of someone else just this question why do you feel you gotta lie gettin caught up in your game when you can not say my namei know you say that i am assuming things somethings going down thats the way it seems shouldnt be the reason why youre acting strange if nobodys holding you back from me cause i know how you usually do when you say everything to me times two why cant you just tell the truth if somebodys there then tell me whosay my name say my name if no one is around you say baby i love you if you aint runnin game say my name say my name you actin kinda shady aint callin me baby why the sudden change say my name say my name if no one is around you say baby i love you if you aint runnin game say my name say my name you actin kinda shady aint callin me baby why the sudden changei know you say that i am assuming things somethings going down thats the way it seems shouldnt be the reason why youre acting strange if nobodys holding you back from me cause i know how you usually do when you say everything to me times two why cant you just tell the truth if somebodys there then tell me whosay my name say my name if no one is around you say baby i love you if you aint runnin game say my name say my name you actin kinda shady aint callin me baby why the sudden change say my name say my name if no one is around you say baby i love you if you aint runnin game say my name say my name you actin kinda shady aint callin me babybaby say my name say my name say my name if no one is around you say baby i love you if you aint runnin game say my name say my name you actin kinda shady aint callin me baby why the sudden change say my name say my name if no one is around you say baby i love you if you aint runnin game say my name say my name you actin kinda shady aint callin me baby baby say my name ",1
7,"i knew i loved you","savage garden",2000," hmm ohh i will come maybe its intuition somethings you just dont question like in your eyes i see my future in an instant and there it goes i think ive found my best friendi know that it might sound more than a little crazy but i believei knew i loved you before i met you i think i dreamed you into life i knew i loved you before i met you i have been waiting all my lifetheres just no rhyme or reason only a sense of completion and in your eyes i see the missing pieces im searching for i think ive found my way homei know that it might sound more than a little crazy but i believei knew i loved you before i met you i think i dreamed you into life i knew i loved you before i met you i have been waiting all my lifeooh hoo ooo hoo hoo ooo ohh a thousand angels dance around you ooh hoo hoo ooo hoo ooo hoo hoo hoo i am complete now that i have found youi knew i loved you before i met you i think i dreamed you into life i knew i loved you before i met you i have been waiting all my lifei knew i loved you before i met you i think i dreamed you into life i knew i loved you before i met you i have been waiting all my lifei knew i loved you before i met you i knew i loved you ooh hoo ooo hoo hoo ooo i knew i loved you before i met you i knew i loved you ooh hoo ooo hoo hoo hoo i knew i loved you before i met you oh oh ohh ohh oh oh oh ay ay yea oh i knew i loved you before i met you i knew i loved you i knew i loved you before i met you ",1
8,"amazed","lonestar",2000," lonestar lyricsamazedevery time our eyes meet this feeling inside me is almost more than i can take baby when you touch me i can feel how much you love me and it just blows me away ive never been this close to anyone or anything i can hear your thoughts i can see your dreamsi dont know how you do what you do im so in love with you it just keeps getting better i wanna spend the rest of my life with you by my side forever and ever every little thing that you do baby im amazed by youthe smell of your skin the taste of your kiss the way you whisper in the dark your hair all around me baby you surround me you touch every place in my heart oh it feels like the first time every time i wanna spend the whole night in your armsi dont know how you do what you do im so in love with you it just keeps getting better i wanna spend the rest of my life with you by my side forever and ever every little thing that you do baby im amazed by youevery little thing that you do im so in love with you it just keeps getting better i wanna spend the rest of my life with you by my side forever and ever every little thing that you do oh yeah every little thing that you do baby im amazed by you ",1
9,"bent","matchbox twenty",2000," if i fall along the way pick me up and dust me off and if i get too tired to make it be my breath so i can walkif i need some other love give me more than i can stand and when my smile gets old and faded wait around ill smile againshouldnt be so complicated just hold me and then just hold me againcan you help me im bent im so scared that ill never get put back togetheryoure breaking me in and this is how we will end with you and me bentif i couldnt sleep could you sleep could you paint me better off could you sympathize with my needs i know you think i need a loti started out clean but im jaded just phoning it in just breaking the skincan you help me im bent im so scared that ill never get put back togetheryoure breaking me in and this is how we will end with you and me bentstart bending me its never enough i feel all your piecesstart bending me keep bending me until im completely broken inshouldnt be so complicated just touch me and then just touch me againcan you help me im bent im so scared that ill never get put back togetheryoure breaking me in and this is how we will end with you and me landingwithout understanding can i go there again can you help me im bent im so scared that ill never get put back togetheryoure breaking me in and this is how we will end with you and me bent ",1
10,"he wasnt man enough","toni braxton",2000," darkchild oh yeah toni braxton oh yeah uh uh darkchild yeah listen girlwho do you think i am dont you know that he was my man but i chose to let him go so why do you act like i still care about himlooking at me like im hurt when im the one who said i didnt want it to work dont you forget i had him firstwhatcha thinking stop blaming me he wasnt man enough for me if you dont know now heres your chance ive already had your mando you wonder just where hes been yeah and id be worried about him now its time you know the truth i think hes half the man for youwhat are you thinking do you know about us back then do you know i dumped your husband girlfriend im not thinking bout himbut you married him do you know i made him leave do you know he begged to stay with me he wasnt man enough for me listen girldidnt he tell you the truth if not then why dont you ask him and maybe you could be more into him instead of worrying bout meand hopefully you wont find all of the reasons why his love led to doubt and why we couldnt work it outwhatcha thinking stop blaming me he wasnt man enough for me if you dont know now heres your chance see ive already had your mando you wonder just where hes been yeah and id be worried about him now its time you know the truth i think hes just the man for youwhat are you thinking do you know about us back then do you know i dumped your husband girlfriend im not thinking bout himbut you married him do you know i made him leave do you know he begged to stay with me he wasnt man enough for meso many reasons why our love is through yeah what makes you think hell be good to you no it makes no sense cause he will never change girl you better recognize the gamewhat are you thinking do you know about us back then do you know i dumped your husband girlfriend im not thinking bout himbut you married him do you know i made him leave do you know he begged to stay with me he wasnt man enough for mewhat are you thinking do you know about us back then do you know i dumped your husband girlfriend im not thinking bout himbut you married him do you know i made him leave do you know he begged to stay with me he wasnt man enough for mewhat are you thinking do you know about us back then do you know i dumped your husband girlfriend im not thinking bout himbut you married him do you know i made him leave do you know he begged to stay with me he wasnt man enough for me ",1
11,"higher","creed",2000," when dreaming im guided to another world time and time again at sunrise i fight to stay asleep cause i dont want to leave the comfort of this place cause theres a hunger a longing to escape from the life i live when im awake so lets go there lets make our escape come on lets go there lets ask can we staycan you take me higher to the place where blind men see can you take me higher to the place with golden streetsalthough i would like our world to change it helps me to appreciate those nights and those dreams but my friend id sacrifice all those nights if i could make the earth and my dreams the same the only difference is to let love replace all our hate so lets go there lets make our escape come on lets go there lets ask can we staycan you take me higher to the place where blind men see can you take me higher to the place with golden streetsso lets go there so lets go there come on lets go there lets ask can we stayup high i feel like im alive for the very first time set up high im strong enough to take these dreams and make them mineset up high im strong enough to take these dreams and make them minecan you take me higher to the place where blind men see can you take me higher to the place with golden streetscan you take me higher to the place where blind men see can you take me higher to the place with golden streets ",1
12,"try again","aaliyah",2000," its been a long time long time we shouldnt of left you left you without a dope beat to step to its been a long time long time we shouldnt of left you left you without a dope beat to step towhat would you do to get to me what would you say to have your way would you give it up or try again if i hesitate to let you in now would you be yourself or play a role tell all the boys or keep it low if i say no would you turn away or play me off or would you stay ohif at first you dont succeed first you dont succeed dust yourself off and try again you can dust it off and try again try again cause if at first you dont succeed first you dont succeed you can dust it off and try again dust yourself off and try again try againim into you you into me but i cant let it go so easily not till i see where this could be could be eternally or just week you know our chemistry its off the chain its perfect now but will it change this aint a yes this aint a no just do your thang and well see how it goes oohif at first you dont succeed first you dont succeed dust yourself off and try again you can dust it off and try again try again cause if at first you dont succeed first you dont succeed you can dust it off and try again dust yourself off and try again try againsee you dont wanna throw it all away i might be shy on the first day what about the next day huh huh huh huh see you dont wanna throw it all away i might be buggin on the first day but what about the next day huh huh huh huhand if at first you dont succeed first you dont succeed dust yourself off and try again you can dust it off and try again try again cause if at first you dont succeed first you dont succeed you can dust it off and try again dust yourself off and try again try againand if at first you dont succeed first you dont succeed yeah dust yourself off and try again you can you can dust it off and try again try again cause if at first you dont succeed first you dont succeed you can dust it off and try again again yeah dust yourself off and try again try againand if at first you dont succeed first you dont succeed dust yourself off and try again again you can dust it off and try again try again cause if at first you dont succeed first you dont succeed baby you can dust it off and try again yeah dust yourself off and try again try again again againits been a long time long time without a dope beat to step to its been a long time we shouldnt of left you left you without a dope beat to step toand if at first you dont succeed first you dont succeed dust yourself off and try again again you can dust it off and try again try again cause if at first you dont succeed first you dont succeed you can dust it off and try again yeah dust yourself off and try again try again try againits been a long time long time we shouldnt of left you left you without a dope beat to step to its been a long time we shouldnt of left you left you without a dope beat to step to ",1
13,"jumpin jumpin","destinys child",2000," ladies leave yo man at home the club is full of ballas and they pockets full grown and all you fellas leave yo girl with her friends cause its 1130 and the club is jumpin jumpinboys say you got a girl yes true you got a man but the party aint gonna stop so lets make it hot hotlast week and you stayed at home alone and lonely couldnt find yo man he was chillin with his homies this week and your goin out if he try to stop you your goin offyou got ya hair done and ya nails done too and your outfit and your fittin the shoes who parlayin at the hottest spot tonight youre gonna find the brothas rollin in the lexus trucks and hummersboys say you got a girl yes true you got a man but the party aint gonna stop so lets make it hot hotladies leave yo man at home the club is full of ballas and they pockets full grown and all you fellas leave yo girl with her friends cause its 1130 and the club is jumpin jumpinladies leave yo man at home the club is full of ballas and they pockets full grown and all you fellas leave yo girl with her friends cause its 1130 and the club is jumpin jumpinboys say you got a girl yes true you got a man but the party aint gonna stop so lets make it hot hotcall your boys cause tonight youre not gonna stay at home so tell your girl she aint coming tonight youre goin solo cut her off cause she talks the noise you know youve got the right to get your party on so get your hair cutand your car washed too lookin like a star your armani suit you need to look your best cause youre turnin heads tonight youre gonna find a sexy chica thats gonna dance all night if you wannaboys say you got a girl yes true you got a man but the party aint gonna stop so lets make it hot hotladies leave yo man at home the club is full of ballas and they pockets full grown and all you fellas leave yo girl with her friends cause its 1130 and the club is jumpin jumpinladies leave yo man at home the club is full of ballas and they pockets full grown and all you fellas leave yo girl with her friends cause its 1130 and the club is jumpin jumpinsexy women do your dance fly ladies work yo man all them fellas time to clown we can get down nowbounce with me bounce bounce bounce twirk it twirk it shake baby shake shake shake work it work it twist baby twist twist twist you better dip that thangbounce with me bounce bounce bounce twirk it twirk it shake baby shake shake shake work it work it twist baby twist twist twist you better dip that thangsexy women do your dance fly ladies work yo man all them fellas time to clown we can get down nowladies leave yo man at home the club is full of ballas and they pockets full grown and all you fellas leave yo girl with her friends cause its 1130 and the club is jumpin jumpinladies leave yo man at home the club is full of ballas and they pockets full grown and all you fellas leave yo girl with her friends cause its 1130 and the club is jumpin jumpinladies leave yo man at home the club is full of ballas and they pockets full grown and all you fellas leave yo girl with her friends cause its 1130 and the club is jumpin jumpinladies leave yo man at home the club is full of ballas and they pockets full grown and all you fellas leave yo girl with her friends cause its 1130 and the club is jumpin jumpinim thinking about my man tonight im worried about my girlall you ladies leave yo man at home the club is full of ballas and they pockets full grown and all you fellas leave yo girl with her friends cause its 1130 and the club is jumpin jumpinladies leave yo man at home the club is full of ballas and they pockets full grown and all you fellas leave yo girl with her friends cause its 1130 and the club is jumpin jumpinthose who say my name ",1
14,"thong song","sisqo",2000," this thing right here is lettin all the ladies know what guys talk about you know the finer things in life a heh heh heh check it outooh that dress so scandalous and you know another nigga cant handle it so you shakin that thang like whos the ish with a look in yer eyes so devilish uhyou like to dance on the hip hop spots and you cruise to crews to connect the dots not just urban she like the pop cause she was livin la vida locashe had dumps like a truck truck truck thighs like what what what baby move your butt butt butt i think ill sing it againshe had dumps like a truck truck truck thighs like what what what all night long let me see that thongi like it when the beat goes duh dun duh baby make your booty go duh dun duh baby i know you want to show duh dun duh that thong thong thong thong thongi like it when the beat goes duh dun duh baby make your booty go duh dun duh baby i know you want to show duh dun duh that thong thong thong thong thongthat girl so scandalous and i know another nigga cant handle it and she shakin that thing like whos the ish with a look in her eyes so devilishshe like to dance on the hip hop spots and she cruise to the groove like connect the dots not just urban she like the pop cause she was livin la vida locashe had dumps like a truck truck truck thighs like what what what baby move your butt butt butt i think ill sing it againshe had dumps like a truck truck truck thighs like what what what all night long let me see that thongi like it when the beat goes duh dun duh baby make your booty go duh dun duh baby i know you want to show duh dun duh that thong thong thong thong thong i like it when the beat goes duh dun duh baby make your booty go duh dun duh baby i know you want to show duh dun duh that thong thong thong thong thong i like it when the beat goes duh dun duh baby make your booty go duh dun duh baby i know you want to show duh dun duh that thong thong thong thong thong i like it when the beat goes duh dun duh baby make your booty go duh dun duh baby i know you want to show duh dun duh that thong thong thong thong thongthat dress so scandalous i swear another nigga couldnt handle it when you shakin that thing like whose the ish with a look in your eyes do devilish uhyou like to dance on the hip hop spots then you cruise to the grooves to connect the dots not just urban you like the pop cause she was livin la vida loca she had dumps like a truck truck truck thighs like what what what baby move your butt butt butt uh i think ill sing it againcause she had dumps like a truck truck truck thighs like what what what baby move your butt butt butt uh i think ill sing it againcmon cmon cmon cmoni like it when the beat goes duh dun duh baby make your booty go duh dun duh baby i know you want to show duh dun duh that thong thong thong thong thong i like it when the beat goes duh dun duh baby make your booty go duh dun duh baby i know you want to show duh dun duh that thong thong thong thong thong i like it when the beat goes duh dun duh baby make your booty go duh dun duh baby i know you want to show duh dun duh that thong thong thong thong thong i like it when the beat goes duh dun duh baby make your booty go duh dun duh baby i know you want to show duh dun duh that thong thong thong thong thong i like it when the beat goes duh dun duh baby make your booty go duh dun duh baby i know you want to show duh dun duh that thong thong thong thong thongduh dun duh duh dun duh duh dun duh thong thong thong thong thongduh dun duh duh dun duh duh dun duh thong thong thong thong thongi like it when the beat goes duh dun duh baby make your booty go duh dun duh baby i know you want to show duh dun duh that thong thong thong thong thong i like it when the beat goes duh dun duh baby make your booty go duh dun duh baby i know you want to show duh dun duh that thong thong thong thong thong i like it when the beat goes duh dun duh baby make your booty go duh dun duh baby i know you want to show duh dun duh that thong thong thong thong thong ",1
15,"kryptonite","3 doors down",2000," i took a walk around the world to ease my troubled mind i left my body lying somewhere in the sands of time i watched the world float to the dark side of the moon i feel there is nothing i can do yeahi watched the world float to the dark side of the moon after all i knew it had to be something to do with you i really dont mind what happens now and then as long as youll be my friend at the endif i go crazy then will you still call me superman if im alive and well will you be there holding my hand ill keep you by my side with my superhuman might kryptoniteyou call me strong you call me weak but still your secrets i will keep you took for granted all the times i never let you downyou stumbled in and bumped your head if not for me then youd be dead i picked you up and put you back on solid groundif i go crazy then will you still call me superman if im alive and well will you be there holding my hand ill keep you by my side with my superhuman might kryptoniteif i go crazy then will you still call me superman if im alive and well will you be there holding my hand ill keep you by my side with my superhuman might kryptonite yeahif i go crazy then will you still call me superman if im alive and well will you be there holding my hand ill keep you by my side with my superhuman might kryptonite ",1
16,"there you go","pink",2000," please dont come around talkin bout that you love me cause that love shit just aint for me i dont wanna hear that you adore me and i know that all youre doing is running your mind games dont you know that game beats game so your best bet is to be straight with meso you say you wanna talk lets talk if you wont talk ill walk yeah its like that got a new man hes waiting out back now what whatcha think about that now when i say im through im through basically im through with you whatcha wanna say had to have it your way had to play games now youre begging me to staythere u go lookin pitiful just because i let you go there u go talkin bout you want me back but sometimes it bes like that so there u go talkin bout you miss me so that you love me so why i let you go yeah you know cause your lies got old look at you there u goplease dont come around talkin bout how you changed how you said goodbye to whats her name all it sounds like to me is new game and i was right when i thought id be much better off without you had to get myself from round you cause my life was all about youso you say you wanna talk i dont say you wanna change i wont yeah its like that had your chance wont take you back now what whatcha think about that when i say im through im through basically im through with you whatcha wanna say had to have it your way had to play games now youre begging me to staythere u go lookin pitiful just because i let you go there u go talkin bout you want me back but sometimes it bes like that so there u go talkin bout you miss me so that you love me so why i let you go yeah you know cause your lies got old look at you there u gooooh dont you wish you could turn the hands of time dont you wish that you still were mine dont you wish id take you back dont you wish that things were simple like that didnt miss a good thing til its gone but i knew it wouldnt be long til you came running back missing my love there you go ",1
17,"music","madonna",2000," hey mister dj put a record on i want to dance with my babyhey mister dj put a record on i want to dance with my baby and when the music starts i never want to stop its gonna drive me crazymusicmusic makes the people come together music makes the bourgeoisie and the rebeldont think of yesterday and i dont look at the clock i like to boogiewoogie uh uh its like riding on the wind and it never goes away touches everything im in got to have it everydaymusic makes the people come together music makes the bourgeoisie and the rebelhey mister djhey mister dj put a record on i want to dance with my baby and when the music starts i never want to stop its gonna drive me crazy uh uh uhmusic makes the people come together music makes the bourgeoisie and the rebel ",1
18,"doesnt really matter","janet jackson",2000," doesnt matter what your friends are telling you doesnt matter what my familys saying too it just matters that im in love with you it only matters that you love me tooit doesnt matter if they wont accept you im accepting of you and the things you do just as long as its you nobody but you baby babymy love for you unconditional love too gotta get up get up get up get up get up and show you that itdoesnt really matter what the eye is seeing cause im in love with the inner being and it doesnt really matter what they believe what matters to me is youre in love with medoesnt really matter what the eye is seeing cause im in love with the inner being and it doesnt really matter what they believe what matters to me is youre nuttynuttynutty for meyoure so kind just what i asked for youre so loving and kind and youre mine and i cant believe youre minedoesnt matter if youre feeling insecure doesnt matter if youre feeling so unsure cause ill take away the doubt within your heart and show that my love will never hurt or harmdoesnt matter what the pain we go through doesnt matter if the moneys gone too just as long as im with you nobody but you baby babyyoure love for me unconditional i see gotta get up get up get up get up get up and show you that itget itdoesnt really matter what the eye is seeing cause im in love with the inner being and it doesnt really matter what they believe what matters to me is youre in love with medoesnt really matter what the eye is seeing cause im in love with the inner being and it doesnt really matter what they believe what matters to me is youre nuttynuttynutty for meyoure so kind just what i asked for youre so loving and kind and youre mine and i cant believe youre minerock mix cause now im gonna love you cause my love will alwaysmy love for you unconditional love too gotta get up get up get up get up get up and show you that my love is true and its just for you uhnuttynuttynutty my love for you i cant believe my dreams come true ive finally found somebody whose heart is true and best of all youre nuttynuttynutty for mewhoa whoa whoa whoa whoa whoa whoa whoa whoanuttynuttynutty my love for you i cant believe my dreams come true ive finally found somebody whose heart is true and best of all you love me toonuttynuttynutty my love for you i cant believe my dreams come true ive finally found somebody whose heart is true and best of all youre nuttynuttynutty for me ",1
19,"what a girl wants","christina aguilera",2000," what a girl wants what a girl needs whatever makes me happy sets you free what a girl wants what a girl needs whatever keeps me in your arms yeah cmoni wanna thank you for givin me time to breathe like a rock you waited so patiently while i got it together while i figured it outi only looked but i never touched cause in my heart was a picture of us holdin hands makin plans and its lucky for me you understandwhat a girl wants what a girl needs whatever makes me happy sets you free and im thankin you for knowin exactlywhat a girl wants what a girl needs whatever keeps me in your arms and im thankin you for bein there for mea weaker man might have walked away but you had faith strong enough to move over and give me space while i got it together yeah while i figured it outthey say if you love somethin let it go if it comes back its yours and thats how you know its for keeps yeah its for sure and youre ready and willin to give me more thanwhat a girl wants what a girl needs whatever makes me happy sets you free and im thankin you for givin it to mewhat a girl wants what a girl needs whatever keeps me in your arms and im thankin you for bein there for me oh baby oh darlin i thank you thank you oh yeahi found me somebody sensitive and tough somebody down when the goin gets rough every night hell be givin his love to just warm down warm down warmsomebody cool somebody tender too somebody baby just like you can keep me hangin around with the one who always knewwhat a girl wants what a girl needs whatever makes me happy sets you free ooh im thankin you for bein there for mewhat a girl wants what a girl needs whatever keeps me in your arms whatever keeps me in your arms is what i needwhat a girl wants what a girl needs whatever makes me happy sets you free and im thankin you for givin it to mewhat a girl wants what a girl needs whatever keeps me in your arms and im thankin you for bein therewhat you got is what i need all that you want what i want oh yeahoh baby oh darlin i thank you thank you for givin me what i need and for what i want oh yeahincomprehensible whenever youre not there incomprehensible oh yeah a girl wants ",1
20,"back at one","brian mcknight",2000," its undeniable that we should be together its unbelievable how i used to say that id fall never the basis is need to know if you dont know just how i feel then let me show you now that im for real if all things in time time will revealone youre like a dream come true two just want to be with you three girl its plain to see that youre the only one for me and four repeat steps one through three five make you fall in love with me if ever i believe my work is done then ill start back at oneits so incredible the way things work themselves out and all emotional once you know what its all about hey and undesirable for us to be apart i never would have made it very far cause you know youve got the keys to my heartone youre like a dream come true two just want to be with you three girl its plain to see that youre the only one for me and four repeat steps one through three five make you fall in love with me if ever i believe my work is done then ill start back at onesay farewell to the dark of night i see the coming of the sun i feel like a little child whose life has just begun you came and breathed new life into this lonely heart of mine you threw out of the lifeline just in the nick of timeone youre like a dream come true two just want to be with you three girl its plain to see that youre the only one for me and four repeat steps one through three five make you fall in love with me if ever i believe my work is done then ill start back at one ",1
21,"bye bye bye","n sync",2000,"  ",1
22,"you sang to me","marc anthony",2000," i just wanted you to comfort me when i called you late last night you see i was falling into love yes i was crashing into love of all the words you said to me about life the truth and being free yeah you sang to me oh how you sang to megirl i live for how you make me feel so i question all this being real cause im not afraid to love for the first time im not afraid of love this day seems made for you and me and you showed me what life needs to be yeah you sang to me oh you sang to meall the while you were in front of me i never realized i just cant believe i didnt see it in your eyes i didnt see it i cant believe it oh but i feel it when you sing to mehow i long to hear you sing beneath the clear blue skies and i promise you this time ill see it in your eyes i didnt see it i cant believe it oh but i feel it when you sing to mejust to think you live inside of me i had no idea how this could be now im crazy for your love cant believe im crazy for your love the words you said just sang to me and you showed me where i want to be you sang to me oh you sang to meall the while you were in front of me i never realized i just cant believe i didnt see it in your eyes i didnt see it i cant believe it oh but i feel it when you sing to mehow i long to hear you sing beneath the clear blue skies and i promise you this time ill see it in your eyes i didnt see it i cant believe it oh but i feel it when you sing to meall the while you were in front of me i never realized i just cant believe i didnt see it in your eyes i didnt see it i cant believe it oh but i feel it when you sing to mehow i long to hear you sing beneath the clear blue skies and i promise you this time ill see it in your eyes i didnt see it i cant believe it oh but i feel it when you sing to meall the while you were in front of me i never realized i just cant believe i didnt see it in your eyes i didnt see it i cant believe it oh but i feel it when you sing to mehow i long to hear you sing beneath the clear blue skies and i promise you this time ill see it in your eyes i didnt see it i cant believe it oh but i feel it ",1
23,"i need to know","marc anthony",2000," they say around the way youve asked for me theres even talk about you wanting me i must admit thats what i want to hear but thats just talk until you take me there ohif its true dont leave me all alone out here wondering if youre ever gonna take me there tell me what youre feeling cause i need to know girl youve gotta let me know which way to gocause i need to know i need to know tell me baby girl cause i need to know i need to know i need to know tell me baby girl cause i need to knowmy every thought is of this being true its getting harder not to think of you girl im exactly where i wanna be the only things i need you here with me ohif its true dont leave me all alone out here wondering if youre ever gonna take me there tell me what youre feeling cause i need to know girl youve gotta let me know which way to gocause i need to know i need to know tell me baby girl cause i need to know i need to know i need to know tell me baby girl cause i need to knowcause i need to know i need to know tell me baby girl cause i need to know i need to know i need to know tell me baby girl cause i need to knowif its true dont leave me all alone out here wondering if youre ever gonna take me there tell me what youre feeling cause i need to know girl youve gotta let me know which way to gocause i need to know i need to know tell me baby girl cause i need to know i need to know i need to know tell me baby girl cause i need to knowif its true dont leave me all alone out here wondering if youre ever gonna take me there tell me what youre feeling cause i need to know girl youve gotta let me know which way to gocause i need to know i need to know tell me baby girl cause i need to know i need to know i need to know tell me baby girl cause i need to know ",1
24,"get it on tonite","montell jordan",2000," when im looking at you i keep thinking why cant she be like you so im scheming i cant go on like this believing that her love is true ohstanding on the dance floor while shes trickin you are all i want girl shes a chicken we might be together but love is missing girl i want you so what can we do ohgirl if its alright lets go somewhere and get it on tonight ive got a girl but you look good tonight its one on one tonight tonightgirl if its alright lets go somewhere and get it on tonight you shouldnt have to be alone tonight its one on one tonight tonightnow shes looking at me but keep talking oh now shes trying to ice you lets start walking over on the dance floor its her fault but what can she do tell me baby yeahgirl if youre ready im ready we can get it on we can get it on i know where i went wrong shes where you went wrong with you is where i belong belonggirl if i could find the words to say i gotta get away from a love that kills me everyday id gladly say to yougirl if its alright lets go somewhere and get it on tonight ive got a girl but you look good tonight its one on one tonight tonightgirl if its alright lets go somewhere and get it on tonight you shouldnt have to be alone tonight its one on one tonight tonightgirl if its alright lets go somewhere and get it on tonight ive got a girl but you look good tonight its one on one tonight tonightgirl if its alright my babys stressin me you need to come with me we need to go somewhere yeah tonight tonightgirl if its alright lets go somewhere and get it on tonight you shouldnt have to be alone tonight its one on one tonight tonight ",1
25,"incomplete","sisqo",2000," bright lights fancy restaurants everything in this world that a man could want i got a bank account bigger than the law should allow still im lonely now pretty faces from the covers of a magazine from their covers to my covers want to lay with me fame and fortune still cant find just a grown man runnin out of timeeven though it seems i have everything i dont want to be a lonely fool all of the women all the expensive cars all the money dont amount to you so i can make believe i have everything but i cant pretend that i dont see that without you girl my life is incomplete without you girl my life is incompletelisten your perfume your sexy lingerie girl i remember it just like it was on yesterday a thursday you told me you had fallen in love i wasnt sure that i was its been a year winter summer spring and fall but being without you just aint livin aint livinat all if i could travel back in time id relive the days you were mineeven though it seems i have everything i dont want to be a lonely fool all of the women all the expensive cars all of the money dont amount to you i can make believe i have everythingbut i cant pretend that i dont see that without you girl my life is incomplete that without you girli just cant help lovin you but i loved you much too late id give anything and everything to hear you say that youll stayeven though it seems i have everything i dont want to be a lonely fool all of the women all of the expensive cars all of the money dont amount to you you can have it all i can make believe i have everything but i cant pretend that i dont see just give me my baby that without you girl my life is incompleteeven though it seems i have everything i dont want to be a lonely fool all of the women all the expensive cars all the money dont amount to you so i can make believe i have everything but i cant pretend that i dont see that without you girl my life is incomplete without you girl without you girl without you girl you girl my life is incomplete without you girl you girl my life is incomplete oh yeah my life is incomplete oh yeah yeah ",1
26,"i try","macy gray",2000," games changes and fears when will they go from here when will they stop i believe that fate has brought us here and we should be together babe but were not i play it off but im dreaming of you and ill keep my cool but im fiendini try to say goodbye and i choke try to walk away and i stumble though i try to hide it its clear my world crumbles when you are not here goodbye and i choke i try to walk away and i stumble though i try to hide it its clear my world crumbles when you are not herei may appear to be free but im just a prisoner of your love and i may seem all right and smile when you leave but my smiles are just a front just a front hey i play it off but im dreaming of you and ill try to keep my cool but im fiendini try to say goodbye and i choke try to walk away and i stumble though i try to hide it its clear my world crumbles when you are not here goodbye and i choke i try to walk away and i stumble though i try to hide it its clear my world crumbles when you are not herehere is my confession may i be your possession boy i need your touch your love kisses and such with all my might i try but this i cant deny denyi play it off but im dreaming of you but im dreaming of you babe and ill keep my cool but im fiendini try to say goodbye and i choke try to walk away and i stumble though i try to hide it its clear my world crumbles when you are not here goodbye and i choke i try to walk away and i stumble though i try to hide it its clear my world crumbles when you are not here ",1
27,"its gonna be me","n sync",2000,"lance its gonnabeme justin oooh yeah justin you mightve been hurt babe that aint no lie youve seen them all come and go oh i remember you told me that it made you believe in no man no cry maybe thats why every little thing i do never seems enough for you you dont wanna lose it again but im not like them baby when you finally get to love somebody guess what its gonna be me jc youve got no choice babe but to move on and you know there aint no time to waste youre just too blind too blind to see but in the end ya know its gonna be me you cant deny so just tell me why every little thing i do never seems enough for you you dont wanna lose it again but im not like them baby when you finally get to love somebody somebody guess what guess what its gonna be me lance its gonna be me justin oh yeahhhhh justin there comes a day when ill be the one youll see its gonnagonnagonnagonnagonna justin its gonna be me all that i do is not enough for you dont wanna lose it but im not like that when finally finally you get to love guess what guess what every little thing i do never seems enough for you for you babe you dont wanna lose it again dont wanna lose it but im not like them baby when you finally get to love somebody love guess what guess what its gonna be me every little thing i do ohh never seems enough for you you dont wanna lose it again dont wanna lose it but im not like them baby when you finally baby when you finally get to love somebody guess what guess what justin its gonna be me",5
28,"thats the way it is","celine dion",2000," i can read your mind and i know your story i see what youre going through yeah its an uphill climb and im feeling sorry but i know it will come to you yeah dont surrender cause you can win in this thing called lovewhen you want it the most theres no easy way out when youre ready to go and your hearts left in doubt dont give up on your faith love comes to those who believe it and thats the way it iswhen you question me for a simple answer i dont know what to say no but its plain to see if you stick together youre gonna find the way yeah so dont surrender cause you can win in this thing called lovewhen you want it the most theres no easy way out when youre ready to go and your hearts left in doubt dont give up on your faith love comes to those who believe it and thats the way it isthats the way it iswhen life is empty with no tomorrow and loneliness starts to call baby dont worry forget your sorrow cause loves gonna conquer it all allwhen you want it the most theres no easy way out when youre ready to go and your hearts left in doubt dont give up on your faith love comes to those who believe itand thats the way it is when you want it the most theres no easy way out when youre ready to go and your hearts left to doubtdont give up on your faith love comes to those who believe it and thats the way it is thats the way it is thats the way it is dont give up on your faith love comes to those who believe it and thats the way it is ",1
29,"country grammar hot shit","nelly",2000,"hot shit hmm im goin down down baby yo street in a range rover cmon street sweeper baby cocked ready to let it go hot shit shimmy shimmy cocoa what listen to it pound light it up and take a puff pass it to me now im goin down down baby yo street in a range rover street sweeper baby cocked ready to let it go shimmy shimmy cocoa what listen to it pound light it up and take a puff pass it to me now mmm you can find me in st louis rollin on dubs smokin on dubs in clubs blowin up like cocoa puffs sippin bud gettin perved and getting dubbed daps and hugs mean mugs and shoulder shrugs and its all because ccumulated enough scratch just to navigate it wood decorated on chrome and its candy painted fans fainted while im entertainin wild aint it how me and money end up hangin i hang with hannibal lector hot shit so feel me when i bring it sing it loud what im from the loop and im proud run a mile for the cause im righteous above the law playa my styles raw im born to mack like todd shaw forget the fame and the glamour give me ds wit a rubber hammer my grammar bes ebonics gin tonic and chronic fuck bionic its ironic slammin niggaz like onyx lunatics till the day i die i run more game than the bulls and sonics im goin down down baby yo street in a range rover cmon street sweeper baby cocked ready to let it go hot shit shimmy shimmy cocoa what listen to it pound light it up and take a puff pass it to me now im goin down down baby yo street in a range rover street sweeper baby cocked ready to let it go shimmy shimmy cocoa what listen to it pound light it up and take a puff pass it to me now who say pretty boys cant be wild niggaz loud niggaz ok corral niggaz foul niggaz run in the club and bust in the crowd nigga how nigga ask me again and its goin down nigga now nigga come to the circus and watch me clown nigga pound niggaz what you be givin when im around nigga frown niggaz talkin shit when i leave the town nigga say now can you hoes come out to play now hey im ready to cut you up any day now play by my rules boo and you gon stay high may i answer yo third question like ai say hi to my niggaz left in the slamma from st louis to memphis from texas back up to indiana chitown kc motown to alabama la new york yankee niggaz to hotlanta ouisiana all my niggaz wit country grammar smokin blunts in savannah blow thirty mill like im hammer im goin down down baby yo street in a range rover cmon street sweeper baby cocked ready to let it go hot shit shimmy shimmy cocoa what listen to it pound light it up and take a puff pass it to me now im goin down down baby yo street in a range rover street sweeper baby cocked ready to let it go shimmy shimmy cocoa what listen to it pound light it up and take a puff pass it to me now lets show these cats to make these millions so you niggaz quit actin silly mon kid quicker than billy mon talkin really and i need it mon flows i kick em freely mon specially off remi mon keys to my beemer mon holla at beenie man see me mon cheifin rollin deeper than any mon through jennings mon through ucity back up to kings land wit nice niggaz sheist niggaz who snatch yo life niggaz trife niggaz who produce and sell the same beat twice nigga hot shit ice niggaz all over close to never sober from broke to havin brokers my price range is rover now im knockin like jehovah let me in now let me in now bill gates donald trump let me in now spin now i got money to lend my friends now we in now candy benz kenwood and 10s now i win now fuckin lesbian twins now seein now through the pen i make my ends now im goin down down baby yo street in a range rover cmon street sweeper baby cocked ready to let it go hot shit shimmy shimmy cocoa what listen to it pound light it up and take a puff pass it to me now im goin down down baby yo street in a range rover street sweeper baby cocked ready to let it go shimmy shimmy cocoa what listen to it pound light it up and take a puff pass it to me now",3
30,"bring it all to me","blaque",2000," there you are looking as fine as can be in your fancy car i can see you looking at me what you wanna do are you just gonna sit there and stare baby talk to me tell me whats on your mind baby ohoh baby bring it all to me but i dont need no fancy cars or diamond rings oh baby bring it all to me gimme your time your love your space your energybaby whats the deal would i be too forward if i told you how i feel thats just the way i do my thang im so for real are you feeling my timbs my baggy jeans my thug appeal do you like it when a man can keep it real ohoh baby bring it all to me but i dont need no fancy cars or diamond rings oh baby bring it all to me gimme your time your love your space your energyoh babyoh ill put my pride to the side just to tell you how good you make me feel inside theres not a single question that we cant make this right cause its you i need every day and nightoh ho ho baby yeahoh baby bring it all to me but i dont need no fancy cars or diamond rings oh baby bring it all to me gimme your time your love your space your energyoh baby bring it all to me but i dont need no fancy cars or diamond rings oh baby bring it all to me gimme your time your love your space your energyoh baby bring it all to me but i dont need no fancy cars or diamond rings oh baby bring it all to me gimme your time your love your space your energy  ",1
31,"show me the meaning of being lonely","backstreet boys",2000," show me the meaning of being lonelyso many words for the broken heart its hard to see in a crimson love so hard to breathe walk with me and maybenights of light so soon become wild and free i can feel the sun your every wish will be done they tell meshow me the meaning of being lonely is this the feeling i need to walk with tell me why i cant be there where you are theres something missing in my heartlife goes on as it never ends eyes of stone observe the trends they never say forever gaze if onlyguilty roads to an endless love endless love theres no control are you with me now your every wish will be done they tell meshow me the meaning of being lonely is this the feeling i need to walk with tell me why tell me why i cant be there where you are theres something missing in my hearttheres nowhere to run i have no place to go surrender my heart body and soul how can it be youre asking me to feel the things you never showohohoh ohwhoaohohyou are missing in my heart tell me why cant i be there where you areshow me the meaning of being lonely is this the feeling i need to walk with tell me why tell me why i cant be there where you are where you are theres something missing in my heartshow me the meaning of being lonely being lonely is this the feeling i need to walk with tell me why tell me why cant be there i cant be there where you are where you are theres something missing in my heart ",1
32,"hot boyz","missy elliott featuring nas eve and qtip",2000," this is for my ghetto motherfuckers uh hey are you really a hot boy oh check mewhats your name cause im impressed can you treat me good i wont settle for less you a hot boy a rock boy a fun toy tote a glock boy where you live is it by yourself can i move wit you do you need some help ill cook boy ill give you more ima fly girl and i like thosehot boyz baby you got what i want see yall be drivin those lexus jeeps and benz jeeps and the lincoln jeeps nothin cheaper wit the platinum visa hot boyz baby you got what i want see yall be drivin jaguars and the bentleys and the rolls royce playin hardball wit the platinum visais that your car the skate are you ridin alone can i be your date come get me get me dont dis me dont trick me i got some friends can they come too can you hook em up wit some boyz like you a hot boy a rock boy a top boy and i like thosehot boyz baby you got what i want see yall be drivin those lexus jeeps and benz jeeps and the lincoln jeeps nothin cheaper wit the platinum visa hot boyz baby you got what i want see yall be drivin jaguars and the bentleys and the rolls royce playin hardball wit the platinum visayo ima dig in yo pockets dig in yo wallets money im foundin yea you got my heart poundin you a hot boy drive a drop boy with a lot boy and you tote a glock boy dont give me no reason i know that you treatin these diamonds im needin make me believe it i want a lot boy with a hot boy got a fun toy and you tote a glock boyhot boyz baby you got what i want wont you really come and satisfy me i be lovin you like instantlywhere the lexus jeeps and the benz jeeps and the lincoln jeeps ooh ooh and the bentleys and the jaguars and the fly cars ooh ooh where you at ooh ooh where the lexus jeeps and the benz jeeps and the lincoln jeeps ooh ooh and the bentleys and the jaguars and the fly cars ooh ooh where you at ooh ooh yea yea yea yea my boyz hot boyzhot boyz i like em like that ",1
33,"back here","bbmak",2000," baby set me free from this misery i cant take it no more since you ran away nothings been the same dont know what im living forhere i am so alone and theres nothing in this world i can dountil youre back here baby miss you want you need you so until youre back here baby yeahtheres a feeling inside i want you to know you are the one and i cant let you goso i told you lies even made you cry baby i was so wrong girl i promise you now my love is true this is where my heart belongscause here i am so alone and theres nothing in this world i can dountil youre back here baby miss you want you need you so until youre back here baby yeahtheres a feeling inside i want you to know you are the one and i cant let you goand i wonder are you thinking of me cause im thinking of you and i wonder are you ever coming back in my lifecause here i am so alone and theres nothing in this world i can dountil youre back here baby miss you want you need you so until youre back here baby yeahtheres a feeling inside i want you to know you are the one and i cantuntil youre back here baby until youre back here baby until youre back here babytheres a feeling inside i want you to know you are the one and i cantuntil youre back here baby until youre back here baby until youre back here baby  ",1
34,"it feels so good","sonique",2000," you always make me smile when im feeling down you give me such a vibe i is totally bona fide its not the way you walk and it aint the way you talk it aint the job you got that keeps me satisfiedyour love it feels so good and thats what takes me high higher than ive been before and your love it keeps me alive thought i should let you know that your touch it means so much when im alone at night its you im always thinkin of oh oh babyoh wont you understand how i feel yeah deep inside uh huh you made me feel all i need to feel yes in my heartyour love it feels so good and thats what takes me high higher than ive been before and your love it keeps me alive thought i should let you know that your touch it means so much when im alone at night its you im always thinkin of oh oh babyyour love it feels so good and thats what takes me high higher than ive been before and your love it keeps me alive thought i should let you know that your touch it means so much when im alone at night its you im always thinkin of oh oh babyyour love it feels so good and thats what takes me high higher than ive been before and your love it keeps me alive thought i should let you know that your touch it means so much when im alone at night its you im always thinkin of oh oh babyyour love it feels so good and thats what takes me high higher than ive been before and your love it keeps me alive thought i should let you know that your touch it means so much when im alone at night its you im always thinkin of oh oh baby ",1
35,"absolutely story of a girl","nine days",2000," this is the story of a girl who cried a river and drowned the whole world and while she looks so sad in photographs i absolutely love her when she smilesnow how many days in a year she woke up with hope but she only found tears and i can be so insincere making her promises never for realas long as she stands there waiting wearing the holes in the soles of her shoes now how many days disappear when you look in the mirror so how do you chooseyour clothes never wear as well the next day and your hair never falls in quite the same way you never seem to run out of things to saythis is the story of a girl who cried a river and drowned the whole world and while she looks so sad in photographs i absolutely love her when she smilesnow how did we wind up this way watching our mouths for the words that we say as long as we stand here waiting wearing the clothes or the soles that we choosenow how do we get there today when were walking too far for the price of our shoesyour clothes never wear as well the next day and your hair never falls in quite the same way you never seem to run out of things to saythis is the story of a girl who cried a river and drowned the whole world and while she looks so sad and lonely there i absolutely love her when she smileswell your clothes never wear as well the next day and your hair never falls in quite the same way you never seem to run out of things to saythis is the story of a girl who cried a river and drowned the whole world and while she looks so sad in photographs i absolutely love herthis is the story of a girl her pretty face she hid from the world and while she looks so sad and lonely there i absolutely love herthis is the story of a girl who cried a river and drowned the whole world and while she looks so sad in photographs i absolutely love her when she smiles when she smiles ",1
36,"with arms wide open","creed",2000," well i just heard the news today it seems my life is going to change i close my eyes begin to pray then tears of joy stream down my facewith arms wide open under the sunlight welcome to this place ill show you everything with arms wide open with arms wide openwell i dont know if im ready to be the man i have to be ill take a breath ill take her by my side we stand in awe weve created lifewith arms wide open under the sunlight welcome to this place ill show you everything with arms wide open now everything has changed ill show you love ill show you everythingwith arms wide open with arms wide open ill show you everything oh yeah with arms wide open wide openif i had just one wish only one demand i hope hes not like me i hope he understands that he can take this life and hold it by the hand and he can greet the world with arms wide openwith arms wide open under the sunlight welcome to this place ill show you everything with arms wide open now everything has changed ill show you love ill show you everything with arms wide open with arms wide openill show you everything oh yeah with arms wide open wide open ",1
37,"be with you","enrique iglesias",2000," monday night i feel so low i count the hours they go so slow i know the sound of your voice can save my soul city lights streets of gold look out my window to the world below moves so fast and it feels so cold and im all alone im all alonedont let me die im losing my mind baby just give me a signand now that youre gone i just wanna be with you just wanna be with you and i cant go on i wanna be with you be with you wanna be with youi cant sleep and im up all night through these tears i try to smile i know the touch of your hand can save my life dont let me down come to me now i got to be with you some howand now that youre gone i just wanna be with you be with you and i cant go on i wanna be with you wanna be with you be with youi got to be with you some how and now that youre gone who am i without you now i cant go on i just wanna be with you be with youand now that youre gone i just wanna be with you be with you and i cant go on i wanna be with you be with you wanna be with youand now that youre gone i just wanna be with you and i cant go on i wanna be with youjust wanna be with you just wanna be with you just wanna be with you just wanna be with you ",1
38,"come on over baby all i want is you","christina aguilera",2000,"come on over come on over baby come on over come on over baby here we go come on over come on over baby thats right come on over come on over baby yeah yeah yeah yeah hey boy dont you know i got something goin on yeah come on ive got an invitation dont you keep me waiting all night long i know you know so baby dont pretend you wont keep me guessing if you you will or you wont dont wanna play that game with you baby i said listen to me all i want is you come over here baby all i want is you you know you make me go crazy all i want is you now baby dont be shy you better cross the line im gonna love you right cause all i want is you come on over come on over baby ooh come on over come on over baby yeah yeah come on im not just talking about your sexuality your sexuality but i cant help myself when you put your hands on me ooh oh ooh its paradise when you and i get close get tight one on one i wanna go all all night i wanna play the game with you baby listen to me all i want is you come over here baby all i want is you oh oh you know you make me go crazy all i want is you now baby dont be shy you better cross the line im gonna love you right cause all i want is you ooh come on over come on over baby ooh oh yeah yeah yeah yeah come on over come on over baby dont you wanna be the one tonight we could do exactly what you like ah dont you wanna be just you and me oh oh we could do what comes so naturally i got a thing for you got my mind made up yeah and im serious never been more baby im sure that its real but its real and its right here uh come on come on come on come on over 6x oh oh oh yeah yeah yeah yeah yeah yeah you give me what a girl feels what a girl likes what a girl needs what a girl wants ooh oh alli all i want is you ohh ohh baby all i want is you oh you make me go crazy oh oh woo all i want is you now baby dont be shy you better cross the line im gonna love you right cause all i want is you all i want is you ohh ohh yeah all i want is you you make me go crazy all i want is you now baby dont be shy you better cross the line im gonna love you right cause all i want is you",3
39,"no more","ruff endz",2000," ooh babe oh girl no more no more bounce baby bounce baby you can move uh check it outbaby relax sit back and chill just give me a second and let me tell you how i feel cause all around town youve been steppin out runnin your mouth about what made you think i wouldnt find out wasnt i there for you truly cared for you maybe my love was just too good couldve had it good now the love is gone and went back to your hood with the 5411s ondoes he lace you with the finer things does he make ya wanna scream his name does he hit it from the front to back did you let him break it down like that shouldve told me the love was gone never thought that youd do me wrong girl i though that your love was strong til i saw you with another manno more shopping sprees no more late night creeps no more vip no more dough we cant even kick it no moreno more shopping sprees no more late night creeps no more vip no more dough we cant even kick it no morei saw you on the av and i laughed in the backseat piece spillin henney in his lap thought it was me you was all about but im havin doubts cause i see you tryna play me out but when the brother called the crib with beef didnt i represent you when i caught him in the streets so let me get the keys to lex and then my checks and no more hanging brigets around your neck babedoes he lace you with the finer things does he make ya wanna scream his name does he hit it from the front to back did you let him break it down like that shouldve told me the love was gone never thought that youd do me wrong girl i though that your love was strong til i saw you with another manno more shopping sprees no more late night creeps no more vip no more dough we cant even kick it no moreno more shopping sprees no more late night creeps no more vip no more dough we cant even kick it no moreno more shopping sprees no more late night creeps no more vip no more dough we cant even kick it no moreno more shopping sprees no more late night creeps no more vip no more dough we cant even kick it no moreno more i want no more baby i cant even kick it baby i want no moreno more shopping sprees no more late night creeps no more vip no more dough we cant even kick it no more  ",1
40,"all the small things","blink 182",2000," all the small things true care truth brings ill take one lift your ride best trip always i know youll be at my show watching waiting commiseratingsay it aint so i will not go turn the lights off carry me home na na na na na na na na na na na na na na nalate night come home work sucks i know she left me roses by the stairs surprises let me know she caressay it aint so i will not go turn the lights off carry me home na na na na na na na na na na na na na na nasay it aint so i will not go turn the lights off carry me home keep your head still ill be your thrill the night will go on my little windmillsay it aint so i will not go turn the lights off carry me home keep your head still ill be your thrill the night will go on the night will go on my little windmill ",1
41,"the way you love me","faith hill",2000," if i could grant you one wish id wish you could see the way you kiss ooh i love watching you baby when youre driving me crazyooh i love the way you love the way you love me theres nowhere else id rather be ooo to feel the way i feel with your arms around me i only wish that you could see the way you love me woh woh woh woh the way you love meits not right its not fair what youre missing over there someday ill find a way to show you just how lucky i am to know youooh i love the way you love the way you love me theres nowhere else id rather be ooo to feel the way i feel with your arms around me i only wish that you could see the way you love me woh woh woh woh the way you love meyoure the million reasons why theres love reflecting in my eyesooh i love the way you love the way you love me theres nowhere else id rather be ooo to feel the way i feel with your arms around me i only wish that you could see the way you love me woh woh woh woh the way you love me woh woh woh woh the way you love me woh woh woh woh the way you love meooh the way you love me the way you love me oh yeahthe way you love me woh woh woh woh the way you love me woh woh woh woh the way you love me woh woh woh woh the way you love me ",1
42,"i turn to you","christina aguilera",2000," when im lost in the rain in your eyes i know ill find the light to light my way when im scared losing ground when my world is going crazy you can turn it all around and when im down youre there pushing me to the top youre always there giving me all youve gotfor a shield from the storm for a friend for a love to keep me safe and warm i turn to you for the strength to be strong for the will to carry on for everything you do for everything thats true i turn to youwhen i lose the will to win i just reach for you and i can reach the sky again i can do anything cause your love is so amazing cause your love inspires me and when i need a friend youre always on my side giving me faith taking me through the nightfor a shield from the storm for a friend for a love to keep me safe and warm i turn to you for the strength to be strong and for the will to carry on for everything you do i turn to you yeahfor the arms to be my shelter through all the rain for truth that will never change for someone to lean on but for a heart i can rely on through anything for the one who i can run to oh i turn to youfor a shield from the storm for a friend for a love to keep me safe and warm i turn to you for the strength to be strong for the will to carry on for everything you do for everything thats true for everything you do for everything thats true i turn to you ",1
43,"never let you go","third eye blind",2000," theres every good reason for letting you go shes sneaky and smoked out and its starting to show ill never let you go ill never let you go ill never let you go ill never let you turn around our back on each other thats a good idea break a promise to your mother turn around your back on each other you say that ive changed well maybe i did but even if i changed whats wrong with it ill never let you go ill never let you go ill never let you go ill never let you turn around our back on each other thats a good idea break a promise to your mother turn around your back on each other and our friends are gone and gone and all the time moves on and on and all i know is its wrong its wrong and all i know its wrong its wrong its wrong its wrong if theres a reason its lost on me maybe well be friends i guess well see ill never let you go ill never let you go ill never let you go ill never let you go ill never let you turn around our back on each other thats a good idea break a promise to your mother turn around lets turn on each other good idea break a promise to your mother turn around your back on each other thats a good idea break a promise to your mother turn around your back on each other what a good idea i remember the stupid things the mood rings the bracelets and the beads nickels and dimes yours and mine did you cash in all your dreams you dont dream for me no goodbye goodbye you dont dream for me no but i still feel you pulse like sonar from the days in the waves that girl is like a sunburn i would like to say the girl is like a sunburn i would like to say shes like a sunburn shes like a sunburn ",1
44,"i need you","leann rimes",2000," i dont need a lot of things i can get by with nothing with all the blessings life can bring ive always needed something but ive got all i want when it comes to loving you youre my only reason youre my only truthi need you like water like breath like rain i need you like mercy from heavens gate theres a freedom in your arms that carries me through i need youyoure the hope that moves me to courage again oh yeah youre the love that rescues me when the cold winds rage and its so amazing cause thats just how you are and i cant turn back now cause youve brought me too fari need you like water like breath like rain i need you like mercy from heavens gate theres a freedom in your arms that carries me through i need you oh yes i do ",1
45,"thank god i found you","mariah carey featuring joe and 98 degrees",2000," i would give up everything before id separate myself from you after so much suffering i finally found unvarnished truth i was all by myself for the longest time so cold inside and the hurt from the heartache would not subside i felt like dying until you saved my lifethank god i found you yeah yeah i was lost without you i was lost my every wish and every dream somehow became reality when you brought the sunlight completed my whole life im overwhelmed with gratitude cause baby im so thankful i found youi will give you everything everything theres nothing in this world i wouldnt do oh no to ensure your happiness ill cherish every part of you cause without you beside me i cant survive dont wanna try i dont wanna try if you keeping me warm each and every night ill be alright cause i need you in my lifethank god i found you im thanking you i was lost without you so lost without you my every wish and every dream every wish every dream somehow became reality when you brought the sunlight brought the sunlight completed my whole life completed im overwhelmed with gratitude overwhelmed with gratitude cause baby im so thankful i found yousee i was so desolate before you came to me looking back looking back i guess it shows that we were destined to shine over the rain to appreciate the gift of what we have and id go through it all over again to be able to feel this way this way oh thank god i found you yeah yeah i was lost without you lost without you baby my every wish and every dream and every dream somehow became realitywhen you brought the sunlight brought the light completed my whole life my whole life im overwhelmed with gratitude see baby im so thankful i found you oh thank god i found you i was lost without you im overwhelmed with gratitude so overwhelmed my baby im so thankful i found you you im overwhelmed with gratitude my baby im so thankful i found i found you you ",1
46,"lets get married","jagged edge",2000," see first of all i know these socalled playas wouldnt tell you this but ima be real and say whats on my heart lets take this chance and make this love feel relevant didnt you know i loved you from the start yeahwhen i think about all these years we put in this relationship who knew wed make it this far when i think about where we would i be if we were to just fall apart and i just cant stand the thought of leaving youmeet me in the altar in your white dress we aint getting no younger we might as well do it been feeling all the while girl i must confess girl lets just get married i just wanna get marriedmeet me in the altar in your white dress we aint getting no younger we might as well do it been feeling all the while girl i must confess lets just get married baby lets get marriedsaid i done it all but frankly girl im tired of this emptinessi wanna come home to you and only you cause making love to just anyone aint happening i just gotta be with youdo you think about us finishing something we started so long ago i wanna give you my all do you think about us maybe having some babies come on wont you be my lady forever yeahim ready to commit to you and i just cant wait for that night cause i need you here with me and lets start a familymeet me in the altar in your white dress we aint getting no younger we might as well do it been feeling all the while girl i must confess girl lets just get married i just wanna get marriedmeet me in the altar in your white dress we aint getting no younger we might as well do it been feeling all the while girl i must confess lets get marriedall i want you to do is meet me in the altar in your white dress we aint getting no younger we might as well do it been feeling all the while girl i must confess girl lets just get married i just wanna get marriedmeet me in the altar in your white dress we aint getting no younger we might as well do it been feeling all the while girl i must confess lets get married lets get married babymeet me in the altar in your white dress we aint getting no younger we might as well do it been feeling all the while girl i must confess girl lets just get married i just wanna get marriedmeet me in the altar in your white dress we aint getting no younger we might as well do it been feeling all the while girl i must confess lets get married ",1
47,"my love is your love","whitney houston",2000," clap your hands yall its alrightif tomorrow is judgment day sing mommy and im standing on the front line and the lord asks me what i did with my life i will say i spent it with youif i wake up in world war iii i see destruction and poverty and i feel like i want to go home its okay if youre coming with mecause your love is my love and my love is your love it would take an eternity to break us and the chains of amistad couldnt hold us cause your love is my love and my love is your love it would take an eternity to break us and the chains of amistad couldnt hold usif i lose my fame and fortune and im homeless on the street and im sleeping in grand central station its okay if youre sleeping with meas the years they pass us by we stay young through each others eyes and no matter how old we get its okay as long as i got you babycause your love is my love and my love is your love it would take an eternity to break us and the chains of amistad couldnt hold us cause your love is my love and my love is your love it would take an eternity to break us and the chains of amistad couldnt hold usif i should die this very day dont cry cause on earth we werent meant to stay and no matter what the people say ill be waiting for you after the judgment daycause your love is my love and my love is your love it would take an eternity to break us and the chains of amistad couldnt hold us cause your love is my love and my love is your love it would take an eternity to break us and the chains of amistad couldnt hold us ",1
48,"then the morning comes","smash mouth",2000," paint the town take a bow thank everybody youre gonna do it again you are are the few the proud you are the antibody mind soul and zenand the worlds a stage and the worlds a faze and the end is nearso push rewind just in time thank anybody youre gonna do it againthe way that the you walk its just the way that you talk like it aint no thing and every single day is just a fling then the morning cometake your knocks shake them off duck everybody youre gonna take them again you are your foe your friend you are the paparazzi you are the tragedianand the worlds a craze and the worlds a faze and the end is nearso push rewind just in time thank anybody youre gonna do it againthe way that the you walk its just the way that you talk like it aint no thing and every single day is just a fling and when it comes it moves so slow kinda like its saying i told you so looking back before she goes tomorrows gonna hurtand the worlds a stage and the worlds a faze and the end is nearso push rewind just in time thank anybodyits just the way that you walk its just the way that you talk like it aint no thing and every single day is just a fling then the morning comes ",1
49,"blue da ba dee","eiffel 65",2000," yo listen up heres a story about a little guy that lives in a blue world and all day and all night and everything he sees is just blue like him inside and outside blue his house with a blue little window and a blue corvette and everything is blue for him and himself and everybody around cause he aint got nobody to listenim blue da ba dee da ba daa da ba dee da ba daa da ba dee da ba daa da ba dee da ba daa da ba dee da ba daa da ba dee da ba daa da ba dee da ba daaim blue da ba dee da ba daa da ba dee da ba daa da ba dee da ba daa da ba dee da ba daa da ba dee da ba daa da ba dee da ba daa da ba dee da ba daai have a blue house with a blue window blue is the color of all that i wear blue are the streets and all the trees are too i have a girlfriend and she is so blue blue are the people here that walk around blue like my corvette its in and outside blue are the words i say and what i think blue are the feelings that live inside meim blue da ba dee da ba daa da ba dee da ba daa da ba dee da ba daa da ba dee da ba daa da ba dee da ba daa da ba dee da ba daa da ba dee da ba daaim blue da ba dee da ba daa da ba dee da ba daa da ba dee da ba daa da ba dee da ba daa da ba dee da ba daa da ba dee da ba daa da ba dee da ba daainside and outside blue his house with a blue little window and a blue corvette and everything is blue for him and himself and everybody around cause he aint got nobody to listenim blue da ba dee da ba daa da ba dee da ba daa da ba dee da ba daa da ba dee da ba daa da ba dee da ba daa da ba dee da ba daa da ba dee da ba daaim blue da ba dee da ba daa da ba dee da ba daa da ba dee da ba daa da ba dee da ba daa da ba dee da ba daa da ba dee da ba daa da ba dee da ba daa ",1
50,"desert rose","sting featuring cheb mami",2000," cheb mami introduction algerian arabic hadaee mada tawila wa ana nahos ana wahala ghzalti wa ana nahos ana wahala ghzalti wa ana nahos ana wahala ghzalti english oh night oh night it has been a long time and i am looking for myself and my loved one and i am looking for myself and my loved one and i am looking for myself and my loved onei dream of rain yeyeyi yele i dream of gardens in the desert sand i wake in pain yeyeyi yele i dream of love as time runs through my hand yeyeyi yelei dream of fire yeyeyi yele those dreams are tied to a horse that will never tire and in the flames yeyeyi yele her shadows play in the shape of a mans desire yeyeyi yelethis desert rose yeyeyi yele each of her veils a secret promise this desert flower yeyeyi yele no sweet perfume ever tortured me more than thisand as she turns yeyeyi yele this way she moves in the logic of all my dreams this fire burns yeyeyi yele i realize that nothings as it seemsi dream of rain yeyeyi yele i dream of gardens in the desert sand i wake in pain yeyeyi yele i dream of love as time runs through my handi dream of rain yeyeyi yele i lift my gaze to empty skies above i close my eyes this rare perfume is the sweet intoxication of her love ohcheb mami algerian arabic aman aman aman omry feek antia ma ghair antia ma ghair antia english aman aman aman my life is for you and no one other than you and no one other than youi dream of rain yeyeyi yele i dream of gardens in the desert sand i wake in pain yeyeyi yele i dream of love as time runs through my handsweet desert rose yeyeyi yele each of her veils a secret promise this desert flower yeyeyi yele no sweet perfume ever tortured me more than thissweet desert rose yeyeyi yele this memory of eden haunts us all this desert flower this rare perfume is the sweet intoxication of the fallcheb mami algerian arabic ya lili ah ya leel english oh night oh night ",1
51,"the real slim shady","eminem",2000," may i have your attention please may i have your attention please will the real slim shady please stand up i repeat will the real slim shady please stand up were going to have a problem hereyall act like you never seen a white person before jaws all on the floor like pam and tommy just burst in the door started whoopin her ass worse than before they first get divorced throwing her over furniture its the return of the oh wait no way your kidding he didnt just say what i think he did did he and dr dre said nothing you idiots dr dres dead hes locked in my basement ha ha feminist women love eminem chicka chicka chicka slim shady im sick of him look at him walking around grabbing his you know what flippin the you know who yeah but hes so cute though yea i probably got a couple of screws up in my head loose but no worse than whats going on in your parents bedrooms sometimes i want to get on tv and just let loose but cant but its cool for tom green to hump a dead moose my bum is on your lips my bum is on your lips and if im lucky you might just give it a little kiss and thats the message that we deliver to little kids and expect them not to know what a womens clitoris is of course they gonna know what intercourse is by the time they hit 4th grade they got the discovery channel dont they we aint nothing but mammals well some of us cannibals who cut other people open like cantaloupes but if we can hump dead animals and antelopes then theres no reason that a man and another man cant elope but if you feel like i feel i got the antidote women wave your pantyhose sing the chorus and it goesim slim shady yes im the real shady all you other slim shadys are just imitating so wont the real slim shady please stand up please stand up please stand up cause im slim shady yes im the real shady all you other slim shadys are just imitating so wont the real slim shady please stand up please stand up please stand upwill smith dont gotta cuss in his raps to sell records well i do so fuck him and fuck you too you think i give a damn about a grammy half of you critics cant even stomach me let alone stand me but slim what if you win wouldnt it be weird why so you guys can just lie to get me here so you can sit me here next to britney spears shit christina aguilera better switch me chairs so i can sit next to carson daly and fred durst and hear em argue over who she gave head to first little bitch put me on blast on mtv yeah hes cute but i think hes married to kim he he i should download her audio on mp3 and show the whole world how you gave eminem vd im sick of you little girl and boy groups all you do is annoy me so ive been sent here to destroy you and theres a million of us just like me who cuss like me who just dont give a fuck like me who dress like me walk talk and act like me it just might be the next best thing but not quite mecause im slim shady yes im the real shady all you other slim shadys are just imitating so wont the real slim shady please stand up please stand up please stand up cause im slim shady yes im the real shady all you other slim shadys are just imitating so wont the real slim shady please stand up please stand up please stand upim like a head trip to listen to cause im only giving you things you joke about with your friends inside your living room the only difference is i got the balls to say it in front of yall and i dont gotta be false or sugar coat it at all i just get on the mic and spit it and whether you like to admit it rip i just shit it better than 90 percent of you rappers out there then you wonder how can kids eat up these albums like valiums its funny cause at the rate im going when im thirty ill be the only person in the nursing home flirting pinching nurses asses when im jackin off with jergens and im jerking but this whole bag of viagra isnt working and every single person is a slim shady lurkin he could be workin at burger king spitten on your onion rings or in the parking lot circling screaming i dont give a fuck with his windows down and system up so will the real shady please stand up and put one of those fingers on each hand up and to be proud to be outta your mind and outta control and one more time loud as you can how does it goim slim shady yes im the real shady all you other slim shadys are just imitating so wont the real slim shady please stand up please stand up please stand up cause im slim shady yes im the real shady all you other slim shadys are just imitating so wont the real slim shady please stand up please stand up please stand upcause im slim shady yes im the real shady all you other slim shadys are just imitating so wont the real slim shady please stand up please stand up please stand up cause im slim shady yes im the real shady all you other slim shadys are just imitating so wont the real slim shady please stand up please stand up please stand uphaha i guess theres a slim shady in all of us fuck it lets all stand up ",1
52,"most girls","pink",2000," i never cared too much for love it was all a bunch of mush that i just did not want paid was the issue of the day if my girlfriends got some game couldnt be more fly gettin paid was everythingbut im not every girl and i dont need that world to validate me cause shorty got a job shorty got a car and shorty can pay her own rent dont wanna dance if it is not in my heartmost girls want a man with the bling bling got my own thing got the ching ching i just want real love most girls want a man with the mean green dont wanna dance if he cant be everything that i dream of a man that understands real loveoh oh oh oh oh oh oh oh ohi was a girl about the floss it was all about the cost how much he spent on me seek for a man whos got the means to be giving you diamond rings its what every fly girl could want or even dreambut im not every girl and i dont need no g to care of me cause shorty got a job shorty got a car shorty can pay her own rent dont wanna dance if it is not in my heart no nomost girls want a man with the bling bling got my own thing got the ching ching i just want real love most girls want a man with the mean green dont wanna dance if he cant be everything that i dream of a man that understands real lovemost girls want a man with the bling bling got my own thing got the ching ching i just want real love most girls want a man with the mean green dont wanna dance if he cant be everything that i dream of a man that understands real loveoh oh oh oh oh oh oh oh ohbut im not every girl and i dont need no g to take care of me no cause shorty got a job shorty got a car and shorty can pay her own rent dont wanna dance if it is not in my heartmost girls want a man with the bling bling got my own thing got the ching ching i just want real love most girls want a man with the mean green dont wanna dance if he cant be everything that i dream of a man that understands real lovemost girls want a man with the bling bling got my own thing got the ching ching i just want real love most girls want a man with the mean green dont wanna dance if he cant be everything that i dream of a man that understands real loveoh oh oh oh oh oh oh oh ohi i just want real love said i gotta have real love everything can you be everything that i dream of ",1
53,"wifey","next",2000," you never tried me always stood right by me make living lively highly spoken of my only love the only one youre my wifey make my life complete sweet but you know when to flip it street freak but only when it comes to me see thats why youre my wifeythis you should know cause you had my mind blown ohh ohh full of junk at the club on bump like what i had to have you babe saw you outside passenger side cause i let my best friend drive you was in line thats when you caught my eyes girlyou were so beautiful girl it was so critical girl you looked so crucial girl something about you is everything you are mineyou never tried me always stood right by me make living lively highly spoken of my only love the only one youre my wifey make my life complete sweet but you know when to flip it street freak but only when it comes to me see thats why youre my wifeyyou know youre sexy too i like your attitude i aint even mad at you girl youre still my boo either braids or weave skirt or jeans youre still my queen baby girl go do your thing im so glad youre on my teamyou are so beautiful girl it is so critical girl you looked so crucial girl something about you is everything you are mineyou never tried me always stood right by me make living lively highly spoken of my only love the only one youre my wifey make my life complete sweet but you know when to flip it street freak but only when it comes to me see thats why youre my wifeysomeone i can spend my life with leave the keys to the benz wedding band with your gems youre someone i feel all right with someone to have my kids someone i can depend onyou never tried me always stood right by me make living lively highly spoken of my only love the only one youre my wifey make my life complete sweet but you know when to flip it street freak but only when it comes to me see thats why youre my wifeyskinny designer fit real jiggy aint afraid to hump with me when we get busy ride out i lickylicky till i get dizzy toes done fresh scent i think its sizzy hose none shes the one who was down with me used to struggle now we bubble count the gs with me pop the champagne lets take a sippysippy describe you i try to youre my wifeywill you be my wifey yes ill be your wifey say youll be my wifey girl yea yea yea yea yea yea yea yea will you be my wifey yes ill be your wifey oh say youll be my wifey girl yea yea yea yea yea yea yea yea ",1
54,"wonderful","everclear",2000," hey aint life wonderful wonderful wonderful wonderful wonderful wonderful isnt it wonderful wonderful wonderful wonderful wonderful wonderful life is so wonderful isnt everything wonderful isnt it wonderful nowi close my eyes when i get too sad i think thoughts that i know are bad close my eyes and i count to ten hope its over when i open them i want the things that i had before like a star wars poster on my bedroom door i wish i could count to ten make everything be wonderful againhope my mom and i hope my dad will figure out why they get so mad hear them scream i hear them fight they say bad words that make me wanna cry close my eyes when i go to bed and i dream of angels who make me smile i feel better when i hear them say everything will be wonderful somedaypromises mean everything when youre little and the worlds so big i just dont understand how you can smile with all those tears in your eyes tell me everything is wonderful nowplease dont tell me everything is wonderful nowi go to school and i run and play i tell the kids that its all okay i laugh aloud so my friends wont know when the bell rings i just dont wanna go home go to my room and i close my eyes i make believe that i have a new life i dont believe you when you say everything will be wonderful somedaypromises mean everything when youre little and the world is so big i just dont understand how you can smile with all those tears in your eyes when you tell me everything is wonderful nowno no i dont wanna hear you tell me everything is wonderful now no no i dont wanna hear you tell me everything is wonderful nowi dont wanna hear you say that i will understand someday no no no no i dont wanna hear you say you both have grown in a different way no no no noi dont wanna meet your friends and i dont wanna start over again i just want my life to be the same just like it used to be some days i hate everything i hate everything everyone and everything please dont tell me everything is wonderful nowno please dont tell me everything is wonderful now please dont tell me everything is wonderful now i dont wanna hear you tell me everything is wonderful now no please dont tell me everything is wonderful noweverything is wonderful now everything is wonderful now everything is wonderful now  ",1
55,"oops i did it again","britney spears",2000," yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yeahi think i did it again i made you believe were more than just friends oh baby it might seem like a crush but it doesnt mean that im serious cause to lose all my senses that is just so typically me oh baby babyoops i did it again i played with your heart got lost in the game oh baby baby oops you think im in love that im sent from above im not that innocentyou see my problem is this im dreaming away wishing that heroes they truly exist i cry watching the days cant you see im a fool in so many ways but to lose all my senses that is just so typically me oh baby ohoops i did it again i played with your heart got lost in the game oh baby baby oops you think im in love that im sent from above im not that innocentyeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yeahall aboard britney before you go theres something i want you to have oh its beautiful but wait a minute isnt this yeah yes it is but i thought the old lady dropped it into the ocean in the end well baby i went down and got it for you aww you shouldnt haveoops i did it again to your heart got lost in this game oh baby oops you think that im sent from above im not that innocentoops i did it again i played with your heart got lost in the game oh baby baby oops you think im in love that im sent from above im not that innocentoops i did it again i played with your heart got lost in the game oh baby baby oops you think im in love that im sent from above im not that innocent ",1
56,"i wanna love you forever","jessica simpson",2000," you set my soul at ease chased darkness out of view left your desperate spell on me say you feel it too i know you doive got so much more to give this cant die i yearn to live pour yourself all over me and ill cherish every drop here on my kneesi wanna love you forever and this is all im asking of you ten thousand lifetimes together is that so much for you to docuz from the moment that i saw your face and felt the fire in your sweet embrace i swear i knew im gonna love you forevermy mind fails to understand what my heart tells me to do and id give up all i have just to be with you and that would doive always been taught to win and i never thought id fall be at the mercy of a man ive never been now i only want to be right where you arei wanna love you forever and this is all im asking of you ten thousand lifetimes together is that so much for you to docuz from the moment that i saw your face and felt the fire in your sweet embrace i swear im gonna love you foreverin my life ive learned that heaven never waits no lets take this now before its gone like yesterday cuz when im with you theres no where else that i would ever wanna be no im breathin for the next second i can feel you loving me im gonna love forever forever foreverim gonna love im gonna love im gonna love im gonna lovei wanna love you forever oh and this is all im asking of you ten thousand lifetimes together is that so much for you to docuz from the moment that i saw your face and felt the fire in your sweet embrace im gonna love you forever forever andi wanna love you forever everyday everyday ten thousand lifetimes togethercuz from the moment that i saw your face and felt the fire in your sweet embrace im gonna love you forever foreveri wanna love you forever ten thousand lifetimes together ",1
57,"give me just one night una noche","98 degrees",2000," lips keep telling me you want me hold me close all through the night and i know deep inside you need me no one else can make it rightdont you try to hide the secrets i can see it in your eyes you said the words without speaking now im gonna make you minegive me just one night una noche a moment to be by your side give me just one night una noche ill give you the time of your life the time of your life ill give you the time of your life oh baby yeahyour eyes of passion make me crazy your existence makes me wild i wanna loosen up your feelings see whats hiding insidejust give me just one night una noche a moment to be by your side give me just one night una noche ill give you the time of your life the time of your life yeah oh babyaye que rico me pone loca como te mueves como me toca tu movimiento tu sentimiento si yo te quiero te doy la noche toda la noche aye vamosgive me just one night just give me one night baby a moment to be by your side give me just one night just one night oh babyill give you the time of your life ill give you the time of your life give me just one nightgive me just one night una noche a moment to be by your side a moment to be by your side give me just one night una noche oh yeah ill give you the time of your life come on come on come on now babygive me just one night una noche a moment to be by your side a moment to be by your side give me just one night una noche ill give you the time of your life ill give you the time of your life the time of your life yeah alright oh yeah ",1
58,"take a picture","filter",2000," awake on my airplane awake on my airplane my skin is bare my skin is theirs awake on my airplane awake on my airplane my skin is bare my skin is theirsi feel like a newborn and i feel like a newborn awake on my airplane awake on my airplane i feel so realcould you take my picture cuz i wont remember could you take my picture cuz i wont remember yeahi dont believe in i dont believe in in your sanctity your privacy i dont believe in i dont believe in sanctity a hypocrisycould everyone agree that no one should be left alone could everyone agree that they should not be left alone yeahand i feel like a newborn and i feel like a newborn kicking and screamingcould you take my picture cuz i wont remember could you take my picture cuz i wont remember yeahhey dad what do you think about your son now ah hey dad what do you think about your son nowcould you take my picture cuz i wont remember could you take my picture cuz i wont remember could you take my picture cuz i wont remember yeah ",1
59,"otherside","red hot chili peppers",2000," how long how long will i slide separate my side i dont i dont believe its bad slittin my throat its all i everi heard your voice through a photograph i thought it up it brought up the past once you know you can never go back ive got to take it on the othersidecenturies are what it meant to me a cemetery where i marry the sea stranger things could never change my mind ive got to take it on the otherside take it on the otherside take it on take it onhow long how long will i slide separate my side i dont i dont believe its bad slittin my throat its all i everpour my life into a paper cup the ashtrays full and im spillin my guts she wants to know am i still a slut ive got to take it on the othersidescarlet starlet and shes in my bed a candidate for my soul mate bled push the trigger and pull the thread ive got to take it on the otherside take it on the otherside take it on take it onhow long how long will i slide separate my side i dont i dont believe its bad slittin my throat its all i everturn me on take me for a hard ride burn me out leave me on the otherside i yell and tell it that its not my friend i tear it down i tear it down and then its born againhow long how long will i slide separate my side i dont i dont believe its bad slittin my throat its all i ever how long i dont believe its bad slittin my throat its all i ever ",1
60,"big pimpin","jayz featuring ugk",2000," uh uh uh uh its big pimpin baby its big pimpin spendin gs feel me uhhuh uhh uhhuh gegegeyeah geyeah gegegeyeah geyeahyou know i thug em fuck em love em leave em cause i dont fuckin need em take em out the hood keep em lookin good but i dont fuckin feed em first time they fuss im breezin talkin bout whats the reasons im a pimp in every sense of the word bitch better trust than believe em in the cut where i keep em til i need a nut til i need to beat the guts then its beep beep and im pickin em up let em play with the dick in the truck many chicks want to put jigga fist in cuffs divorce him and split his bucks just because you got good head im a break bread so you can be livin it up shit i parts with nothin yall be frontin me give my heart to a woman not for nothin never happen ill be forever mackin heart cold as assassins i got no passion i got no patience and i hate waitin hoe get yo ass in and lets ride check em out now ride yeah and lets ride check em out now ride yeahwe doin big pimpin we spendin cheese check em out now big pimpin on blads we doin big pimpin up in nyc its just that jigga man pimp c and bun b yo yo yo big pimpin spendin cheese we doin big pimpin on blads we doin big pimpin up in nyc its just that jigga man pimp c and bun bnigga its the big southern rap impresario comin straight up out the black barrio makes a mill up off a sorry hoe then sit back and peep my scenario oops my bad thats my scenario no i cant fuck a scary hoe now every time every place everywhere we go hoes start pointin they say there he go now these motherfuckers know we carry mo heat than a little bit we dont pull it out over little shit and if you catch a lick when i spit then it wont be a little hit go read a book you illiterate son of a bitch and step up yo vocab dont be surprised if yo hoe stab out with me and you see us comin down on yo slab livin ghetto fabulous so mad you just cant take it but nigga if you hatin i then you wait while i get yo bitch buttnaked just break it you gotta pay like you weigh wet wit two pairs of clothes on now get yo ass to the back as im flyin to the track timbaland let me spit my pros on pump it up in the prozone thats the track that we breakin these hoes on aint the track that we flows on but when shit get hot then the glock start poppin like ozone we keep hoes crunk like triggerman fo real it dont get no bigger man dont trip lets flip gettin throwed on the flip gettin blowed with the motherfuckin jigga man foolwe be big pimpin spendin cheese we be big pimpin on blads we be big pimpin down in pat its just that jigga man pimp c and bun b cause we be big pimpin spendin cheese and we be big pimpin on blads cause we be big pimpin in pat its just that jigga man pimp c and bun b niggauh smokin out throwin up keepin lean up in my cup all my car got leather and wood in my hood we call it buck everybody want to ball holla at broads at the mall if he up watch him fall nigga i cant fuck with yall if i wasnt rappin baby i would still be ridin mercedes chromin shinin sippin daily no rest until whitey pay me uh now what yall know bout them texas boys comin down in candied toys smokin weed and talkin noisewe be big pimpin spendin cheese we be big pimpin on blads we be big pimpin down in pat its just that jigga man pimp c and bun b cause we be big pimpin spendin cheese and we be big pimpin on blads cause we be big pimpin in pat its just that jigga man pimp c and bun b nigga ",1
61,"a puro dolor","son by four",2000," perdona si te estoy llamando en este momento pero me haca falta escuchar de nuevo aunque sea un instante tu respiraciondisculpa se que estoy violando nuestro juramento se que ests con alguien que no es el momento pero hay algo urgente que decirte hoyestoy muriendo muriendo por verte agonizando muy lento y muy fuertevida devulveme mis fantasas mis ganas de vivir la vida devulveme el airecarino mio sin ti yo me siento vacio las tardes son un laberinto y las noches me saben a puro dolorquisiera decirte que hoy estoy de maravilla que no me ha afectado lo de tu partida pero con un dedo no se tapa el solestoy muriendo muriendo por verte agonizando muy lento y muy fuertevida devulveme mis fantasas mis ganas de vivir la vida devulveme el airecarino mio sin ti yo me siento vaco las tardes son un laberinto y las noches me saben a puro dolorson by four me estoy muriendo agonizando de dolor a puro dolor agonizando pues no te tengo a mi ladome estoy muriendo agonizando de dolor a puro dolor a puro dolor vuelve por favor uuh oohson by four is that crazy my soul carino mio las noches me saben a puro dolor a puro dolorvida devulveme mis fantasas mis ganas de vivir la vida devulveme el airecarino mio sin ti yo me siento vaco las tardes son un laberinto y las noches me saben a puro dolor ",1
62,"he cant love u","jagged edge",2000," i aint no hater or nothing but he cant love you like i can trust me ooh ooh oohas the clock strikes twelve im sitting here wondering how the hell did i let you leave and baby i know that i did my share of things to deceive you im just trying to get an understanding of what to do cause im half way going crazy girl they cant fade mehe cant love you like i love you baby you know it too and you should never wanna be with a man if he cant be a man and do the things to you like i canhe cant love you like i love you baby you know it too and you should never wanna be with a man if he cant be a man and do the things to you like i cani stop and i wait and i think that i never met someone to make me feel like im ready to love so i gotta do what i gotta do just to keep you keep you here with me baby now i feel its time for me to say that i need you boo and i cant go a day without your loving baby i cant live without youi know you know no matter if you want it baby aint no ifs or buts or maybes and i know that one day youll see that he cant really love you like i love youhe cant love you like i love you baby you know it too and you should never wanna be with a man if he cant be a man and do the things to you like i canhe cant love you like i love you baby you know it too and you should never wanna be with a man if he cant be a man and do the things to you like i canhe cant he cant love you girl hes never gonna love you girl like i love you girlhe cant he cant love you girl hes never gonna love you girl like i love you girlhe cant he cant love you girl hes never gonna love you girl like i love you girlhe cant he cant love you girlhe cant love you like i love you baby you know it too and you should never wanna be with a man if he cant be a man and do the things to you like i canim telling you he cant love you like i love you baby you know it too and you should never wanna be with a man if he cant be a man and do the things to you like i canhe cant love you he cant love you like i love you baby you know it too ",1
63,"separated","avant",2000," yeah yeah listen babeevery time i see you i get a bad vibe just thinkin of someone else in between your thighs and you thought you were slick had tricks up your sleeve but im sick of your stupid acts and i know youre tired of me thats why i saywhen we were together we never turned our backs on each other but now but now that were separated we cant stand one anotheri dont wanna be with you put that on everything i own i cant believe i stayed around that damn long if i never see you again i wont be mad at all no no cause i believe that youre my downfall you did me wrongyou did me wrong i thought you were true yeah you ran out of my life and now im so through with you i wanted you to be there right here with mewhen we were together we never turned our backs on each other but now but now that were separated yeah we cant stand one another baby tell me why why why why whywhen we were together we never turned our backs on each other but now that were separated we cant stand one another its really over babe cause you did me wrongyou did me wrong i thought you were true you ran out of my life and now im so through with youi remember when you used to sit there i would hold you in my arms and you would say to me yeah yeah yeah yeah yeah i used to rub your body and you would say to me yeah yeah yeah when we were together youd say yeah yeah yeah yeah yeah i can hear your body saying yeah yeah yeah sounds so good to me yeah yeah yeah yeahwhen we were together when we were together we never turned our backs on each other we never turned our backs on another but now that were separated no no we cant stand one anotherwhen we were together baby we never turned our backs on each other but now but now that were separated we cant stand one another yeah ",1
64,"i wish","carl thomas",2000," it was love at first sight i know from the way she looked at me her eyes said it alllong days and nights we spent until she dropped the bomb on me when she said that she was unhappily married with childrenand i wish i never met her at all even though i love her so but she got love from me but she still belongs to someone elseit hurts so bad for sure because she wants to be with me but she cannot be with meshe chose to stay at home so they could be a family for the children but what about meand i wish i never met her at all even though i love her so and she got love from me and she still belongs to someone elsemaybe in another life things could be the way we both desired its a catch22 either way it hurts someone that you loseand i wish i never met her at all even though i love her so shes got love from me but she still belongs to someone elseand i and i even though i love her so shes got love from me but she still belongs to someone elsei wish i wish i never met her at all i wouldnt hurt so much inside ",1
65,"u know whats up","donell jones",2000," ooh say what say what say what ooh girl you know whats up ooh say what say what say what ooh girl you know whats upme and my people be rolling trailing on you and your homies the very first day of summer all chromed out in a hummer babe hit the park and parle hope that your off cause youre awake cause you and your girls want to ride play all day puff on the lye1 ooh say what say what say what you know that i like it baby ooh girl you know whats up and you know what i need ooh say what say what say what you know that im bout it baby ooh girl you know whats up ooh2  im digging you im feeling you and you know whats up said im big on you and im wanting you so tell me whats upwe out five and im zoning  running around two in the morning looking fly with that sun dress on i think i feel a bone coming on girl you got me wide open fiending all day and im hoping so baby dont front backseat jeep you know what i wantrepeat 1repeat 2oh yeah whoa digging you you got me big on yourepeat 1repeat 2 till end ",1
66,"faded","souldecision featuring thrust",2000,"when i get you all alone im gonna move in nice and close aint nobody gonna interrupt my game oh no ever since youve been hangin around ive been trying to figure out what im gonna say to you to get something yeah couldnt we do what we did last night couldnt baby you and i be better friends dont you think its time we went a bit further oh yeah every night when we say goodbye how can i help looking in your eyes wondering why that you and i havent hit it can we get it on kind of faded but im feeling alright thinkin about making my move tonight i cant pretend that youre only my friend when youre holdin my body tight cause i like the way youre making your move i like the way youre making me wait at the end of the night im gonna make you feel like mine youll be coming on home with me yeah yeah yeah dont you know youve got it and you know i want it i cant wait to take you home you know youve got it tonight i dont want to be rude at all i just want to be where you go think that we could be alone yeah couldnt we do what we did last night couldnt baby you and i be better friends dont you think its time we went a bit further oh yeah every night when we say goodbye how can i help lookin in your eyes wondering why that you and i havent hit it can we get it on kind of faded but im feeling alright thinkin about making my move tonight i cant pretend that youre only my friend when youre holdin my body tight cause i like the way youre making your move i like the way youre making me wait at the end of the night im gonna make you feel like mine youll be coming on home with me yeah yeah yeah kind of faded but im feeling alright thinkin about making my move tonight i cant pretend that youre only my friend when youre holdin my body tight cause i like the way youre making your move i like the way youre making me wait at the end of the night im gonna make you feel like mine youll be coming on home with me yeah yeah yeah kind of faded but im feeling alright thinkin about making my move tonight i cant pretend that youre only my friend when youre holdin my body tight cause i like the way youre making your move i like the way youre making me wait at the end of the night im gonna make you feel like mine youll be coming on home with me yeah yeah yeah kind of faded but im feeling alright thinkin about making my move tonight i cant pretend that youre only my friend when youre holdin my body tight cause i like the way youre making your move i like the way youre making me wait at the end of the night im gonna make you feel like mine youll be coming on home with me yeah yeah yeah kind of faded but im feeling alright thinkin about making my move tonight i cant pretend that youre only my friend when youre holdin my body tight cause i like the way youre making your move i like the way youre making me wait at the end of the night im gonna make you feel like mine youll be coming on home with me yeah yeah yeah",3
67,"only god knows why","kid rock",2000," ive been sittin here trying to find myself i get behind myself i need to rewind myself looking for the payback listening for the playback they say that every man bleeds just like meand i feel like number one yet im last in line i watch my younger son and it helps to pass the time i take too many pills that helps to ease the pain i made a couple of dollare bills still i feel the sameeverybody knows my name they say it way out loud a lot of folks fuck with me its hard to hang out in a croud i guess thats the price you pay to be some big shot like i am out stretched hands and one night standsstill i cant find love and when the walls are tumbling down i will always be around yeahand when the walls are tumbling down i will always be around people dont know about the things i say and do they dont understand about the shit ive been through its been so long since ive been homeive been gone ive been gone way too long maybe ive forgotten all the things i miss oh somehow i know there is more to life than this ive said it too many times and i still stand firmyou get what you put in and people get what the deserve still i aint seen mine no i aint seen mine ive been given but just aint gettin ive been walkin that thin line so i think ill keep a walking with my head held highill keep moving on and only god knows why only god only god only god knows why only god knows why why why why only god knows whytake it to the river hey take me to the river hey ",1
68,"shake ya ass","mystikal",2000," shake ya ass but watch yourself shake ya ass show me what you workin with shake ya ass but watch yourself shake ya assi came here with my dick in my hand dont make me leave here with my foot in yo ass be cool and dont worry bout how im rippin this shit when im flippin what im kickin nigga thats just what i do im effervescent and im off that crescent nastier than a full grown german shepherd motherfucker keep steppin they dont fuck with me and they dont yall bitches cant catch me and you wont pay ya fare fix ya hair throw that pussy got a prada for boonapalist and donna for my babooski you think im trickin bitch i aint trippin im buyin if you got nice curves for your iceberg drinkin henn and actin like it do somethin to me hope this indecent proposal make you do somethin with me fuck a dollar girl pick up fifty and fuck that coward girl you need a real nigga off top knickaboxers hurtin shit bend over hoe show me what you workin withshake ya ass but watch yourself shake ya ass show me what you workin with shake ya assattention all yall players and pimps right now in the place to be shake ya ass i thought i told yall niggas before yall niggas cant fuck with me watch yourself now this aint for no small booties no sir cause that wont pass show me whatcha workin with but if you feel you got the biggest one then momma come shake ya assshake ya ass but watch yourself shake ya ass show me what you workin with shake ya ass but watch yourself shake ya ass show me what you workin withi like my women fire like cayenne chocolate and bowlegged when im runnin up behind her go head get ya popalock let the cock out for girl dont lie you know you wanna go back to my house the man right chea wanna get under that dress right there you spicy cajun we gon a good time over there you better suck the head on them there crawfish and you gotta bend all the way over to dance off this handle yo business but i know you do it way better you dead wrong so if you talkin bout how niggaz make noise when you pass by get yo fine ass on the floor girl this yo fuckin song do yo thang dont be scared cause you gon get served you get mine then you gon get yours bout to make yo ass love it raise it up show the gstring hustlin hustlinattention all yall players and pimps right now in the place to be shake ya ass i thought i told yall niggas before yall niggas cant fuck with me watch yourself now this aint for no small booties no sir cause that wont pass show me whatcha workin with but if you feel you got the biggest one then momma come shake ya assshake ya ass but watch yourself shake ya ass show me what you workin with shake ya ass but watch yourself shake ya ass show me what you workin withstop yo cryin heifer i dont need all that i got a job for you the braided up pimp is back break them handcuffs fuck you nigga move somethin and if they ask you what you doin say ooohh nuttin and we been doin for the past 2 somethin and ive been beatin that pussy up now its smooth fuckin you can betcha bottom dollar if that pussy fire you gon holla michael tyler so dont act like you dont be backin that stuff up girl in the club cause thats what you got ass for wobble wobble im infatuated bitch ride a dick like she makin a baby and i see that we gon have to go to a quiet corner for just us two an dont worry about who lookin just keep on doin what you doin cause a nigga like me gon get to work before i know the girl bitch whats happenin let em see show the worldattention all yall players and pimps right now in the place to be shake ya ass i thought i told yall niggas before yall niggas cant fuck with me watch yourself now this aint for no small booties no sir cause that wont pass show me whatcha workin with but if you feel you got the biggest one then momma come shake ya assshake ya ass but watch yourself shake ya ass show me what you workin with shake ya ass but watch yourself shake ya ass show me what you workin with shake ya ass but watch yourself shake ya ass show me what you workin with shake ya ass but watch yourself shake ya ass show me what you workin with ",1
69,"bag lady","erykah badu",2000," bag lady you gone hurt your back dragging all them bags like that i guess nobody ever told you all you must hold onto is you is you is youone day all them bags gon get in your way one day all them bags gon get in your way i said one day all them bags gon get in your way one day all them bags gon get in your way so pack light pack light mm pack light pack light oh oohbag lady you gon miss your bus you cant hurry up cause you got too much stuff when they see you coming niggas take off running from you its true oh yes they doone day he gon say you crowding my space one day he gon say you crowding my space i said one day he gon say you crowding my space one day he gon say you crowding my space so pack light pack light mm pack light pack light ooh ooh ",1
70,"meet virginia","train",2000," she doesnt own a dress her hair is always a mess you catch her stealin she wont confess shes beautifulsmokes a pack a day but wait thats me but anyway she doesnt care a thing about that hair she thinks im beautiful meet virginiashe never compromises loves babies and surprises wears high heels when she exercises aint that beautiful meet virginiawell she wants to be the queen then she thinks about her scene pulls her hair back as she screams i dont really wanna be queenher daddy wrestles alligators mama works on carburetors her brother is a fine mediator for the presidentand here she is again on the phone just like me hates to be alone we just like to sit at home and rip on the president meet virginiawell she wants to live her life then she thinks about her life pulls her hair back as she screams i dont really wanna live this life no no noshe only drinks coffee at midnight but the moment is not right and the time is quite unusualyou see her confidence is tragic but her intuition magic and the shape of her body unusualmeet virgina i cant wait to meet virginia yeah yeah hey heywell she wants to be the queen then she thinks about her scene well she wants to live her life then she thinks about her lifepulls her hair back as she screams i dont really wanna be the queen ah ah i dont really wanna be the queen ah ah i dont really wanna be the queen ah ah i dont really wanna live here ",1
71,"party up up in here","dmx",2000," yall gon make me lose my mind up in here up in here yall gon make me go all out up in here up in here yall gon make me act a fool up in here up in here yall gon make me lose my cool up in here up in hereif i gotsta bring it to you cowards then its gonna be quick aight all your mens up in the jail before suck my dick and all them other cats you run with get done with dumb quick how the fuck you gonna cross the dog with some bum shit aight there go the gun click nine one one shit all over some dumb shit aint that some shit yall niggas remind me of a strip club cause everytime you come around its like what i just gotta get my dick sucked and i dont know who the fuck you think you talkin to but im not him aight slim so watch what you do or you gon find yourself buried next to someone else and we all thought you loved yourself but that couldnt have been the issue or maybe they just sayin that now cause they miss you shit a nigga tried to diss you thats why you layin on your back lookin at the roof of the church preacher tellin the truth and it hurtsyall gon make me lose my mind up in here up in here yall gon make me go all out up in here up in here yall gon make me act a fool up in here up in here yall gon make me lose my cool up in here up in hereoff the chain i leave niggas soft in the brain cause niggas still want the fame off the name first of all you aint rapped long enough to be fuckin with me and you you aint strong enough so whatever it is you puffin on that got you think that you superman i got the kryptonite should i smack him with my dick and the mic yall niggas is characters not even good actors whats gon be the outcome hmm lets add up all the factors you wack youre twisted your girls a ho youre broke the kid aint yours and erybody know your old man say you stupid you be like so i love my baby mother i never let her go im tired of weak ass niggas whinin over puss that dont belong to them fuck is wrong with them they fuck it up for real niggas like my mans and them who get it on on the strength of the hands with them manyall gon make me lose my mind up in here up in here yall gon make me go all out up in here up in here yall gon make me act a fool up in here up in here yall gon make me lose my cool up in here up in herei bring down rains so heavy it curse the head no more talkin  put him in the dirt instead you keep walin  lest you tryin to end up red cause if i end up fed yall end up dead cause youse a soft type nigga fake up north type nigga puss like a soft white nigga dog is a dog bloods thicker than water we done been through the mud and we quicker to slaughter the bigger the order the more guns we brought out we run up in there erybody come out dont nobody run out sun in to sun out imma keep the gun out nigga runnin his mouth imma blow his lung out listen yo ass is about to be missin you know who gon find you who some old man fishin grandma wishin your souls at rest but its hard to digest with the size of the hole in your chestyall gon make me lose my mind up in here up in here yall gon make me go all out up in here up in here yall gon make me act a fool up in here up in here yall gon make me lose my cool up in here up in hereone two meet me outside meet me outside meet me outside all my ruff ryders gon meet me outside meet me outside meet me outside all my big ballers gon meet me outside meet me outside meet me outside all my fly ladies gon meet me outside meet me outside meet me outside all my street street peoples meet me outside meet me outside outside motherfuckerx has got yall bouncin again bouncin again bouncebouncin again dark man x got ya bouncin again bouncin again bouncebouncin again swizz beatz got yall bouncin again bouncin again bouncebouncin again ruff ryders got yall bouncin again bouncin again bouncebouncin again dark man keep you bouncin again bouncin again bouncebouncin again dark man keep you bouncin again bouncin again bouncebouncin again all my streets they bouncin again bouncin again were bouncin again swizz swizz beatz we bouncin again bouncin again and we bouncin again double r keep it comin aint nothin yall aint nothin yall can do now ",1
72,"case of the ex","m'ya",2000," yea mya red zone what whatits after midnight and shes on your phone sayin come over cuz shes all alone i could tell it was your ex by your tone why is she callin now after so longnow what is that she wants tell me what is that she needs did she hear about the brand new benz that you just bought for me coz yall didnt have no kids didnt share no mutual friends and you told me that she turned trick when yall broke up in ninety sixwhatcha gonna do when you cant say no when her feelings start to show boy i really need to know and how you gonna act how you gonna handle that whatcha gonna do when she wants you backwhatcha gonna do when you cant say no when her feelings start to show boy i really need to know and how you gonna act how you gonna handle that whatcha gonna do when she wants you backtheres no need to reminisce about the past obviously coz that shit did not last i know how a woman try to game you so dont get caught up because baby youll losenow what is that she wants tell me what is that she needs did she hear about the brand new benz that you just bought for me coz yall didnt have no kids didnt share no mutual friends and you told me that she turned trick when yall broke up in ninety sixwhatcha gonna do when you cant say no when her feelings start to show boy i really need to know and how you gonna act how you gonna handle that whatcha gonna do when she wants you backwhatcha gonna do when you cant say no when her feelings start to show boy i really need to know and how you gonna act how you gonna handle that whatcha gonna do when she wants you backwhatcha gonna do when you cant say no when her feelings start to show boy i really need to know and how you gonna act how you gonna handle that whatcha gonna do when she wants you backwhatcha gonna do when you cant say no when her feelings start to show boy i really need to know and how you gonna act how you gonna handle that whatcha gonna do when she wants you backtell me why she on the phone in the middle of the night tell me why she in your life trynna get whats mine she dont know me shes about to know me im in your life thats how its gon be ive seen her photo she aint even all that so if you want her back you can take her back cuz game recognize game i could do the same thing get it right change or take back this ringwhatcha gonna do when you cant say no when her feelings start to show boy i really need to know and how you gonna act how you gonna handle that whatcha gonna do when she wants you backwhatcha gonna do when you cant say no when her feelings start to show boy i really need to know and how you gonna act how you gonna handle that whatcha gonna do when she wants you backwhatcha gonna do when you cant say no when her feelings start to show boy i really need to know and how you gonna act how you gonna handle that whatcha gonna do when she wants you backwhatcha gonna do when you cant say no when her feelings start to show boy i really need to know and how you gonna act how you gonna handle that whatcha gonna do when she wants you backyea playboy right now yea mya yea mya red zone what what ",1
73,"forgot about dre","dr dre featuring eminem",2000," yall know me still the same og but i been lowkey hated on by most these niggas with no cheese no deals and no gs no wheels and no keys no boats no snowmobiles and no skis mad at me cause i can finally afford to provide my family with groceries got a crib with a studio and its all full of tracks to add to the wall full of plaques hanging up in the office in back of my house like trophies did yall think imma let my dough freeze ho please you better bow down on both knees who you think taught you to smoke trees who you think brought you the oldies eazyes ice cubes and docs the snoop dodoublegs and the group that said motherfuck the police gave you a tape full of dope beats to bump when you stroll through in your hood and when your album sales wasnt doing too good whos the doctor they told you to go see yall better listen up closely all you niggas that said that i turned pop or the firm flopped yall are the reason that dre aint been getting no sleep so fuck yall all of yall if yall dont like me blow me yall are gonna keep fucking around with me and turn me back to the old menowadays everybody wanna talk like they got something to say but nothing comes out when they move their lips just a bunch of gibberish and motherfuckers act like they forgot about drenowadays everybody wanna talk like they got something to say but nothing comes out when they move their lips just a bunch of gibberish and motherfuckers act like they forgot about dreso what do you say to somebody you hate or anyone tryna bring trouble your way wanna resolve things in a bloodier way then just study a tape of nwa one day i was walking by with a walkman on when i caught a guy give me an awkward eye and i strangled him up in the parking lot with his karl kani i dont give a fuck if its dark or not im harder than me tryna park a dodge when im drunk as fuck right next to a humongous truck in a twocar garage hopping out with two broken legs trying to walk it off fuck you too bitch call the cops imma kill you and them loudass motherfucking barking dogs and when the cops came through me and dre stood next to a burnt down house with a can full of gas and a hand full of matches and still werent found out from here on out its the chronic ii starting today and tomorrows anew and im still loco enough to choke you to death with a charleston chew slim shady hotter then a set of twin babies in a mercedes benz with the windows up when the temp goes up to the mid80s calling men ladies sorry doc but i been crazy theres no way that you can save me its okay go with him hailienowadays everybody wanna talk like they got something to say but nothing comes out when they move their lips just a bunch of gibberish and motherfuckers act like they forgot about drenowadays everybody wanna talk like they got something to say but nothing comes out when they move their lips just a bunch of gibberish and motherfuckers act like they forgot about dreif it was up to me you motherfuckers would stop coming up to me with your hands out looking up to me like you want something free when my last cd was out you wasnt bumping me but now that i got this little company everybody wanna come to me like it was some disease but you wont get a crumb from me cause im from the streets of compton i told em all all them little gangstas who you think helped mold em all now you wanna run around talking bout guns like i aint got none what you think i sold em all cause i stay well off now all i get is hate mail all day saying dre fell off what cause i been in the lab with a pen and a pad tryin to get this damn label off i aint havin that this is the millennium of aftermath it aint gonna be nothin after that so give me one more platinum plaque and fuck rap you can have it back so wheres all the mad rappers at its like a jungle in this habitat but all you savage cats know that i was strapped with gats while you were cuddling a cabbage patchnowadays everybody wanna talk like they got something to say but nothing comes out when they move their lips just a bunch of gibberish and motherfuckers act like they forgot about drenowadays everybody wanna talk like they got something to say but nothing comes out when they move their lips just a bunch of gibberish and motherfuckers act like they forgot about drenowadays everybody wanna talk like they got something to say but nothing comes out when they move their lips just a bunch of gibberish and motherfuckers act like they forgot about dre ",1
74,"thats the way","jo dee messina",2000," everybody wants an easy ride on the merrygoround that we call life take your drive on cruise control then you wait to find out its a winding roadi had my dreams in view when the money ran out and the engine blew hung my tears out to dry then my dreams fell out of that clear blue skyand i i was walkin the clouds feelin so safe and sound then somethin else knocks me downwell oh thats the way it is you gotta roll with the punches thats the way it goes you gotta bend when the wind blowsyou live you learn you crash and burn its hit or miss and thats the way it isone fine day you wake up completely hopelessly fallen in love hes just what youre lookin for the only problem is that the mans not sureanother guy will give you everything only problem is you dont feel a thing well i know from experience nothings ever gonna make perfect senseoh one day you get what you want but its not what you think then you get what you needwell oh thats the way it is you gotta roll with the punches thats the way it goes you gotta bend when the wind blowsyou live you learn you crash and burn its hit or miss and thats the way it isyeah they say your soul is growin but sometimes i feel like throwin somethinand thats the way it is you gotta roll with the punches and thats the way it goes you gotta bend when the wind blowsand thats the way it is you gotta roll with the punches thats the way it goes you gotta bend when the wind blowsyou live you learn you crash and burn its hit or miss oh and thats the way it isoh thats the way it is yeah thats the way it is thats the way it is you gotta roll with the punches oh you gotta bend when the wind blowsoh thats the way it goes thats the way it is thats the way it goes oh yeah you gotta roll with the punches thats the way it is thats the way it is ",1
75,"swear it again","westlife",2000," i wanna know who ever told you i was letting go the only joy that i have ever known girl theyre lyingjust look around and all of the people that we used to know have just given up they wanna let it go but were still tryingso you should know this love we share was never made to die im glad were on this one way street just you and i just you and iim never gonna say goodbye coz i never wanna see you cry i swore to you my love would remain and i swear it all over again and i im never gonna treat you bad coz i never wanna see you sad i swore to share your joy and your pain and i swear it all over again all over againsome people say that everything has got its place in time even the day must give way to the night but im not buyingcoz in your eyes i see a love that burns eternally and if you see how beautiful you are to me youll know im not lyingsure therell be times we wanna say goodbye but even if we try there are somethings in this life wont be denied wont be deniedim never gonna say goodbye coz i never wanna see you cry i swore to you my love would remain and i swear it all over again and i im never gonna treat you bad coz i never wanna see you sad i swore to share your joy and your pain and i swear it all over againthe more i know of you is the more i know i love you and the more that im sure i want you forever and ever more and the more that you love me the more that i know ho that im never gonna let you go gotta let you know that iim never gonna say goodbye coz i never wanna see you cry i swore to you my love would remain and i swear it all over again and i im never gonna treat you bad coz i never wanna see you sad i swore to share your joy and your pain and i swear it all over againall over again all over again and i swear it all over again ",1
76,"the next episode","dr dre featuring snoop dogg",2000," la da da da dah its the motherfuckin d o double g la da da da dah you know im mobbin with the dre you know whos back up in this motherfucker what what what what blaze it up blaze it uptop dogg bite me all nigga burn the shit up dpgc my nigga turn that shit up cpt lbc yeah we hookin back up and when they bang this in the club baby you got to get up thug niggaz drug dealers yeah they givin it up lowlife yo life boy we livin it up takin chances while we dancin in the party fo sho slip my hoe a fortyfo and she got in the back dobitches lookin at me strange but you know i dont care step up in this motherfucker just a swangin my hair bitch quit talkin crip walk if you down with the set take a bullet with some dick and take this dope from this jet out of town put it down for the father of rap and if yo ass get cracked bitch shut yo trap come back get back thats the part of success if you believe in the x youll be relievin your stressla da da da dah its the motherfuckin dre la da da da dah you know im mobbin with the do double gstraight off the fuckin streets of cpt king of the beats you ride to em in your fleet or coupe deville rollin on dubs how you feelin whoopty whoop nigga whut dre and snoop chroniced out in the llac with doc in the back sippin on gnac clip in the strap dippin through hoods compton long beach inglewood south central out to the westsideits california love this california bud got a nigga gang of pub im on one i might bail up in the century club with my jeans on and my team strong get my drink on and my smoke on then go home with somethin to poke on loc its on for the two triple oh comin real its the next episodehold up hey for my niggaz who be thinkin we soft we dont play we gon rock it til the wheels fall off hold up hey for my niggaz who be actin too bold take a seat hope you ready for the next episode hey smoke weed everday ",1
77,"from the bottom of my broken heart","britney spears",2000," never look back we said how was i to know id miss you so loneliness up ahead emptiness behind where do i goand you didnt hear all my joy through my tears all my hopes through my fears did you now still i miss you somehowfrom the bottom of my broken heart theres just a thing or two id like you to know you were my first love you were my true love from the first kisses to the very last rose from the bottom of my broken heart even though time may find me somebody new you were my real love i never knew love til there was you from the bottom of my broken heartbaby i said please stay give our love a chance for one more day we could have worked things out taking time is what loves all aboutbut you put a dart through my dreams through my heart and im back where i started again never thought it would endfrom the bottom of my broken heart theres just a thing or two id like you to know you were my first love you were my true love from the first kisses to the very last rose from the bottom of my broken heart even though time may find me somebody new you were my real love i never knew love til there was you from the bottom of my broken heartyou promised yourself but to somebody else and you made it so perfectly clear still i wish you were here nowfrom the bottom of my broken heart theres just a thing or two id like you to know you were my first love you were my true love from the first kisses to the very last rosefrom the bottom of my broken heart even though time may find me somebody new you were my real love i never knew love til there was you from the bottom of my broken heartnever look back we said how was i to know id miss you so ",1
78,"crash and burn","savage garden",2000," when you feel all alone and the world has turned its back on you give me a moment please to tame your wild wild hearti know you feel like the walls are closing in on you its hard to find relief and people can be so cold when darkness is upon your door and you feel like you cant take anymorelet me be the one you call if you jump ill break your fall lift you up and fly away with you into the night if you need to fall apart i can mend a broken heart if you need to crash then crash and burn youre not alonewhen you feel all alone and a loyal friend is hard to find youre caught in a oneway street with the monsters in your head when hopes and dreams are far away and you feel like you cant face the daylet me be the one you call if you jump ill break your fall lift you up and fly away with you into the night if you need to fall apart i can mend a broken heart if you need to crash then crash and burn youre not alonebecause there has always been heartache and pain and when its over youll breathe again youll breathe againwhen you feel all alone and the world has turned its back on you give me a moment please to tame your wild wild heartlet me be the one you call if you jump ill break your fall lift you up and fly away with you into the night if you need to fall apart i can mend a broken heart if you need to crash then crash and burn youre not alonelet me be the one you call if you jump ill break your fall lift you up and fly away with you into the night if you need to fall apart i can mend a broken heart and if you need to crash then crash and burn youre not alone alonelet me be the one you call if you jump ill break your fall youre not alone lift you up and fly away with you into the night no no youre never alone if you need to fall apart i can mend a broken heart youre not alone if you need to crash then crash and burn youre not alone if you need to crash then crash and burn youre not alonelet me be the one you call if you jump ill break your fall lift you up and fly away with you into the night if you need to fall apart youre not alone i can mend a broken heart no no youre never alone and if you need to crash then crash and burn youre not alonelet me be the one you call if you jump ill break your fall lift you up and fly away with you into the night ",1
79,"yes","chad brock",2000," she moved into my old apartment thats how we got this whole thing started she called and said that i had mail waiting there for mei told her that id come and get it how could i know in just a minute that id be standing face to face with my own destinyoh and we sat there talking just like we were old friends oh then i asked her can i see you againshe said yes and i said wow and she said when and i said how about right now love cant wait then i asked if she believed in fate and she said yesthe days flew by just like a fast train and nothing else has been on my brain except the thought of how she makes me the man i want to beshes the one i want for a million reasons loving her is just like breathing its easy and its obvious she was made for meoh then it happened one night looking in her eyes and oh when i popped the question much to my surpriseshe said yes and i said wow and she said when and i said how about right now love cant wait then i asked if she believed in fate and she said yesso we called the preacher family and friends and nothings been the same sinceshe said yes and i said wow and she said when and i said how about right now love cant wait then i asked if she believed in fate and she said yes she said yes ",1
80,"the best day","george strait",2000," we loaded up my old station wagon with a tent coleman sleepin bags some fishin poles a cooler of cokes 3 days before we had to be backwhen your 7 and your in your 7th heaven goin campin in the wild outdoors as we turned off on that old dirt road he looked at me and sworedad this could be the best day of my life ive been dreaming day and night about the fun well have just me and you doin what ive always wanted to im the luckiest boy around this is the best day of my lifehis fifteenth birthday rolled around classic cars were his thing when i pulled in the drive with that old vette i thought that boy would go insanewhen youre in your teens your dreams revolve around 4 spinning wheels were not zoned in till it was new again and as he sat behind the wheelhe said dad this could be the best day of my life ive been dreaming day and night about the fun well have just me and you doin what ive always wanted to im the luckiest boy around this is the best day of my lifestandin in the middle of the room back of the church with our tuxes on lookin at him i said i cant believe son that youve grownhe said dad this could be the best day of my life ive been dreamin day and night about bein like you thats me and her watching you and mom ive learned im the luckiest man alive this is the best day of my life im the luckiest man alive this is the best day of my life ",1
81,"where i wanna be","donell jones",2000," i said i left my baby girl a message saying i wont be coming home id rather be alone she doesnt fully understand me that id rather leave than to cheat if she give me some time i can be the man she needs but theres a lot of lust inside of me and weve been together since our teenage years i really dont mean to hurt her but i need some time to be alonebut when you love someone you just dont treat them bad oh how i feel so sad now that i want to leave shes crying her heart to me how could you let this be i just need time to see where i want to be where i want to besweet little dodeedodee i dont mean to hurt you baby oh no never did i imagine that you would play a major part in a decision thats so hard do i leave do i stay do i go i think about my life and what matters to me the most girl the love that we share is real but in time your heart will heal im not saying im gone but i have to find what life is like without youbut when you love someone you just dont treat them bad oh how i feel so sad now that i want to leave shes crying her heart to me how could you let this be i just need time to see where i want to be where i want to besweet little dodeedodee i dont mean to hurt you babysee when you love someone you just dont treat them bad oh how i feel so sad now that i want to leave shes crying her heart to me how could you let this be i just need time to see where i want to besee when you love someone you just dont treat them bad oh how i feel so sad now that i want to leave shes crying her heart to me how could you let this be i just need time to see where i want to besee when you love someone you just dont treat them bad oh how i feel so sad now that i want to leave shes crying her heart to me how could you let this be i just need time to see where i want to bewhere i want to beim sorry baby ",1
82,"how do you like me now","toby keith",2000," i was always the crazy one i broke into the stadium and i wrote your number on the 50 yard line you were always the perfect one and the valedictorian so under your number i wrote call for a good timei only wanted to get your attention but you overlooked me somehow besides you had too many boyfriends to mention and i played my guitar too loudhow do you like me now how do you like me now now that im on my way do you still think im crazy standin here today i couldnt make you love me but i always dreamed about living in your radio how do you like me nowwhen i took off to tennessee i heard that you made fun of me never imagined id make it this far then you married into money girl aint it a cruel and funny world he took your dreams and he tore them aparthe never comes home and youre always alone and your kids hear you cryin down the hall alarm clock starts ringin who could that be singin its me baby with your wake up callhow do you like me now how do you like me now now that im on my way do you still think im crazy standin here today i couldnt make you love me but i always dreamed about living in your radio how do you like me nowhow do you like me now now that im on my way do you still think im crazy standin here today i couldnt make you love me but i always dreamed about living in your radio how do you like me nowtell me baby i will preach on ",1
83,"my best friend","tim mcgraw",2000," i never had no one that i could count on ive been let down so many times i was tired of hurtin so tired of searchin til you walked into my lifeit was a feelin id never known and for the first time i didnt feel aloneyoure more than a lover there could never be another to make me feel the way you do oh we just get closer i fall in love all over every time i look at youi dont know where id be without you here with me life with you makes perfect sense youre my best friend youre my best friend oh yeahyou stand by me and you believe in me like nobody ever has when my world goes crazy youre right there to save me you make me see how much i haveand i still tremble when we touch and oh the look in your eyes when we make loveyoure more than a lover there could never be another to make me feel the way you do oh we just get closer i fall in love all over every time i look at youand i dont know where id be without you here with me life with you makes perfect sense youre my best friend youre my best friendyoure more than a lover there could never be another to make me feel the way you do oh we just get closer i fall in love all over every time i look at youand i dont know where id be without you here with me life with you makes perfect sense youre my best friend youre my best friend oh yeah youre my best friend youre my best friend ",1
84,"broadway","goo goo dolls",2000," broadway is dark tonight a little bit weaker than you used to be broadway is dark tonightsee the young man sittin in the old mans bar waitin for his turn to diethe cowboy kills the rock star and friday nights gone too far the dim light hides the years on all the faded girlsforgotten but not gone you drink it of your mind you talk about the world like its someplace that youve beenyou see youd love to run home but you know you aint got one cause youre livin in a world that youre best forgotten around herebroadway is dark tonight a little bit weaker than you used to be broadway is dark tonightsee the young man sittin in the old mans bar waitin for his turn to dieyou choke down all your anger forget your only son you pray to statues when youre sober up for funyour anger dont impress me the world slapped in your face it always rains like hell on the losers day paradeyou see youd love to run home but you know you aint got one cause youre livin in a world that youre best forgottenwhen youre thinkin of a joke and nobodys gonna listen to one small point i know they been missin round herebroadway is dark tonight a little bit weaker than you used to be broadway is dark tonightsee the young man sittin in the old mans bar waitin for his turn to dieyou see youd love to run home but you know you aint got one cause youre livin in a world that youre best forgottenwhen youre thinkin of a joke do you think that theyll listen to the one small point i know they been missin round here round herebroadway is dark tonight a little bit weaker than you used to be broadway is dark tonightsee the young man sittin in the old mans bar waitin for his turn to die ",1
85,"whatchu like","da brat featuring tyrese",2000," oh look out oh uh come on whatchu like a whole lot of whut tyrese yeah whatchu like me on a whut whatcha like whatcha like whatchu like can you tell me baby why how all night long all night longi like em brown yellow puerto rican or haitian with good conversation plenty big faces its a must i stay luxurious jewelry cut precision like i bust been winnin since funkdafied blew up its evident shit i cant be touched niggas say im too much i trust its true why lie see for yourself when i slide through drive by your bitch say dont look you do shine so bright in the wet u2 you wish boo boo could ride with you tonight aint nothing in the world that brat cant do she attractive to them him her and you shit frostbit december unrestricted drop dead the cost is priceless due to the content i suggest youll like thiswhat do you like a whole lot of foreplay right before you get it started what do you like me on top you on the bottom tight body what do you like somebody that can make you say wow know how to all night long all night long tell mewhassup the setting a hotass club and you still be sweating me i dont see nothing wrong with giving a little love but nigga just let me breathe damn you cute as hell so lets switch the digits then i got to leave and you can buy me a couple of drinks but ima go socialize and smoke my weed and i like it when you keep your eyes on me and i like it when you touch my privacy and i like it sex and ecstasy when the belt buckle loosen up undress me already juiced up that come naturally wax on and off so romantically no woman can slow dance or throw down like i can ask if you curious to know what i like manwhat do you like a whole lot of foreplay right before you get it started what do you like me on top you on the bottom tight body what do you like somebody that can make you say wow oh wow all night long all night long tell me let me tell you somethingwell i start at the top of the list with my pretty eyes a cute nose and these fat ass lips my medallion sit in the middle of my tits its hit after hit shit sweet every sip down to the last drip drop watch the hips rock color me bad tick tock you dont stop till the thick thighs dick rise when i skip by i aint surprised im whatchu like niggawhat do you like a whole lot of foreplay right before you get it started what do you like me on top you on the bottom tight body what do you like somebody that can make you say wow oh wow all night long all night long tell mewhat do you like a whole lot of foreplay right before you get it started what do you like me on top you on the bottom tight body what do you like somebody that can make you say wow oh wow all night long all night long tell mewhat do you like a whole lot of foreplay right before you get it started what do you like me on top you on the bottom tight body what do you like somebody that can make you say wow oh wow all night long all night long tell me ",1
86,"dont think im not","kandi",2000," now i dont have to question where you were last night cause i already know what you will say i already know youll liebut i cant be mad at ya cause theres something that you dont know that when youre gone i do my own thing and i catch a bone while youre dogging mewhen youre out in the club dont think im not even when youre out making love dont think im not when youre feeling good in somebodys spot getting hot dont stop just dont think im not cause im out getting minewhen youre out in the club dont think im not even when youre out making love dont think im not when youre feeling good in somebodys spot getting hot dont stop just dont think im not cause im out getting minewhen i try to get your attention you ignore me everytime you were so caught up doing your dirt that you didnt notice minewell i couldnt put up with your scheming and i couldnt put up with your lies they say two wrongs wont make it right but its suiting me just finewhen youre out in the club dont think im not even when youre out making love dont think im not when youre feeling good in somebodys spot getting hot dont stop just dont think im not cause im out getting minewhen youre out in the club dont think im not even when youre out making love dont think im not when youre feeling good in somebodys spot getting hot dont stop just dont think im not cause im out getting minedont be surprised to know that sometimes women play the field you may not believe it but its real the game is so real so real so real oh dont think we wont do it when youre out in the clubwhen youre out in the club dont think im not even when youre out making love dont think im not when youre feeling good in somebodys spot getting hot dont stop just dont think im not cause im out getting minewhen youre out in the club dont think im not even when youre out making love dont think im not when youre feeling good in somebodys spot getting hot dont stop just dont think im not cause im out getting minewhen youre out in the club dont think im not even when youre out making love dont think im not when youre feeling good in somebodys spot getting hot dont stop just dont think im not cause im out getting minewhen youre out in the club dont think im not even when youre out making love dont think im not when youre feeling good in somebodys spot getting hot dont stop just dont think im not cause im out getting mine ",1
87,"i hope you dance","lee ann womack",2000," i hope you never lose your sense of wonder you get your fill to eat but always keep that hunger may you never take one single breath for granted god forbid love ever leave you empty handed i hope you still feel small when you stand beside the ocean whenever one door closes i hope one more opens promise me that youll give faith a fighting chance and when you get the choice to sit it out or dancei hope you dance i hope you dancei hope you never fear those mountains in the distance never settle for the path of least resistance livin might mean takin chances but theyre worth takin lovin might be a mistake but its worth makin dont let some hellbent heart leave you bitter when you come close to sellin out reconsider give the heavens above more than just a passing glance and when you get the choice to sit it out or dancei hope you dance time is a wheel in constant motion always rolling us along i hope you dancei hope you dance tell me who wants to look back on their years and wonder i hope you dance where those years have gonei hope you still feel small when you stand beside the ocean whenever one door closes i hope one more opens promise me that youll give faith a fighting chance and when you get the choice to sit it out or dancedancei hope you dance i hope you dance time is a wheel in constant motion always rolling us along i hope you dance tell me who wants to look back on their years and wonder ",1
88,"better off alone","alice deejay",2000," do you think youre better off alone do you think youre better off alone do you think youre better off alone do you think youre better off alonetalk to me ooooooh talk to me talk to me ooooooh talk to me ",1
89,"dance with me","debelah morgan",2000," oh come and dance with me my baby lets dance till we go crazy the night is young and so are we lets make love and dance the night awaywhat i really want to do is just dance with you and feel your body tight show ya how to do it right i can show you every move i know just what to do each step we do is refine one dance and youll be mineso baby when we hit the floor youll be asking for more lets make love and dance the night awayoh come and dance with me my baby lets dance do it go crazy the night is young and so are we lets make love and dance the night awayoh put your hand in mine promise ill take my time well dance from head to toe i can dance fast or slow baby look into my eyes let the music hypnotize let our bodies synchronize when were dancing youll be mineso baby when we hit the floor youll be asking for more lets make love and dance the night awayoh come and dance with me my baby lets dance do it go crazy the night is young and so are we lets make love and dance the night awayoh when it comes to dancing i know how to move when it comes to passion i know just what to do i feel the music inside i feel like i am alive pretend i was right lets make loveoh come and dance with me my baby lets dance do it go crazy the night is young and so are we lets make love and dance the night awayoh come and dance lets dance the night lets make love and dance the night awayoh come and dance with me my baby lets dance do it go crazy the night is young and so are we lets make love and dance the night away ",1
90,"what about now","lonestar",2000," the sign in the window said for sale or trade on the last remaining dinosaur detroit made seven hundred dollars was a heck of a deal for a four hundred horsepower jukebox on wheelsand that road rolls out like a welcome mat i dont know where it goes but it beats where were at we always said someday somehow we were gonna get away gonna blow this townwhat about now how bout tonight baby for once lets dont think twice lets take that spin that never ends that weve been talking aboutwhat about now why should we wait we can chase these dreams down the interstate and be long gone fore the world moves on and makes another round what about nowweve been puttin this off baby long enough just give me the word and well be kickin up dust we both know its just a matter of time til our hearts start racin for that county linewhat about now how bout tonight baby for once lets dont think twice lets take that spin that never ends that weve been talking aboutwhat about now why should we wait we can chase these dreams down the interstate and be long gone fore the world moves on and makes another round what about nowwe could hang around this town forever making plans but there wont ever be a better time to take this chancewhat about now how bout tonight baby for once lets dont think twice lets take that spin that never ends that weve been talking aboutwhat about now why should we wait we can chase these dreams down the interstate and be long gone fore the world moves on and makes another round what about now yeahwhat about now ",1
91,"i like it","sammie",2000," yeah girl i wish that i could spend time with you each and everyday playin on my love emotions thats the things that got me open and i dont know what it takes to let you know youre my girl to let you know youre my baby and even when they say we wont stay around if they only knew that we were meant to be together forever and ever whatever theres no better than me and you girl thats why i write you love letters sayini like the way you look at me i like the time we spend baby i like what we have grown to be i like it girl dont you know i like it i like the way you look at me i like the time we spend baby i like what we have grown to be i like it girl dont you know i like itsometimes i wanna be the one you be checkin for can i get a second for me and you to be alone tell me if you think its wrong love is nothin but the time it takes to say im on your mind let me tell you im always there oh yeahlets get alittle time away go to the movies on a saturday meet me at the finish line so i can tell you one more time girl you know im not scared to let you see thati like the way you look at me i like the time we spend baby i like what we have grown to be i like it girl dont you know i like it i like the way you look at me i like the time we spend baby i like what we have grown to be i like it girl dont you know i like itwhen i think of you i think of all the things we could do and i never wanna let you go and as long as i can let you know i hope we stay down foreveri like baby baby baby baby i like baby baby baby baby i like baby baby baby baby i like it girl dont you know i like iti like the way you look at me i like the time we spend baby i like what we have grown to be i like it girl dont you know i like it i like the way you look at me i like the time we spend baby i like what we have grown to be i like it girl dont you know i like iti like baby baby baby baby i like baby baby baby baby i like baby baby baby baby i like it girl dont you know i like it ",1
92,"247","kevon edmonds",2000," baby its no mystery youre bringing out the best in me and though ive been in love before ive never had the kind of love that made me feel securei never thought that give and take mentality was right for me you made me open up and see that its for real and theres no other place id rather bethink about you all the time 247 babe the love i have inside for you is more than any words can say thanking god on bended knee well always be together babe you and meif theres a high or low anything can be babe ill be there for you to pick you up off your feet yeah thanking god on bended knee well always be together babe you and mewhen im in my nine to five a smile went across my lips when i daydream about the night before i count the minutes till im in your arms once moremy friends still dont understand no in me they see a brand new man i give you props and tell them that my shortys bout it she personifies the love she givesthink about you all the time 247 babe the love i have inside for you is more than any words can say thanking god on bended knee well always be together babe you and meif theres a high or low anything can be babe ill be there for you to pick you up off your feet yeah thanking god on bended knee well always be together babe you and meoh how ive waited for this moment in my life if its you that i adore baby with you am i secure my life is in your hands and now i understand what it means to be in love again never gonna let you go oh nothink about you all the time 247 babe the love i have inside for you is more than any words can say thanking god on bended knee well always be together babe you and meif theres a high or low anything can be babe ill be there for you to pick you up off your feet yeah thanking god on bended knee well always be together babe you and methink about you all the time think about you all the time the love i have inside for you is more than any words can say thanking god on bended knee oh well always be together babe you and meif theres a high or low anything can be babe ill be there for you to pick you up off your feet yeah thanking god on bended knee well always be together babe you and methink about you all the time 247 babe the love i have inside for you is more than any words can say thanking god on bended knee well always be together babe you and meif theres a high or low anything can be babe ",1
93,"girl on tv","lfo",2000," ooh yeah yeah im wishin on a fallin star wonderin where you are i wishwish for you on a falling star wondering where you are do i ever cross your mind in the warm sunshine shes from the city of angels like betty davis james dean and gable never know what she means to me i fell for the girl thats on tvmet her at a counter affair she wore a green dress and everybody was there felt out of place till she looked into my eyesshook your hand around 9 pm and im never gonna be the same again never had to be on a movie screen to be the leading lady in all my dreamsshoobydoowop and scobby snacks met a fly girl and i cant relax the only problem is shes a movie star oh my friends they wont believe me if they could only see me at the risk of soundin cheesy i think i fell for the girl on tvwish for you on a falling star wondering where you are do i ever cross your mind in the warm sunshine shes from the city of angels like betty davis james dean and gable never know what she means to me i fell for the girl thats on tveverybody knows her name i wanna take a picture and theyre glad she came but i just wanna be there when shes down down be there when shes downi dont want her autograph i just wanna call her up and make her laugh never had to be on a movie screen to be the leading lady in all my dreamsshooby doowap and scooby snacks i met a fly girl and i cant relax the only problem is shes a movie star oh my friends they wont believe me if they could only see me at the risk of soundin cheezy i think i fell for the girl on tvwish for you on a falling star wondering where you are do i ever cross your mind in the warm sunshine shes from the city of angels like betty davis james dean and gable never know what she means to me i fell for the girl thats on tvwish for you on a falling star im wishing on a star and im wonderin where you are wondering where you are do i cross your mind in the warm sunshineyeah so i wish for you on a bright shining star every where i look there you are there you are its the girl in the green dress she took my breath away and now i look to the sky for a better dayto the beach shore and scooby snacks i met a fly girl and i cant relax never had to be on a movie screen cause shes the leading lady in all my dreams come onwish you on a falling star wondering where you are do i ever cross your mind in the warm sunshine shes from the city of angels like betty davis james dean and gable never know what she means to me i fell for the girl thats on tvwish for you on a fallin star wonderin where you are do i ever cross your mind in the warm sunshine shes from the city of angels like betty davis james dean and gable never know what she means to me i fell for the girl thats on tvon tv i wishin i wishin away ",1
94,"bounce with me","lil bow wow featuring xscape",2000," see around here i make things that make yall bounce ya know ya know what i mean left to right right to left its so so def and uh its goin down ya know what i mean my man bow wow bow wow yeah hear me now yeah ya heard lets go lets go lets goaround here we pop them collars around here we get them dollars every girl i see that look right a nigga like me just gotta holla this kid here all about stackin up got big head but we can back it up long cause everybody get crunk when we drop in the club starts acting up i represent the s o s o d e f m o b thats me j d da brat and j e so please believe what i do aint never been done ohio is where im from i heard what you said and i saw what you do and yall playas really dont want none from the day to the night i rock say what you like never not stayin alive living the life gots to keep it hot shotgun in the drop riding good twenties tvs leather and wood poppin watching big momma holdin it down like a playa should sing a long nowall i wanna do is see ya bounce with me bounce with me grab a partner hit the floor bounce with me bounce with me some clap clap others stomp but around here we get it crunk when ya bounce with me bounce with me all i wanna do is see ya bounce with me bounce with me grab a partner hit the floor bounce with me bounce with me some clap clap others stomp but around here we get it crunk when ya bounce with me bounce with meits the b to the o w wow even your girl fall in love when i smile the tight little guy you aint seen in a while ignore the hype just right for you size i get in where i fit in braided up made the bucks and im still a kid imagine what life like when i get big im ma be rich surrounded by chicks couple of cars couple of cribs gettin a couple of mills shining every time i feel you see how so so get ill you dont want no stuff up in here bow to the wow in your ear now i get down cause im hit bound and i rock an iced out mickey mouse around my neck and i hang on niggas like vince carter with my arm in the net and i outta snatch up your daughters but i was brought up with respect when i turn sixteen im ma call her though and show her how to ride with a baller yo let her know why it wouldnt hurt her to fall in love with a nigga like me along time ago sing a long nowall i wanna do is see ya bounce with me bounce with me grab a partner hit the floor bounce with me bounce with me some clap clap others stomp but around here we get it crunk when ya bounce with me bounce with me all i wanna do is see ya bounce with me bounce with me grab a partner hit the floor bounce with me bounce with me some clap clap others stomp but around here we get it crunk when ya bounce with me bounce with mei i i wanna see you bounce with me now take take take it down to the ground with me now shake shake shake it all around the town with me now whatcha gon do shorty whatcha gon do ",1
95,"cowboy take me away","dixie chicks",2000," i said i wanna touch the earth i wanna break it in my hands i wanna grow something wild and unruly i wanna sleep on the hard ground in the comfort of your arms on a pillow of blue bonnets in a blanket made of stars oh it sounds good to mei said cowboy take me away fly this girl as high as you can into the wild blue set me free oh i pray closer to heaven above and closer to you closer to youi wanna walk and not run i wanna skip and not fall i wanna look at the horizon and not see a building standing tall i wanna be the only one for miles and miles except for maybe you and your simple smile oh it sounds good to me yes it sounds so good to mecowboy take me away fly this girl as high as you can into the wild blue set me free oh i pray closer to heaven above and closer to you closer to youi said i wanna touch the earth i wanna break it in my hands i wanna grow something wild and unruly oh it sounds so good to mecowboy take me away fly this girl as high as you can into the wild blue set me free oh i pray closer to heaven above and closer to you closer to you closer to you cowboy take me away closer to you ",1
96,"i dont wanna","aaliyah",2000," yeah mmm hmm whoa ooh yeahi dont wanna be be without you be without you i dont wanna live live without you live without you i dont wanna go go without you go without you i dont wanna be alonewhen we hooked up we sat down made an agreement we vowed that that wed always be together through whatever we said that no one would ever get between ussaid that love would never leave us that was a while ago but now lately it feels like i mean i feel like all we do is fight every single nightcant make it tight cant get it right i just wanna go back take it way back all the way back can we start again do it over can we straighten it out can we work it out causei dont wanna be be without you be without you i dont wanna live live without you live without you i dont wanna go go without you go without you i dont wanna be alonei dont wanna be be without you be without you i dont wanna live live without you live without you i dont wanna go go without you go without you i dont wanna be alonei cant sleep without you think without you eat without you speak without you be without you i cant even breathe without you i cant do without you deal without you spend without youmy whole world is upside down dont wanna go out cause i cant ride without you feelin like im gonna die without you what is a girl supposed to do when i spend my last dime bein your line i dont wanna be without youi dont wanna be be without you be without you i dont wanna live live without you live without you i dont wanna go go without you go without you i dont wanna be alonei dont wanna be be without you be without you i dont wanna live live without you live without you i dont wanna go go without you go without you i dont wanna be alonehow can this be that its not workin out that its not workin out we vowed to be always together babe its hurting me that we dont talk no more its not supposed to be this way where did we go wrong we both made mistakes but gotta carry oni dont wanna be be without you be without you i dont wanna live live without you live without you i dont wanna go go without you go without you i dont wanna be alonedont wanna live no no ",1
97,"independent women","destinys child",2000," lucy liu with my girl drew cameron d and destiny charlies angels come onquestion tell me what you think about me i buy my own diamonds and i buy my own rings only ring your celly when im feelin lonely when its all over please get up and leavequestion tell me how you feel about this try to control me boy you get dismissed pay my own fun oh and i pay my own bills always 5050 in relationshipsthe shoe on my feet ive bought it the clothes im wearing ive bought it the rock im rockin ive bought it cause i depend on meif i wanted the watch youre wearin ill buy it the house i live in ive bought it the car im driving ive bought it i depend on me i depend on meall the women who are independent throw your hands up at me all the honeys who makin money throw your hands up at meall the mommas who profit dollas throw your hands up at me all the ladies who truly feel me throw your hands up at megirl i didnt know you could get down like that charlie how your angels get down like that girl i didnt know you could get down like that charlie how your angels get down like thattell me how you feel about this who would i want if i would wanna live i worked hard and sacrificed to get what i get ladies it aint easy bein independentquestion howd you like this knowledge that i brought braggin on that cash that he gave you is to front if youre gonna brag make sure its your money you flaunt depend on no one else to give you what you wantthe shoe on my feet ive bought it the clothes im wearing ive bought it the rock im rockin ive bought it cause i depend on meif i wanted the watch youre wearin ill buy it the house i live in ive bought it the car im driving ive bought it i depend on me i depend on meall the women who are independent throw your hands up at me all the honeys who makin money throw your hands up at meall the mommas who profit dollas throw your hands up at me all the ladies who truly feel me throw your hands up at megirl i didnt know you could get down like that charlie how your angels get down like that girl i didnt know you could get down like that charlie how your angels get down like thatdestinys child wassup you in the house sure nuff well break these people off angel stylechild of destiny independent beauty no one else can scare me charlies angelsall the women who are independent throw your hands up at me all the honeys who makin money throw your hands up at meall the mommas who profit dollas throw your hands up at me all the ladies who truly feel me throw your hands up at megirl i didnt know you could get down like that charlie how your angels get down like that girl i didnt know you could get down like that charlie how your angels get down like thatgirl i didnt know you could get down like that charlie how your angels get down like that girl i didnt know you could get down like that ",1
98,"gotta tell you","samantha mumba",2000," yeah yeah yeah yeah yeahyour love for me came as a waterfall flowin inside me like never before your love for me somethin i didnt see but baby i know better nowwhen you walked in the room that very night a special feelin just burst inside there was only you nobody else but baby i know better nowdont want to love you if you dont love me dont want to need you when you wont need me too dont want to tell you this now but it wouldnt be right if i didnt tell you this tonightyeah yeah yeah yeah yeahand now youre back inside my house again im tryin deeper to explain cause baby i want to get it on and baby youre the one for mebut now that i have got you all alone after all this talkin on the phone i should be strong theres nothing wrong ill tell you this is where you belong where you belongdont want to love you if you dont love me dont want to need you when you wont need me too dont want to tell you this now but it wouldnt be right if i didnt tell you this tonightdont want to love you if you dont love me dont want to need you when you wont need me too dont want to tell you this now but it wouldnt be right if i didnt tell you this tonightit was just something in your eyes that made me realize but now i hear voices deep inside tellin me tellin me its youdont want to love you if you dont love me dont want to need you when you wont need me too dont want to tell you this now but it wouldnt be right if i didnt tell you this tonightdont want to love you if you dont love me dont want to need you when you wont need me too dont want to tell you this now but it wouldnt be right if i didnt tell you this tonight ",1
99,"waiting for tonight","jennifer lopez",2000," like a movie scene in the sweetest dreams i have pictured us together now to fell your lips on my finger tips i have to say is even better than i ever thought it could possibly be its perfect its passion its setting me free from all of my sadness the tears that ive cried i have spent all my lifewaiting for tonight oh when you would be here in my arms waiting for tonight oh ive dreamed of this love for so long waiting for tonighttender words you say take my breath away love me now and leave me never found a sacred place lost in your embrace i want to stay in this forever i think of the days when the sun used to set on my empty heart all alone in my bed tossing and turning emotions were strong i knew i had to hold onwaiting for tonight oh when you would be here in my arms waiting for tonight oh ive dreamed of this love for so longwaiting for tonight oh when you would be here in my arms waiting for tonight oh ive dreamed of this love for so long waiting for tonightgone are the days when the sun used to set on my empty heart all alone in my bed tossing and turning emotions were strong i knew i had to hold onwaiting for tonight oh when you would be here in my arms waiting for tonight oh ive dreamed of this love for so longwaiting for tonight oh when you would be here in my arms waiting for tonight oh ive dreamed of this love for so longwaiting for tonight oh when you would be here in my arms waiting for tonight oh ive dreamed of this love for so long waiting for tonight oh ",1
100,"shackles praise you","mary mary",2000," recite sure is hot out here no i dont mind no just glad to be free know what im sayinchorus take the shackles off my feet so i can dance i just wanna praise you i just wanna praise you you broke the chains now i can lift my hands and im gonna praise you im gonna praise praise youin the corners of my mind i just cant seem to find a reason to believe that i can break free cause you see i have been bound for so long felt like all hope was gone but as i lift my hands i understand that i should praise you through my circumstancechorus take the shackles off my feet so i can dance i just wanna praise you i just wanna praise you you broke the chains now i can lift my hands and im gonna praise you im gonna praise praise youeverything that could go wrong all went wrong at one time so much pressure fell on me i thought i was gonna lose my mind lord i know you wanna see if i will hold on through these trials but i need you to lift this load cause i cant take it no morechorus take the shackles off my feet so i can dance i just wanna praise you i just wanna praise you you broke the chains now i can lift my hands and im gonna praise you im gonna praise praise youbeen through the fire and the rain bound in every kind of way but god has broken every chain so let me go right nowchorus x3 take the shackles off my feet so i can dance i just wanna praise you i just wanna praise you you broke the chains now i can lift my hands and im gonna praise you im gonna praise praise you ",1
1,"hanging by a moment","lifehouse",2001," im desperate for changing starving for truth im closer to where i started chasing after youim falling even more in love with you letting go of all ive held onto im standing here until you make me move im hanging by a moment here with youforgetting all im lacking completely incomplete ill take your invitation you take all of menow im falling even more in love with you letting go of all ive held onto im standing here until you make me move im hanging by a moment here with youim livin for the only thing i know im running here and im not quite sure where to go and down i know id like to be in tune just hanging by a moment here with youtheres nothing else to lose theres nothing left to fly there is nothing in the world that can change my mind there is nothing else there is nothing else there is nothing elseim desperate for changing starving for truth im closer where i started im chasing after youim falling even more in love with you letting go of all ive held onto im standing here until you make me move im hanging by a moment here with youim livin for the only thing i know im running here and im not quite sure where to go and down i know id like to be in tune just hanging by a moment here with youjust hanging by a moment hanging by a moment hanging by a moment hanging by a moment here with you ",1
2,"fallin","alicia keys",2001," i keep on fallin in and out of love with you sometimes i love ya sometimes you make me blue sometimes i feel good at times i feel used lovin you darlin makes me so confusedi keep on fallin in and out of love with you i never loved someone the way that i love youoh oh i never felt this way how do you give me so much pleasure and cause me so much pain just when i think ive taken more than would a fool i start fallin back in love with youi keep on fallin in and out of love with you i never loved someone the way that i love youoh baby i i i im fallin i i i im fallin falli keep on fallin in and out of love with you i never loved someone the way that i love youim fallin in and out of love with you i never loved someone the way that i love youim fallin in and out of love with you i never loved someone the way that i love youwhat ",1
3,"all for you","janet",2001,"all my girls at the party look at that body shakin that thing like you never did see got a nice package alright cause im gonna have to ride it tonight all my girls at the party look at that body shakin that thing like you never did see got a nice package alright edit four three two one its all for you if you really want it its all for you if you say you need it its all for you if you gotta have it its all for you if you make a move its all for you i see you staring out the corner of my eye you seem uneasy want to approach me throw me a line but then somethin inside you grabs you says who am i i know exactly cause it happens with all the guys so you so what you gonna do come on and talk to me promise you wont even have an attitude ill let you sit right next to me dont join the list with the other fools that aint the way to be yes its cool yes im in the mood intimidations got that mind its all for you if you really want it its all for you if you say you need it its all for you if you gotta have it its all for you if you make a move its all for you its all for you tell me youre the only one its all for you soon well be having fun all for you come over here and get some its all for you if you make a move its all for you cant be afraid or keep me waiting for too long before you know it ill be outta here ill be gone dont try to be all clever cute or even sly dont have to work that hard just be yourself and let that be your guide so you so what you gonna do so come on and talk me by promise you wont even have an attitude ill even let you sit right next to me dont join the list with all the other fools that aint the way to be yes its cool yes im in the mood intimidations every time its all for you if you really want it its all for you if you say you need it its all for you if you gotta have it its all for you if you make a move its all for you its all for you tell me youre the only one its all for you soon well be having fun all for you come over here and get some its all for you if you make a move its all for you all my girls at the party look at that body shakin that thing like you never did see got a nice package alright cause im gonna have to ride it tonight all my girls at the party look at that body shakin that thing like you never did see got a nice package alright cause im gonna have to ride it tonight its all for you if you really want it its all for you if you say you need it its all for you if you gotta have it its all for you if you make a move its all for you all my girls at the party look at that body shakin that thing like you never did see got a nice package alright cause im gonna have to ride it tonight all my girls at the party look at that body shakin that thing like you never did see got a nice package alright cause im gonna have to ride it tonight tell me youre the only one soon youll be having fun come over here and get some soon well be having fun soon youll be having fun soon well be having fun soon youll be having fun soon youll be having fun soon youll be having fun soon well be having fun soon youll be having fun soon well be having fun soon youll be having fun soon well be having fun soon youll be having fun soon well be having fun soon youll be having fun soon well be having fun cause im gonna have to ride cause im gonna have to ride it tonight cause im gonna have to ride cause im gonna have to ride cause im gonna have to ride it tonight cause im gonna have to ride",3
4,"drops of jupiter tell me","train",2001," now that shes back in the atmosphere with drops of jupiter in her hair hey she acts like summer and walks like rain reminds me that theres a time to change hey since the return from her stay on the moon she listens like spring and she talks like june hey heybut tell me did you sail across the sun did you make it to the milky way to see the lights all faded and that heaven is overratedtell me did you fall for a shooting star one without a permanent scar and then you missed me while you were looking for yourself out therenow that shes back from that soul vacation tracing her way through the constellation hey she checks out mozart while she does taebo reminds me that theres room to grow heynow that shes back in the atmosphere im afraid that she might think of me as plain ol jane told a story about a man who was too afraid to fly so he never did landbut tell me did the wind sweep you off your feet did you finally get the chance to dance along the light of day and head back to the milky wayand tell me did venus blow your mind was it everything you wanted to find and then you missed me while you were looking for yourself out therecan you imagine no love pride deepfried chicken your best friend always sticking up for you even when i know youre wrongcan you imagine no first dance freezedried romance fivehour phone conversation the best soy latte that you ever had and mebut tell me did the wind sweep you off your feet did you finally get the chance to dance along the light of day and head back toward the milky waybut tell me did you sail across the sun did you make it to the milky way to see the lights all faded and that heaven is overratedand tell me did you fall for a shooting star one without a permanent scar and then you missed me while you were looking for yourselfand did you finally get the chance to dance along the light of day and did you fall for a shooting star fall for a shooting star and now youre lonely looking for yourself out there ",1
5,"im real","jennifer lopez featuring ja rule",2001," called you on the phone said im comin through hope your all alone cause i got plans for youwe could stay at home or dance and hang all night as long as im with you doesnt matter what we dodont ask me where ive been or what im gonna do just know that im here with you dont try understand baby theres no mystery cause you know how i amim real what you get is what you see what you tryin to do to me you want to say your mine be with me all the time youre falling so in love and you just cant get enough youre tellin all your friends shes a bad bad bitchyou like the way i dress the way i wear my hair show me off to all your friends and baby i dont care just as long as you tell them who i am tell them im the one who made you give a damndont ask me where ive been or what im gonna do just know that im here with you dont try understand baby theres no mystery cause you know how i amim real what you get is what you see what you tryin to do to me you want to say your mine be with me all the time youre falling so in love and you just cant get enough youre tellin all your friends shes a bad bad bitchim real what you get is what you see what you tryin to do to me you want to say your mine be with me all the time youre falling so in love and you just cant get enough youre tellin all your friends shes a bad bad bitchim real what you get is what you see what you tryin to do to me you want to say your mine be with me all the time youre falling so in love and you just cant get enough youre tellin all your friends shes a bad bad bitchim real what you get is what you see what you tryin to do to me you want to say your mine be with me all the time youre falling so in love and you just cant get enough youre tellin all your friends shes a bad bad bitchdont ask me where ive been or what im gonna do just know that im here with you dont try understand baby theres no mystery cause you know how i amim real what you get is what you see what you tryin to do to me you want to say your mine be with me all the time youre falling so in love and you just cant get enough youre tellin all your friends shes a bad bad bitchim real what you get is what you see what you tryin to do to me you want to say your mine be with me all the time youre falling so in love and you just cant get enough youre tellin all your friends shes a bad bad bitchim real what you get is what you see what you tryin to do to me you want to say your mine be with me all the time youre falling so in love and you just cant get enough youre tellin all your friends shes a bad bad bitch ",1
6,"if youre gone","matchbox twenty",2001," i think ive already lost you i think youre already gone i think im finally scared now you think im weak i think youre wrong i think youre already leaving feels like your hand is on the door i thought this place was an empire now im relaxed i cant be sureand i think youre so mean i think we should try i think i could need this in my life and i think im scared i think too much i know its wrong its a problem im dealingif youre gone maybe its time to come home theres an awful lot of breathing room but i can hardly move if youre gone baby you need to come home come home theres a little bit of something me in everything in youi bet youre hard to get over i bet the room just wont shine i bet my hands i can stay here and i bet you need  more than you mindand i think youre so mean i think we should try i think i could need this in my life i think im just scared that i know too much i cant relate and thats a problem im feelingif youre gone maybe its time to come home theres an awful lot of breathing room but i can hardly move if youre gone baby you need to come home come home theres a little bit of something me in everything in youi think youre so mean i think we should try i think i could need this in my life and i think im scared do i talk too much i know its wrong its a problem im dealingif youre gone maybe its time to come home theres an awful lot of breathing room but i can hardly move if youre gone hell baby you need to come home come home theres a little bit of something me in everything in you you something in me everything in you something in me in you ",1
7,"let me blow ya mind","eve featuring gwen stefani",2001," uh uh uh huh yo yodrop your glasses shake your asses face screwed up like you having hot flashes which one pick one this one classic red from blonde yeah bitch im drastic why this why that lips stop askin listen to me baby relax and start passin expressway hair back weavin through the traffic this one strong should be labeled as a hazard some of yall niggas hot sike im gassin clowns i spot em and i cant stop laughin easy come easy go ev gon be lastin jealousy let it go results could be tragic some of yall aint writin well too concerned with fashion none of you aint gizell cat walk and imagine alotta yall hollywood drama passed it cut bitch camera off real shit blast itand if i had to give you up its only been a year now i got my foot through the door and i aint goin nowhere it took awhile to get me in and im gonna take my time dont fight that good shit in your ear now let me blow ya mindthey wanna bank up crank up makes me dizzy shank up haters wanna come after me you aint a ganster prankster too much to eat snakes in my path wanna smile up at me now while you grittin your teeth frustration baby you gotta breathe take alot more that you to get rid of me you see i do what they cant do i just do me aint no stress when it comes to stage get what you see meet me in the lab pen and pad dont believe huh sixteens mine create my own lines love for my wordplay thats hard to find sophomore i aint scared one of a kind all i do is contemplate ways to make your fans mine eyes bloodshot stressin chills up your spine huh sick to your stomach wishin i wrote your linesand if i had to give you up its only been a year now i got my foot through the door and i aint goin nowhere it took awhile to get me in and im gonna take my time dont fight that good shit in your ear now let me blow ya mindlet your bones crack your back pop i cant stop excitement glock shots from your stash box fuck it thugged out i respect the cash route locked down blastin sets while i mash out yeah nigga mash out dre back track think back eve do you like that ooooh you got to i know you had you in a trance first glance from the floor too dont believe ill show you take you with me turn you on pension gone give you relief put your trust in a bomb when you listen to me dancin much get it all now im complete uh huh still stallion brick house pile it on ryde or die bitch double r cant crawl beware cause i crush anything i land on me here aint no mistake nigga it was planned onand if i had to give you up its only been a year now i got my foot through the door and i aint goin nowhere it took awhile to get me in and im gonna take my time dont fight that good shit in your ear now let me blow ya mind ",1
8,"thank you","dido",2001," my teas gone cold im wondering why i got out of bed at all the morning rain clouds up my window and i cant see at all and even if i could itd all be grey but your picture on my wall it reminds me that its not so bad its not so badi drank too much last night got bills to pay my head just feels in pain i missed the bus and therell be hell today im late for work again and even if im there theyll all imply that i might not last the day and then you call me and its not so bad its not so badand i want to thank you for giving me the best day of my life oh just to be with you is having the best day of my lifeoh ohpush the door im home at last and im soaking through and through then you handed me a towel and all i see is you and even if my house falls down now i wouldnt have a clue because youre near meand i want to thank you for giving me the best day of my life oh just to be with you is having the best day of my lifeand i want to thank you for giving me the best day of my life oh just to be with you is having the best day of my life ",1
9,"again","lenny kravitz",2001," ive been searching for you i heard a cry within my soul ive never had a yearning quite like this before know that you are walking right through my doorall of my life where have you been i wonder if ill ever see you again and if that day comes i know we could win i wonder if ill ever see you againa sacred gift of heaven for better worse wherever and i would never let somebody break you down until you cried neverall of my life where have you been i wonder if ill ever see you again and if that day comes i know we could win i wonder if ill ever see you againat every time ive always known that you where there upon your throne a lonely queen without her king i longed for you my love foreverall of my life where have you been i wonder if ill ever see you again and if that day comes i know we could win i wonder if ill ever see you againall of my life where have you been i wonder if ill ever see you again and if that day comes i know we could win i wonder if ill ever see you againall of my life where have you been i wonder if ill ever see you again and if that day comes i know we could win i wonder if ill ever see you againi wonder if ill ever see you again i wonder if ill ever see you again i wonder if ill ever see you again i wonder if ill ever see you again i wonder if ill ever see you again i wonder if ill ever see you again i wonder if ill ever see you again ",1
10,"independent women","destinys child",2001," lucy liu with my girl drew cameron d and destiny charlies angels come onquestion tell me what you think about me i buy my own diamonds and i buy my own rings only ring your celly when im feelin lonely when its all over please get up and leavequestion tell me how you feel about this try to control me boy you get dismissed pay my own fun oh and i pay my own bills always 5050 in relationshipsthe shoe on my feet ive bought it the clothes im wearing ive bought it the rock im rockin ive bought it cause i depend on meif i wanted the watch youre wearin ill buy it the house i live in ive bought it the car im driving ive bought it i depend on me i depend on meall the women who are independent throw your hands up at me all the honeys who makin money throw your hands up at meall the mommas who profit dollas throw your hands up at me all the ladies who truly feel me throw your hands up at megirl i didnt know you could get down like that charlie how your angels get down like that girl i didnt know you could get down like that charlie how your angels get down like thattell me how you feel about this who would i want if i would wanna live i worked hard and sacrificed to get what i get ladies it aint easy bein independentquestion howd you like this knowledge that i brought braggin on that cash that he gave you is to front if youre gonna brag make sure its your money you flaunt depend on no one else to give you what you wantthe shoe on my feet ive bought it the clothes im wearing ive bought it the rock im rockin ive bought it cause i depend on meif i wanted the watch youre wearin ill buy it the house i live in ive bought it the car im driving ive bought it i depend on me i depend on meall the women who are independent throw your hands up at me all the honeys who makin money throw your hands up at meall the mommas who profit dollas throw your hands up at me all the ladies who truly feel me throw your hands up at megirl i didnt know you could get down like that charlie how your angels get down like that girl i didnt know you could get down like that charlie how your angels get down like thatdestinys child wassup you in the house sure nuff well break these people off angel stylechild of destiny independent beauty no one else can scare me charlies angelsall the women who are independent throw your hands up at me all the honeys who makin money throw your hands up at meall the mommas who profit dollas throw your hands up at me all the ladies who truly feel me throw your hands up at megirl i didnt know you could get down like that charlie how your angels get down like that girl i didnt know you could get down like that charlie how your angels get down like thatgirl i didnt know you could get down like that charlie how your angels get down like that girl i didnt know you could get down like that ",1
11,"hit em up style oops","blu cantrell",2001,"while he was scheming i was beamin in the beamer just beamin cant believe that i caught my man cheatin so i found another way to make him pay for it all so i went to neimanmarcus on a shopping spree and on the way i grabbed soley and mia and as the cash box rang i thought everything away oops there goes the dreams we used to say oops there goes the time we spent away oops there goes the love i had but you cheated on me and thats worth that now oops there goes the house we made a home oops there goes youll never leave me alone for all the lies you told this is what you owe hey ladies when your man wanna get buckwild just go back and hit em up style put your hands on his cash and spend it to the last dime for all the hard times oh when you go then everything goes from the crib to the ride and the clothes so you better let him know that if he messed up you gotta hit em up while he was braggin i was coming down the hill and just draggin all his pictures and his clothes in the bag and sold everything else till there was just nothin left and i paid all the bills about a month too late its a shame we have to play these games the love we had just fades away away oops there goes the dreams we used to say oops there goes the time we spent away oops there goes the love i had but you cheated on me and thats worth that now oops there goes the house we made a home oops there goes youll never leave me alone for all the lies you told this is what you owe hey ladies when your man wanna get buckwild just go back and hit em up style put your hands on his cash and spend it to the last dime for all the hard times oh when you go then everything goes from the crib to the ride and the clothes so you better let him know that if he messed up you gotta hit em up unverified all of the dreams you sold left me out in the cold what happened to the days when we used to trust each other and all of the things i sold will take you until you get old to get em back without me cuz it might be better then money or sex hey ladies when your man wanna get buckwild just go back and hit em up style put your hands on his cash and spend it to the last dime for all the hard times oh when you go then everything goes from the crib to the ride and the clothes so you better let him know that if he messed up you gotta hit em up",3
12,"it wasnt me","shaggy featuring rikrok",2001," honey came in and she caught me redhanded creeping with the girl next door picture this we were both butt naked banging on the bathroom floor how could i forget that i had given her an extra key all this time she was standing there she never took her eyes off mehow you can grant the woman access to your villa trespasser and a witness while you cling to your pillow you better watch your back before she turn into a killer best for you and the situation not to call the beaner to be a true player you have to know how to play if she say a night convince her say a day never admit to a word when she say and if she claims and you tell her baby no waybut she caught me on the counter it wasnt me saw me bangin on the sofa it wasnt me i even had her in the shower it wasnt me she even caught me on camera it wasnt meshe saw the marks on my shoulder it wasnt me heard the words that i told her it wasnt me heard the scream get louder it wasnt me she stayed until it was overhoney came in and she caught me redhanded creeping with the girl next door picture this we were both butt naked banging on the bathroom floor i had tried to keep her from what she was about to see why should she believe me when i told her it wasnt memake sure she knows its not you and lead her on the right prefix whenever you should see her make the giggolo flex as funny as it be by you it not that complex seeing is believing so you better change your specs you know she not gonna be worrying bout things from the past hardly recollecting and then shell go to noontime mass wait for your answer go over there but if she pack a gun you know you better run fastbut she caught me on the counter it wasnt me saw me bangin on the sofa it wasnt me i even had her in the shower it wasnt me she even caught me on camera it wasnt meshe saw the marks on my shoulder it wasnt me heard the words that i told her it wasnt me heard the scream get louder it wasnt me she stayed until it was overhoney came in and she caught me redhanded creeping with the girl next door picture this we were both butt naked banging on the bathroom floor how could i forget that i had given her an extra key all this time she was standing there she never took her eyes off megonna tell her that im sorry for the pain that ive caused ive been listening to your reasoning it makes no sense at all we should tell her that im sorry for the pain that ive caused you may think that youre a player but youre completely lost thats why i singhoney came in and she caught me redhanded creeping with the girl next door picture this we were both butt naked banging on the bathroom floor how could i forget that i had given her an extra key all this time she was standing there she never took her eyes off me ",1
13,"stutter","joe featuring mystikal",2001," baby dont go baby dont go baby dont go i need youtalk to me tell me where you were late last night you told me with your friends hangin out late last night youre lyin cause youre stuttering now where were you late last night stop lying to me cause youre ticking me off see youre ticking me off ooh girlchorus x4 i can tell youre lying cause when youre replying you stutter stutter stutter stutterlisten i called you on your cell phone no answer tell me why so i paged you on your two way still no response tell me why i took care of you i love you and you played me tell me why stop lying to me about where youve been cause youre ticking me off ticktickticking me offchorus x4now its funny to me when you lie to me you starting stuttering tripping i caught you baby its funny to me when you lie to me you starting stuttering tripping i caught you babyi smell cologne damn its strong how did ya get it on im not dumb he messed up your hair makeups every where ooh yeah im not dumb girl im dying cause your lyin to my face im not dumb stop lying to me about seeing a man cause youre ticking me off ohchorus x6oh no baby no more from you i hear you lying i hear you stuttering stustuttering stuttering stustuttering stuttering oh girl you should leave me alone get the hell on ",1
14,"its been awhile","staind",2001," and its been awhile since i could hold my head up high and its been awhile since i first saw you and its been awhile since i could stand on my own two feet again and its been awhile since i could call youand everything i cant remember as fucked up as it all may seem the consequences that ive rendered ive stretched myself beyond my meansand its been awhile since i can say that i wasnt addicted and its been awhile since i can say i love myself as well and its been awhile since ive gone and fucked things up just like i always do and its been awhile but all that shit seems to disappear when im with youand everything i cant remember as fucked up as it all may seem the consequences that ive rendered ive gone and fucked things up againwhy must i feel this way just make this go away just one more peaceful dayand its been awhile since i could look at myself straight and its been awhile since i said im sorry and its been awhile since ive seen the way the candles light your face and its been awhile but i can still remember just the way you tasteand everything i cant remember as fucked up as it all may seem to be i know its me i cannot blame this on my father he did the best he could for meand its been awhile since i could hold my head up high and its been awhile since i said im sorry ",1
15,"u remind me","usher",2001," yo i aint seeing you in a minute but i got something to tell ya listensee the thing about you that caught my eye is the same thing that makes me change my mind kinda hard to explain but girl ill try you need to sit down this may take a while you see she sorta looks just like you she even smiles just the way you do so innocent she seemed but i was fooled im reminded when i look at you butyou remind of a girl that i once knew see her face whenever i i look at you you wont believe all of the things that she put me through this is why i just cant get with youthought that she was the one for me til i found out she was on her creep oh she was sexing everyone but me this is why we could never beyou remind of a girl that i once knew see her face whenever i i look at you you wont believe all of the things that she put me through this is why i just cant get with youi know its so unfair to you i relate her ignorance to you wish i knew wish i knew how to separate the two you remind me whoayou remind of a girl that i once knew see her face whenever i i look at you you wont believe all of the things that she put me through this is why i just cant get with youyou remind of a girl that i once knew see her face whenever i i look at you you wont believe all of the things that she put me through this is why i just cant get with you ",1
16,"where the party at","jagged edge featuring nelly",2001," cmon cmon yeah cmon yeah uh oooh uh oh oh ohif the partys where your at just let me knowdont be trippin when you see us in the club just show a little love represent your side like me cause round here if you slick you pick a hot one ride shotgun couple of em got one belvedere in the rear of the club pulled up on dubs and we bout to go and buy the bar up so so for sure we aint playin hang with no lames hit the park and sayinay where the party at girls is on the way where the bacardi at models and models talkin all a that know i cant forget about my thugs where the party at and all my girls where the party at off in the club where the party at if the partys where youre at let me hear you say uh oooh uh oh oh oh if the partys where youre at just let me knowall the girls in the club in they best outfits just showin that skin tryna make a nigga wanna spit where you been girl you and your friend need to come to the back where we got it locked down in your white tshirt or a threepiece suit dont matter what you wear all that matters is who you with some jiggy and some are straight grindin all up in the club just to have a good timeay where the party at girls is on the way where the bacardi at models and models talkin all a that know i cant forget about my thugs where the party at and all my girls where the party at off in the club where the party at if the partys where youre at let me hear you say uh oooh uh oh oh ohif the partys where youre at just let me know you got to show me where that party at dirty somewhere where its crackin right around onethirty never get done too early come in as is doorags and tims im rollin past his his little jag and benz with the rolls not the one with the stem the one with the rims the one that seem to make more enemies than friends im slidin in past doors both eyes closed both arms rose both charms froze with the so so  de dot f im buyin bottles bottles until it aint none left im quick to go left i blaze with no rep i jams more than def baby show me the club im like hey where the bacardi at come and mix it with the cris baby whats wrong with that we in the v i p twisted down right spliffed it two way and ooh they makin it like you missed itay where the party at girls is on the way where the bacardi at models and models talkin all a that know i cant forget about my thugs where the party at and all my girls where the party at off in the club where the party at if the partys where youre at let me hear you say uh oooh uh oh oh oh if the partys where youre at let me hear you say uh oooh uh oh oh oh if the partys where youre at just let me knowleft side just put your hands up throw em up right side just put your hands up throw em up everybody put your hands up throw em up when the beat come back around erybody do it againdo the eastside run this mutha for ya hell yeah do my southside run this mutha oh ya hell yeah and them haters aint hittin on aint talkin bout us and they look like if the partys where youre at let me hear you say ",1
17,"angel","shaggy",2001," girl youre my angel youre my darling angel closer than my peeps you are to me baby shorty youre my angel youre my darling angel girl youre my friend when im in need ladylife is one big party when youre still young but whos gonna have your back when its all done its all good when youre little you have pure fun cant be a fool son what about the long runlooking back shorty always mention said me not giving her much attention she was there through my incarceration i wanna show the nation my appreciationgirl youre my angel youre my darling angel closer than my peeps you are to me baby shorty youre my angel youre my darling angel girl youre my friend when im in need ladyyoure a queen and so you should be treated though you never get the lovin that you needed could have left but i called and you heeded takin a beatin mission completedmama said that i and i dissed the program not the type to mess around with your emotion but the feeling that i have for you is so strong been together so long and this could never be wronggirl youre my angel youre my darling angel closer than my peeps you are to me baby shorty youre my angel youre my darling angel girl youre my friend when im in need ladygirl in spite of my behavior said im your savior you must be sent from up above and you appear to me so tender say girl i surrender thanks for giving me your lovegirl in spite of my behavior well you are my savior you must be sent from up above and you appear to me so tender well girl i surrender said thanks for giving me your lovenow life is one big party when youre still young and whos gonna have your back when its all done its all good when youre little you have pure fun cant be a fool son what about the long runlooking back shorty always mention said me not giving her much attention she was there through my incarceration i wanna show the nation my appreciationgirl youre my angel youre my darling angel closer than my peeps you are to me baby shorty youre my angel youre my darling angel girl youre my friend when im in need ladygirl youre my angel youre my darling angel closer than my peeps you are to me baby shorty youre my angel youre my darling angel girl youre my friend when im in need lady ",1
18,"ride wit me","nelly featuring city spud",2001," where they atif you want to go and take a ride with me we 3wheeling in the fo with the gold ds oh why do i live this way hey must be the moneyif you want to go and get high with me smoke a l in the back of the benze oh why must i feel this way hey must be the moneyin the club on the late night feeling right looking trying to spot something real nice looking for a little shorty i noticed so that i can take home i can take home she can be 18 18 with an attitude or 19 kinda snotty acting real rude but as long as you a thickythickythick girl you know that its on know that its on i peep something coming towards me on the dance floor sexy and real slow saying she was peeping and i dig the last video so when nelly can we go how could i tell her no her measurements were 362534 i like the way you brush your hair and i like those stylish clothes you wear i like the way the light hit the ice and glare and i can see you boo from way over thereif you want to go and take a ride with me we 3wheeling in the fo with the gold ds oh why do i live this way hey must be the moneyif you want to go and get high with me smoke a l in the back of the benze oh why must i feel this way hey must be the moneyface and body frontenac dont know how to act without no vouchers on her boots shes bringing nothing back you should feel the impact shop on plastic when the skys the limit and them haters cant get past that watch me as i gas that 4 dot 6 range watch the candy paint change every time i switch lanes it feel strange now making a living off my brain instead of caine now i got the title from my momma put the whip in my own name now damn shit done changed now running credit checks with no shame now i feel the fame now come on i cant complain now no more shit im the mayne now in and out my own town im getting pages out of new jersey from courtney b telling me about a party up in nyc and can i make it damn right i be on the next flight paying cash first class  sitting next to vanna whiteif you want to go and take a ride with me we 3wheeling in the fo with the gold ds oh why do i live this way hey must be the moneyif you want to go and get high with me smoke a l in the back of the benze oh why must i feel this way hey must be the moneyif you want to go and take a ride with me we 3wheeling in the fo with the gold ds oh why do i live this way hey must be the moneyif you want to go and get high with me smoke a l in the back of the benze oh why must i feel this way hey must be the moneycheck check yo i know something you dont know and ive got something to tell ya you wont believe how many people straight doubted the flow most said that i was a failure but now the same motherfuckers asking me for dough and im yelling i cant help ya but nelly can we get tickets to the next show hell no whats witchyou you for realhey yo now that im a fly guy and i fly high niggas want to know why why i fly by but yo its all good range rover all wood do me like you should  fuck me good suck me good we be them stud niggas wishing you was niggas popping like we drug dealers sipping crissy bubb macking honey in the club me in the benz icy grip telling me to leave with you and your friends so if shorty want to knock we knocking to this and if shorty want to rock we rocking to this and if shorty want to pop we popping the crist shorty wanna see the ice then i ice the wrist city talk nelly listen nelly talk city listen when i fuck fly bitches when i walk pay attention see the ice and the glist niggas staring or they diss honies looking all they wish  come on boo gimme kissif you want to go and take a ride with me we 3wheeling in the fo with the gold ds oh why do i live this way hey must be the moneyif you want to go and get high with me smoke a l in the back of the benze oh why must i feel this way hey must be the moneyif you want to go and take a ride with me we 3wheeling in the fo with the gold ds oh why do i live this way hey must be the moneyif you want to go and get high with me smoke a l in the back of the benze oh why must i feel this way hey must be the moneyhey must be the money ",1
19,"follow me","uncle kracker",2001," you dont know how you met me you dont know why you cant turn around and say goodbye all you know is when im with you i make you free and swim through your veins like a fish in the sea im singingfollow me and everything is alright ill be the one to tuck you in at night and if you want to leave i can guarantee you wont find nobody else like meim not worried bout the ring you wear cause as long as no one knows then nobody can care youre feelin guilty and im well aware but you dont look ashamed and baby im not scared im singingfollow me everything is alright ill be the one to tuck you in at night and if you want to leave i can guarantee you wont find nobody else like mewont give you money i cant give you the sky youre better off if you dont ask why im not the reason that you go astray and well be alright if you dont ask me to stayfollow me everything is alright ill be the one to tuck you in at night and if you want to leave i can guarantee you wont find nobody else like meyou dont know how you met me you dont know why you cant turn around and say goodbye all you know is when im with you i make you free and swim through your veins like a fish in the sea im singingfollow me everything is alright ill be the one to tuck you in at night and if you want to leave i can guarantee you wont find nobody else like me im singingfollow me everything is alright ill be the one to tuck you in at night and if you want to leave i can guarantee you wont find nobody else like me im singingfollow me everything is alright ill be the one to tuck you in at night and if you want to leave i can guarantee you wont find nobody else like me ",1
20,"peaches  cream","112",2001,"so hot hot its the s the l the i the m let me tell you what i wanna do let me show you that im feelin you wanna sex wanna ride with you wanna taste wanna put my lips all over you cant get enough of you always taken of you so sweet so very wet so good girl you make me sweat girl im talkin bout peaches and cream i need it cause you know that im a fiend gettin freaky in my bentley limousine its even better when its with ice cream know what i mean peaches and cream i need it cause you know that im a fiend gettin freaky in my bentley limousine its even better when its with ice cream know what i mean peaches and cream i never thought that i would be so addicted to you on top underneath on the side of you better yet baby inside of you love the way youre just flowin down and i can feel it all around in the front in the back of you ooh i love the taste of you girl you know what im talking about peaches and cream i need it cause you know that im a fiend gettin freaky in my bentley limousine its even better when its with ice cream know what i mean peaches and cream i need it cause you know that im a fiend gettin freaky in my bentley limousine its even better when its with ice cream know what i mean peaches and cream wont stop girl you know i cant get enough wanna taste it in the morning when im waking up like peach cobbler in my stomach when i eat it up got your legs around my neck so i cant get up see the boys 112 we from the a a shorty we dont play and when it comes to eating peaches shorty we dont play so all the ladies in the house if your peach the shit put your hands in the air represent your clique peaches and cream i need it cause you know that im a fiend gettin freaky in my bentley limousine its even better when its with ice cream know what i mean peaches and cream i need it cause you know that im a fiend gettin freaky in my bentley limousine its even better when its with ice cream know what i mean peaches and cream oh girl i need it i gotta have it its always on my mind know what i mean peaches and cream i like it in my car or even in my bed or baby on the stairs know what i mean peaches and cream oh girl i need it i gotta have it its always on my mind know what i mean peaches and cream i like it in my car or even in my bed or baby on the stairs know what i mean peaches and cream peaches and cream i need it cause you know that im a fiend gettin freaky in my bentley limousine its even better when its with ice cream know what i mean peaches and cream i need it cause you know that im a fiend gettin freaky in my bentley limousine its even better when its with ice cream know what i mean peaches and cream",3
21,"drive","incubus",2001," sometimes i feel the fear of uncertainty stinging clear and i cant help but ask myself how much ill let the fear take the wheel and steerits driven me before and it seems to have a vague haunting mass appeal but lately i am beginning to find that i should be the one behind the wheelwhatever tomorrow brings ill be there with open arms and open eyeswhatever tomorrow brings ill be there ill be thereso if i decide to waiver my chance to be one of the hive will i choose water over wine and hold my own and driveits driven me before and it seems to be the way that everyone else gets around but lately i am beginning to find that when i drive myself my light is foundso whatever tomorrow brings ill be there with open arms and open eyes whatever tomorrow brings ill be there ill be therewould you choose water over wine and hold my own and drivewhatever tomorrow brings ill be there with open arms and open eyes whatever tomorrow brings ill be there ill be there ",1
22,"what would you do","city high",2001," boys and girls wanna hear a true story saturday night was at this real wild party they had the liquor overflowin the cup about 5 or 6 strippers trying to work for a buck and i took one girl outside with me her name was lonnie she went to junior high with me i said why you up in there dancing for cash i guess a whole lots changed since i seen you last she saidwhat would you do if your son was at home crying all alone on the bedroom floor cause hes hungry and the only way to feed him is to sleep with a man for a little bit of money and his daddys gone somewhere smokin rock now in and out of lock down i aint got a job now so for you this is just a good time but for me this is what i call lifegirl you aint the only one with a baby thats no excuse to be living all crazy then she looked me right square in the eye and said everyday i wake up hopin to die she said nigga i know about pain cause me and my sister ran away so my daddy couldnt rape us before i was a teenager i done been through more shit you cant even relate towhat would you do if your son was at home crying all alone on the bedroom floor cause hes hungry and the only way to feed him is to sleep with a man for a little bit of money and his daddys gone somewhere smokin rock now in and out of lock down i aint got a job now so for you this is just a good time but for me this is what i call lifehold up then she said what would you do get up on my feet and let go off every excuse what would you do cause i wouldnt want my baby to go through what i went through cmon what would you do get up on my feet stop making tired excuses what would you do girl i know if my mother can do it baby you can do itoooo oooo oooowhat would you do if your son was at home crying all alone on the bedroom floor cause hes hungry and the only way to feed him is to sleep with a man for a little bit of money and his daddys gone somewhere smokin rock now in and out of lock down i aint got a job now so for you this is just a good time but for me this is what i call lifewhat would you do if your son was at home crying all alone on the bedroom floor cause hes hungry and the only way to feed him is to sleep with a man for a little bit of money and his daddys gone somewhere smoking rock now in and out of lock down i aint got a job now so for you this is just a good time but for me this is what i call life come onwhat would you do if your son was at home crying all alone on the bedroom floor cause hes hungry and the only way to feed him is to sleep with a man for a little bit of money and his daddys gone somewhere smokin rock now in and out of lock down i aint got a job now so for you this is just a good time but for me this is what i call life ",1
23,"survivor","destinys child",2001," now that youre out of my life im so much better you thought that id be weak without you but im stronger you thought that id be broke without you but im richer you thought that id be sad without you i laugh harder thought i wouldnt grow without you now im wiser thought that id be helpless without you but im smarter you thought that id be stressed without you but im chillin you thought i wouldnt sell without you sold nine millionim a survivor what im not gon give up what im not gon stop what im gon work harder what im a survivor what im gonna make it what i will survive what keep on survivinwhatim a survivor what im not gon give up what im not gon stop what im gon work harder what im a survivor what im gonna make it what i will survive what keep on survivinwhatthought i couldnt breathe without you im inhaling you thought i couldnt see without you perfect vision you thought i couldnt last without you but im lastin you thought that i would die without you but im livin thought that i would fail without you but im on top thought it would be over by now but it wont stop thought that i would self destruct but im still here even in my years to come im still gon be hereim a survivor what im not gon give up what im not gon stop what im gon work harder what im a survivor what im gonna make it what i will survive what keep on survivinwhatim a survivor what im not gon give up what im not gon stop what im gon work harder what im a survivor what im gonna make it what i will survive what keep on survivinwhatwishing you the best pray that you are blessed bring much success no stress and lots of happiness im better than that im not gon blast you on the radio im better than that im not gon lie on you and your family im better than that im not gon hate on you in the magazines im better than that im not gon compromise my christianity im better than that you know im not gon diss you on the internet cause my mama taught me better than thatim a survivor what im not gon give up what im not gon stop what im gon work harder what im a survivor what im gonna make it what i will survive what keep on survivinwhatim a survivor what im not gon give up what im not gon stop what im gon work harder what im a survivor what im gonna make it what i will survive what keep on survivinwhatoh oh oh oh oh oh oh oh oh oh oh oh oh oh oh ohafter of all of the darkness and sadness soon comes happiness if i surround my self with positive things ill gain prosperityim a survivor what im not gon give up what im not gon stop what im gon work harder what im a survivor what im gonna make it what i will survive what keep on survivinwhatim a survivor what im not gon give up what im not gon stop what im gon work harder what im a survivor what im gonna make it what i will survive what keep on survivinwhatim a survivor what im not gon give up what im not gon stop what im gon work harder what im a survivor what im gonna make it what i will survive what keep on survivinwhatim a survivor what im not gon give up what im not gon stop what im gon work harder what im a survivor what im gonna make it what i will survive what keep on survivinwhat ",1
24,"lady marmalade","christina aguilera lil kim m'ya and pink",2001,NA,NA
25,"ms jackson","outkast",2001," yeah this one right here goes out to all the babys mamas mamas mamas mamas baby mamas mamas yeah go like thisim sorry ms jackson oh i am for real never meant to make your daughter cry i apologize a trillion times im sorry ms jackson oh i am for real never meant to make your daughter cry i apologize a trillion timesmy babys drama mama dont like me she be doing things like having them boys come from her neighborhood to the studio trying to fight me she need to get a piece of the american pie and take her bite out thats my house ill disconnect the cable and turn the lights out and let her know her grandchild is a baby and not a paycheck private school daycare shit medical bills i pay that i love your mom and everything but see i aint the one who laid down she wanna rib you up to start a custody war my lawyers stay down shit you never got a chance to hear my side of the story we was divided she had fish fries and cookouts for my childs birthday i aint invited despite it i show her the utmost respect when i fall through all you do is defend that lady when i call you yeahim sorry ms jackson oh i am for real never meant to make your daughter cry i apologize a trillion times im sorry ms jackson oh i am for real never meant to make your daughter cry i apologize a trillion timesme and yo daughter gots this thing going on we got a special kind of thing going on you say its puppy love we say its full grown hope that we feel this feel this way forever you can plan a pretty picnic but you cant predict the weather ms jacksonten times out of nine now if im lyin fine the quickest muzzle throw it on my mouth and ill decline king meets queen then the puppy love thing together dream bout that crib with the goodyear swing on the oak tree i hope we feel like this forever forever forever ever forever ever forever never seems that long until youre grown and notice that the day by day ruler cant be too wrong ms jackson my intentions were good i wish i could become a magician to abacadabra all the sadder thoughts of me thoughts of she thoughts of he asking what happened to the feeling that her and me had i pray so much about it need some knee pads it happened for a reason one cant be mad so know this know that everythings cool and yes i will be present on the first day of school and graduationim sorry ms jackson oh i am for real never meant to make your daughter cry i apologize a trillion times im sorry ms jackson oh i am for real never meant to make your daughter cry i apologize a trillion timesuh uh yeah look at the way he treats me shit look at the way you treat me you see your little nosyass home girls done got your ass sent up the creek g without a paddle you left to straddle and ride this thing on out now you and your girl aint speaking no more cause my dick all in her mouth know what im talking about jealousy infidelity envy cheating to beating envy and to the g they be the same thing so who you placing the blame on you keep on singing the same song let bygones be bygones you can go on and get the hell on you and your mamaim sorry ms jackson oh i am for real never meant to make your daughter cry i apologize a trillion times im sorry ms jackson oh i am for real never meant to make your daughter cry i apologize a trillion timesim sorry ms jackson oh i am for real never meant to make your daughter cry i apologize a trillion times im sorry ms jackson oh i am for real never meant to make your daughter cry i apologize a trillion times ",1
26,"love dont cost a thing","jennifer lopez",2001," you think you gotta keep me iced you dont you think im gonna spend your cash i wont even if you were broke my love dont cost a thing think i wanna drive your benz i dont if i wanna floss i got my own even if you were broke my love dont cost a thingwhen you rolled up in the escalade saw that truck you gave to the valet knew that it was game when you looked at me pulling up your sleeve so i could see the rolley bling saw you later in the corner booth raising up a toast so i would notice you but your hearts a mess think you outta know doesnt matter if youre balling out of controlall that matters is that you treat me right give me all the things i need that money cant buy yeah    memory  byamandah   editor    jlo  james corden absolutely nailed love dont cost a thing in their version of carpool karaoke for the late late show    see all   you think you gotta keep me iced you dont you think im gonna spend your cash i wont even if you were broke my love dont cost a thing think i wanna drive your benz i dont if i wanna floss i got my own even if you were broke my love dont cost a thingwhen i took a chance thought youd understand baby credit cards arent romance so youre tryna buy whats already yours what i need from is not available in stores seen a side of you that i really feel doing way too much never keep it real if it doesnt change gotta hit the road now im leaving wheres my keys ive got to goall that matters is that you treat me right give me all the things i need that money cant buy yeahyou think you gotta keep me iced you dont you think im gonna spend your cash i wont even if you were broke my love dont cost a thing think i wanna drive your benz i dont if i wanna floss i got my own even if you were broke my love dont cost a thinga thing a thing a thing yeah yeah yeah you think the money that you make can substitute the time you take take the keys here to my heart then you can win my heart and get whats in my heart i think you need to take some time to show me that your love is true theres more than dollar signs in you then you can win my heart and get whats in my heartyou think you gotta keep me iced you dont you think im gonna spend your cash i wont even if you were broke my love dont cost a thing think i wanna drive your benz i dont if i wanna floss i got my own even if you were broke my love dont cost a thingyou think you gotta keep me iced you dont you think im gonna spend your cash i wont even if you were broke my love dont cost a thing think i wanna drive your benz i dont if i wanna floss i got my own even if you were broke my love dont cost a thingyou think you gotta keep me iced you dont you think im gonna spend your cash i wont even if you were broke my love dont cost a thing think i wanna drive your benz i dont if i wanna floss i got my own even if you were broke my love dont cost a thing ",1
27,"the way you love me","faith hill",2001," if i could grant you one wish id wish you could see the way you kiss ooh i love watching you baby when youre driving me crazyooh i love the way you love the way you love me theres nowhere else id rather be ooo to feel the way i feel with your arms around me i only wish that you could see the way you love me woh woh woh woh the way you love meits not right its not fair what youre missing over there someday ill find a way to show you just how lucky i am to know youooh i love the way you love the way you love me theres nowhere else id rather be ooo to feel the way i feel with your arms around me i only wish that you could see the way you love me woh woh woh woh the way you love meyoure the million reasons why theres love reflecting in my eyesooh i love the way you love the way you love me theres nowhere else id rather be ooo to feel the way i feel with your arms around me i only wish that you could see the way you love me woh woh woh woh the way you love me woh woh woh woh the way you love me woh woh woh woh the way you love meooh the way you love me the way you love me oh yeahthe way you love me woh woh woh woh the way you love me woh woh woh woh the way you love me woh woh woh woh the way you love me ",1
28,"he loves u not","dream",2001," give it your all girl give it all ya got you can take your chance at a second hand shot say what you want girl do what you do hes never gonna gonna make it with youyoure pulling petals off a flower trying to get your way keep pulling til it says what you want it to say girl you can pick a field full of daisies but hed still be my babyi know you can hardly wait til im away from him instinctively i know what youre thinking youll be giving him an open invitation but my baby wont be taken inyou can pout your cherry lips try to tend him with a sweet kiss you can flutt your pretty eyes he aint got his hands tiedno chains to unlock so free to do what he wants hes into what hes got he loves me he loves u notno matter what you do hes never gonna be with you hes into what hes got he loves me he loves u notyoure the kind of girl that is always up for do or dare only want him just because hes there always looking for a new ride the grass is greener on the other sideyoure the kind of girl whos not used to hearing no all your lovers try to take you where you wanna go it doesnt matter how hard you try never gonna get with my guyno chains to unlock so free to do what he wants hes into what hes got he loves me he loves u notno matter what you do hes never gonna be with you hes into what hes got he loves me he loves u notdoesnt matter what you do hes never gonna be with yougive it your all girl give it all ya got you can take your chance at a second hand shot say what you want girl do what you do hes never gonna make it with youyou can pout your cherry lips yeah try to tend him with a sweet kiss you can flutt your pretty eyes he aint got his hands tiedno chains to unlock so free to do what he wants hes into what hes got he loves me he loves u notno matter what you do hes never gonna be with you hes into what hes got he loves me he loves u notno chains to unlock so free to do what he wants hes into what hes got he loves me he loves u notno matter what you do hes never gonna be with you hes into what hes got he loves me he loves u not ",1
29,"butterfly","crazy town",2001," come my lady come come my lady youre my butterfly sugar baby come my lady come come my lady youre my butterfly sugar babysuch a sexy sexy pretty little thing fierce nipple pierce you got me sprung with your tongue ring and i aint gonna lie cause your loving gets me high so to keep you by my side theres nothing that i wont try butterflies in her eyes and looks to kill time is passing im asking could this be real cause i cant sleep i cant hold still the only thing i really know is she got sex appeal i can feel too much is never enough youre always there to lift me up when these times get rough i was lost now im found ever since youve been around youre the women that i want so yo im putting it downcome come my lady youre my butterfly sugar baby come my lady youre my pretty baby ill make your legs shake you make me go crazy come come my lady youre my butterfly sugar baby come my lady youre my pretty baby ill make your legs shake you make me go crazyi dont deserve you unless its some kind of hidden message to show me life is precious then i guess its true but to tell truth i really never knew til i met you see i was lost and confused twisted and used up knew a better life existed but thought that i missed itmy lifestyles wild i was living like a wild child trapped on a short leash paroled the police files so yo what s happening now i see the sun breaking down into dark clouds and a vision of you standing out in a crowdcome come my lady youre my butterfly sugar baby come my lady youre my pretty baby ill make your legs shake you make me go crazy come come my lady youre my butterfly sugar baby come my lady youre my pretty baby ill make your legs shake you make me go crazyhey sugar momma come and dance with me the smartest thing you ever did was take a chance with me whatever tickles your fancy girl its you like sid and nancy so sexy almost evil talkin about butterflies in my head i used to think happy endings were only in the books i read but you made me feel alive when i was almost deadyou filled that empty space with the love i used to chase and as far as i can see it dont get better than this so butterfly here is a song and its sealed with a kiss and a thank you misscome and dance with me come and dance with me come and dance with me so come and dance with mecome come my lady youre my butterfly sugar baby come my lady youre my pretty baby ill make your legs shake you make me go crazy come come my lady youre my butterfly sugar baby come my lady youre my pretty baby ill make your legs shake you make me go crazy come come my lady youre my butterfly sugar baby come my lady youre my pretty baby ill make your legs shake you make me go crazy come come my lady youre my butterfly sugar baby come my lady youre my pretty baby ill make your legs shake you make me go crazycome and dance with me ",1
30,"put it on me","ja rule featuring lil mo and vita",2001," where would i be without my baby the thought alone might break me and i dont want to go crazy but every thug needs a ladygirl it feel like you and i been mourning together inseparable we chose pain over pleasure for that youll forever be a part of me mind body and soul aint no i in we baby when you cry who wipes your tears when you scared whos telling you theres nothin to fear girl ill always be there when you need a shoulder to lean on never hesitate knowing you can call on your soulmate and vice versa thats why i be the first to see jacob and frost your wrist up now you owe me i know youre tired of being lonely so baby girl put it on mewhere would i be without you uh i only think about you yeah i know youre tired or being lonely lonely so baby girl put it on me put it on mewhere would i be without you uh i only think about you yeah i know youre tired or being lonely lonely so baby girl put it on me put it on meyo and i appreciate the rocks and gifts that you cop me baby and that house on the hill when you drop like 80 on a down payment thinking damn aint life gravy and ever since for my honey i been twice the lady what would i do without the nights that you kept me warm when this cold world had a girl caught in a storm and i accept when you riff when you caught in a roam and respect when you flip cause our love is strong and when you hit the block i watch for 104 and when my pops asleep you snuck in the backdoor baby boy we been down since junior high so when life get hot in july its the world against you and i we ballin tied together and never heart from the heart knew that it would last forever when you told me you would never leave me lonely so baby boy put it on mewhere would i be without you uh i only think about you yeah i know youre tired or being lonely lonely so baby girl put it on me put it on mewhere would i be without you uh i only think about you yeah i know youre tired or being lonely lonely so baby girl put it on me put it on mesince we met its been you and i a tear for a tear baby eye for an eye and you know that my heart gon cry if you leave me lonely cause you not just my love you my homie whos gonna console me my love im outta control hold me my love cause im yours and i dont want to do nothin to hurt my baby girl if this was our world itd be all yours baby the thought alone might break me and i dont want to go crazy cause every thug needs a lady yeah yeah i feel you baby cause them eyes aint lying wash away all the tears there be no more crying baby and you complete me and i would die if you aint wit me so baby girl put it on mewhere would i be without you uh i only think about you yeah i know youre tired or being lonely lonely so baby girl put it on me put it on mewhere would i be without you uh i only think about you yeah i know youre tired or being lonely lonely so baby girl put it on me put it on mewhere would i be without you uh i only think about you yeah i know youre tired or being lonely lonely so baby girl put it on me put it on mewhere would i be without you uh i only think about you yeah i know youre tired or being lonely lonely so baby girl put it on me put it on me ",1
31,"family affair","mary j blige",2001," lets get it crunk we gon have fun up on up in this dancerie we got ya open now ya floatin so you gots to dance for me dont need no hateration holleration in this dancerie lets get it percolatin while youre waiting so just dance for mecome on everybody get on up cause you know we gots to get it crunk mary j is in the spot tonight as imma make it feel alright make it feel alright come on baby just party with me let loose and set your body free leave your situations at the door so when you step inside jump on the floorlets get it crunk we gon have fun up on up in this dancerie we got ya open now ya floatin so you gots to dance for me dont need no hateration holleration in this dancerie lets get it percolatin while youre waiting so just dance for meits only gonna be about a matter of time before you get loose and start loose your mind cop you a drink go head and rock your ice cause we celebrating no more drama in our life with a great track pumpin everybodys jumpin goin ahead and twist your back and get your body bumpin i told you leave your situations at the door so grab somebody and get your ass on the dance floorlets get it crunk we gon have fun up on up in this dancerie we got ya open now ya floatin so you gots to dance for me dont need no hateration holleration in this dancerie lets get it percolatin while youre waiting so just dance for mewe dont need dont need no haters just try to love one another we just want whyall have a good time no more drama in your life work real hard to make a dime if you got beef your problem not mine leave all that bs outside were gonna celebrate all night lets have fun tonight no fights turn the great track way making you dance all night and i got some real heat for ya this time doesnt matter if youre white or black lets get crunk cause marys backlets get it crunk we gon have fun up on up in this dancerie we got ya open now ya floatin so you gots to dance for me dont need no hateration holleration in this dancerie lets get it percolatin while youre waiting so just dance for me ",1
32,"i hope you dance","lee ann womack",2001," i hope you never lose your sense of wonder you get your fill to eat but always keep that hunger may you never take one single breath for granted god forbid love ever leave you empty handed i hope you still feel small when you stand beside the ocean whenever one door closes i hope one more opens promise me that youll give faith a fighting chance and when you get the choice to sit it out or dancei hope you dance i hope you dancei hope you never fear those mountains in the distance never settle for the path of least resistance livin might mean takin chances but theyre worth takin lovin might be a mistake but its worth makin dont let some hellbent heart leave you bitter when you come close to sellin out reconsider give the heavens above more than just a passing glance and when you get the choice to sit it out or dancei hope you dance time is a wheel in constant motion always rolling us along i hope you dancei hope you dance tell me who wants to look back on their years and wonder i hope you dance where those years have gonei hope you still feel small when you stand beside the ocean whenever one door closes i hope one more opens promise me that youll give faith a fighting chance and when you get the choice to sit it out or dancedancei hope you dance i hope you dance time is a wheel in constant motion always rolling us along i hope you dance tell me who wants to look back on their years and wonder ",1
33,"south side","moby featuring gwen stefani",2001," see myself in the pouring home see the light come over now see myself in the pouring rain i watch hope come over mehere we are now going to the east side i pick up my friends and we start to ride ride all night we ride all day some may come and some may stayhere we are in the pouring home i watch the light man fall the comb i watch a light move across the screen i watch the light come over mehere we are now going to the west side weapons in hand as we go for a ride some may come and some may stay watching out for a sunny day where thereslove and darkness and my sidearm hey elanhere we are now going to the north side i look at my friends as they start to ride ride at night we ride all day looking out for a sunny dayhere we are now going to the south side i pick up my friends and we hope we wont die ride at night ride through heaven and hellcome back and feel so well ",1
34,"dont tell me","madonna",2001," dont tell me to stop tell the rain not to drop tell the wind not to blow cause you said sotell the sun not to shine not to get up this time no no let it fall by the way but dont leave me where i lay downtell me love isnt true its just something that we do tell me everything im not but please dont tell me to stoptell the leaves not to turn but dont ever tell me ill learn no no take the black off a crow but dont tell me i have to gotell the bed not to lay like the open mouth of a grave yeah not to stare up at me like a calf down on its kneestell me love isnt true its just something that we do tell me everything im not but dont ever tell me to stopdont you ever tell tell me love isnt true its just something that we do dont you ever tell tell me everything im not but dont ever tell me to stopdont you ever please dont please dont please dont tell me to stopdont you ever tell me dont you ever dont ever tell me to stoptell the rain not to drop tell the bed not to lay like a open mouth of a grave yeah not to stare up at me like a calf down on its kneeslike a open mouth of a grave yeah not to stare up at me ",1
35,"get ur freak on","missy elliott",2001," head banga hit me hit me hit me hit me hit me yeah hit me gimme some new shit yeah gimme some new shit yeah gimme some new shit yeah gimme some new shitmissy be puttin it down im the hottest round i told yall motherooh yall cant stop me now listen to me now im lasting twenty rounds and if you want me nigga then come and get me now is you with me now then biggiebiggiebounce i know you dig the way i swswswitch my style holla people sing around now people gather round now people jump aroundgo get ur freak on go get ur freak on go get ur freak on go get ur freak on go get ur freak on go get ur freak on go get ur get ur get ur get ur get ur freak on    meaning  byamandah   editor    at the beginning of the recording a man says in japanese kore kara minna de mechakucha odotte sawagou sawagou in english this translates to everyone start    see all   go get ur freak on go get ur freak on go get ur freak on go get ur freak on go get ur freak on go get ur freak on go get ur get ur get ur get ur get ur freak onwhos that bitch people you dont know me and timbaland been hot since twenty years ago what the dealio now what the drilly yo if you wanna battle then nigga let me know holla gotta feel me son let me throw you some people here i come now sweat me when im done we got the radio shook like we got a gungo get ur freak on go get ur freak on go get ur freak on go get ur freak on go get ur freak on go get ur freak on go get ur get ur get ur get ur get ur freak ongo get ur freak on go get ur freak on go get ur freak on go get ur freak on go get ur freak on go get ur freak on go get ur get ur get ur get ur get ur freak onquiet shhh hush your mouth silence when i spit it out spit sound in your face open your mouth give you a taste holla aint no stoppin me copywritten so dont copy me yall do it sloppyly and yall cant come close to me i know you feel me now i know you hear me loud i scream it loud and proud missy gon blow it down people gon play me now in and out of town cause im the best around with the crazy stylego get ur freak on go get ur freak on go get ur freak on go get ur freak on go get ur freak on go get ur freak on go get ur get ur get ur get ur get ur freak ongo get ur freak on go get ur freak on go get ur freak on go get ur freak on go get ur freak on go get ur freak on go get ur get ur get ur get ur get ur freak on ",1
36,"crazy","kci  jojo",2001,NA,NA
37,"fill me in","craig david",2001," all right come on can you fill me in lets talk about iti was checking this girl next door when her parents went out she phoned said hey boy come on right around so i knock at the door you was standin with a bottle of red wine ready to pour dressed in long black satin and lace to the floor so i went in then we sat down start kissing caressing told me about jacuzzi sounded interesting so we jumped right in all calls diverted to answer phone please leave a message after the tone i mean me and her parents were kind of cool but they ran a fine line between me and you we were just doing things young people in love do parents tryna find out what we were up tosaying why were you creeping around late last night why did i see two shadows moving in your bedroom light now youre dressed in black when i left you were dressed in white can you fill me in calls diverted to answer phone red wine bottle half the contents gone when i returned jacuzzi turned on can you fill me inwhenever the coast was clear and shed ask me to come out id say hey girl come on right around so she knocked at the door i was standing with the keys in my hand to the 4x4 jumped in my ride checkin that nobody saw the club we went in we got down bounced bounced to the rhythm saw it was early morning thought wed better be leavin so i gave you my jacket for you to hold told you to wear it cause you felt cold i mean me and her didnt mean to break the rules i werent trying to play your mum and dad for fools we were just doing things young people in love do parents tryna find out what we were up tosaying why cant you keep your promises no more say youll be home by 12 come strolling in at 4 out went the girls but leaving with the boy next door can you fill me in wearing a jacket whos property said youd been queuing for a taxi but you left all your money on the tv can you fill me inall they seem to do is be checking up on you baby watchin our every move think some day they might approve babywhy were you creeping around late last night why did i see two shadows moving in your bedroom light now youre dressed in black when i left you were dressed in white can you fill me in calls diverted to answer phone red wine bottle half the contents gone when i returned jacuzzi turned on can you fill me in ",1
38,"someone to call my lover","janet",2001,"janet so so def yeah uh i put my hand up on your hip when i dip you dip we dip i put my hand up on your hip when i dip you dip remix i put my hand up on your hip when i dip you dip we dip i put my hand up on your hip when i dip we dip listen to the remix back on the road again feelin kind of lonely and looking for the right guy to be mine friends say im crazy cause easily i fall in love you gotta do it different j this time maybe well meet at a bar hell drive a funky car maybe well meet at a club and fall so deeply in love hell tell me im the one and well have so much fun ill be the girl of his dreams maybe alright maybe gonna find him today i gotta get someone to call my lover yeah baby come on alright baby come and pass my way i gotta get someone to call my lover yeah baby come on unverified i spoil them when im in love giving them what they dream of sometimes its not a good thing but im blind i love hard with everything giving my all more than they i took my friends advice this time i do it differently maybe well meet at a bar hell drive a funky car maybe well meet at a club and fall so deeply in love hell tell me im the one and well have so much fun ill be the girl of his dreams maybe alright maybe gonna find him today i gotta get someone to call my lover yeah baby come on alright baby come and pass my way i gotta get someone to call my lover yeah baby come on unverified yeah uhhuh huh now what you need to do is holla at me i understand everything you need know for sure even though you feel lonely know for sure before you push the speed and find yourself in a place you aint trying to be he aint gotta have dough he gotta make you laugh know what to do when youre feelin bad know what to do when youre feelin sad fix you something to eat and run your bath oh my my looking for a guy guy i dont want him too shy but hes gotta have the qualities that i like in a man strong smart affectionate hes gotta be all for me and ill be too youll see happily gotta know how to spend his time gotta know how to use his mind gotta know how to say whats mine is yours and baby whats yours is mine if you cant find imma be right here everything you want is right here i wouldnt lie to you im the cat at the bar with the cranberry car in the club that you about to fall in love remix maybe well meet at a bar hell drive a funky car maybe well meet at a club and fall so deeply in love hell tell me im the one and well have so much fun ill be the girl of his dreams maybe alright maybe gonna find him today i gotta get someone to call my lover yeah baby come on alright baby come and pass my way i gotta get someone to call my lover yeah baby come on alright maybe gonna find him today i gotta get someone to call my lover yeah baby come on alright baby come and pass my way i gotta get someone to call my lover yeah baby come on unverified maybe well meet at a bar hell drive a funky car maybe well meet at a club and fall so deeply in love hell tell me im the one and well have so much fun ill be the girl of his dreams maybe alright maybe gonna find him today i gotta get someone to call my lover yeah baby come on alright baby come and pass my way i gotta get someone to call my lover yeah baby come on thats how we do",3
39,"with arms wide open","creed",2001," well i just heard the news today it seems my life is going to change i close my eyes begin to pray then tears of joy stream down my facewith arms wide open under the sunlight welcome to this place ill show you everything with arms wide open with arms wide openwell i dont know if im ready to be the man i have to be ill take a breath ill take her by my side we stand in awe weve created lifewith arms wide open under the sunlight welcome to this place ill show you everything with arms wide open now everything has changed ill show you love ill show you everythingwith arms wide open with arms wide open ill show you everything oh yeah with arms wide open wide openif i had just one wish only one demand i hope hes not like me i hope he understands that he can take this life and hold it by the hand and he can greet the world with arms wide openwith arms wide open under the sunlight welcome to this place ill show you everything with arms wide open now everything has changed ill show you love ill show you everything with arms wide open with arms wide openill show you everything oh yeah with arms wide open wide open ",1
40,"case of the ex","m'ya",2001," yea mya red zone what whatits after midnight and shes on your phone sayin come over cuz shes all alone i could tell it was your ex by your tone why is she callin now after so longnow what is that she wants tell me what is that she needs did she hear about the brand new benz that you just bought for me coz yall didnt have no kids didnt share no mutual friends and you told me that she turned trick when yall broke up in ninety sixwhatcha gonna do when you cant say no when her feelings start to show boy i really need to know and how you gonna act how you gonna handle that whatcha gonna do when she wants you backwhatcha gonna do when you cant say no when her feelings start to show boy i really need to know and how you gonna act how you gonna handle that whatcha gonna do when she wants you backtheres no need to reminisce about the past obviously coz that shit did not last i know how a woman try to game you so dont get caught up because baby youll losenow what is that she wants tell me what is that she needs did she hear about the brand new benz that you just bought for me coz yall didnt have no kids didnt share no mutual friends and you told me that she turned trick when yall broke up in ninety sixwhatcha gonna do when you cant say no when her feelings start to show boy i really need to know and how you gonna act how you gonna handle that whatcha gonna do when she wants you backwhatcha gonna do when you cant say no when her feelings start to show boy i really need to know and how you gonna act how you gonna handle that whatcha gonna do when she wants you backwhatcha gonna do when you cant say no when her feelings start to show boy i really need to know and how you gonna act how you gonna handle that whatcha gonna do when she wants you backwhatcha gonna do when you cant say no when her feelings start to show boy i really need to know and how you gonna act how you gonna handle that whatcha gonna do when she wants you backtell me why she on the phone in the middle of the night tell me why she in your life trynna get whats mine she dont know me shes about to know me im in your life thats how its gon be ive seen her photo she aint even all that so if you want her back you can take her back cuz game recognize game i could do the same thing get it right change or take back this ringwhatcha gonna do when you cant say no when her feelings start to show boy i really need to know and how you gonna act how you gonna handle that whatcha gonna do when she wants you backwhatcha gonna do when you cant say no when her feelings start to show boy i really need to know and how you gonna act how you gonna handle that whatcha gonna do when she wants you backwhatcha gonna do when you cant say no when her feelings start to show boy i really need to know and how you gonna act how you gonna handle that whatcha gonna do when she wants you backwhatcha gonna do when you cant say no when her feelings start to show boy i really need to know and how you gonna act how you gonna handle that whatcha gonna do when she wants you backyea playboy right now yea mya yea mya red zone what what ",1
41,"all or nothing","otown",2001," i know when hes been on your mind that distant look is in your eyes i thought with time youd realize its over overits not the way i choose to live and somethin somewheres gotta give a share in this relationship gets older olderyou know id fight for you but how could i fight someone who isnt even there ive had the rest of you now i want the best of you i dont care if thats not faircause i want it all or nothing at all theres nowhere left to fall when you reach the bottom its now or never is it all or are we just friends is this how it ends with a simple telephone call you leave me here with nothing at allthere are time it seems to me im sharing you with memories i feel it in my heart but i dont show it show itthen theres times you look at me as though im all that you could see those times i dont belive its right i know it know itdont make me promises baby you never did know how to keep them well ive had the rest of you now i want the best of you its time to show and tellcause i want it all or nothing at all theres nowhere left to fall when you reach the bottom its now or never is it all or are we just friends is this how it ends with a simple telephone call you leave me here with nothingcause you and i could lose it all if youve got no more room nowhere inside for me in your lifecause i want it all or nothing at all theres nowhere left to fall its now or never is it all or nothing at all theres nowhere left to fall when you reach the bottom its now or neveris it all or are we just friends is this how it ends with a simple telephone call you leave me here with nothing at all or nothing at all theres nowhere left to fall when you reach the bottom its now or neveris it all or are we just friends is this how it ends with a simple telephone call you leave me here with nothing at all ",1
42,"bootylicious","destinys child",2001," kelly can you handle this michelle can you handle this beyonc̩ can you handle this i dont think they can handle thisbarely move weve arrived lookin sexy lookin fly baddest chick chick inside dj jam tonight spotted me a tender thang there you are come on baby dont you wanna dance with me can you handle handle meyou gotta do much better if you gone dance with me tonight you gotta work your jelly if you gone dance with me tonight read my lips carefully if you like what you see move groove prove you can hang with me by the looks i got you shook up and scared of me hook up your seat belt its time for takeoffi dont think you ready for this jelly i dont think you ready for this jelly i dont think you ready for this cause my body too bootylicious for yo babei dont think you ready for this jelly i dont think you ready for this jelly i dont think you ready for this cause my body too bootylicious for yo babebaby can you handle this baby can you handle this baby can you handle this i dont think you can handle thisim about to break you off htown goin hard lead my hips slap my thighs swing my hair square my eyes lookin hot smellin good groovin like im from the hood look over my shoulder i blow you a kiss can you handle handle thisi dont think you ready for this jelly i dont think you ready for this jelly i dont think you ready for this cause my body too bootylicious for yo babei dont think you ready for this jelly i dont think you ready for this jelly i dont think you ready for this cause my body too bootylicious for yo babemove your body up and down whoo make your booty touch the ground whoo i cant help but wonder why whoo is my vibe too vibealacious for you babei shake my jelly at every chance when i whip with my hips you slip into a trance im hoping you can handle all this jelly that i have now lets cut a rug while we scat some jazzi dont think you ready for this jelly i dont think you ready for this jelly i dont think you ready for this cause my body too bootylicious for yo babei dont think you ready for this jelly i dont think you ready for this jelly i dont think you ready for this cause my body too bootylicious for yo babei dont think you ready for this jelly i dont think you ready for this jelly i dont think you ready for this cause my body too bootylicious for yo babei dont think you ready for this jelly i dont think you ready for this jelly i dont think you ready for this cause my body too bootylicious for yo babei dont think you ready for this jelly i dont think you ready for this jelly i dont think you ready for this cause my body too bootylicious for yo babei dont think you ready for this jelly i dont think you ready for this jelly i dont think you ready for this cause my body too bootylicious for you babe ",1
43,"im like a bird","nelly furtado",2001," youre beautiful and thats for sure youll never ever fade your lovely but its not for sure and i wont ever changeand though my love is rare and though my love is trueim like a bird ill only fly away i dont know where my soul is soul is i dont know where my home is and baby all i need for you to know is im like a bird ill only fly away i dont know where my soul is soul is i dont know where my home is and i need for you to knowis your faith in me brings me to tears even after all these years and it pains me so much to tell that you dont know me that welland though my love is rare and though my love is trueim like a bird ill only fly away i dont know where my soul is soul is i dont know where my home is and baby all i need for you to know is im like a bird ill only fly away i dont know where my soul is soul is i dont know where my home is and baby all i need for you to know isits not that i want to say goodbye its just that every time you try to tell me me that you love me oh oh each and every single day i know im gonna have to eventually give you away yeahand though my love is rare and though my love is true yeah and im just scared that we may fall through yeah yeahim like a bird im like a bird i dont know where my soul is soul is i dont know where my home is and baby all i need for you to know is im like a bird ill only fly away i dont know where my soul is soul is i dont know where my home is and baby all i need for you to know is im like a bird ill only fly away i dont know where my soul is soul is i dont know where my home is and baby all i need for you to know is im like a bird ill only fly away i dont know where my soul is i dont know where my soul is i dont know where my home is and baby all i need for you to know is im like a bird ill only fly away i dont know where my soul is i dont know where my soul is i dont know where my home is and baby all i need for you to know is im like a bird ill only fly away i dont know where my soul is i dont know where my home is and baby all i need for you to know is ",1
44,"kryptonite","3 doors down",2001," i took a walk around the world to ease my troubled mind i left my body lying somewhere in the sands of time i watched the world float to the dark side of the moon i feel there is nothing i can do yeahi watched the world float to the dark side of the moon after all i knew it had to be something to do with you i really dont mind what happens now and then as long as youll be my friend at the endif i go crazy then will you still call me superman if im alive and well will you be there holding my hand ill keep you by my side with my superhuman might kryptoniteyou call me strong you call me weak but still your secrets i will keep you took for granted all the times i never let you downyou stumbled in and bumped your head if not for me then youd be dead i picked you up and put you back on solid groundif i go crazy then will you still call me superman if im alive and well will you be there holding my hand ill keep you by my side with my superhuman might kryptoniteif i go crazy then will you still call me superman if im alive and well will you be there holding my hand ill keep you by my side with my superhuman might kryptonite yeahif i go crazy then will you still call me superman if im alive and well will you be there holding my hand ill keep you by my side with my superhuman might kryptonite ",1
45,"fiesta","r kelly featuring jayz",2001," after the show its the after party then after the party its the hotel lobby and after the belve then its probably cris and after the original its probably this fiesta yes ma bedstuy fiesta remix with the homie from the midwest side game recognize game hoes do too its the new 2 live crew i suppose you knew so thugs pop yo toasters but dont approach us or bulletsll chase you like moet mimosas catch us both coasts racin twin porsches boxes with glocks thatll pop ya to make ya ghostes whoever come closest youve been warned but niggas dont get the picture til the weapons is drawn make your way backstage baby girl its on and well be drinkin til six in the morninin the back of the club with mama poppin bottles of cris with mama put the bar on the tab for mama throwin hundreds up for grabs for mama cause its about to go down tonight im a be drinkin til the early lizight thats right nigga high like a muhfuckin kizite take three honies just to make me feel rizight my my my my its what they all say when they see the frozen ice they say my my my my anytime they see them big things only cause iwhile yall gotta club date im fuckin wit arenas gotcha man sayin kelly have you seen her yeah she wit me on the low gettin high off the dro got her knees on the flofiesta fiesta fiesta fiesta fiesta fiesta fiesta fiesta fiesta fiesta fiesta fiesta fiesta fiesta fiesta fiesta fiestaswitchin lanes in my six in the burbs i met a broad named tasha in the burbs took the hood then i moved it to the burbs now no more sheriffs or polices in the burbs thats right and we about to tear this club up dont worry bout expenses cause i got that sho nough ready to boo like im fresh outta jizzail i need some woo from all the honeys on the dl i said my my my my yeah its what them thugs yellin when the strippers on fizzles they say my my my my yeah got kisha yellin from that up and down sizzlewhile yall gotta club date im fuckin wit arenas gotcha man sayin kelly have you seen her yeah she wit me on the low gettin high off the dro got her knees on the floi put the big body up come through in a rover not only kelly and gotti its boo and hova pop cris if you like my ice glist in the light im wit rocland right so im rich for life im like heaven everybody wanna get to me how you make it to the gates and forget the key im the one god chose so you blessed through me gotti floyd getchu higher than that ecstasyhey yo i come through stunnin plus im gettin blunted in the new sixhundred with the big rims on it we rock rocks thatll light ya shoulders gotta lotta hot cars but the drops is colder ah you see vip me kelly gotti and hov drinkin cris like its h2o all we do is spend cheese cause we love the dough mami roll more trees before its time to goif you got cash money then you feel this shit and if you rollin on them things then you feel this shit if you drunk off in the club then you feel this shit if youse a motherfuckin thug then you feel this shit if you smokin on some dro then you feel this shit and if you off that ecstasy you gots to feel this shit if you sippin on some cris you gots to feel this shit and if you throwin up and shit you gots to feel this shit fiestafiesta fiesta ",1
46,"when its over","sugar ray",2001," when its over thats the time i fall in love again and when its over thats the time youre in my heart again and when you go go go go i know it never ends never endsall the things that i used to say all the words that got in the way all the things that i used to know have gone out the window all the things that she used to bring all the songs she used to sing all the favorite tv shows have gone out the windowim missing you i never knew how much shed loved me im missing you i never knew how much you meant to me i need you and when you go go go go i know it never ends never endsall the things that i used to say all the words that got in the way all the things that i used to know have gone out the window all the things that she used to bring all the songs she used to sing all the favorite tv shows have gone out the windowim wishing you you never said you were pretending im wishing you you feel the same and just come back to me i need you and when you go go go go i know it never ends never endswhen its over can i still come over and when its over is it really over when its over thats the time i fall in love againall the things that i used to say all the words that got in the way all the things that i used to know have gone out the window all the things that she used to bring all the songs she used to sing all the favorite tv shows have gone out the windowall the things that i used to say all the words that got in the way all the things that i used to know have gone out the window all the things that she used to bring all the songs she used to sing all the favorite tv shows have gone out the windowall the things that i used to say all the words that got in the way all the things that i used to know have gone out the window all the things that she used to bring all the songs she used to sing ",1
47,"jaded","aerosmith",2001," NA ",1
48,"promise","jagged edge",2001," nothing is promised to me and you so why will we let this thing go baby i promise that ill stay true dont let nobody say it aint so and baby i promise that i will never leave that everything will be alright i i promise these things to you girl just believe i promiseshould of known the things you said been right forever is such a very long time we never even had a fight dont let no one change your mind cause they dont know how much i care they dont know the things we share unless theyre here babe but since theyre not how can they say im not true oh oh ohif you need a love i got the love that you need aint no way they can take that from me and i pray to god that one day they will see theyll see that im all that you neednothing is promised to me and you so why will we let this thing go baby i promise that ill stay true dont let nobody say it aint so and baby i promise that i will never leave that everything will be alright i i promise these things to you girl just believe i promisewhen i think of all the times i said that i will see you another day baby nothings gonna change yes it is said you mean the world to me and babygirl i keep you first yeah cause thats the kind of love you deserve and to know i got a love if you need a love yeahif you need a love i got the love that you need aint no way they can take that from me and i pray to god that one day they will seei swear to you because a promised oh girl nothing is promised to me and you so why will we let this thing go baby i promise that ill stay true dont let nobody say it aint so and baby i promise that i will never leave that everything will be alright i i promise these things to you girl just believe i promiseyoure the only i want in my life and i promise everything is alright girl youre the only i want in my life i promise promise promise you babyyoure the only i want in my life and i promise everything is alright girl youre the only i want in my life i promise promise promise you babyyoure the only i want in my life and i promise everything is alright girl youre the only i want in my life i promise promise promise you babyyoure the only i want in my life ",1
49,"missing you","case",2001," standing here looking out my window my nights are long and my days are cold cause i dont have you how can i be so damn demanding i know you said that its over now but i cant let goevery day i want to pick up the phone and tell you that youre everything i need and more if only i could find youlike a cold summer afternoon like the snow coming down in june like a wedding without a groom im missing you im the desert without the sand youre the woman without a man im the ring without a hand im missing youdriving round thought i saw you pass me my rear view mirrors playing tricks on me cause you fade away maybe im just hallucinating cause my loneliness got the best of me and my hearts so weakevery day i want to pick up the phone and tell you that youre everything i need and more if only i could find youlike a cold summer afternoon like the snow coming down in june like a wedding without a groom im missing you im the desert without the sand youre the woman without a man im the ring without a hand im missing youlike a cold summer afternoon like the snow coming down in june like a wedding without a groom im missing you im the desert without the sand youre the woman without a man im the ring without a hand im missing youyeah yeah yeah yeah yeah yeah yeah yeah yeahlike a cold summer afternoon like the snow coming down in june like a wedding without a groom im missing you im the desert without the sand youre the woman without a man im the ring without a hand im missing you  ",1
50,"differences","ginuwine",2001," oh hey oh yeah oh yeah to you mmm mmm mmm oh yeah babemy whole life has changed my whole life has changed since you came in since you came in i knew back then i knew back then you were that special one you were that one im so in love so in love so deep in love so deep in love you make my life completeyou complete me you are so sweet are so sweet no one competes no one competes glad you came into my life my life you blind me with your love love with you i have no sight no sightgirl you open me im wide open and im doing things i never do but i feel so good i feel so good why it take so long for me finding youthis is my story and im telling you its not fiction its surely a fact without you right here having my back i really dont know just where id be atmy whole life has changed my whole life has changed yeah since you came in i knew back then ooh oh yeah you were that special one you were that im so in love so deep in loveyou make my life complete you make make my life complete you are so sweet no one competesoh oh oh glad you came into my life oh you blind me with your love with you i have no sighti analyzed myself i was buck wild never thought about settling down but all the time i knew i was ready but not with all my friends aroundbut girl i put you first now i put you first now you made me helped mold me mold me baby turned me into a man im so responsible and i owe it all to youmy whole life has changed my whole life has changed since you came in i knew back then come on you were that special one you were that special one im so in love so deep in love oh oh ohyou make my life complete you make my life complete you are so sweet no one competes glad you came into my life so glad you came in you blind me with your love blind me baby with you i have no sightgod has blessed me god has blessed me baby girl he was good to me when he sent you im so happy im so happy baby oh yes i am share my world come and share my world baby oh whoa yeah yeah im so in love im so in love im addicted to your love baby yeahmy whole life has changed oh yes i am since you came in i knew back then ooh you were that special one you were that very very special one im so in love you were that very very special one so deep in loveyou make my life complete you make my life complete you are so sweet yes you did baby no one competesno one competes oh glad you came into my life you blind me with your love come on with you i have no sightmy whole life has changed my whole life has changed since you came in i knew back then you made a difference in my life you were that special one i knew you were that special one im so in love so deep in love when i first laid eyes on you babeyou make my life complete you make my life complete darlin you are so sweet no one competes no one competes baby glad you came into my life no one no one you blind me with your love no one with you i have no sight come onmy whole life has changed oh whoa whoa whoa since you came in i knew back then ",1
51,"this i promise you","n sync",2001,"n sync no strings attached this i promise you ohh ohh when the visions around you bring tears to your eyes and all that surround you are secrets and lies ill be your strength ill give you hope keeping your faith when its gone the one you should call was standing here all along and i will take you in my arms and hold you right where you belong till the day my life is through this i promise you this i promise you ive loved you forever in lifetimes before and i promise you never will you hurt anymore i give you my word i give you my heart give you my heart this is a battle weve won and with this vow forever has now begun just close your eyes close your eyes each loving day each loving day i know this feeling wont go away no till the day my life is through this i promise you this i promise you over and over i fall over and over i fall when i hear you call without you in my life baby i just wouldnt be living at all and i will take i will take you in my arms you in my arms and hold you right where you belong right where you belong till the day my life is through this i promise you baby just close your eyes  each loving day each loving day i know this feeling wont go away no every word i say is true this i promise you every word i say is true this i promise you ooh i promise you",3
52,"izzo hova","jayz",2001," h to the izzo v to the izza fo shizzle my nizzle used to dribble down in va was hurtin em in the home of the terrapins got it dirt cheap for them plus if they was short with cheese i would work with them brought in weed got rid of that dirt for them wasnt born hustlers i was birthin em h to the izzo v to the izza fo sheezy my neezy keep my arms so freezy cant leave rap alone the game needs me haters want me clapped and chromed it aint easy cops want to knock me da want to box me in but somehow i beat them charges like rocky h to the izzo v to the izza not guilty he who does not feel me is not real to me therefore he doesnt exist so poof vamoose son of a bitchh to the izzo v to the izza fo shizzle my nizzle used to dribble down in va h to the izzo v to the izza thats the anthem getcha damn hands up h to the izzo v to the izza not guilty yall got to feel me h to the izzo v to the izza thats the anthem getcha damn hands upholla at me i do this for my culture to let em know what a nigga look like when a nigga in a roaster show em how to move in a room full of vultures industry shady it need to be taken over label owners hate me im raisin the status quo up im over chargin niggas for what they did to the cold crush pay us like you owe us for all the years that you hoed us we can talk but money talks so talk mo bucksh to the izzo v to the izza fo shizzle my nizzle used to dribble down in va h to the izzo v to the izza thats the anthem getcha damn hands up h to the izzo v to the izza not guilty yall got to feel me h to the izzo v to the izza thats the anthem getcha damn hands upyeah hov is back life stories told through rap niggas actin like i sold you crack like i told you sell drugs no hov did that so hopefully you wont have to go through that i was raised in the projects roaches and rats smokers out back sellin they mamas sofa lookouts on the corner focused on the ave ladies in the window focused on the kinfolk me under a lamp post why i got my hand closed cracks in my palm watchin the long arm of the law so you know i seen it all before i seen hoop dreams deflate like a true fiends weight to try and to fail the two things i hate succeed in this rap game the two things thats great h to the izzo v to the izza what else can i say about dude i gets busyh to the izzo v to the izza fo shizzle my nizzle used to dribble down in va h to the izzo v to the izza thats the anthem getcha damn hands up h to the izzo v to the izza not guilty yall got to feel me h to the izzo v to the izza thats the anthem getcha damn hands uph to the izzo v to the izza h to the izzo v to the izza h to the izzo v to the izza h to the izzo v to the izza ",1
53,"superwoman pt ii","lil mo featuring fabolous",2001,"i guess i aint got no reason to mingle round i found a superwoman that can leap from the truck in a single bound mammie im tryina bling you down so niggas without shades on cant stare when i bring you round she put her lips on the weed and pull it then work her tongue and me cum faster than a speeding bullet her loves stronger than a locomotive but only for the fabolous sing to me ma baby they cant play you cause ill save you with my super powers boy im only human but ill be your super woman they dont know any girls like me no no take a girl like me to get a guy like you to understand how girls and guys sing im not your average chic cause they cant do it like this ive been sent to save your day and things wont be the same baby they cant play you cause ill save you with my super powers boy im only human but ill be your super woman boy i told you once before you aint gotta look up in the sky cause the girl you need is right before your eyes your so sick of all these broads aint got nothing to stand for cause with me you wont fall off no baby ooh baby they cant play you cause ill save you with my super powers boy im only human but ill be your super woman everyday everyday ill love you in a special way they cant stay now that im here im here its superwoman bout to save my day them cos i hooked and gave some play now i wouldnt even wave their way i understand why them other chicks behave that way they see the icy s on your chest engraved in grey be hipped i might you usually get my tips im tight the only green i keep from you in kryptonite when that blowing red suit hits your hips so right its like de de de de de de de de de de damn its like im under your spell if feelin you is a crime they gon have to put me under the jail you probably hear the details that i be in everything from lairs to cls to my share of the females but you know i care for you  care for me and anytime this niggas there for you  there for me these feelings i only share for you this makes it a ill mo clear for you that baby they cant play you cause ill save you with my super powers boy im only human but ill be your super woman",3
54,"crazy for this girl","evan and jaron",2001,"evan miscellaneous crazy for this girl crazy for this girl by evan and jaron she rolls the window down and she talks over the sound of the cars that pass us by and i dont know why but shes changed me life chorus when you look at her she looks at me shes got me thinkin about her constantly cuz she dont know how i feel and when she carries on without a doubt i wonder if shes figured out im crazy for this girl im crazy for this girl she was the one to hold me the night the sky fell down and what was i thinkin when the world didnt end when i know what i know now chorus right now face to face all my fears pushed aside right now im ready to spend the rest of my life with you chorus piano solo chorus",3
55,"nobody wants to be lonely","ricky martin and christina aguilera",2001," there you are in a darkened room and youre all alone looking out the window your heart is cold and lost the will to love like a broken arrow here i stand in the shadows come to me come to me cant you see thatnobody wants to be lonely nobody wants to cry my bodys longing to hold you so bad it hurts inside time is precious and its slipping away and ive been waiting for you all of my life nobody wants to be lonely so why why dont you let me love youcan you hear my voice do you hear my song its a serenade so your heart can find me and suddenly youre flying down the stairs into my arms baby before i start going crazy run to me run to me cause im dyingnobody wants to be lonely nobody wants to cry my bodys longing to hold you so bad it hurts inside time is precious and its slipping away and ive been waiting for you all of my life nobody wants to be lonely so why why dont you let me love youwhy why why oh why why why why whyi want to feel you need me just like the air youre breathing i need you here in my life dont walk away dont walk away dont walk away dont walk away no no no nonobody wants to be lonely nobody wants to cry nobody wants to be lonely i dont want to be lonely nobody wants to cry i dont want to cry my bodys longing to hold you im longing to hold you so bad it hurts inside time is precious and its slipping away and ive been waiting for you all of my life nobody wants to be lonely so why why dont you let me love youwhy why why why dont you let me love you why why whynobody wants to be lonely i dont want to cry nobody wants to cry my bodys longing to hold you so bad it hurts inside nobody wants to be lonely i dont want to be lonely nobody wants to cry i dont want to cry nobody ",1
56,"i just wanna love u give it 2 me","jayz",2001," lets go hov uh huh hov you are not ready hov unstoppable dynasty young hovaim a hustler baby im a hustler i just want you to know wanna let you know it aint where i been it aint where i been but where im bout to go top of the world now i just wanna love you just wanna love you but be who i am you know you love me and with all this cash mo money mo problems youll forget your man now give it to me gimme that funk that sweet that nasty that gushi stuff but dont bullshit me cmon gimme that funk that sweet that nasty that gushi stuffwhen the remis in the system aint no tellin will i fuck em will i diss em thats what they be yellin im a pimp by blood not relation yall be chasin i replace them huh drunk off crist mami on e cant keep her little model hands off me both in the club high singing off key and i wish i never met her at all it gets better ordered another round its about to go down got six model chicks six bottles of crist four belvederes got weed everywhere what do you say me you and your chloe glasses go somewhere private where we can discuss fashion like prada blouse gucci bra filth mart jeans take that offgive it to me gimme that funk that sweet that nasty that gushi stuff but dont bullshit me cmon gimme that funk that sweet that nasty that gushi stuff i said give it to me gimme that funk that sweet that nasty that gushi stuff but dont bullshit me mama gimme that funk that sweet that nasty that gushi stuffyeah save the narrative you savin it for marriage lets keep it real ma you savin it for karats you wanna see how far im a go how much ima spend but you already know zip zero stingy with dinero might buy you crist but that about it might light your wrist but that about it fuck it i might wife you and buy you nice whips ma but you really gotta ride nice dick know how to work your hips and your heads priceless profess you love the hov and ill never let you down get you bling like the neptune sound okay hot hov too hot to hold ladies love me long time like 2pacs soul only way to roll jigga and two ladies im too cold motorola two way page me cmongive it to me gimme that funk that sweet that nasty that gushi stuff but dont bullshit me cmon gimme that funk that sweet that nasty that gushi stuff i said give it to me gimme that funk that sweet that nasty that gushi stuff but dont bullshit me mama gimme that funk that sweet that nasty that gushi stuff im a hustler baby uh hov i just want you to know hov it aint where i been but where im bout to go hov hov now i just wanna love you young hova but be who i am know you love me and with all this cash mo money mo problems youll forget your manyeah yeah yeah same song im back been around the world romancing girls that dance with girls from club cheetah to club amnesia the peanuts in la bubblin in dublin cant deny me why would you want to you need me why dont you try me baby you want to believe me hovgive it to me gimme that funk that sweet that nasty that gushi stuff but dont bullshit me cmon gimme that funk that sweet that nasty that gushi stuff i said give it to me gimme that funk that sweet that nasty that gushi stuff but dont bullshit me mama gimme that funk that sweet that nasty that gushi stuffyou gotta give it to me uh uh huh ",1
57,"one minute man","missy elliott featuring ludacris",2001," ooh i dont want i dont need i cant stand no minute man i dont want no minute man ooh heres your chance be a man take my hand understand i dont want no minute manboy ima make you love me make you want me and ima give you some attention tonight now follow my intuitions what youre wishin see ima keep you up all night for a long time so start countin awaybreak me off show me what you got cause i dont want no one minute man break me off show me what you got cause i dont want no one minute man break me off show me what you got cause i dont want no one minute man break me off show me what you got cause i dont want notonight imma give it to you throw it to you i want you to come prepared ohh yeah oh yes boy its been a long time a crazy long time and i dont want no minute man and thats real give it to me some morebreak me off show me what you got cause i dont want no one minute man break me off show me what you got cause i dont want no one minute man break me off show me what you got cause i dont want no one minute man break me off show me what you got cause i dont want noits time to set your clock back bout as long as you can i stop daylight its ludacris the maintenance man get your oil changed i check fluids and transmission you one minute fools you wonder why yall missin on the back of milk cartons and theres no reward no regards close but its no cigar a hard head make a soft ass but a hard dick make the sex last i jump in pools and make a big splash water overflowin so get your head right its all in your mind punk so keep your head tight enough with tips and advice and thangs im big dog havin women seein stripes and thangs they go to sleep start snorin countin sheep and shit they so wet that they body start to leak and shit just cause im an allnighter shoot all fire ludacris balance and rotate all tiresooh i dont want i dont need i cant stand no minute man i dont want no minute man ooh heres your chance be a man take my hand understand i dont want no minute manbreak me off show me what you got cause i dont want no one minute man break me off show me what you got cause i dont want no one minute man break me off show me what you got cause i dont want no one minute man break me off show me what you got break me off show me what you got break me off show me what you got break me off show me what you got break me off ",1
58,"danger been so long","mystikal featuring nivea",2001," you know what time it is nigga and you know who the fuck this is danger danger get on the floor the nigga right chea sing itbeen so long sing it hes been on so please get on the floor show me the nigga right chea what it is that you want to seego tell the dj to put my shit on im keeping you niggas and bitches in jump from the minute i get on taking they shirt off showing they tattoos screaming and hollering and all got the gift to come up with it put it together deliver it make them feel it bitch i been on sharp like you pulled me out the pencil sharpener bad like that student in the principal office put rappers in coffins they dive like dolphins im the damnedest lyrical marvel you come across often so watch yourself or fuck around and get beside yourself i know go head though bounce them titties shake that ass drop that pussy but stay in line ho fuck i cant cause you can can cocked up head down pussy popping on a handstand leave that pussy smoking if you gon do something then bend over and bust that pussy openbeen so long sing it since hes been on sing it so please get on the floor show me the nigga right chea what it is that you want to seebeen so long sing it since hes been on sing it so please show me what it is that you want to seemy fucking concert line around the corner parking cars niggas looking for they bitch nothing on her you looking good momma why pssh whats up homie sirens limousines and the club owner ya bitch you if you late aint no getting in this bitch cause its filling up inside packed from the floor to the ceiling up the building aint big enough im backstage bouncing adrenaline building up the pussy cutter did i stutter the heart flutter make your woman drawers melt like butter down like nelly im hype like belly the rhyme seller kick ass like jim kelly stand up round out boot up and frown tell a nigga if he wanna try it then bitch come on down no sweat no blood no tears and if i tell you its the shit then bitch thats what it isbeen so long sing it since hes been on sing it so please get on the floor show me the nigga right chea what it is that you want to seebeen so long sing it since hes been on sing it so please get on the floor show me the nigga right chea what it is that you want to seedanger talking bout danger motherfucker look get on the flo the nigga right chea danger motherfucker watch your back danger look look nigga what look look get on the flo the nigga right chea get em upbeen so long sing it since hes been on sing it so please get on the floor show me the nigga right chea what it is that you want to seebeen so long sing it since hes been on sing it so please get on the floor show me the nigga right chea what it is that you want to seedanger get on the flo ",1
59,"only time","enya",2001," who can say where the road goes where the day flows only timeand who can say if your love grows as your heart chose only timeinterludewho can say why your heart sighs as your love flies only timeand who can say why your heart cries when your love lies only timeinterludewho can say when the roads meet that love might be in your heartand who can say when the day sleeps if the night keeps all your heart night keeps all your heartinterludewho can say if your love grows as your heart chose only timeand who can say where the road goes where the day flows only timewho knows only timewho knows only time ",1
60,"i do","toya",2001," he was a six foot stallion said a storybook thug he was the kind that made you wonder how he put down the love he had a hickey in his pocket with that rock in his ear he made my heart stop palpitating every time he came nearhe has a spankin new range for that tight wardrobe his pants was saggin he was plaided and his head was cornrows he has his wrists bling blinging and his long legs was bow he tried to push up on me but i knew he had me at goi do i wonder if you feel the same way i do i can see it in your eyes i entice you so come on shorty if you think you can roll with an iced out playah ballin out of controlcause i do i wonder if you feel the same way i do i can see it in your eyes i entice you so come on shorty if you think you can roll with an iced out playah ballin out of control cause i dome and my crew started groovin made our way to the floor i start to activate my pad and give this hottie a show i shook my hips took a dip roll my tounge cross my lips and when he took his place to dance wit me i felt fingertipson the small of my back so i had to react like i was playin hard to get and told that boy to step back but when i looked deep in his eyes all i could see was his soul im bout to make this guy my man that i can tell you fa showi do i wonder if you feel the same way i do i can see it in your eyes i entice you so come on shorty if you think you can roll with an iced out playah ballin out of controlcause i do i wonder if you feel the same way i do i can see it in your eyes i entice you so come on shorty if you think you can roll with an iced out playah ballin out of control cause i dowatch me drop drop shake it for the fellas who know watch me pop pop my ass as i dip and roll watch me stop stop traffic as i walk through the room knowin all the papis want me but all i want is youi do watch me drop drop shake it for the fellas who know watch me pop pop my ass as i dip and roll watch me stop stop traffic as i walk through the room knowin all the papis want me but all i want is youi do i wonder if you feel the same way i do i can see it in your eyes i entice you so come on shorty if you think you can roll with an iced out playah ballin out of controlcause i do i wonder if you feel the same way i do i can see it in your eyes i entice you so come on shorty if you think you can roll with an iced out playah ballin out of controlcause i do i wonder if you feel the same way i do i can see it in your eyes i entice you so come on shorty if you think you can roll with an iced out playah ballin out of controlcause i do i wonder if you feel the same way i do i can see it in your eyes i entice you so come on shorty if you think you can roll with an iced out playah ballin out of control cause i do ",1
61,"never had a dream come true","s club 7",2001," everybodys got something they had to leave behind one regret from yesterday that just seems to grow with timetheres no use lookin back or wonderin how it could be now or might have been all this i know but still i cant find ways to let you goi never had a dream come true till the day that i found you even though i pretend that i moved on youll always be my babyi never found the words to say youre the one i think about each day and i know no matter where life takes me to a part of me will always be with yousomewhere in my memory ive lost all sense of time and tomorrow can never be cause yesterday is all that fills my mindtheres no use lookin back or wonderin how it should be now or might have been all this i know but still i cant find ways to let you goi never had a dream come true till the day that i found you even though i pretend that i moved on youll always be my babyi never found the words to say youre the one i think about each day and i know no matter where life takes me to a part of me will always beyoull always be the dream that fills my head yes you will say you will you know you will oh baby youll always be the one i know ill never forgettheres no use lookin back or wonderin because love is a strange and funny thing no matter how i try and try i just cant say goodbye no no no noi never had a dream come true till the day that i found you even though i pretend that i moved on youll always be my babyi never found the words to say youre the one i think about each day and i know no matter where life takes me to a part of me will always be a part of me will always be with you ",1
62,"stranger in my house","tamia",2001," theres a stranger in my house took a while to figure out theres no way you could be who you say you are you got to be someone elsecause he wouldnt touch me like that and he wouldnt treat me like you do he would adore me he wouldnt ignore me so im convinced theres an stranger in my housei dont understand you look just like my man in the picture by our bed the suspense is pounding and clouding up my headim checking your clothes and you wear the same size shoe you sleep in his spot and your driving his car but i dont know just who you aretheres a stranger in my house took a while to figure out theres no way you could be who you say you are you got to be someone elsecause he wouldnt touch me like that and he wouldnt treat me like you do he would adore me he wouldnt ignore me so im convinced theres an stranger in my houseim not sure who you are dont see your shadow around when you walk you leave with no kisses goodbye with no words if these walls could talk they would have nothing to tellso what could it be is there someone imitating me could she be taking my place look me in the face and tell me that im wrong when i saytheres a stranger in my house took a while to figure out theres no way you could be who you say you are you got to be someone elsecause he wouldnt touch me like that and he wouldnt treat me like you do he would adore me he wouldnt ignore me so im convinced theres an stranger in my housepop quiz tell me where we first kissed tell me where my spot is tell me if i liked it loved it or could it be that the stranger is me have i changed so drasticly is it i want more than me and you remain the sametheres a stranger in my house took a while to figure out theres no way you could be who you say you are you got to be someone elsecause he wouldnt touch me like that and he wouldnt treat me like you do he would adore me he wouldnt ignore me so im convinced theres an stranger in my housetheres a stranger in my house took a while to figure out theres no way you could be who you say you are you got to be someone elsecause he wouldnt touch me like that and he wouldnt treat me like you do he would adore me he wouldnt ignore me so im convinced theres an stranger in my house ",1
63,"irresistible","jessica simpson",2001," you know i dont know what it is but everything about you is so irresistibledont you try and tell me that hes not my type to hide what i feel inside when he makes me weak with desire i know that im supposed to make him wait let him think i like the chase but i cant stop fanning the firei know i meant to say nobut hes irresistible up close and personal now inescapable i can hardly breathe more than just physical deeper than spiritual his ways are powerful and irresistible to me i can hardly breathedont you think im trying to tell my heart whats right that i should really say goodnight but i cant stop myself from falling maybe ill tell him that i feel the same that i dont want to play no game cause when i feel his arms wrapped around mei know meant to say nobut hes irresistible up close and personal now inescapable i can hardly breathe more than just physical deeper than spiritual his ways are powerful and irresistible to mecant you see whenever hes close to me i really find it hard to breathe hes so irresistiblebaby you know its more than just spiritual his kisses are powerful hes so irresistiblebut hes irresistible up close and personal now inescapable i can hardly breathe more than just physical deeper than spiritual his ways are powerful irresistible to mehes irresistible up close and personal now inescapable i can hardly breathe more than just physical deeper than spiritual his ways are powerful and irresistible to me ",1
64,"heard it all before","sunshine anderson",2001," baby let me explain to you im sayin what you sayin its not even like that it wasnt like that but i saw you baby i dont love her you dont love me you know what i dont even want to talk to youshe dont mean nothing to me i dont want to see ya face i just want to see you walking through that door there aint nothing else to say peacecome home late it seems you barely beat the sun tapping my shoulder thinking you gonna get you some smelling like some fragrance that i dont even wear if you want some loving i suggest you go back there where you came fromday to day with you its always something else working my nerve god knows i dont deserve what you put me through cause i been so true to you for you to come at me with another lame excusesee iheard it all before heard it all before all of ya lies all of ya sweet talk baby this baby that but your lies aint working now look whos hurting now see i had to shut you down i had to shut you downplayed the fool before played the fool before i was your fool i believed in you yes i did yes i did but your lies aint working now look whos hurting now see i had to shut you down i had to shut you downwhat were you thinking bringing her into our home in our bed you must have fell and bumped your head messing up my sheets and violating me have me bout to call my peeps and take it to the streetsnothing you can do and theres nothing you can say that would persuade me to stay with you another day you have crossed the line to the point of no return what you do from here on out i am no longer concernedsee iheard it all before heard it all before let me explain baby its not what you think thats what you said to me but your lies aint working now look whos hurting now see i had to shut you down i had to shut you downplayed the fool before played the fool before you got a good game i must admit i was it but its over but your lies aint working now look whos hurting now see i had to shut you down i had to shut you downuse to hang on to your every word but the more you lie to me the more i hurt the things you use to say would sound so sweet i was naive quick to believeheard it all before i was at work it wasnt my car you saw baby i swear it wasnt me but your lies aint working now look whos hurting now see i had to shut you down i had to shut you downplayed the fool before played the fool before you were my boo i trusted you for way too long but your lies aint working now look whos hurting now see i had to shut you down i had to shut you downheard it all before you know you messed up you got to know you messed up you got to go now say what you want but your lies aint working now look whos hurting now see i had to shut you down i had to shut you downplayed the fool before i done change the locks on the door yes i did and you aint welcome no more but your lies aint working now look whos hurting now see i had to shut you down i had to shut you downsee i heard it all before ",1
65,"the space between","dave matthews band",2001," you cannot quit me so quickly is no hope in you for me no corner you could squeeze me but i got all the time for you lovethe space between the tears we cry is the laughter keeps us coming back for more the space between the wicked lies we tell and hope to keep safe from the painbut will i hold you againthese fickle fuddled words confuse me like will it rain today waste the hours with talking talking these twisted games were playingwere strange allies with warring hearts what a wildeyed beast youll be the space between the wicked lies we tell and hope to keep safe from the painbut will i hold you again will i holdlook at us spinning out in the madness of a roller coaster you know you went off like the devil in a church in the middle of a crowded room all we can do my love is hope we dont take this ship downbut the space between where youre smilin high is where youll find me if i get to go the space between the bullets in our firefight is where ill be hiding waiting for youthe rain that falls splash in your heart ran like sadness down the window into your room the space between our wicked lies is where we hope to keep safe from paintake my hand cause were walking out of here oh right out of here love is all we need dearthe space between whats wrong and right is where youll find me hiding waiting for you the space between your heart and mine is the space well fill with timethe space between the space between ",1
66,"there youll be","faith hill",2001," when i think back on these times and the dreams we left behind ill be glad cause i was blessed to get to have you in my lifewhen i look back on these days ill look and see your face you were right there for mein my dreams ill always see you soaring by the sky in my heart therell always be a place for you for all my life ill keep a part of you with me and everywhere i am there youll be and everywhere i am there youll bewell you showed me how it feels to feel the sky within my reach and i always will remember all the strength you gave to me your love made me make it through oh i owe so much to you you were right there for mein my dreams ill always see you soar above the sky in my heart therell always be a place for you for all my life ill keep a part of you with me and everywhere i am there youll because i always saw in you my light my strength and i want to thank you now for all the ways you were right there for me you were right there for me you were right there for me for alwaysin my dreams ill always see you soar above the sky in my heart therell always be a place for you for all my lifeill keep a part of you with me and everywhere i am there youll be and everywhere i am there youll be there youll be ",1
67,"love","musiq soulchild",2001," love so many things ive got to tell you but im afraid i dont know how cause theres a possibility youll look at me differently love ever since the first moment i spoke your name from then on i knew that by you being in my life things were destined to change causelove so many people use your name in vain love those have faith in you sometimes go astray love through all the ups and downs the joy and hurt love for better or worse i still will choose you firstmany days ive longed for you wanting you hoping for the chance to get to know you longing for your kiss for your touch your feel your essence many nights ive cried from the things you do felt like i could die from the thought of losing you i know that youre real with no doubts and no fears and no questionslove so many people use your name in vain love those have faith in you sometimes go astray love through all the ups and downs the joy and hurt love for better or worse i still will choose you firstat first you didnt mean that much to me but now i know that youre all i need the world looks so brand new to me now that i found love everyday i live for you and everything that i do i do it for you what i say is how i feel so believe its true you got to know im truelove so many people use your name in vain love those have faith in you sometimes go astray love through all the ups and downs the joy and hurt love for better or worse i still will choose you firstlove so many people use your name in vain love those have faith in you sometimes go astray love through all the ups and downs the joy and hurt love for better or worse i still will choose you first ",1
68,"its over now","112",2001," what is this numbers in your pocket i remember when you used to throw those things away why do you wanna keep in touch now who gave you a reason to act so shadybaby you know you can call me anytime anything you needed i would give it to you ooh thats how much i care for you you wanna act nownever call me back now turning off your cell phone girl you know that aint cool yes i dont understand baby yeahbaby its a shame we gotta go through this we cant even talk girl we dont even kiss i never wouldve thought wed be breaking up like this but its over now its over nowyou think that i dont know whats going on cause youre always home alone and im always out of town you need to stop trying to play me cause you cant even fade me i know youre messing around babybaby you know you can call me anytime anything you needed i would give it to you thats how much i care for you baby you wanna act nownever call me back now turning off your cell phone girl you know that aint cool oh i dont understand babybaby its a shame we gotta go through this we cant even talk girl we dont even kiss i never wouldve thought wed be breaking up like this but its over now its over nowbaby its a shame we gotta go through this we cant even talk girl we dont even kiss i never wouldve thought wed be breaking up like this but its over now its over nowbaby its a shame a shame that we go through the things that we go through when youre in love with me and im in love with you i think that we should talk about our problems instead of running awayoh baby its a shame we couldnt work it out forgot what love was all about and the feelings we had from the start my heart will always be with you oh girl its a shamebaby its a shame we gotta go through this we cant even talk girl we dont even kiss i never wouldve thought wed be breaking up like this but its over now its over nowbaby its a shame we gotta go through this we cant even talk girl we dont even kiss i never wouldve thought wed be breaking up like this but its over now its over nowbaby its a shame we gotta go through this we cant even talk girl we dont even kiss i never wouldve thought wed be breaking up like this but its over now its over now ",1
69,"no more baby ima do right","3lw",2001," you can or you cant cant be a man be a man man no more no more baby ima do right you treat me like a lady when you open doors doors but then you wanna front when youre with your boys your boys how you gonna play me when i bought your clothes your clothes the ones that you be wearin when you with your hoes your hoes i know you never thought that i would have the nerve the nerve think about it more since you at the curb the curb blowin up my pager say you want a chance a chance listen when i say playa please no im not the one baby ima do right do right no im not the one baby ima do right do righti just wanna know what happened to our love we used to be best friends where did it go wrong when you gonna see how good it is with me im tired and im through with all your listen babylisten what playa chill now tell me how you gon cite me when i found out honey gotta break it down down i said it aint no thing girl whats my name keelay keelay look me in the face and tell me what the dealie dealie oh you wanna go shade now but im paid now i know that you hate that oh you got the one now you warm now cause you thought youd come right back save that you could do whatever to me and be together with me like you do better than me you do or you dont no more never for mehey yo you promised me kate spade but that was last year boy in the 8th grade but you aint biggie baby boy so no it aint one more chance and when yo friends around you dont wanna hold my hand and now you see a girl stylin and wildin inside the mix hoppin out the whips the whips the five and six yes fly crone so pardon my tone here go a quarter go call tyroneno im not the one say it again ssay it say it again no im not the one say it again ssay it say it again no im not the one i could do bad all by myself no im not the one im not the one the one ",1
70,"turn off the light","nelly furtado",2001," its getting so lonely inside this bed to know if i should lick my wounds or say woe is me instead and theres an aching inside my head its telling me youre better off alonebut after midnight morning will come and the day will see if you will get somethey say that girl ya know she act too tough tough tough well its till i turn off the light turn off the light they say that girl you know she act so rough rough rough well its till i turn off the light turn off the lightand i say follow me follow me follow me down down down down till you see all my dreams not everything in this magical world is quite what it seemsi looked above the other day cos i think im good and ready for a change i live my life by the moon if its high play it low if its harvest go slow and if its full then gobut after midnight morning will come and the day will see if youre gonna get somethey say that girl ya know she act too tough tough tough well its till i turn off the light turn off the light they say that girl you know she act so rough rough rough well its till i turn off the light turn off the lightand i say follow me follow me follow me down down down down till you see all my dreams not everything in this magical world is quite what it seemsand im searching for things that i just cannot see why dont you dont you dont you come and be with me i pretend to be cool with me want to believe that i can do it on my own without my heart on my sleeveim running im running catch up with me life or is it love that im looking to find its all in me cant you see why cant you why cant you see its all in me yeahall in me yeah where is your logic turn off the light turn off the light who do you need turn off the light turn off the lightand i said follow me follow me follow me down down down down do you see all my dreams yea not everything in this magical world is quite what it seemsfollow me follow me down down down down turn off the light turn off the light follow me down follow me down down down turn off the light turn off the lightand i said follow me follow me follow me down down down down do you see all my dreams see all my dreams follow me follow me follow me down down down down see all my dreams see all my dreamswhere is your logic turn off the light turn off the light who do you need turn off the light turn off the light where can you turn turn off the light turn off the light and where is your logic turn off the light turn off the light who do you need ",1
71,"aint nothing bout you","brooks  dunn",2001,"once i thought that love was something i could never do never knew that i could feel this much but this yearning in the deep part of my heart for you is more than a reaction to your touch its a perfect passion and i cant get enough the way you look the way you laugh the way you love with all you have there aint nothing bout you that dont do something for me the way you kiss the way you cry the way you move when you walk by theres aint nothing bout you that dont do something for me in my life ive been hammered by some heavy blows that never knocked me off my feet all you gotta do is smile at me and down i go and baby its no mystery why i surrender girl you got everything the way you look the way you laugh the way you love with all you have there aint nothing bout you that dont do something for me the way you kiss the way you cry the way you move when you walk by theres aint nothing bout you that dont do something for me i love your attitude your rose tattoo your every thought your smile you lips and girl the list goes on and on and on the way you look the way you laugh the way you love with all you have there aint nothing bout you that dont do something for me the way you kiss the way you cry the way you move when you walk by theres aint nothing bout you that dont do something for me the way you look the way you laugh the way you love with all you have your dance your drive you make me feel alive the way you talk the way you tease by now i think you see there aint nothing bout you that dont do something for me",5
72,"play","jennifer lopez",2001," ooh ooh ah ooh ooh ooh ooh ye ooh oohi could wait all night and day to go to a party sit down and wait give my request to the dj cause my song hes gotta play and when i hear that beat i get my body up out my seat i grab a guy and move my feet hes playin my songplay come on play that song play it all night long just turn it up and turn me on play come on dj play that song you know that turns me on dj just play that song just turn it up and turn me ondj just play that song cause i want to be dancing all night long just play my play my play my play my play my favorite songi dont care if everybodys gone turn it upcause it turns me on keep dancing all night long feels so right that it cant be wrong i get chills up and down my spine whenever i hear that song of mine when it stops better press rewind let me here it one more timeplay come on play that song play it all night long just turn it up and turn me on play come on dj play that song you know that turns me on dj just play that song cause i want to be dancing all night longplay come on play that song play it all night long just turn it up and turn me on play come on dj play that song you know that it turns me on dj just play that song cause i want to be dancing all night longi just want to dance is that a crime alright then yeah thats the hotness right here play come on play that song play it all night long just turn it up and turn me on now mr dj ive asked you 3 times already just play my mother fuckin songplay come on dj play that song you know that it turns me on dj just play that song just turn it up and turn me onplay come on play that song play it all night long just turn it up and turn me on play come on dj play that song you know that it turns me on dj just play that song cause i want to be dancing all night longplay come on play that song play it all night long just turn it up and turn me on play come on dj play that song you know that it turns me on dj just play that song just turn it up and turn me on ",1
73,"im already there","lonestar",2001," he called her on the road from a lonely cold hotel room just to hear her say i love you one more time but when he heard the sound of the kids laughin in the backgroundhe had to wipe away a tear from his eye a little voice came on the phone said daddy when you comin home he said the first thing that came to his mindim already there take a look around im the sunshine in your hair im the shadow on the groundim the whisper in the wind im your imaginary friend and i know im in your prayers oh im already thereshe got back on the phone said i really miss you darlin dont worry about the kids theyll be alright wish i was in your arms lyin right there beside youbut i know that ill be in your dreams tonight and ill gently kiss your lips touch you with my fingertips so turn out the light and close your eyesim already there dont make a sound im the beat in your heart im the moonlight shinin downim the whisper in the wind and ill be there til the end can you feel the love that we share oh im already therewe may be a thousand miles apart but ill be with you wherever you areim already there take a look around im the sunshine in your hair im the shadow on the groundim the whisper in the wind and ill be there til the end can you feel the love that we share oh im already there oh im already there ",1
74,"my baby","lil romeo",2001," hotline can i request a song sure my baby by lil romeo you got thatoh romeo give me a chance too young i dont need a girlfriend walk me home from school anyway okay oh romeo the cutest boy i know i know i know so let me be your girlfriendthey call me lil p i represent the cp3 calliope ya heard of me straight from new orleans gotta uncle named silkk and a uncle named c i been dribbling the ball since the age of 3i got game like coby dunk it like poppa p once im in the zone aint no stoppin me coz you can jumpa baby humma girls be jockin me them miller boyz wear no limit gear from head to feetits like that whodi you got me crazy its like that whodi i want to be your lady its like that whodi why wont you be my baby its like that whodi cant no girl fade me meet me at the skatin rinkoh romeo give me a chance too young i dont need a girlfriend walk me home from school anyway okay oh romeo the cutest boy i know i know i know so let me be your girlfriend11 years old makin as and bs and these lil mommys cant keep their hands off me when you see me in the streets holla whats up doc i gotta a bugs bunny chain wit a matchin watchi make you jump like kris kross bounce like bow im the next generation i came to lock it down im a little boy but live a big mans life i got girls passin up wanna be my wifei got grown women wanna be in my life by the time i reach 18 im not gon be nothin nice im that r o m e o and after high school im goin straight to the pros bounce bounceoh romeo give me a chance too young i dont need a girlfriend walk me home from school anyway okay oh romeo the cutest boy i know i know i know so let me be your girlfriendsoldier boy i want you to myself i dont want them girls around your the flyest thing up in here boy and thats why its goin down i heard they call you romeo well im your juliet you must be playin hide and seek cause boy you hard to catchoh romeo give me a chance too young i dont need a girlfriend walk me home from school anyway okay oh romeo the cutest boy i know i know i know so let me be your girlfriendwhy you boys make them elbows swing why you girls make them elbows swingromeo gonna do dat thang romeo gonna do dat thang romeo gonna do dat thang romeo gonna do dat thangwhy you boys make them elbows swing why you girls make them elbows swing why you boys make them elbows swing why you girls make them elbows swingthrow em up get em up throw em up get em up throw em up get em up whatthis is for the fly girls that punk them this is for the fly boys that punk them this is for the fly girls thats bout it this is for the fly boys thats bout itmake em sweat make em sweat make em sweat make em sweat make em sweat make em sweatthats all folks ",1
75,"beautiful day","u2",2001," the heart is a bloom shoots up through the stony ground theres no room no space to rent in this townyoure out of luck and the reason that you had to care the traffic is stuck and youre not moving anywhereyou thought youd found a friend to take you out of this place someone you could lend a hand in return for graceits a beautiful day sky falls you feel like its a beautiful day dont let it get awayyoure on the road but youve got no destination youre in the mud in the maze of her imaginationyoure lovin this town even if that doesnt ring true youve been all over and its been all over youits a beautiful day dont let it get away its a beautiful daytouch me take me to that other place teach me i know im not a hopeless casesee the world in green and blue see china right in front of you see the canyons broken by cloud see the tuna fleets clearing the sea out see the bedouin fires at night see the oil fields at first light and see the bird with a leaf in her mouth after the flood all the colors came outit was a beautiful day dont let it get away beautiful daytouch me take me to that other place reach me i know im not a hopeless casewhat you dont have you dont need it now what you dont know you can feel it somehow what you dont have you dont need it now dont need it now was a beautiful day ",1
76,"austin","blake shelton",2001," she left without leavin a number said she needed to clear her mind he figured shed gone back to austin cause she talked about it all the time it was almost a year before she called him up three rings and an answering machine is what she gotif your callin bout the car i sold it if this is tuesday night im bowlin if youve got somethin to sell your wastin your time im not buyin if its anybody else wait for the tone you know what to do and ps if this is austin i still love youthe telephone fell to the counter she heard but she couldnt believe what kind of man would hang on that long what kind of love that must be she waited three days and then she tried again she didnt know what shed say but she heard three rings and thenif its friday night im at the ball game and first thing saturday if it dont rain im headed out to the lake and ill be gone all weekend long but ill call you back when i get home on sunday afternoon and ps if this is austin i still love youwell this time she left her number but not another word when she waited by the phone on sunday evening and this is what he heardif your callin bout my heart its still yours i should have listened to it a little more then it wouldnt have taken me so long to know where i belong and by the way boy this is no machine your talkin to cant you tell this is austin and i still love youi still love you ",1
77,"southern hospitality","ludacris",2001," cadillac grills cadillac mills check out the oil my cadillac spills matter of fact candy paint cadillacs kill so check out the hoes my cadillac fills twenty inch wide twenty inches high hoe dont you like my twenty inch ride twenty inch thighs make twenty inch eyes hoping for american twenty inch pies pretty ass clothes pretty ass toes oh how i love these pretty ass hoes pretty ass high class anything goes catch em in the club throwing pretty ass bows longjohn drawers longjohn stalls any stank puss make my long john pause women on they cell making long john calls and if they like to juggle get long johns ballsall my players in the house that can buy the bar and the balling ass niggas wit the candy cars if you a pimp and you know you dont love them hoes when you get on the flow nigga throw them bows all my women in the house if you chasing cash and you got some big titties wit a matching ass with ya flyass boots or ya open toes when ya get on the flow nigga throw them bowsdirty south mind blowing dirty south bread catfish fried up dirty south fed sleep in a cotpicking dirty south bed dirty south girls gimme dirty south head hand me down flipflops hand me down socks hand me down drug dealers hand me down rocks hand me down a 50 pack swisher sweets box and goodfella rich niggas hand me down stocks mouth full of platinum mouth full of gold forty glock cal keep your mouth on hold lie through your teeth you could find your mouth cold and rip out ya tongue cause of what ya mouth told sweat for the lemonade sweat for the tea sweat from the hot sauce sweat from the d and you can sweat from a burn in the third degree and if you sweat in your sleep then you sweat from meall my players in the house that can buy the bar and the balling ass niggas wit the candy cars if you a pimp and you know you dont love them hoes when you get on the flow nigga throw them bows all my women in the house if you chasing cash and you got some big titties wit a matching ass with ya flyass boots or ya open toes when ya get on the flow nigga throw them bowshit by stars hit by cars drunk off the liquor getting hit by bars keep yo girl close cause shes hit by far hit by the neptunes hit by guitars afro picks afro chicks i let my soul glow from my afro dick rabbit out the hat pulling afro tricks afroamerican afro thick overall country overall jeans overall georgia we overall clean southern hospitality or overall mean overall triple overall beams thugged out niggas wear thugged out chains thugged out blocks playing thugged out games all black tinted up thugged out range dtp stay doing thugged out thangsall my players in the house that can buy the bar and the balling ass niggas wit the candy cars if you a pimp and you know you dont love them hoes when you get on the flow nigga throw them bows all my women in the house if you chasing cash and you got some big titties wit a matching ass with ya flyass boots or ya open toes when ya get on the flow nigga throw them bowsall my players in the house that can buy the bar and the balling ass niggas wit the candy cars if you a pimp and you know you dont love them hoes when you get on the flow nigga throw them bows all my women in the house if you chasing cash and you got some big titties wit a matching ass with ya flyass boots or ya open toes when ya get on the flow nigga throw them bowsnigga throw dem bows nigga throw dem bows nigga throw dem bows nigga throw dem bows ",1
78,"grown men dont cry","tim mcgraw",2001," i pulled into the shopping center and saw a little boy wrapped around the legs of his mother like ice cream melting they embraced years of bad decisions runnin down her face all mornin id been thinkin my lifes so hard and they wore everything they own livin in a car i wanted to tell em it would be okay but i got just got in my suburban and i i drove awayi dont know why they say grown men dont cry i dont know why they say grown men dont crykeep having this dream about my old man im 10 years old and hes holding my hand were talkin on the front porch watchin the sun go down but it was just a dream he was a slave to his job and he couldnt be around so many things i wanna say to him but i just placed a rose on his grave and i talk to the windand i dont know why they say grown men dont cry i dont know why they say grown men dont cry dont cryim sittin here with my kids and my wife and everything that i hold dear in my life we say grace and thank the lord got so much to be thankful for then its up the stairs and off to bed and my little girl says i havent had my story yet everything weighin on my mind disappears just like that when she lifts her head off her pillow and says i love you dadi dont know why they say grown men dont cry i dont know why they say grown men dont cry and i dont know why they say grown men dont cry i dont know why they say grown men dont cry dont cry ",1
79,"livin it up","ja rule featuring case",2001," yeah yeah yeah we all my yeah cmon cmon uh to all my bitches that be givin it up uh to all my niggas that be livin it up we say to all my bitches that be givin it up ah cmonbaby youre such a typical everyday one night thing its a physical ima fuck you tonight thing fuck knowing your name get your ass in the range and rollover gettin blown while blowing the dojabring head to a closure thats a good bitch before its all over ima leave this bitch probably treat this bitch mo better cause if you aint know gangstas and hoes go togetherpoppin my collar partna who in the spot baby rule in the spot in the mug and the watch love me half the hoes hate me half them love me the ones that hate me only hate me cause they aint fucked meand they say im lucky do you think ive got time to fuck all these hoes and do all these shows or flight in the lama dodge and white rolls uhoh another episodewhat do i do to all my niggas that be livin it up we say what i do to all my bitches that be givin it up uhhwhat you do to all my niggas that be livin it up we say what do i do to all my bitches that be givin it up uhh my love for you cmonbitches just wanna hold the name exactly thats why they suck dick with more passion than average and i aint mad atcha never leave you alone cause we fucks when im home phone sex when im gonewe both grown both got minds of our own bust our freaks off like old dog and love jones been in many zones baby one hoe two hoes fuck prissy bitches the hoes that do pornobut you know the rule be livin it up and got all these hoes givin it up i like a little ooh baby how cute are you with a body that rides all sexuali got a stick ill ride right next to you do a dough nut and cut and ill open it up on the freeway dick in her mouth foot on the clutch rule bitch not givin a fuckwhat do i do to all my niggas that be livin it up we say what i do to all my bitches that be givin it up uhhwhat you do to all my niggas that be livin it up we say what do i do to all my bitches that be givin it up uhh my love for you cmoncmon we get high cmon we get ride cmon we get live live yo lifelove you so sexy i just want you next to me your whole vibe like you high on ecstasy cause aint nuthin but an e thang baby i know that pussy wet like crazyi wanna feel your passion come when you ask me laugh when you cry cry when you laughin but aint nothin happenin the bitch got a little too highpicked up my thigh and started crackin the radio blastin between me and you but you aint on the low with that freak shit you doi thought you knew what i do know i know what you docause its been a good night your head aint right like teddy p lets turn off the light and grind it out takin no times out til the sun come out bitch when you find outwhat do i do to all my niggas that be livin it up we say what i do to all my bitches that be givin it up uhhwhat you do to all my niggas that be livin it up we say what do i do to all my bitches that be givin it up uhh my love for you cmonwhat do i do to all my niggas that be livin it up we say what i do to all my bitches that be givin it up uhhwhat you do to all my niggas that be livin it up we say what do i do to all my bitches that be givin it up uhh my love for you cmoncmon we get high cmon we get ride cmon we get live cmon its my time unverified ",1
80,"loverboy","mariah carey featuring cameo",2001," kissingah uh huh uh huh baby ah uh huh uh huh baby ah uh huh uh huh baby wooi want to i want to i want to i want to i need a i need a i need a i need aa lover a lover a lover a lover a lover a lover a lover a loverboy for meis it the glitter on her breast or the gloss on her lips hickeys on the chest or the toss of the hips im lost in the mix so i floss in the sea turning out the hits that only exist in your dreamsits the mo maker dough chaser now get it right would ya heart breaker i keep it tight but im no faker can laugh now but youll cry lateri think i like you in ya freak clothes freak those in my specialized peep shows and then ill make ya touch ya knees to ya elbows toes girl from the street of melroseits clear to see i like it when we smoke that choke that ill freak that no doubt you kind of got me like in a freeze when you roll out you got itchy balls from where i blow thati got myself a lover who loves what i like when he invites me over i come every time oh my sugar daddy takes me for a ride whatever way were going i expect to leave on timehes all mine and his loving makes me high like a taste of ecstasy all i need is him to be my loverboyloverboy come on and love me give me more touch me and touch me i enjoy the way you rock me all night long baby all night long loverboy come on and take me only you know how to make me shudder with anticipation all night long all night longi got myself a lover and hes so sublime its quite a bit of heaven to feel him inside so come on sugar daddy take me for a ride whatever way were going i expect to leave on timei get weak and his candys just so sweet when he caressed my whole body all i need is him to be my loverboyloverboy come on and love me give me more touch me and touch me i enjoy the way you rock me all night long i enjoy the way you rock me loverboy come on and take me only you know how to make me shudder with anticipation all night longwell im kind of innocent a vision of love you adore me even though my image is thugwhat i see in you is for my eyes only to see i bring out the freak in you up and down on me im your lovergirlme your loverboy but when we roam alone we come touch toys making noise we cant avoidthe way i throw that cant pop backdrop stopwatch brattat get ya more rock hard up all of the things that you wanna do to me if you wanna we can get obscene my cream and youre dingaling mingle bother me not when the sensation come outill make you scream uh huh uh huh baby feel me when i pump the pump lady behind me we can be close like family youre so sweet you taste like all types of candy starburst to jellybeansbanana split my dairy queen butterfinger my tangerines chickens only taste my loverboy in they dreams all my ladies let me hear you scream hate on me as much as you want to you cant do what the fuck i do bitches be emulating me daily daily hate on me as much as you want to you cant be who the fuck i be bitches be imitating me lately loverboyloverboy come on and love me give me more give it to me touch me and touch me i enjoy the way you rock me all night long strawberry loverboy come on and take me raspberry only you know how to make me all those good things shudder with anticipation diamonds and gumdrops all night long thats what you seem to meloverboy come on and love me oh give me more touch me and touch me i enjoy the way you rock me all night long lets get this started now loverboy come on and take me lets get this started now only you know how to make me shudder with anticipation strawberry all night long raspberry ",1
81,"contagious","the isley brothers featuring r kelly and chante moore",2001," this is a stroy about a man comin in findin his woman in bed with well listenits 2 am im just gettin in bout to check my message no one has called but my homies and some bill collectors celluler rings somebody wants to borrow money i two way her she dont hit me back somethin is funnyso i called her mothers house and asked her had she seen my baby roll my 6 around lookin for that missin lady got back in turned the tv on and caught the news and i put my hand on my head cause im so confusedand then i turned the tv down cause i thought i heard a squeaky sound somethings goin on upstairs yeah cause i know nobody else lives herebomp bomp bomp as i get closer to the stair ways all i hear and then i hear my babys voice in my ear screamin outyoure contagious touch me baby give me what you got and a man say sexy lady drive me crazy drive me wildall i heard was my babys voice sayin youre contagious touch me baby give me what you got sexy lady drive me crazy drive me wild and i just cant believe this shiti ran downstairs lookin the closet lookin for that who said a prayer cause only god knows what im gonna do what i saw was enough to drive a preacher wild im in the hall contemplatin now in my own damn house who would have thought she was creepin with another man the down low happened to me all over againand then i turned the tv down cause i know i heard a squeaky sound somethin goin on upstairs yeah cause i know that no one else lives herebomp bomp bomp as i get closer to the stair ways all i hear and then i hear my babys voice in my ear screamin outyoure contagious touch me baby give me what you got sexy lady drive me crazy drive me wildall i can do is hear them say youre contagious touch me baby give me what you got sexy lady drive me crazy drive me wild i cant believe this shitwhat the hell is goin on between the sheets in my home baby wait let me explain before you start to point your canegirl im about to have a fit oh its about to be some shit how did i get into this shouldve never came home with this bitchyou low down dirty woman go back to where you come from but baby wait but wait my ass hit the streets yo ass is grassnow mr biggs before ya done wait how you know my name son honey wait i was gonna tell you move this cat looks real familiarnow dont i know you from somewhere a long time ago no no i dont think so yeah yeah i feel i know you brother very well no no you mistaking me for somebody elsefrank shut up cant you see two men are talkin but thought i told your ass to get the walkin now i think youll better leave this place cause im about to catch a caseyoure contagious touch me baby give me what you got whoa thats what she said sexy lady drive me crazy drive me wildand then he replied youre contagious touch me baby give me what you got sexy lady drive me crazy drive me wild oh yeahyoure contagious touch me baby give me what you got sexy lady drive me crazy drive me wild ",1
82,"who i am","jessica andrews",2001," if i live to be a hundred and never see the seven wonders thatll be alright if i dont make it to the big leagues if i never win a grammy im gonna be just fine cause i know exactly who i ami am rosemarys granddaughter the spitting image of my father and when the day is done my mommas still my biggest fansometimes im clueless and im clumsy but ive got friends that love me and they know just where i stand its all a part of me and thats who i amso when i make a big mistake when i fall flat on my face i know ill be alright should my tender heart be broken i will cry those teardrops knowing i will be just fine cause nothin changes who i ami am rosemarys granddaughter the spitting image of my father and when the day is done my mommas still my biggest fansometimes im clueless and im clumsy but ive got friends that love me and they know just where i stand its all a part of me and thats who i amim a saint and im a sinner im a loser im a winner i am steady and unstable im young but i am ablei am rosemarys granddaughter the spitting image of my father and when the day is done my mommas still my biggest fansometimes im clueless and im clumsy but ive got friends that love me and they know where i stand its all a part of me thats who i ami am rosemarys granddaughter the spitting image of my father and when the day is done my mommas still my biggest fansometimes im clueless and im clumsy but ive got friends that love me and they know where i stand its all a part of me and thats who i am thats who i am ",1
83,"music","erick sermon featuring marvin gaye",2001," just like music theres no doubt no doubt no doubt word up oh baby just like musicto relax my mind so i can be free and absorb sound that keep me round doin my thang constantly with no worries peace to keith murray just like musicto keep me flowin and keep me goin and keep me growin and keep me the e from knowin what happens out there is not my concern you wanna die its not my turn just like musicto do somethin to me like jump in the mercedes on the highway doin over eighty without music baby ill go crazy just like musicmake me call my homey on the phone like theres somethin new out that got me in the zone just that feelin got me i wish music can adopt me just like musicturn on some music i got my music turn on some music i got my music turn on some music i got my music turn on some music i got my music just like musicput me in the mood with my woman got me in the ear sayin sweet nothings make love come out the mouth no frontin like all of a sudden just like musictakin away your worries and cares any problems music will be right there together match yo we a perfect pair is that true marvin yeah musicyo to get you to bang this body soul snatcher universal language it be the light so open up this is it what the fuck just like musicone fly tune that have black and white vibe in one room no confrontation parlay all night its just the sensation just like musicturn on some music i got my music turn on some music i got my music turn on some music i got my music turn on some music i got my music just like musicmusic is the soul of the man music makes a happy day just like music music makes a cloud flow by baby your music is my tears inside my eyes just like musicyour music makes me want to sing girl music is a joy to bring just like music music is my heart and soul more precious than gold turn on some music i got my music happiness for days is just a song awayturn on some music i got my music i love your music baby i got my music turn on some music i got my music just like music turn on some music turn on some music just like music turn on some music turn on some music just like music turn on some music turn on some music just like music ",1
84,"i wanna be bad","willa ford",2001," oh i i i i wanna be bad with you baby i i i i i wanna be bad with you babydo you understand what i need need from you just let me be the girl to show you you everything that she can be is everything that i can be i wanna bemy turn let me let you know that i can i can promise that i wont do that so boy say the time and place cause you make me wanna misbehavei wanna be bad you make bad look so good i got things on my mind i never thought i wouldi i wanna be bad bad you make bad feel so good im losing all my cool im about to break the rules i i wanna be badi wanna be bad with you baby i i i i i wanna be bad with you babywhats up tell me what to do how to be teach me all you your rules from a to z but i i dont wantcha other girls to see that youre messin round with meshould i boy tell me what i got is what ya want tell tell me do i i turn you on i dont want no one judging mei wanna be bad you make bad look so good i got things on my mind i never thought i wouldi i wanna be bad bad you make bad feel so good im losing all my cool im about to break the rules i i wanna be badi wanna be bad with you baby i i i i i wanna be bad with you baby i i i wanna be bad with you baby i i i i i wanna be bad with you baby i ii wanna be bad you make bad look so good i got things on my mind i never thought i wouldi i wanna be bad bad you make that feel so good im losing all my cool im about to break the rules i i wanna be bad ",1
85,"dont happen twice","kenny chesney",2001," i havent seen you in forever oh you havent changed a bit you didnt think that id remember how could i forgetwe sang bobby mcgee on the hood of my car made a wish on every star in that clear september sky one bottle of wine and two dixie cups 3 am i feel in love for the first time in my life oh thats something that just dont happen twiceto this day i still taste that first kiss how i prayed it wouldnt end in a way seeing you like this i guess it never really didwe sang bobby mcgee on the hood of my car made a wish on every star in that clear september sky one bottle of wine and two dixie cups 3 am i feel in love for the first time in my life oh thats something that just dont happen twiceone bottle of wine and two dixie cups 3 am i fell in love for the first time in my life oh thats something baby thats something oh thats something that just dont happen twiceoh yeah we sang bobby mcgee on the hood of my car made a wish on every star one bottle of wine and two dixie cups yeah we fell in love ",1
86,"one more day","diamond rio",2001," last night i had a crazy dream a wish was granted just for me it could be forever i didnt ask for money or a mansion in malibu i simply wished for one more day with youone more day one more time one more sunset maybe id be satisfied but then again i know what it would do leave me wishing still for one more day with you one more dayfirst thing id do is pray for time to crawl id unplug the telephone and keep the tv off id hold you every second say a million i love yous thats what id do with one more day with youone more day one more time one more sunset maybe id be satisfied but then again i know what it would do leave me wishing still for one more day with you ",1
87,"i wish","r kelly",2001," i wish i wish i wish to every city i wish i wish i wish every hood i wish i wish i wish and every block ghetto americarollin through the hood just stopped by to say whats up and let you know your baby boy aint doing so tough and even though you passed going on four long years still waking up late at night crying tears just thinking about those days you used to talk to me smilin while im sippin on this hennessey and remember we bragged on how rich we would be to get up out this hood was like a fantasyand now you hear my songs the radio is bangin oh i cant believe my ears and what everybodys sayin and boy ill tell you folks dont know the half i would give it all up just to take one ridewith you how i used to kick it on the front porch with you and how i used to lay back and smoke weed with you and all the little basement party joints wed do now im just missing you how i wishi wish that i could hold you now i wish that i could touch you now i wish that i could talk to you be with you somehow i know youre in a better place even though i cant see your face i know youre smiling down on me saying everythings okay and if i make it out this thug life ill see you again someday i wish i wish i wish i wish i wish i wishnow ever since this money come its been nothing but stress sometimes i wish that i could just trade in my success yall look at me and say boy youve been blessed but yall dont see the inside of my unhappiness man i swear this shit gets heavy like a ton thats why you hear me shootin this real shit off like a gun hmm i wonder how my friends would treat me now if i wasnt iced up with a bentley and a house thats why fake ass niggas get fake ass digits and fake ass playas get a real playa hatin em honey love goes platinum and yall ass come around but yall dont want to raise the roof until my shit is going downand now you hear my songs the radio is bangin oh i cant believe my ears and what everybodys sayin boy ill tell you folks dont know the half i would give it all up just to take one ridewith you how i used to hoop off in them tournaments with you and how i used to club hop on weekends with you your family called the morning of the tragic end damn my condolencesi wish that i could hold you now i wish that i could touch you now i wish that i could talk to you be with you somehow i know youre in a better place even though i cant see your face i know youre smiling down on me saying everythings okay and if i make it out this thug life ill see you again someday i wish i wish i wish i wish i wish i wishvoices in my head be telling me to come to church said the lord is the only way for you to stop the hurt dreaming of windows black tinted like a hearse when waking up to life sometimes seems worst and all i ever wanted is to be a better man and i try to keep it real with my homies now for me to save the world i dont understand how did i become the leader of a billion menand now you hear my songs the radio is bangin oh i cant believe my ears and what everybodys sayin boy ill tell you folks dont know the half i would give it all up just to take one ridewith you how i used to street perform on friday with you and how i used to go to church on easter sunday with you standing here throwing them songs at me somebody pray for mei wish that i could hold you now i wish that i could touch you now i wish that i could talk to you be with you somehow i know youre in a better place even though i cant see your face i know youre smiling down on me saying everythings okayi wish that i could hold you now i wish that i could touch you now i wish that i could talk to you be with you somehow i know youre in a better place even though i cant see your face i know youre smiling down on me saying everythings okayi wish that i could hold you now i wish that i could touch you now i wish that i could talk to you be with you somehow i know youre in a better place even though i cant see your face i know youre smiling down on me saying everythings okay ",1
88,"its a great day to be alive","travis tritt",2001," i got rice cooking in the microwave i got a three day beard i dont plan to shave its a goofy thing but i just gotta say hey im doing alrightyeah i think ill make me some homemade soup im feeling pretty good and thats the truth its neither drink nor drug induced no im just doing alrightand its a great day to be alive i know the suns still shining when i close my eyes theres some hard times in the neighborhood but why cant every day be just this goodits been fifteen years since i left home i said good luck to every seed id sown gave it my best and then i left it alone i hope theyre doing alrightnow i look in the mirror and what do i see a lone wolf there staring back at me long in the tooth but harmless as can be lord i guess hes doin alrightand its a great day to be alive i know the suns still shining when i close my eyes theres some hard times in the neighborhood but why cant every day be just this goodsometimes its lonely sometimes its only me and the shadows that fill this room sometimes im falling desperately calling howling at the moon ahooh ahoohwell i might go get me a new tattoo or take my old harley for three day cruise might even grow me a fu man chuand its a great day to be alive i know the suns still shining when i close my eyes theres some hard times in the neighborhood but why cant every day be just this goodand its a great day to be alive i know the suns still shining when i close my eyes theres some hard times in the neighborhood but why cant every day be just this good ahooh oh yeah ",1
89,"im a thug","trick daddy",2001," i dont know what this worlds gonna do but i know one thing that this is the life for me baby cause im a thug all day every day baby cause im a thug wouldnt change for the world uh huh cause im a thug thats right you heard baby cause im a thug uh huh oh yeahcheck it out could it be my baggy jeans or my gold teeth that make me different from yall aint trippin dog but listen dog ive been raised a little different dog im just doing my thang these are my ghetto slangs and im representing thug shit this who i roll with watch them niggas thats gonna love this niggas who out on bond on the run got 10 years on parole since you cant say it dog ima say it for yall motherfuck the popos fuck the judge and ceos fuck the da and pos fuck the family of the victim witness thats snitchin ass hoes niggai dont know what this worlds gonna do but i know one thing that this is the life for me baby cause im a thug all day every day baby cause im a thug wouldnt change for the world uh huh cause im a thug thats right you heard baby cause im a thug uh huh oh yeahsee im so tight niggas be like that nigga got so many hoes and i know he got clout look at his mouth that nigga got so many golds niggas be tellin they hoes to set em up with that nigga bitch ive been watch you watchin him you must wanna fuck this nigga my name alone been known to break up happy homes no disrespect dog but you aint have no business answering her phone if your ass wasnt home me and her been get get gettin it on and you couldnt have been hitting her right cause every second night she been hitting the phones she want a thugi dont know what this worlds gonna do but i know one thing that this is the life for me baby cause im a thug all day every day baby cause im a thug wouldnt change for the world uh huh cause im a thug thats right you heard baby cause im a thug uh huh oh yeahsince yall niggas wanna smoke the blunts tote the guns ima show you how to thug it dog give me half a pill and some zephanyll and im like fuck it dog as long as my extasy got the best of me and none of you niggas aint stressin me i got one request in this bitch you can have the rest of this shit if a nigga drop some shit and its wack as hell and dont make no damn sense take it back talk about it and tell your dog dont even buy that shit and i dont care who he is or where he from i represent thug shit and you aint gotta give me my props or nominate me cause dammit i love thisi dont know what this worlds gonna do but i know one thing that this is the life for me baby cause im a thug all day every day baby cause im a thug wouldnt change for the world uh huh cause im a thug thats right you heard baby cause im a thug uh huh oh yeahi dont know what this worlds gonna do but i know one thing that this is the life for me baby cause im a thug all day every day baby cause im a thug wouldnt change for the world uh huh cause im a thug thats right you heard baby cause im a thug uh huh oh yeah ",1
90,"heres to the night","eve 6",2001," so denied so i lied are you the now or never kind in a day and a day love im gonna be gone for good again are you willing to be had are you cool with just tonight heres a toast to all those who hear me all too wellheres to the nights we felt alive heres to the tears you knew youd cry heres to goodbye tomorrows gonna come too soonput your name on the line along with place and time wanna stay not to go i wanna ditch the logical heres a toast to all those who hear me all too wellheres to the nights we felt alive heres to the tears you knew youd cry heres to goodbye tomorrows gonna come too soonall my time is froze in motion cant i stay an hour or two or more dont let me let you go heres a toast to all those who hear me all too wellheres to the nights we felt alive heres to the tears you knew youd cry heres to goodbye tomorrows gonna come too soon ",1
91,"you shouldnt kiss me like this","toby keith",2001," ive got a funny feeling the moment that your lips touched mine something shot right through me my heart skipped a beat in time theres a different feel about you tonight its got me thinking lots of crazy things i even think i saw a flash of light it felt like electricityyou shouldnt kiss me like this unless you mean it like that cause ill just close my eyes and i wont know where im at well get lost on this dance floor spinning around and around and around and aroundtheyre all watching us now they think were falling in love theyd never believe were just friends when you kiss me like this i think you mean it like that if you do baby kiss me againeverybody swears wed make a perfect pair but dancing is as far as it goes girl youve never moved me quite the way you moved me tonight i just wanted you to know i just wanted you to knowyou shouldnt kiss me like this unless you mean it like that cause ill just close my eyes and i wont know where im at well get lost on this dance floor spinning around and around and around and aroundtheyre all watching us now they think were falling in love theyd never believe were just friends when you kiss me like this i think you mean it like that if you do baby kiss me again kiss me again ",1
92,"get over yourself","edens crush",2001," uh huh yeah yeah yeah get over get over yourselfyeah i was right there like a little wife i was everything that you need always in line i was livin you lovin you fillin your desires but that was then this is now look me in the eye andoh oh if love could choose sides oh oh its takin my timeget over yourself goodbye it must be hard to be you yeah livin in your life i was always the one to cry now everything everything everything is alrightget over yourself know why cuz without you see i do anything i like sometimes i stay out all night and everything everything everything is alrightthis just cant be it i kept telling myself and every magazine said was me was on the shelf i was givin out givin in givin away my dreams you put it in put me down now i got my selfesteemoh oh wont get me back no oh oh no no get over it yeahget over yourself goodbye it must be hard to be you yeah livin in your life i was always the one to cry now everything everything everything is alrightget over yourself know why cuz without you see i do anything i like sometimes i stay out all night and everything everything everything is alrightso now you wanna talk say lets do it just once more for luck like old times make up better yet just forget better get over yourselfstay in touch when you learn a few things about love so then wake up better yet better get better get over yourselfget over yourself goodbye over yourself goodbye over yourself over yourself get over yourself goodbye always the one to cry over yourself over yourself everything is alrightget over yourself goodbye over yourself goodbye cuz without you see i do anything i like sometimes i stay out all night and everything everything everything is alrightget over yourself goodbye it must be hard to be you yeah livin in your life i was always the one to cry now everything everything everything is alrightget over yourself know why cuz without you see i do anything i like sometimes i stay out all night and everything everything everything is alrightget over yourself goodbye it must be hard to be you yeah livin in your life i was always the one to cry now everything everything everything is alrightget over yourself know why cuz without you see i do anything i like sometimes i stay out all night and everything everything everything is alrightget over yourself goodbye everything is alright everything is alright get over yourselfget over yourself goodbye everything is alright everything is alright get over yourself get over yourself goodbye ",1
93,"dance with me","debelah morgan",2001," oh come and dance with me my baby lets dance till we go crazy the night is young and so are we lets make love and dance the night awaywhat i really want to do is just dance with you and feel your body tight show ya how to do it right i can show you every move i know just what to do each step we do is refine one dance and youll be mineso baby when we hit the floor youll be asking for more lets make love and dance the night awayoh come and dance with me my baby lets dance do it go crazy the night is young and so are we lets make love and dance the night awayoh put your hand in mine promise ill take my time well dance from head to toe i can dance fast or slow baby look into my eyes let the music hypnotize let our bodies synchronize when were dancing youll be mineso baby when we hit the floor youll be asking for more lets make love and dance the night awayoh come and dance with me my baby lets dance do it go crazy the night is young and so are we lets make love and dance the night awayoh when it comes to dancing i know how to move when it comes to passion i know just what to do i feel the music inside i feel like i am alive pretend i was right lets make loveoh come and dance with me my baby lets dance do it go crazy the night is young and so are we lets make love and dance the night awayoh come and dance lets dance the night lets make love and dance the night awayoh come and dance with me my baby lets dance do it go crazy the night is young and so are we lets make love and dance the night away ",1
94,"so fresh so clean","outkast",2001," aint nobody dope as me im just so fresh so clean so fresh and so clean clean dont you think im so sexy im just so fresh so clean so fresh and so clean clean aint nobody dope as me im just so fresh so clean so fresh and so clean clean i love when you stare at me im just so fresh so clean so fresh and so clean cleansir luscious got gator belts and patty melts and monte carlos and el dorados im waking up out of my slumber feeling like ralo so follow its your time at the apollo minus the kiki shepard what about a ho in a leopard print teddy pender grass cooler than freddie jackson sippin a milkshake in a snowstorm left my throat warm in the dorm room at the au we do hey you and might do some cake too but you must have me mistaken with them statements that you make causeaint nobody dope as me im just so fresh so clean so fresh and so clean clean dont you think im so sexy im just so fresh so clean so fresh and so clean clean aint nobody dope as me im just so fresh so clean so fresh and so clean clean i love when you stare at me im just so fresh so clean so fresh and so clean cleancanary yellow seven house of business on display my nigga bungle whipped it up so i gone get my rims today so a nigga can ride out to the colorful hideout im a show you how to wild out like jack trippa let me be bambino on your snippas ykk on yo zippa lick you like a lizard when im slizzard or sober six million ways to fold ya like noah i get crews to choose and you get pretty deep but ill call yo ass round eightish i know youll be there for me causeaint nobody dope as me im just so fresh so clean so fresh and so clean clean dont you think im so sexy im just so fresh so clean so fresh and so clean clean aint nobody dope as me im just so fresh so clean so fresh and so clean clean i love when you stare at me im just so fresh so clean so fresh and so clean cleanthose huge baby eyes get to runnin off at they mouth tellin me everything thats on yo nasty mind they say your malnutrition in need of vitamin d and inviting me to that tingle in yo spines i love who you are love who ya aint you so anne frank lets hit the attic to hide out for bout two weeks with change and no chains and whips i do suck lips till hips jerk and double time the boy next doors a freak ha haaint nobody dope as me im just so fresh so clean so fresh and so clean clean dont you think im so sexy im just so fresh so clean so fresh and so clean clean aint nobody dope as me im just so fresh so clean so fresh and so clean clean i love when you stare at me im just so fresh so clean so fresh and so clean cleanand we are the coolest motherfunkers on the planet in my mind the sky is fallin aint no need to panic but oh oh i got a stick and want yo automatic oh oh oh compatible created in the atticand we are the coolest motherfunkers on the planet in my mind the sky is fallin aint no need to panic but oh oh i got a stick and want yo automatic oh oh oh compatible created in the atticaint nobody dope as me im just so fresh so clean so fresh and so clean clean dont you think im so sexy im just so fresh so clean so fresh and so clean clean aint nobody dope as me im just so fresh so clean so fresh and so clean clean i love when you stare at me im just so fresh so clean so fresh and so clean cleanaint nobody dope as me im just so fresh so clean so fresh and so clean clean dont you think im so sexy im just so fresh so clean so fresh and so clean clean aint nobody dope as me im just so fresh so clean so fresh and so clean clean i love when you stare at me im just so fresh so clean ",1
95,"ei","nelly",2001," uh wait a minute now can you hear me out there lunatics is yall ready let me hear yaima sucker for cornrows and manicured toes hey fendi capri pants and parasucos alright passadity city with one or two throws im dropping outta high school straight into the pros who knows i know that i love it when you make your knees touch your elbows and break it down low to the flow there you go now throw it on me slow and every time i bust a rhyme baby give me some more you say you like that when i hit it from behind and ill be right back yea thats my very next line i use it time after time when im speaking my mind its no matter if im shooting game to a pigeon and dime i ask you who that is talking that shit about the tics somebody probably jealous cause they bitch got hit but nobody else dropping shit like dis should we apologize fuck em just leave em pissed heyandele andale moma ei ei uh oh whats poppin tonight andele andale moma ei ei uh oh if the head right nelly there every nightandele andale moma ei ei uh oh whats poppin tonight andele andale moma ei ei uh oh if the head right nelly there every nightwe can go to the break of dawn nigga money long nigga go fast up the skirt to talk to the thong nigga some say im wrong fuck it im grown nigga if you aint bout money then best be gone nigga im flashy uh double takes when you walk past me nasty dont be scared boo go ahead and ask me i drive fasty call me jeff gordon in a black ss wit a navigation see the black blazion something smells amazing i gotta chick rolling up half black and asian another one paging telling me to come over her husband on vacation and left her home alone i used the v12 powers weight loss powers from phat farm to iceberg slim in one shower get a room in trump towers just to hit for 3 hours get the bitch up out the room cause she used the word oursandele andale moma ei ei uh oh whats poppin tonight andele andale moma ei ei uh oh if the head right nelly there every nightandele andale moma ei ei uh oh whats poppin tonight andele andale moma ei ei uh oh if the head right nelly there every nightthey got a smash mouth of a whole ounce of that sticky watch my hands under a gold spout feeling icky let go off in a hoes mouth i aint picky start fronting when the shows out what ya mean 20 inches when they roll out come and get me big faces when they fold out is ya wit me dont make me pull that 44 out i keep it close when i the go out then i slide up in an esclade me and e getting solid like the ice capades from heat frosty roger the rabbit than bugsy you understand me wrapped crisp like mummysif you compare me to your local grocery then youll see i got more carrots than aisle d more bread than aisle e you can bag and scan me sure like al be  you can meet tha tics in maui heyandele andale moma ei ei uh oh whats poppin tonight andele andale moma ei ei uh oh if the head right nelly there every nightandele andale moma ei ei uh oh whats poppin tonight andele andale moma ei ei uh oh if the head right nelly there every night ",1
96,"be like that","3 doors down",2001," he spends his nights in california watching the stars on the big screen and then he lies awake and he wonders why cant that be mecause in his life he is filled with all these good intentions hes left a lot of things hed rather not mention right nowjust before he says goodnight he looks up with a little smile at me and he saysif i could be like that well i would give anything just to live one day in those shoesif i could be like that what would i do what would i donow in dreams we runshe spends her days up in the north park watching the people as they pass and all she wants is just a little piece of this dreams is that too much to askwith a safe home and a warm bed on a quiet little street all she wants is just that something to hold on to thats all she needsif i could be like that well i would give anything just to live one day in in those shoesif i could be like that what would i do what would i doim falling into this in dreams we run awayif i could be like that well i would give anything just to live one day in those shoesif i could be like that what would i do what would i doif i could be like that i would give anything just to live one day in those shoesif i could be like that what would i do what would i doif i could be like that i would give anything just to live one day in those shoesif i could be like that what would i do lord what would i dofalling in i feel i am falling in to this again ",1
97,"most girls","pink",2001," i never cared too much for love it was all a bunch of mush that i just did not want paid was the issue of the day if my girlfriends got some game couldnt be more fly gettin paid was everythingbut im not every girl and i dont need that world to validate me cause shorty got a job shorty got a car and shorty can pay her own rent dont wanna dance if it is not in my heartmost girls want a man with the bling bling got my own thing got the ching ching i just want real love most girls want a man with the mean green dont wanna dance if he cant be everything that i dream of a man that understands real loveoh oh oh oh oh oh oh oh ohi was a girl about the floss it was all about the cost how much he spent on me seek for a man whos got the means to be giving you diamond rings its what every fly girl could want or even dreambut im not every girl and i dont need no g to care of me cause shorty got a job shorty got a car shorty can pay her own rent dont wanna dance if it is not in my heart no nomost girls want a man with the bling bling got my own thing got the ching ching i just want real love most girls want a man with the mean green dont wanna dance if he cant be everything that i dream of a man that understands real lovemost girls want a man with the bling bling got my own thing got the ching ching i just want real love most girls want a man with the mean green dont wanna dance if he cant be everything that i dream of a man that understands real loveoh oh oh oh oh oh oh oh ohbut im not every girl and i dont need no g to take care of me no cause shorty got a job shorty got a car and shorty can pay her own rent dont wanna dance if it is not in my heartmost girls want a man with the bling bling got my own thing got the ching ching i just want real love most girls want a man with the mean green dont wanna dance if he cant be everything that i dream of a man that understands real lovemost girls want a man with the bling bling got my own thing got the ching ching i just want real love most girls want a man with the mean green dont wanna dance if he cant be everything that i dream of a man that understands real loveoh oh oh oh oh oh oh oh ohi i just want real love said i gotta have real love everything can you be everything that i dream of ",1
98,"oochie wally","nas and bravehearts",2001," oh yeah muthafucka thats that shit oh come onladies make it hot thugs make it hot make it popoochie wally wally oochie bang bang oochie wally wally oochie bang bang oochie wally wally oochie bang bang oochie wally wally he really really really work my body he really really really turned me out he really really really got to gut me he really really made me scream and shouthe really taught really me how to work my body he really taught me how to go down south he really really tried to hurt me hurt me i really love his thug and gangsta styleyo we got chicks in the living room getting it on and they aint leaving till 6 in the morning o is for oochie oh you aint know how many os in the bankroll sort of like like the game show who wants to be a millionaire but my name aint regis nas the one they call when they want there thing beat up honeys with bodies with bravehearts guns in the party waves braids baldies trademarks to army is that horse it must be i heard he husky yeah there go jungle eyes red looking for trouble and thats nas dancing with dimes but whos his manage the imperial thug is cold deep grand wiz we taking honeys to the crib tonight guarantee we gon get up in they rib tonight check the new slang its changed the braveheart gang bang when you see me pass holla oochie bang bangoochie wally wally oochie bang bang oochie wally wally oochie bang bang oochie wally wally oochie bang bang oochie wally wally he really really really work my body he really really really turned me out he really really really got to gut me he really really made me scream and shoutyeah what up ma take a look you hypnotized on how my long dick stretch your insides for real ma with your thick lips and thick thighs stoke both holes pass it to nas or pass it to naish or pass it to jung or pass it to horse then that ass gettin tossed fuck a hustler book penthouse or blacktale i got bitches sendin my niggas flicks in jail i fuck a bitch face more than her waist for real and aint no pussy like new pussy thats how a nigga feel bust three times throw her the peace sign she sleep then my dick sleek and i aint gotta call her for weeks long leg hoes mohead hoes married bitches me and my dog fuckin them both they got us switchin is the nigga gangsta yeah thats how im livin thats how im playin i got these freak fuckin hoes singinoochie wally wally oochie bang bang oochie wally wally oochie bang bang oochie wally wally oochie bang bang oochie wally wally he really really really work my body he really really really turned me out he really really really got to gut me he really really made me scream and shoutlittle young thing go around my dick with your tongue ring deep throat my nine inch gut from the front and grind from the side and fuck from behind and grab her hair slap her ass she screamin like she dyin make her come four times without even tryin ill beat that pussy up theres no denyin hit her where she doodie at make that booty fat little cutie rat walking by with the doobie wrap tight blue jeans air max small gucci bag no loot and no job stay home giving blow jobs like no prob its simple holla out the window its the project nympho fuck my whole crew you know how we do you got that good pussy i can share with my peoples be a brave girl do your thang let them tities hang ill have all the bitches sayinoochie wally wally oochie bang bang oochie wally wally oochie bang bang oochie wally wally oochie bang bang oochie wally wally he really really really work my body he really really really turned me out he really really really got to gut me he really really made me scream and shoutwhen it comes to sex im similar to the thriller in manilla bitches call me horse the pussy filler ill fuck a big boned or slim chick beat that pussy up real quick then send home the bitch aint no sleepin in my bedroom when hennys in my dick when flex drop the bomb i bust a nut on this bitch deep throat caesar gold or pun wicked hoes who like the way i thug and the way i flow i like head in the benz the four door or the coupe head in the staircase the cellar or the roof head in the studio the bathroom or the booth head from a project chick or one with crazy loot like nia long in a cherry thong with the lights on sippin perignon with kelly price on i pull out my python i hit it while my wifes gone long dick the bitch all night ill make her pussy sing the songoochie wally wally oochie bang bang oochie wally wally oochie bang bang oochie wally wally oochie bang bang oochie wally wally oochie bang bang oochie wally wally oochie bang bang oochie wally wally oochie bang bang oochie wally wally oochie bang bang oochie wally wally ",1
99,"hero","enrique iglesias",2001," let me be your herowould you dance if i asked you to dance would you run and never look back would you cry if you saw me crying and would you save my soul tonightwould you tremble if i touched your lips would you laugh oh please tell me this now would you die for the one you loved hold me in your arms tonighti can be your hero baby i can kiss away the pain i will stand by you forever you can take my breath awaywould you swear that youll always be mine or would you lie would you run and hide am i in too deep have i lost my mind i dont care youre here tonighti can be your hero baby i can kiss away the pain i will stand by you forever you can take my breath awayoh i just want to hold you i just want to hold you oh yeah am i in too deep have i lost my mind well i dont care youre here tonighti can be your hero baby i can kiss away the pain oh yeah i will stand by you forever you can take my breath awayi can be your hero i can kiss away the pain and i will stand by you forever you can take my breath away you can take my breath awayi can be your hero ",1
100,"hemorrhage in my hands","fuel",2001," memories are just where you laid them drag the waters till the depths give up their dead what did you expect to find was there something you left behind dont you remember anything i said when i saiddont fall away and leave me to myself dont fall away and leave love bleeding in my hands in my hands again and leave love bleeding in my hands in my hands love lies bleedinghold me now i feel contagious am i the only place that youve left to go she cries her life is like some movie black and white dead actors faking lines over and over and over again she criesdont fall away and leave me to myself dont fall away and leave love bleeding in my hands in my hands again and leave love bleeding in my hands in my hands love lies bleedingand i want you but you turned away you dont remember but i do you never even trieddont fall away and leave me to myself dont fall away and leave love bleeding in my hands in my hands again leave love bleeding in my hands in my hands again leave love bleeding in my hands in my hands again oh ",1
1,"how you remind me","nickelback",2002," never made it as a wise man i couldnt cut it as a poor man stealing tired of living like a blind man im sick of sight without a sense of feeling and this is how you remind methis is how you remind me of what i really am this is how you remind me of what i really amits not like you to say sorry i was waiting on a different story this time im mistaken for handing you a heart worth breaking and ive been wrong ive been down into the bottom of every bottle these five words in my head scream are we having fun yetyet yet yet no no yet yet yet no noits not like you didnt know that i said i love you and i swear i still do and it must have been so bad cause living with him must have damn near killed youand this is how you remind me of what i really am this is how you remind me of what i really amits not like you to say sorry i was waiting on a different story this time im mistaken for handing you a heart worth breaking and ive been wrong ive been down into the bottom of every bottle these five words in my head scream are we having fun yetyet yet yet no no yet yet yet no no yet yet yet no no yet yet yet no nonever made it as a wise man i couldnt cut it as a poor man stealing and this is how you remind me this is how you remind methis is how you remind me of what i really am this is how you remind me of what i really amits not like you to say sorry i was waiting on a different story this time im mistaken for handing you a heart worth breaking and ive been wrong ive been down into the bottom of every bottle these five words in my head scream are we having fun yetyet yet are we having fun yet yet yet are we having fun yet yet yet are we having fun yet yet yet no no ",1
2,"foolish","ashanti",2002," see my days are cold without you but im hurtin while im with you and though my heart cant take no more i keep on running back to you see my days are cold without you but im hurtin while im with you and though my heart cant take no more i keep on running back to youbaby i dont know why ya treat me so bad you said you loved me no one above me and i was all you had and though my heart is beating for ya i cant stop crying i dont know how i allow you to treat me this way and still i staysee my days are cold without you but im hurtin while im with you and though my heart cant take no more i keep on running back to you see my days are cold without you but im hurtin while im with you and though my heart cant take no more i keep on running back to youbaby i dont know why ya wanna do me wrong see when im home im all alone and you are always gone and boy you know i really love you i cant deny i cant see how you could bring me to so many tears after all these yearssee my days are cold without you but im hurtin while im with you and though my heart cant take no more i keep on running back to you see my days are cold without you but im hurtin while im with you and though my heart cant take no more i keep on running back to you oohhhhh i trusted you i trusted you so sad so sad what love will make you do all the things that we accept be the things that we regret too all of my ladies ladies feel me cmon sing wit me see when i get the strength to leave you always tell me that you need me and im weak cause i believe you and im mad because i love you so i stop and think that may be you can learn to appreciate me then it all remains the same that you aint never gonna change never gonna change never gonna change see my days are cold without you but im hurtin while im with you and though my heart cant take no more i keep on running back to you see my days are cold without you but im hurtin while im with you and though my heart cant take no more i keep on running back to youbaby why you hurt me leave me and desert me boy i gave you all my heart and all you did was tear it up looking out my window knowing that i should go even when i pack my bags see something always hold me back ",1
3,"hot in herre","nelly",2002," hot in so hot in here so hot in hot oh with a little bit of uh uh and a little bit of uh uh just a little bit of just a little bit of just a little bit of just a little bit ofi was like good gracious ass is bodacious flirtatious trying to show faces im waiting for the right time to shoot my steez you know waiting for the right time to flash them kis then im leaving please believing oh me and the rest of my heathens check it got it locked at the top of the fo seasons penthouse roof top birds i feeding no deceiving nothing up my sleeve and no teasing i need you to get up up on the dance floor give that man what he asking for cause i feel like busting loose and i feel like touching you uh uh and cant nobody stop the juice so baby tell me whats the use i saidits getting hot in here so hot so take off all your clothes i am getting so hot i wanna take my clothes off its getting hot in here so hot so take off all your clothes i am getting so hot i wanna take my clothes offuh uh uh let it hang all outwhy you at the bar if you aint popping the bottles cmon what good is all the fame if you aint fucking the models i see you driving sports cars aint hitting the throttle and ill be down to do a hundred top down and goggles get off the freeway exit 106 and parked it ash tray flip gate time to spark it gucci collar for dollar got out and walked it i spit game cause baby i cant talk it warm sweating its hot up in this joint vokal tank top on at this point you with a winner so baby you cant loose i got secrets cant leave cancun so take it off like your home alone you know dance in front your mirror while youre on the phone checking your reflection and telling your best friend like girl i think my butt getting bigits getting hot in here so hot so take off all your clothes i am getting so hot i wanna take my clothes off its getting hot in here so hot so take off all your clothes i am getting so hot i wanna take my clothes offlet it hang all out mix a little bit of with a little bit of let it just fall out give a little bit of with a little bit of let it hang all out with a little bit of and a sprinkle of that let it just fall out i like it when ya girl baby make itstop pacing time wasting i gotta a friend with a pole in the basement what im just kidding like jason oh unless you gon do it extra extra eh spread the news check it nelly took a trip from the luna to neptunes came back with something thick and it fitting in sasoons say she got a thing about cutting in restrooms ohits getting hot in here so hot so take off all your clothes i am getting so hot i wanna take my clothes off its getting hot in here so hot so take off all your clothes i am getting so hot i wanna take my clothes offits getting hot in here so hot so take off all your clothes i am getting so hot i wanna take my clothes off its getting hot in here so hot so take off all your clothes i am getting so hot i wanna take my clothes offlet it hang all out mix a little bit of with a little bit of let it just fall out give a little bit of with a little bit of let it hang all out with a little bit of and a sprinkle of that let it just fall out i like it when ya girl baby make it ",1
4,"dilemma","nelly featuring kelly rowland",2002," i love you and i need you nelly i love you i do need youno matter what i do all i think about is you even when im with my boo boy you know im crazy over youno matter what i do all i think about is you even when im with my boo you know im crazy over youuhuhuhuh i met this chick and she just moved right up the block from me and she got the hots for me the finest thing i need to see but oh no no she got a man and a son ohoh but thats okay cause i wait for my cue and just listen play my position like a shortstop pick up everything mami hittin and in no time i better make this friend mine and thats for sure cause ii never been the type to break up a happy home but theres something bout baby girl i just cant leave her lone so tell me ma whats it gonna be she said you dont know what you mean to me come onno matter what i do all i think about is you even when im with my boo boy you know im crazy over youno matter what i do all i think about is you even when im with my boo you know im crazy over youuhuhuhuh i see a lot in your look and i never say a word i know how nigures start actin trippin and hate up all the girls and theres no way nelly go for it aint fuckin with no dame as you could see but ii like your steeze your style your whole demeanor the way you come through and holler and swoop me in his twoseater now thats gangsta and i got special ways to thank ya dont you forget it but it aint that easy for you to back up and leave him but you and me we got ties for different reasons i respect that and right before i turned to leave she said you dont know what you mean to me come onno matter what i do all i think about is you even when im with my boo boy you know im crazy over youno matter what i do all i think about is you even when im with my boo you know im crazy over yousing it for me ki love and i need you nelly i love you i do and its more than youll ever know boy its for sure you can always count on my love forever more yeah yeaheast coast i know youre shakin right down south i know youre bouncin right west coast i know youre walkin right cause you dont know what you mean to me midwest i see you swingin rightno matter what i do all i think about is you even when im with my boo boy you know im crazy over youno matter what i do all i think about is you even when im with my boo you know im crazy over youeast coast i know youre shakin right down south i know youre bouncin right west coast i know youre walkin right you dont know what you mean to me midwest i see you swingin righteast coast youre still shakin right down south i know youre bouncin right west coast i know youre walkin right you dont know what you mean to me midwest youre still swingin rightno matter what i do all i think about is you even when im with my boo boy you know im crazy over youno matter what i do all i think about is you even when im with my boo you know im crazy over youyeah yeaheast coast i know youre shakin right down south i know youre bouncin right west coast i know youre walkin right you dont know what you mean to me midwest i see you swingin righteast coast youre still shakin right down south i know youre bouncin right west coast i know youre walkin right you dont know what you mean to me midwest youre still swingin right ",1
5,"wherever you will go","the calling",2002," so lately been wondering who will be there to take my place when im gone youll need love to light the shadows on your face if a great wave shall fall and fall upon us all then between the sand and stone could you make it on your ownif i could then i would ill go wherever you will go way up high or down low ill go wherever you will goand maybe ill find out a way to make it back someday to watch you to guide you through the darkest of your days if a great wave shall fall and fall upon us all then i hope theres someone out there who can bring me back to youif i could then i would ill go wherever you will go way up high or down low ill go wherever you will gorun away with my heart run away with my hope run away with my lovei know now just quite how my life and love might still go on in your heart in your mind ill stay with you for all of timeif i could then i would ill go wherever you will go way up high or down low ill go wherever you will goif i could turn back time ill go wherever you will go if i could make you mine ill go wherever you will go ill go wherever you will go ",1
6,"a thousand miles","vanessa carlton",2002," making my way down town walking fast faces pass and im home boundstaring blankly ahead just making my way making a way through the crowdand i need you and i miss you and now i wonder if i could fall into the sky do you think time would pass me by cause you know id walk a thousand miles if i could just see you tonightits always times like these when i think of you and i wonder if you ever think of mecause everythings so wrong and i dont belong living in your precious memorycause i need you and i miss you and now i wonder if i could fall into the sky do you think time would pass me by oh cause you know id walk a thousand miles if i could just see you tonightand i i dont want to let you know i i drown in your memory i i dont want to let this go ii dontmaking my way down town walking fast faces pass and im home boundstaring blankly ahead making my way making a way through the crowdand i still need you and i still miss you and now i wonder if i could fall into the sky do you think time would pass us by cause you know id walk a thousand miles if i could just see you nowif i could fall into the sky do you think time would pass me by cause you know id walk a thousand miles if i could just see you if i could just hold you tonight ",1
7,"in the end","linkin park",2002," it starts with one thing i dont know why it doesnt even matter how hard you try keep that in mind i designed this rhyme to explain in due time all i know time is a valuable thing watch it fly by as the pendulum swings watch it count down to the end of the day the clock ticks life awayits so unreal didnt look out below watch the time go right out the window trying to hold on but you didnt even know i wasted it all just to watch you go i kept everything inside and even though i tried it all fell apart what it meant to me will eventually be a memory of a time when    meaning  byamandah   editor    youtuber the unusual suspect created one of the best videos weve seen in recent years clips from 183 movies singing linkin parks in the end seriously if    see all   i tried so hard and got so far but in the end it doesnt even matter i had to fall to lose it all but in the end it doesnt even matterone thing i dont know why it doesnt even matter how hard you try keep that in mind i designed this rhyme to remind myself of a time when i tried so hard in spite of the way you were mocking me acting like i was part of your property remembering all the times you fought with me im surprised it got so things arent the way they were before you wouldnt even recognize me anymore not that you knew me back then but it all comes back to me in the end i kept everything inside and even though i tried it all fell apart what it meant to me will eventually be a memory of a time wheni tried so hard and got so far but in the end it doesnt even matter i had to fall to lose it all but in the end it doesnt even matterive put my trust in you pushed as far as i can go for all this theres only one thing you should know ive put my trust in you pushed as far as i can go for all this theres only one thing you should knowi tried so hard and got so far but in the end it doesnt even matter i had to fall to lose it all but in the end it doesnt even matter ",1
8,"whats luv","fat joe featuring ashanti",2002," put the fuckin mic on mic is on joe crack the don uh yeah yeah yall irv gottiwhats loveashanti terror terror squad it should be about us be about trustwhats love got to do got to do with it babe whats love its about us its about us its about trust babe be about trust whats love got to do got to do with it babe whats love it should be about us it should be about us it should be about trust babe be about trustslow down baby let you know from the gate i dont go down lady i wanna chick with thick hips that licks her lips she can be the office type or like to strip girl you get me aroused how you look in my eye but you talk too much man your ruinin my high dont wanna lose the feelin cause the roof is chillin its on fire and you lookin good for the gettin im rida whether in a hoodie or a linen im a provider you should see the jewelery on my women and im livin it up the squad stay feelin the truck with chicks thats willin to triz with us uh you say you got a man and youre in love but whats love gotta do with a little menage after the party just me and you could just slide for a few and she could come toowhats love got to do got to do with it babe whats love its about us its about us its about trust babe be about trust whats love got to do got to do with it babe whats love it should be about us it should be about us it should be about trust babe be about trustmami i know you got issues you got a man but you need to understand that you got something with you ass is fat frame is little tattoo on your chest with his name in the middle uh im not a hater i just crush a lot and the way you shake your booty i dont want you to stop you need to come a little closer closer and let me put you under my arm like a don is supposed to please believe you leave with me wed be freakin all night like we was on e you need to trust the god and jump in the car for a little hard 8 at the taj mahalwhats love got to do got to do with it babe whats love its about us its about us its about trust babe be about trust whats love got to do got to do with it babe whats love it should be about us it should be about us it should be about trust babe be about trustyo i stroll in the club with my hat down michael jack style high steppin who the mack now not my fault that they love the kid might be the chain or the whip i dont know what it is we just party and bullshit come on mommy put your body in motion you gotta nigga open you came here with the heart to cheat so you need to sing the song with me all my ladies come onwhen i look in your eyes theres no stopin me i want the don joey crack on top of me uhhuh dont want your stacks yeah just break my back uh gonna cut you no slack whoo cause im on it like that uh come on come on yeah yeah yall and put it on me yeah yeah yall on me im put it on ya girlwhats love got to do got to do with it babe whats love its about us its about us its about trust babe be about trust whats love got to do got to do with it babe whats love it should be about us it should be about us it should be about trust babe be about trustwhats love got to do got to do with it babe whats love its about us its about us its about trust babe be about trust whats love got to do got to do with it babe whats love it should be about us it should be about us it should be about trust babe be about trust ",1
9,"u got it bad","usher",2002," oh no no no no nowhen you feel it in your body you found somebody who makes you change your ways like hanging with your crew said you act like youre ready but you dont really know and everything in your past you wanna let it goive been there done it fucked around after all that this is what i found nobody wants to be alone if youre touched by the words in this song then babyu got u got it bad when youre on the phone hang up and you call right back u got u got it bad if you miss a day without your friend your whole lifes off track you know you got it bad when youre stuck in the house you dont wanna have fun its all you think about u got it bad when youre out with someone but you keep on thinkin bout somebody else u got it badwhen you say that you love em and you really know everything that used to matter dont matter no more like my money all my cars you can have it all flowers cards and candy i do it just cause im said im fortunate to have you girl i want you to know i really adore you all my people who know whats going on look at your mate help me sing my song tell her im your man youre my girl im gonna tell it to the whole wide world ladies say im your girl youre my man promise to love you the best i cansee ive been there done it fucked around after all that this is what i found everyone of yall are just like me its too bad that you cant see that you got it bad heyu got u got it bad when youre on the phone hang up and you call right back u got u got it bad if you miss a day without your friend your whole lifes off track you know you got it bad when youre stuck in the house you dont wanna have fun its all you think about u got it bad when youre out with someone but you keep on thinkin bout somebody else u got it badu got u got it bad when youre on the phone hang up and you call right back u got u got it bad if you miss a day without your friend your whole lifes off track you know you got it bad when youre stuck in the house you dont wanna have fun its all you think about u got it bad when youre out with someone but you keep on thinkin bout somebody else u got it bad ",1
10,"blurry","puddle of mudd",2002," everythings so blurry and everyones so fake and everybodys empty and everything is so messed up preoccupied without you i cannot live at all my whole world surrounds you i stumble then i crawlyou could be my someone you could be my scene you know that ill protect you from all of the obscene i wonder what youre doing imagine where you are theres oceans in between us but thats not very farcan you take it all away can you take it all away well ya shoved it in my face this pain you gave to me can you take it all away can you take it all away well ya shoved it in my faceeveryone is changing theres none left thats real to make up your own ending and let me know just how you feel cause i am lost without you i cannot live at all my whole world surrounds you i stumble then i crawlyou could be my someone you could be my scene you know that i will save you from all of the unclean i wonder what youre doing i wonder where you are theres oceans in between us but thats not very farcan you take it all away can you take it all away well ya shoved it in my face this pain you gave to me can you take it all away can you take it all away well ya shoved it in my face this pain you gave to menobody told me what you thought nobody told me what to say everyone showed you where to turn told you when to runaway nobody told you where to hide nobody told you what to say everyone showed you where to turn showed you when to runawaycan you take it all away can you take it all away well ya shoved it in my face this pain you gave to me can you take it all away can you take it all away well ya shoved it in my face this pain you gave to methis pain you gave to meyou take it all you take it all away this pain you gave to me you take it all away this pain you gave to me take it all away this pain you gave to me ",1
11,"complicated","avril lavigne",2002," uh huh lifes like this uh huh uh huh thats the way it is cause lifes like this uh huh uh huh thats the way it ischill out what you yellin for lay back its all been done before and if you could only let it be you will see i like you the way you are when were drivin in your car and youre talking to me one on one but youve becomesomebody else round everyone else youre watching your back like you cant relax youre tryin to be cool you look like a fool to me tell mewhy do you have to go and make things so complicated i see the way youre acting like youre somebody else gets me frustrated and lifes like this you you fall and you crawl and you break and you take what you get and you turn it into honesty you promised me im never gonna find you fake it no no noyou come over unannounced dressed up like youre somethin else where you are aint where its at you see youre making me laugh out when you strike your pose take off all your preppy clothes you know youre not fooling anyone when youve becomesomebody else round everyone else youre watchin your back like you cant relax youre tryin to be cool you look like a fool to me tell mewhy do you have to go and make things so complicated i see the way youre acting like youre somebody else gets me frustrated and lifes like this you you fall and you crawl and you break and you take what you get and you turn it into honesty you promised me im never gonna find you fake it no no nono no no no no no no no no no no nonochill out what you yellin for lay back its all been done before and if you could only let it be you will seesomebody else round everyone else youre watching your back like you cant relax youre trying to be cool you look like a fool to me tell mewhy do you have to go and make things so complicated i see the way youre acting like youre somebody else gets me frustrated and lifes like this you you fall and you crawl and you break and you take what you get and you turn it into honesty you promised me im never gonna find you fake it no nowhy do you have to go and make things so complicated yeah yeah i see the way youre acting like youre somebody else gets me frustrated and lifes like this you you fall and you crawl and you break and you take what you get and you turn it into honesty you promised me im never gonna find you fake it no no no ",1
12,"always on time","ja rule featuring ashanti",2002," always there when you call buckshots hah always on time gave you my baby be mine always there when you call always on time gave you my babybaby im not always there when you call but im always on time and i gave you my all now baby be mine im not always there when you call but im always on time and i gave you my all now baby be minecome on and get a piece of this latenight lover you know the one that swing dick like no other shit i know i got a lot of things i need to explain but baby you know the name and love is about pain so stop the complaints and drop the order restraints our sex lifes a game so back me down in the paint cause i cant wait no more cause its about a quarterpast three and shortys eyein me i got the bentley valeted and im just outside of jersey past the palisades and i love to see that ass in boots and shades sprawled out on the bed while im yankin your braids thug style you never thought id make you smile while im smackin your ass and fuckin you all wild but we share somethin so rare but who cares you carebaby im not always there when you call but im always on time and i gave you my all now baby be mine im not always there when you call but im always on time and i gave you my all now baby be minegirl get a grip come on pull it together its only a sun shower we been through worse weather like the stormy nights you wrote a dear ja letter and took my benz and keyed and cut the leather bitch you know better we live mob money over bitches murder inc i got two or three hoes for every v and i keep em drugged up off that ecstasy im a playground legend like kirkland peewee name a nigga in the league got more game than me i play hard theres so many women i fathered meet em with scars and send em home hot and bothered truth or dare this life aint apparently fair and a love with no glare is a crystal stare but we share somethin so rare but who cares you carebaby im not always there when you call but im always on time and i gave you my all now baby be mine im not always there when you call but im always on time and i gave you my all now baby be mineoh im feelin like ya livin a double life cause you dont be comin home sometimes baby but youre always on time checkin for one time you and i got a special bond together we go back like bombers boo in the coldest weather and when i play you play the same way you freak me baby i fuck you crazy then im gone baby dont really want me to get up and leave off that easy shell be wakin up wet for sheezy remind these bitches to mind they business believe me this pimp game is very religious and im built like the don bishop gon keep this moneygreen benz and my hoes as my witness the life we share is a thug affair but who cares you carebaby im not always there when you call but im always on time and i gave you my all now baby be mine im not always there when you call but im always on time and i gave you my all now baby be minealways there when you call always on time gave you my baby be mine always there when you call always on time gave you my baby be minehere at wiz we play nothing but the hits nothing but the hits nothing but the muthafuckin hits ",1
13,"aint it funny","jennifer lopez featuring ja rule",2002," murda inc ha ha it must be the ass that got me like damn if it get any fatter man the rule gonna have to get at her and our situation wont matter i come to make you smile in the freakiest mannersj to tha l o hello no im not be harmin yalls wall im the rule in the shot call off the wall like mj in his early days its the inc and lopez nowaint that funny its been a while since you came around now ya wanna see whats goin down tryin to tell me how you want my time tryin to tell me how im on your mind on your mindsee it never had to be this way you shouldve never played the games you played now im seein that youre kinda lame knowin how the situation changedaint that funny aint it funny baby that you want me when you had me love is crazy now i can smile and sayaint that funny aint it funny baby that you want me when you had me love is crazy im glad i can smile and say aint that funnyi remember how you walked away even when i tried to call your name see at first i didnt understand now youre lookin like a lonely man lonely mani remember how you did me wrong and now youre hurtin cause my love is gone everybody gets a chance to burn you can take it as a lesson learnedaint that funny aint it funny baby that you want me when you had me love is crazy now i can smile and sayaint that funny aint it funny baby that you want me when you had me love is crazy im glad i can smile and say aint that funnyc a double d hi double dose ma fly by red line touch the roast side oh i never been a sucker for choke cha unverified spit the ism hit em get rid of emand you know tah get it gully and aint that funny how they want me see me workin wit money but caddy aint a dummy what these brodies want from me cause all i got is g jlo and murda i n ci really wish you wouldnt send me gifts tryin to make me sit and reminisce tryin to blind me with your blingin bling thought i told you love dont cost a thing cost a thinghope you realize that now im through and i dont ever wanna hear from you i had enough of bein there for you now im laughin why you play the foolaint that funny aint it funny baby that you want me when you had me love is crazy now i can smile and sayaint that funny aint it funny baby that you want me when you had me love is crazy im glad i can smile and say aint that funnybaby is that your girlfriend i got my boyfriend maybe we can be friends na na na na nababy i got my boyfriend is that your girlfriend but maybe we can be friends na na na na na ",1
14,"the middle","jimmy eat world",2002," hey dont write yourself off yet its only in your head you feel left out or looked down on just try your best try everything you can and dont you worry what they tell themselves when youre awayit just takes some time little girl youre in the middle of the ride everything everything will be just fine everything everything will be all righthey you know theyre all the same you know youre doing better on your own so dont buy in live right now just be yourself it doesnt matter if thats good enough for someone elseit just takes some time little girl youre in the middle of the ride everything everything will be just fine everything everything will be all rightit just takes some time little girl youre in the middle of the ride everything everything will be just fine everything everything will be all righthey dont write yourself off yet its only in your head you feel left out or looked down on just do your best do everything you can dont you worry what their bitter hearts are going to sayit just takes some time little girl youre in the middle of the ride everything everything will be just fine everything everything will be all rightit just takes some time little girl youre in the middle of the ride everything everything will be just fine everything everything will be all right ",1
15,"i need a girl part one","p diddy featuring usher and loon",2002," yeah cmon i need a i want ai need a girl to ride ride ride i need a girl to make ma wife i need a girl whos mine oh mine i need a girl in ma lifeyo im internationally known on the microphone i got it all but i really need a wife at home i dont really like the zone never spend the night alone i got a few you would like to bonebut chicks dont romance me dont tickle my fancy only tiffany nancy thats not what my plans be i need a girl that could stand me raise me a family go to trips at the lancy trip to the grammyscause most of these girls be confusin me i dont know if they really love me or they usin me maybe its the money or maybe you aint used to me cause you was depressed and now you abusin methats why i need me a girl to be true to me know bout the game and know how to do to me without a girl on my side shit i ruin me forget the world girl its just you and menow lets ridei need a girl to ride ride ride i need a girl to make ma wife i need a girl whos mine oh mine i need a girl in ma lifei need a girl to ride ride ride i need a girl to be ma wife nobody else shes all mine i need a girl in ma lifeyo now i have had a lot of women in my lifetime but see its not a lot of women that got the right mind i done had pretty chicks with all the right features and hood rat chicks that only rock sneakerscellphones and beepers and know how to treat ya you break her heart shell walk out and leave ya i find a girl ima keep her cause now im gettin money and the game gettin deeperi want some real shit i need somebody i can chill with i need somebody i can build with i need somebody i can hold tightwith the time and no full limits no right anytime we together feel so right you the girl i been lookin for my whole life god bless me im glad i got the insight because of of you girl now i understand lifei need a girli need a girl to ride ride ride i need a girl to make ma wife i need a girl whos mine oh mine i need a girl in ma lifei need a girl to ride ride ride i need a girl to be ma wife nobody else cause shes all mine i need a girl in ma lifei had a girl that wouldve died for me didnt preciate her so i made her cry for me every night she had tears in her eyes for me caught a case shorty took the whole ride for meat first we were friends then became lovers you was more than my girl we was like brothers all night we would play fight under covers now you gone cant love you like i really wannabut every time i think about your pretty smile and how we used to drive the whole city wild damn i wish you wouldve had my child a pretty little girl wit diddys smilethat shit is why all dem days that i reminisce about the way i use to kiss dem pretty lips but as long as you have me on ya telly list i love you girl and youre the one that i will always miss i love you yeahi need a girl to ride ride ride i need a girl to make ma wife i need a girl whos mine oh mine i need a girl in ma lifei need a girl to ride ride ride i need a girl to be ma wife nobody else cause shes all mine i need a girl in ma lifei need a girl to ride ride ride i need a girl to make ma wife i need a girl whos mine oh mine i need a girl in ma lifei need a girl to ride ride ride i need a girl to be ma wife nobody else cause shes all mine i need a girl in ma lifei need a girl to ride ride ride i need a girl to make ma wife i need a girl whos mine oh mine i need a girl in ma lifei need a girl to ride ride ride i need a girl to be ma wife nobody else cause shes all mine i need a girl in ma life ",1
16,"u dont have to call","usher",2002," yo after tonight dont leave your girl around me true playa fo real ask my nigga pharrell uhcmon thats how its going down you smell it yeah you smell ityeah uh dont leave your girl around me true playa fo real ask my nigga pharrell uh let em knowsituations will arise in our lives but u gotta to be smart about it celebrations with the guys i sacrificed cause i knew u could not sleep without it meanwhile i i i loved u u were my girl u see i i thought the world of u but youre still steady leavin babyu dont have to call its okay girl cause imma be alright tonightu dont have to call its okay girl cause imma be alright tonightaw girl your face is sayin why tears in eyes shouldve been more smart about it shouldve cherished me listenin to friends now its the end then again no story can end without it damn right i loved u you were my girl u see i i thought the world of u but youre still steady leavin baby yeah yeahu dont have to call its okay girl cause imma be alright tonightu dont have to call its okay girl cause imma be alright tonightgonna boogie tonight cause im honestly too young of a guy to stay home waitin for love so tonight im gonna do what a single man does and thats party oh yeah oh nou dont have to call you dont care to call its okay girl its okay girl cause im a be alright tonight im a be alrightu dont have to call u aint have to call its okay girl im okay girl cause im a be alright tonight tonight im goin out with my niggasu dont have to call its okay girl im alright girl cause im a be alright tonight im alrightgonna boogie tonight cause im honestly too young of a guy to stay home waitin for love so tonight im gonna do what a single man doesu dont have to call and thats party its okay girl cause im a be alright tonightu dont have to call its okay girl its okay imma be alright cause im a be alright tonightu dont have to call its okay girl its okay girl cause im a be alright tonight sick and tired of being at home imma have me some funu dont have to call hey hey yeah its okay girl its okay its okay its okay its alright cause im a be alright tonight im not waiting at home for you bye bye ",1
17,"family affair","mary j blige",2002," lets get it crunk we gon have fun up on up in this dancerie we got ya open now ya floatin so you gots to dance for me dont need no hateration holleration in this dancerie lets get it percolatin while youre waiting so just dance for mecome on everybody get on up cause you know we gots to get it crunk mary j is in the spot tonight as imma make it feel alright make it feel alright come on baby just party with me let loose and set your body free leave your situations at the door so when you step inside jump on the floorlets get it crunk we gon have fun up on up in this dancerie we got ya open now ya floatin so you gots to dance for me dont need no hateration holleration in this dancerie lets get it percolatin while youre waiting so just dance for meits only gonna be about a matter of time before you get loose and start loose your mind cop you a drink go head and rock your ice cause we celebrating no more drama in our life with a great track pumpin everybodys jumpin goin ahead and twist your back and get your body bumpin i told you leave your situations at the door so grab somebody and get your ass on the dance floorlets get it crunk we gon have fun up on up in this dancerie we got ya open now ya floatin so you gots to dance for me dont need no hateration holleration in this dancerie lets get it percolatin while youre waiting so just dance for mewe dont need dont need no haters just try to love one another we just want whyall have a good time no more drama in your life work real hard to make a dime if you got beef your problem not mine leave all that bs outside were gonna celebrate all night lets have fun tonight no fights turn the great track way making you dance all night and i got some real heat for ya this time doesnt matter if youre white or black lets get crunk cause marys backlets get it crunk we gon have fun up on up in this dancerie we got ya open now ya floatin so you gots to dance for me dont need no hateration holleration in this dancerie lets get it percolatin while youre waiting so just dance for me ",1
18,"i need a girl part two","p diddy featuring ginuwine loon and mario winans",2002," yeah cmon i need a i want ai need a girl to ride ride ride i need a girl to make ma wife i need a girl whos mine oh mine i need a girl in ma lifeyo im internationally known on the microphone i got it all but i really need a wife at home i dont really like the zone never spend the night alone i got a few you would like to bonebut chicks dont romance me dont tickle my fancy only tiffany nancy thats not what my plans be i need a girl that could stand me raise me a family go to trips at the lancy trip to the grammyscause most of these girls be confusin me i dont know if they really love me or they usin me maybe its the money or maybe you aint used to me cause you was depressed and now you abusin methats why i need me a girl to be true to me know bout the game and know how to do to me without a girl on my side shit i ruin me forget the world girl its just you and menow lets ridei need a girl to ride ride ride i need a girl to make ma wife i need a girl whos mine oh mine i need a girl in ma lifei need a girl to ride ride ride i need a girl to be ma wife nobody else shes all mine i need a girl in ma lifeyo now i have had a lot of women in my lifetime but see its not a lot of women that got the right mind i done had pretty chicks with all the right features and hood rat chicks that only rock sneakerscellphones and beepers and know how to treat ya you break her heart shell walk out and leave ya i find a girl ima keep her cause now im gettin money and the game gettin deeperi want some real shit i need somebody i can chill with i need somebody i can build with i need somebody i can hold tightwith the time and no full limits no right anytime we together feel so right you the girl i been lookin for my whole life god bless me im glad i got the insight because of of you girl now i understand lifei need a girli need a girl to ride ride ride i need a girl to make ma wife i need a girl whos mine oh mine i need a girl in ma lifei need a girl to ride ride ride i need a girl to be ma wife nobody else cause shes all mine i need a girl in ma lifei had a girl that wouldve died for me didnt preciate her so i made her cry for me every night she had tears in her eyes for me caught a case shorty took the whole ride for meat first we were friends then became lovers you was more than my girl we was like brothers all night we would play fight under covers now you gone cant love you like i really wannabut every time i think about your pretty smile and how we used to drive the whole city wild damn i wish you wouldve had my child a pretty little girl wit diddys smilethat shit is why all dem days that i reminisce about the way i use to kiss dem pretty lips but as long as you have me on ya telly list i love you girl and youre the one that i will always miss i love you yeahi need a girl to ride ride ride i need a girl to make ma wife i need a girl whos mine oh mine i need a girl in ma lifei need a girl to ride ride ride i need a girl to be ma wife nobody else cause shes all mine i need a girl in ma lifei need a girl to ride ride ride i need a girl to make ma wife i need a girl whos mine oh mine i need a girl in ma lifei need a girl to ride ride ride i need a girl to be ma wife nobody else cause shes all mine i need a girl in ma lifei need a girl to ride ride ride i need a girl to make ma wife i need a girl whos mine oh mine i need a girl in ma lifei need a girl to ride ride ride i need a girl to be ma wife nobody else cause shes all mine i need a girl in ma life ",1
19,"gangsta lovin","eve featuring alicia keys",2002," i just wanna rock you all night long oh oh oh oh i just wanna rock you all night long oh oh oh ohyo need you to understand me daddy i aint your average baby girl doin it all im well established i aint tryin to lead you on just wanna ask if you might wanna give me your name explain your status you know i see you in time and time you seem available dont mean shit i know these bitches wanna settle you gotta say you on my short list of few them other dudes is ok but im feelin you oh yeah want you in the best way what you gon do about it why dont you just test me you wont want to do without it yo im comin at you hard bein a thug and i aint givin up till i get that gangsta love uh huhi just wanna rock you all night long oh oh oh oh i wanna rock you i just wanna rock you all night long oh oh oh ohi know you seen me this night that night always my shit tight hair done outfit crazy skirts fit just right wifebeater with a bangin tan walk in demandin all eyes baby here i am you know aint a shame in my frame and i know your watchin puttin on a show for you pop and i aint stoppin you know lot of action in your corner yeah you gonna do only thing to make it better though is me with you you know it and i know you feelin that regardless of your frontin and i heard through the streets it was me you wantin let me find out you shy or somethin but i know your not so stop the games and approach is you real or noti just wanna rock you all night long oh oh oh oh i wanna rock you i just wanna rock you all night long oh oh oh ohok numbers exchange now its in place shouldnt have took you so long in the first place im just playin cutie yeah give me a call no its cool you aint got to see me to my car see im a big girl but youll find out stop for me while i drop top and ride out wheels spinnin wanna know what shorty all about but its cool im proven in these words thats comin out my mouthits that gangsta lovin gangsta thats just got me buggin buggin its that gangsta lovin gangsta gangsta that just got me buggini just wanna rock you all night long oh oh oh oh i wanna rock you i just wanna rock you all night long oh oh oh ohi wanna rock you baby i wanna hold you baby wont you be my baby i wanna be your ladyi wanna rock you baby i wanna hold you baby wont you be my baby i wanna be your ladybaby let me rock with you gangsta gangsta you know i wanna rock with you gangsta gangsta baby let me rock with you eve you know i wanna rock with you a keys gonna rock you baby let me rock with you you know i wanna rock with you its gangsta gangsta baby let me rock with you gangsta gangsta you know i wanna rock with you gangsta gangsta love ooh yeah you know i wanna rock with you baby let me rock with you ",1
20,"my sacrifice","creed",2002," hello my friend we meet again its been a while where should we begin feels like forever within my heart are memories of perfect love that you gave to me oh i rememberwhen you are with me im free im careless i believe above all the others well fly this brings tears to my eyes my sacrificeweve seen our share of ups and downs oh how quickly life can turn around in an instant it feels so good to reunite within yourself and within your mind lets find peace therecause when you are with me im free im careless i believe above all the others well fly this brings tears to my eyes my sacrificei just want to say hello again i just want to say hello againwhen you are with me im free im careless i believe above all the others well fly this brings tears to my eyes cause when you are with me i am free im careless i believe above all the others well fly this brings tears to my eyes my sacrifice my sacrificei just want to say hello again i just want to say hello againmy sacrifice ",1
21,"without me","eminem",2002," obie trice real name no gimmickstwo trailer park girls go round the outside round the outside round the outside two trailer park girls go round the outside round the outside round the outsideguess whos back back again shadys back tell a friend guess whos back guess whos back guess whos back guess whos back guess whos back guess whos back guess whos backive created a monster cause nobody wants to see marshall no more they want shady im chopped liver well if you want shady then this is what ill give ya a little bit of weed mixed with some hard liquor some vodka that will jump start my heart quicker then a shot when i get shocked at the hospital by the doctor when im not cooperating when im rocking the table while hes operating hey you waited this long to stop debating cause im back im on the rag and ovulating i know you got a job ms cheney but your husbands heart problem is complicated so the fcc wont let me be or let me be me so let me see they tried to shut me down on mtv but it feels so empty without me so come on and dip bum on your lips fuck that cum on your lips and some on your tits and get ready cause this shit is about to get heavy i just settled all my lawsuits fuck you debbienow this looks like a job for me so everybody just follow me cause we need a little controversy cause it feels so empty without me i said this looks like a job for me so everybody just follow me cause we need a little controversy cause it feels so empty without melittle hellions kids feeling rebellious embarrassed their parents still listen to elvis they start feeling like prisoners helpless til someone comes along on a mission and yells bitch a visionary vision is scary could start a revolution pollutin the air waves a rebel so let me just revel and bask in the fact that i got everyone kissing my ass and its a disaster such a catastrophe for you to see so damn much of my ass you ask for me well im back nanana na na nanana na na kshh fix your bent antenna tune it in and then im gonna enter in endin up under your skin like a splinter the center of attention back for the winter im interesting the best thing since wrestling infesting in your kids ears and nesting testing attention please feel the tension soon as someone mentions me heres my ten cents my two cents is free a nuisance who sent you sent for menow this looks like a job for me so everybody just follow me cause we need a little controversy cause it feels so empty without me i said this looks like a job for me so everybody just follow me cause we need a little controversy cause it feels so empty without meatiskit ataskit i go tit for tat with anybody whos talking this shit and that shit chris kirkpatrick you can get your ass kicked worse than them little limp bizkit bastards and moby you can get stomped by obie you thirty six year old bald headed fag blow me you dont know me youre too old let it go its over nobody listens to techno now lets go just give me the signal ill be there with a whole list full of new insults ive been dope suspenseful with a pencil ever since prince turned himself into a symbol but sometimes this shit just seems everybody only wants to discuss me so this must mean im disgusting but its just me im just obscene though im not the first king of controversy i am the worst thing since elvis presley to do black music so selfishly and use it to get myself wealthy hey theres a concept that works twenty million other white rappers emerge but no matter how many fish in the sea it will be so empty without menow this looks like a job for me so everybody just follow me cause we need a little controversy cause it feels so empty without me i said this looks like a job for me so everybody just follow me cause we need a little controversy cause it feels so empty without mekids ",1
22,"hero","enrique iglesias",2002," let me be your herowould you dance if i asked you to dance would you run and never look back would you cry if you saw me crying and would you save my soul tonightwould you tremble if i touched your lips would you laugh oh please tell me this now would you die for the one you loved hold me in your arms tonighti can be your hero baby i can kiss away the pain i will stand by you forever you can take my breath awaywould you swear that youll always be mine or would you lie would you run and hide am i in too deep have i lost my mind i dont care youre here tonighti can be your hero baby i can kiss away the pain i will stand by you forever you can take my breath awayoh i just want to hold you i just want to hold you oh yeah am i in too deep have i lost my mind well i dont care youre here tonighti can be your hero baby i can kiss away the pain oh yeah i will stand by you forever you can take my breath awayi can be your hero i can kiss away the pain and i will stand by you forever you can take my breath away you can take my breath awayi can be your hero ",1
23,"all you wanted","michelle branch",2002," i wanted to be like you i wanted everything so i tried to be like you and i got swept awayi didnt know that it was so cold and you needed someone to show you the way so i took your hand and we figured out that when the tide comes id take you awayif you want to i can save you i can take you away from here so lonely inside so busy out there and all you wanted was somebody who caresim sinking slowly so hurry hold me your hand is all i have to keep me hanging on please can you tell me so i can finally see where you go when youre goneif you want to i can save you i can take you away from here so lonely inside so busy out there and all you wanted was somebody who caresall you wanted was somebody who cares if you need me you know ill be there oh yeahif you want to i can save you i can take you away from here so lonely inside so busy out there and all you wanted was somebody who caresplease can you tell me so i can finally see where you go when youre gone ",1
24,"get the party started","pink",2002," im comin up so you better get this party started im comin up so you better get this party startedget this party started on a saturday night everybodys waitin for me to arrive sendin out the message to all of my friends well be lookin flashy in my mercedes benz i got lotsa style got my gold diamond rings i can go for miles if you know what i meanim comin up so you better get this party started im comin up so you better get this party startedpumpin up the volume breakin down to the beat cruisin through the west side well be checkin the scene boulevard is freakin as im comin up fast ill be burnin rubber youll be kissin my ass pull up to the bumper get out of the car license plate says stunner number 1 superstarim comin up so you better get this party started im comin up so you better get this party startedmakin my connection as i enter the room everybodys chillin as i set up the groove pumpin up the volume with this brand new beat everybodys dancin and their dancin for me im your operator you can call anytime ill be your connection to the party lineim comin up so you better get this party started im comin up so you better get this party startedget this party started get this party started right now get this party started get this party started get this party started right now ",1
25,"hero","chad kroeger featuring josey scott",2002," i am so high i can hear heaven i am so high i can hear heaven oh but heaven no heaven dont hear meand they say that a hero can save us im not gonna stand here and wait and ill hold on to the wings of the eagles watch as we all fly awaysomeone told me that love would all save us but how can that be look what love gave us a world full of killing and blood spilling that world never cameand they say that a hero can save us im not gonna stand here and wait and ill hold on to the wings of the eagles watch as we all fly away ohnow that the world isnt ending its love that im sending to you it isnt the love of a hero and thats why i fear it wont doand they say that a hero can save us im not gonna stand here and wait ill hold on to the wings of the eagles watch as we all fly awayand theyre watching us theyre watching us as we all fly away and theyre watching us theyre watching us as we all fly away and theyre watching us theyre watching us as we all fly away woah ",1
26,"wasting my time","default",2002," well i dont want to see you waiting ive already gone too far away i still cant keep the day from ending no more messed up reasons for me to staywell this is not for real afraid to feel i just hit the floor dont ask for more im wasting my time im wasting my time you cant stop the feeling there is no reason lets make the call and take it all again woah againmonths went by with us pretending when did our light turn from green to red i took a chance and left you standing lost the will to do this once againwell this is not for real afraid to feel i just hit the floor dont ask for more im wasting my time im wasting my time you cant stop the feeling there is no reason lets make the call and take it all im wasting my time im wasting my time again woah againi see you waiting lonesome lonely i see you waiting i see you waitingwell this is not for real afraid to feel i just hit the floor dont ask for more im wasting my time im wasting my time you cant stop the feeling there is no reason lets make the call and take it all im wasting my time im wasting mywell this is not for real afraid to feel i just hit the floor dont ask for more im wasting my time im wasting my time you cant stop the feeling there is no reason lets make the call and take it all im wasting my time again woah again ",1
27,"one last breath","creed",2002," please come now i think im falling im holding on to all i think is safe it seems i found the road to nowhere and im trying to escape i yelled back when i heard thunder but im down to one last breath and with it let me say let me sayhold me now im six feet from the edge and im thinking maybe six feet aint so far downim looking down now that its over reflecting on all of my mistakes i thought i found the road to somewhere somewhere in his grace i cried out heaven save me save me but im down to one last breath and with it let me say let me sayhold me now im six feet from the edge and im thinking maybe six feet aint so far downhold me now im six feet from the edge and im thinking maybe six feet aint so far down im so far downsad eyes follow me but i still believe theres something left for me so please come stay with me cause i still believe theres something left for you and me for you and me for you and mehold me now im six feet from the edge and im thinkinghold me now im six feet from the edge and im thinking maybe six feet aint so far downhold me now im six feet from the edge and im thinking maybe six feet aint so far downplease come now i think im falling im holding on to all i think is safe ",1
28,"whenever wherever","shakira",2002," lucky you were born that far away so we could both make fun of distance lucky that i love a foreign land for the lucky fact of your existencebaby i would climb the andes solely to count the freckles on your body never could imagine there were only ten million ways to love somebodyle do lo le lo le le do lo le lo le cant you see im at your feetwhenever wherever were meant to be together ill be there and youll be near and thats the deal my dearthere over here under youll never have to wonder we can always play by ear but thats the deal my dearlucky that my lips not only mumble they spill kisses like a fountain lucky that my breasts are small and humble so you dont confuse them with mountainslucky i have strong legs like my mother to run for cover when i need it and these two eyes are for no other the day you leave will cry a riverle do lo le lo le le do lo le lo le at your feet im at your feetwhenever wherever were meant to be together ill be there and youll be near and thats the deal my dearthere over here under youll never have to wonder we can always play by ear but thats the deal my dearle do lo le lo le le do lo le lo le think out loud say it againle do lo le lo le lo le tell me one more time that youll live lost in my eyeswhenever wherever were meant to be together ill be there and youll be near and thats the deal my dearthere over here under youve got me head over heels theres nothing left to fear if you really feel the way i feelwhenever wherever were meant to be together ill be there and youll be near and thats the deal my dearthere over here under youve got me head over heels theres nothing left to fear if you really feel the way i feel ",1
29,"im gonna be alright","jennifer lopez featuring nas",2002," oh yes yes i did baby yes i didits funny cause for a while i walked around with a smile but deep inside i could hear voices telling me this aint right dont you know its not for you i always knew what i had to do but its hard to get away because i love you i just tried to stayi used to say i couldnt do it but i did it yes i did after telling everybody that i wasnt with it oh yeah though it brings tears to my eyes i can feel it and i know inside im gonna be alright im gonna be alrighti said i couldnt do it but i did it after telling everybody that i wasnt with it though it brings tears to my eyes i can feel it and that voice inside says im gonna be alrightfriends of mine say to me say you got control over me youre not alone i played my part i saw the way you were from the start could i expect so much from you you had a girl when i first met you did the best that you could do now i realize that i cant change youi used to say i couldnt do it but i did it after telling everybody that i wasnt with it though it brings tears to my eyes i can feel it and i know inside im gonna be alright be alrighti said i couldnt do it but i did it after telling everybody that i wasnt with it though it brings tears to my eyes i can feel it and that voice inside says im gonna be alrightsaid i wouldnt walk away somedays i want to stay days i want to stay but leaving you is what i need to do to be okay need to be okay never thought it would be true me livin without you livin without you but now its time for me to make that movei used to say i couldnt do it but i did it but i did baby after telling everybody that i wasnt with it wasnt with it though it brings tears to my eyes i can feel it to my eyes and i know inside im gonna be alright be alrighti said i couldnt do it but i did it but i did it after telling everybody that i wasnt with it wasnt with it  though it brings tears to my eyes i can feel it and that voice inside says im gonna be alrighti used to say i couldnt do it but i did it after telling everybody that i wasnt with it though it brings tears to my eyes i can feel it and i know inside im gonna be alright be alrighti said i couldnt do it but i did it after telling everybody that i wasnt with it oh no though it brings tears to my eyes i can feel it and that voice inside says im gonna be alrighti used to say i couldnt do it but i did it after telling everybody that i wasnt with it though it brings tears to my eyes i can feel it and i know inside im gonna be alright be alrighti said i couldnt do it but i did it after telling everybody that i wasnt with it though it brings tears to my eyes i can feel it and that voice inside says im gonna be alrighti used to say i couldnt do it but i did it after telling everybody that i wasnt with it though it brings tears to my eyes i can feel it and i know inside ",1
30,"oh boy","camron featuring juelz santana",2002," just blaze oh baby oh baby uh killaall the girls see the boy look at his kicks boy look at his car boy all i say is oh boy look mami im no good im so hood clap at your soldiers sober then leave after its over killa im not your companion or your man standin hit me when you wanna get rammed in ill be scramblin with lots of mobsters shop for lobsters cops and robbers listen every block is blaka blaka but she like the way i diddy bop you peeped that mink on mauri kicks plus chanel ski hat she want the boy so i give her the boy now she screamin out boy boy boy boy now she playin with herself cam dig it out lift her up ma its just a fuck girl get it out pick on up they want the boy montana with guns with bandanas listen to my homeboy santanayall niggas cant fuck with the boy im tellin ya boy put a shell in ya boy now he bleedin oh boy get him call his boy he wheezin he need his boy he screamin boy boy boy boy damn shut up boy hes snitchin oh boy this niggas bitchin boy hes twistin oh boy if feds was listenin boy damn whoa damn im in trouble need bail money shit where the fuck is my boy i got trust for my boy thats why i buck with my boy thats my nigga oh boy he gon come get his boy he got love for his boy thats my boy boy boy boywhen he got caught with the boy we went to court for the boy just me and my boy and we sayin oh boy be on the block with my boy with the roc fella boy when the cops come squalie yeah this is for the sports cars bonitas jimmys pjs old school eighteenth at the sports bar eight or nine on the boy holla at your boy killa holla listen its the dip boy plus the roc boy youll be doa boy your moms will say oh boy shit aint no stoppin em guns we got a lot of em shit matter of fact guru start poppin em then slap up his boy clap up his boy wrap up his boy get them gats oh boy diplomats are them boy for the girls and the boy say boy boy boy boynow when they see cam and his boy they say damn oh boy santanas that boy that squeeze hammers oh boy canons and bandanas blammers we dont brandish blam at your mans canvas then scram with your mans leaded and im back with my boyuntil that man is vanished away in the grand canyon these kids are grand standin niggas demand ransom over them grams scramblin boy boy boy boy well fuck it van damme em camll blam blam em call up his boy im down south tannin oh boy mami i got the remedy tommys i bet the enemy hire me somebody but now my body your feelin finicky killa and capo we chill in morocco for reela we got doe chinchilla doe and fill with them hollows huh its the boy i said its the boy im the boy boy boy boy killa ",1
31,"heaven","dj sammy featuring yanou and do",2002," oh thinking about our younger yearsthere was only you and mewe were young and wild and freenow nothing can take you away from meweve been down that road beforebut thats over nowyou keep me coming back for morebaby youre all that i want when youre lying here in my arms im finding it hard to believe were in heavenlove is all that i need and i found it there in your heart it isnt too hard to see were in heavenoh once in your life you find someonewho will turn your world around pick you up when youre feeling down now nothing can change what you mean to metheres a lot that i could say but just hold me nowcause our love will light the waybaby youre all that i want when youre lying here in my arms im finding it hard to believe were in heavenand love is all that i needand i found it there in your heartit isnt too hard to see were in heavenive been waiting for so longfor something to arrive for love to come alongnow our dreams are coming true through the good times and the badill be standing there by youbaby youre all that i wantwhen youre lying here in my armsim finding it hard to believe were in heavenand love is all that i need and ive found it there in your heart it isnt too hard to see were in heaven ",1
32,"hey baby","no doubt featuring bounty killer",2002," hey baby hey baby hey girls sayboys say hey baby hey baby hey hey baby baby im the kinda girl that hangs with the guys like a fly on the wall with my secret eyes taking it in try to be feminine with my makeup bag watching all the sin misfit i sit lit up wicked everybody else surrounded by the girls with the tank tops and the flirty waysim just sipping on chamomile watching boys and girls and their sex appeal with a stranger in the face who says he knows my mom and went to my high schoolall the boys say hey baby hey baby hey girls say girls say hey baby hey baby hey hey baby baby hey baby hey baby hey boys say boys say hey baby hey baby hey all the boys get the girls in the backim the one they feed upon give a bit a star is born and if you had enough youll get the pass and you can tell your friends how you made it back no matter what they say im still the same somehow everybody knows my name and all the girls want to get with the boys and the boys really like itall the boys say hey baby hey baby hey girls say girls say hey baby hey baby hey hey baby baby hey baby hey baby hey boys say boys say hey baby hey baby hey all the boys get the girls in the backcheck it out its bounty killer and no doubt jump on the stage makes me going crazy after wards myself and one of them gorgeous ladiesthats right there is no need to be acting shady come on baby hey hey baby jump on the stage makes me going crazy after wards myself and one of them gorgeous ladiesyea man there is no need to be acting shady come on baby hey hey baby when you rock your hips you know that it amaze me got me off the hook and nothing else dont phase me can you be my one and only sunshine lady if no no maybe heyim just sipping on chamomile watching boys and girls and their sex appeal with a stranger in the face who says he knows my mom and went to my high school hey baby hey babythats rightall the boys say hey baby hey baby hey girls say girls say hey baby hey baby hey hey baby baby hey baby hey baby hey baby hey boys say boys say hey baby hey baby hey can you be my one and only sunshine lady hey baby hey baby hey girls say girls say hey baby hey baby hey when you rock your hips you know that it amaze me hey baby hey baby hey boys say boys say hey baby hey baby hey all the boys get the girls in the back ",1
33,"girlfriend","n sync featuring nelly",2002,"n sync celebrity girlfriend would you be my girlfriend  would you be my girlfriend  would you be my girlfriend  i like you baby  would you be my girlfriend  i dont know why you care why you thinkin bout him huh  he doesnt even know youre there  cause he dont love your eyes  and he dont love your smile  girl you know that aint fair  in the middle of the night  is he gonna be by your side  or will he run and hide  you dont know cause things aint clear  and baby when you cry  is he gonna stand by your side  does the man even know youre alive  i got an idea  wont you be my girlfriend  ill treat you good ill treat you good girl  i know you hear your friends when they say you should  cause if you were my girlfriend  id be your shining star  the one to show you where you are  girl you should be my girlfriend  does he know what you feel know what you feel  are you sure that its real are you sure  does he ease your mind or does he break your stride  did you know that love could be a shield yeah  in the middle of the night  is he gonna be by your side  or will he run and hide  you dont know cause things aint clear  and baby when you cry oh no  is he gonna stand by your side no no does the man even know youre alive  i got an idea listen girl  wont you be my girlfriend yeah yeah  ill treat you good ill treat you good girl  i know you hear your friends when they say you should  cause if you were my girlfriend  id be your shining star  the one to show you where you are  girl you should be my girlfriend  ever since i saw your face  nothing in my life has been the same  i walk around just saying your name  without you my world would end yeah  ive searched around this whole damn place  and everything says you were meant to be  my girlfriend oh  wont you be my girlfriend yeah  ill treat you good uh i know you hear your friends when they say you should  cause if you were my girlfriend my girlfriend  id be your shining star shining star  the one to show you where you are  girl you should be my girlfriend  my baby  you make my heart sing  my baby girl you make my heart sing  girl you should be my girlfriend  girl you should be my girlfriend  girl you should be my girlfriend its destiny  girl you should be my girlfriend  girl you should be my girlfriend",3
34,"just a friend 2002","mario",2002," yall ready fo me i wanna know your name and i wanna know if you gotta man i wanna knowi wanna know everything i wanna know your number and if i can come over and i wanna know whatcha likei wanna know so i can do it all night butcha tellin me im just a friend tellin me im just a friendoh baby you got what i need got what i need but you say im just a friend say im just a friendbut you say im just a friend say im just a friend cuz i can be your fantasy but you say im just a friend but you say im just a friendi wanna know you in and out i wanna know what your all about i wanna knowi wanna know what makes you laugh i wanna know about your past i wanna know how you move i wanna know so i can move tooi wanna know but your tellin me im just a friend tellin me im just a friendoh baby you got what i need got what i need but you say im just a friend say im just a friendbut you say im just a friend say im just a friend cuz i can be your fantasy but you say im just a friend but you say im just a friendoh baby you got what i need got what i need but you say im just a friend say im just a friendbut you say im just a friend say im just a friend cuz i can be your fantasy but you say im just a friend but you say im just a friendoh baby you got what i need got what i need but you say im just a friend say im just a friendbut you say im just a friend say im just a friend cuz i can be your fantasy but you say im just a friend but you say im just a friendcan you give me one reason why you wouldnt want this kind of guy cuz i stay dips i stay lace and i know you know im fly girl stop playing games with meand let get it on tonight you got nothing to lose let me do what i dooh baby you got what i need got what i need but you say im just a friend say im just a friendbut you say im just a friend say im just a friend cuz i can be your fantasy but you say im just a friend but you say im just a friendoh baby you got what i need got what i need but you say im just a friend say im just a friendbut you say im just a friend say im just a friend cuz i can be your fantasy but you say im just a friend but you say im just a friendoh baby you got what i need got what i need but you say im just a friend say im just a friendbut you say im just a friend say im just a friend cuz i can be your fantasy but you say im just a friend but you say im just a friendoh baby you got what i need got what i need but you say im just a friend say im just a friendbut you say im just a friend say im just a friend cuz i can be your fantasy but you say im just a friend but you say im just a friendcome on girl you can call me any time you like doesnt matter day or night we can do whatever you wanna do its up to youdont fight the feeling that you feel i can tell that its real oh girl so wont you help me understand why you say im just a why you say im just a friend ",1
35,"soak up the sun","sheryl crow",2002," my friend the communist holds meetings in his rv i cant afford his gas so im stuck here watching tvi dont have digital i dont have diddle squat its not having what you want its wanting what youve gotim gonna soak up the sun im gonna tell everyone to lighten up im gonna tell em that ive got no one to blame for every time i feel lame im looking upim gonna soak up the sun im gonna soak up the sunive got a crummy job it dont pay near enough to buy the things it takes to win me some of your loveevery time i turn around im looking up youre looking down maybe somethings wrong with you that makes you act the way you doim gonna soak up the sun im gonna tell everyone to lighten up im gonna tell em that ive got no one to blame for every time i feel lame im looking upim gonna soak up the sun while its still free im gonna soak up the sun before it goes out on medont have no master suite but im still the king of me you have a fancy ride but baby im the one who has the keyevery time i turn around im looking up youre looking down maybe somethings wrong with you that makes you act the way you do maybe i am crazy tooim gonna soak up the sun im gonna tell everyone to lighten up im gonna tell em that ive got no one to blame for every time i feel lame im looking upim gonna soak up the sun im gonna tell everyone to lighten up im gonna tell em that ive got no one to blame for every time i feel lame im looking upim gonna soak up the sun got my 45 on so i can rock on ",1
36,"dont let me get me","pink",2002," never win first place i dont support the team i cant take direction and my socks are never clean teachers dated me my parents hated me i was always in a fight cause i cant do nothin righteveryday i fight a war against the mirror i cant take the person starin back at me im a hazard to myselfdont let me get me im my own worst enemy its bad when you annoy yourself so irritating dont wanna be my friend no more i wanna be somebody elsei wanna be somebody else yeahla told me youll be a pop star all you have to change is everything you are tired of being compared to damn britney spears shes so pretty that just aint medoctor doctor wont you please prescribe me somethin a day in the life of someone else cause im a hazard to myselfdont let me get me im my own worst enemy its bad when you annoy yourself so irritating dont wanna be my friend no more i wanna be somebody elsedont let me get me im my own worst enemy its bad when you annoy yourself so irritating dont wanna be my friend no more i wanna be somebody elsedoctor doctor wont you please prescribe me somethin a day in the life of someone else dont let me get medont let me get me im my own worst enemy its bad when you annoy yourself so irritating dont wanna be my friend no more i wanna be somebody else ",1
37,"nothin","nore",2002," oh oh millitainment millitainment oh come on millitainment millitainment oh this one is the hot one millitainment millitainment aiyyo millitainmenthomeboy i came to party ohh yo girl was lookin at me ohh shes a haggler naw im not taggin her ohh but you dont want them boys to come over and start askin ya ohhwhat you wanna do nigga nothin what you tryin to do nigga nothin what you wanna do nigga nothin what you tryin to doyo yo yo yo n o r papi say what that niggas the man with his manager chris and the label that jams still flossin showin your rocksaint you dudes heard grimey man we stoled your watch it goes indian style knees bent in dashiki strapped with the veritek baby tec bt true she at the bar lookin good in the brown dressfour to six shots and them things aint around yet persona all thugged out loud and clear sayin fuck the straight henny just grab me a beer you see im reppin now and my mamis i got a weapon nowshoot at them clowns at they feet they high steppin now left that wack label cause i dont like pricks im like a hammer that you hold on your hand i make hits at the white boy club while im buyin the bar they like hey now youre an all star it gohomeboy i came to party ohh yo girl was lookin at me ohh shes a haggler naw im not taggin her ohh but you dont want them boys to come over and start askin ya ohhwhat you wanna do nigga nothin what you tryin to do nigga nothin what you wanna do nigga nothin what you tryin to doi spit mack millimeter rhymes kill a liter in line my nigga peter got a heater of mines niggaz still lyin in they wack ass bars only time they seen jail when they watchin ozim in the club pissy drunk like ahdadida and mami took it proper like dadadida adios kill your soul then we body your ghost they call me gordo i sip the champagne thats importoplayin capicu man you aint nappy too i like when chocha be nappy too i treat life like a fast car lower my speed i try and chill and sell more records than creedbeen a hustler way before melvin flynt what what a criminal dont leave no prints these dudes gave me a brick and they aint seen me since caught up wit em had them dudes straight hoppin the fence it gohomeboy i came to party ohh yo girl was lookin at me ohh shes a haggler naw im not taggin her ohh but you dont want them boys to come over and start askin ya ohhwhat you wanna do nigga nothin what you tryin to do nigga nothin what you wanna do nigga nothin what you tryin to dola la la la la la la la la ohh la la la la la la la la la ohh la la la la la la la la la ohh la la la la la la la la la ohhla la la la la la la la la ohh la la la la la la la la la ohh la la la la la la la la la ohh la la la la la la la la la ohhyo yo yo yo oops i done done it again i got another one i keep it hid in my pocket i got another one fast and furious dunn dunn dunn tudunnstill be in miami and jet skiing in the ocean where the sharks be at just odn adebesi want a brick you pay double easy i got them things thatll move easyand i told the lawyer i sold blow to old goya im half spanish you see i cook coke for goya im half spanish all day arroz con polla recognize when im runnin the game before mechickens wasnt even messin with brain because me now you started gettin head on the west side highway so recognize my nigga you did it my way ice rockin brick choppin and gun shoppin i did it all beat cases without cochranhomeboy i came to party ohh yo girl was lookin at me ohh shes a haggler naw im not taggin her ohh but you dont want them boys to come over and start askin ya ohhwhat you wanna do nigga nothin what you tryin to do nigga nothin what you wanna do nigga nothin what you tryin to dola la la la la la la la la ohh la la la la la la la la la ohh la la la la la la la la la ohh la la la la la la la la la ohhla la la la la la la la la ohh la la la la la la la la la ohh la la la la la la la la la ohh la la la la la la la la la ohh ",1
38,"oops oh my","tweet featuring missy elliott",2002," ill tell ya what i did last night i came home say around a quarter to three still so high hypnotized in a trance from his body so buttery brown and tantalizing you would have thought i needed help with the feeling that i felt so shook i had to catch my breathoops there goes my shirt up over my head oh my oops there goes my skirt droppin to my feet oh my oh some kind of touch caressing my legs oh my oh im turnin red who could this bei tried and i tried to avoid but this thing was happening swallow my pride let it ride and parted but this body felt just like mine i got worried i looked over to the left a reflection of myself thats why i couldnt catch my breathoops there goes my shirt up over my head oh my oops there goes my skirt droppin to my feet oh my oh some kind of touch caressing my legs oh my oh im turnin red who could this bei looked over to my left mmm i was lookin so good i couldnt reject myself i looked over to my left mmm i was feelin so good i had to touch myself i looked over to the left mmm i was eyein my thighs butter pecan brown i looked over to the left mmm coming out of my shirt and then my skirt came downoops there goes my shirt up over my head oh my oops there goes my skirt droppin to my feet oh my oh some kind of touch caressing my legs oh my oh im turnin red who could this beoops there goes my shirt up over my head oh my oops there goes my skirt droppin to my feet oh my oh some kind of touch caressing my legs oh my oh im turnin red who could this be ",1
39,"a moment like this","kelly clarkson",2002," what if i told you it was all meant to be would you believe me would you agree its almost that feeling we met before so tell me that you dont think im crazy when i tell you love has come here and nowa moment like this some people wait a lifetime for a moment like this some people search forever for that one special kiss oh i cant believe its happening to me some people wait a lifetime for a moment like thiseverything changes but beauty remains something so tender i cant explain well i may be dreaming but till i awake cant we make this dream last forever and ill cherish all the love we sharea moment like this some people wait a lifetime for a moment like this some people search forever for that one special kiss oh i cant believe its happening to me some people wait a lifetime for a moment like thiscould this be the greatest love of all i wanna know that you will catch me when i fall so let me tell you this some people wait a lifetime for a moment like thissome people wait a lifetime for a moment like this some people search forever for that one special kiss oh i cant believe its happening to me some people wait a lifetime for a moment like thisoh moment like this moment like oh i cant believe its happening to me some people wait a lifetime for a moment like this oh like this ",1
40,"addictive","truth hurts featuring rakim",2002," he breaks me down he builds me up he fills my cup i like it rough we fuss we brawl we rise we fall he comes in late but its ok he do i do he knows the rules he takes care of home though hes not alone im on his knee he keeps me clean and gives me things he makes me screamhes so contagious returns my pages hes got me anxious hes what i waited for he keeps me guessin spontaneous hes so persuasive and im his ladyoh tonight is waitin tonight is waitin and i aint complainin and i aint complainin im entertainin im entertainin my number one fan my number one my back is achin my back is achin from our love makin from our love makin oh oh yes im taken aint no use in fakinmy ups my downs my high and my lows from head to toe he makes me glow he hits the spot he makes me hot im all that hes got and hes all that ive gothes so contagious returns my pages hes got me anxious hes what i waited for he keeps me guessin he keeps me guessin spontaneous spontaneous hes so persuasive so persuasive and im his ladythinkin of a masterplan you know anything you need baby ask your man you was there from a half a grand now its kilos to cnotes and high fashion brands we ball like we own the world the only concern is you my only girl and when we speakin in tongues breathing hard when im squeezin your lungs keep it strong but i gotta hit the streets when im done its joy and pain when you tryin to get ahead of the game its fucked up but you never complain you just pray i dont get killed when i hit the hood just another hundred mill and imma quit for good no more drug wars trips to jail and shootouts gettin loot out for lawyers and bailll get you boot out just me and you high off sex and twisted you ogd and you od addictedhes so contagious returns my pages hes got me anxious hes what i waited for he keeps me guessin spontaneous hes so persuasive so persuasive and im his lady and im his ladyhes so contagious returns my pages hes got me anxious hes what i waited for he keeps me guessin spontaneous hes so persuasive and im his lady ",1
41,"happy","ashanti",2002," right back at ya its the worlds most talented record label murder inc and that angelic voice you hear in the background thats our new princess of hiphop and rb miss ashantiboy you fill me with so much joy you give whatever it is i need my love is here to stay wont ever leave so glad that you fell in love with me my love is so good that i wouldnt be without you babe couldnt see me without you babymy love is so good that i wouldnt be without you babe couldnt see me without you babeall my life ive been searching for ya everyday so glad that i found you boy all my life ive been feeling for you everyday im so happy babyboy you got me feeling so good you take all my pain away from me without you around i couldnt be and im glad you fell in love with memy love is so good that i wouldnt be without you babe couldnt see me without you babemy love is so good that i wouldnt be without you babe couldnt see me without you babeall my life ive been searching for ya everyday so glad that i found you boy all my life ive been feeling for you everyday im so happy babyim so happy that i fell in love i thank god he sent you from above im so happy that i found someone i thank god he sent you from aboveall my life ive been searching for ya everyday so glad that i found you boy all my life ive been feeling for you everyday im so happy babyall my life ive been searching for ya everyday so glad that i found you boy all my life ive been feeling for you everyday im so happy babymy love is so good that i wouldnt be without you babe couldnt see me without you babemy love is so good that i wouldnt be without you babe couldnt see me without you babe ",1
42,"no such thing","john mayer",2002," welcome to the real world she said to me condescendingly take a seat take your life plot it out in black and whitewell i never lived the dream of the prom kings and the drama queens id like to think the best of me is still hiding up my sleevethey love to tell you stay inside the lines but somethings better on the other sidei wanna run through the halls of my high school i wanna scream at the top of my lungs i just found out theres no such thing as the real world just a lie youve got to rise aboveso the good boys and girls take the so called right track faded white hats grabbing credits and maybe transfersthey read all the books but they cant find the answers and all of our parents theyre getting older i wonder if theyve wished for anything better while in their memories tiny tragediesthey love to tell you stay inside the lines but somethings better on the other sidei wanna run through the halls of my high school i wanna scream at the top of my lungs i just found out theres no such thing as the real world just a lie you got to rise abovei am invincible i am invincible i am invincible as long as im alivei wanna run through the halls of my high school i wanna scream at the top of my lungs i just found out theres no such thing as the real world just a lie youve got to rise abovei just cant wait til my ten year reunion im gonna bust down the double doors and when i stand on these tables before you you will know what all this time was for ",1
43,"just like a pill","pink",2002," im lyin here on the floor where you left me i think i took too much im cryin here what have you done i thought it would be funi cant stay on your life support theres a shortage in the switch i cant stay on your morphine cuz its makin me itch i said i tried to call the nurse again but shes being a little bitch i think ill get outta here where i canrun just as fast as i can to the middle of nowhere to the middle of my frustrated fears and i swear youre just like a pill instead of makin me better you keep makin me ill you keep makin me illi havent moved from the spot where you left me this must be a bad trip all of the other pills they were different maybe i should get some helpi cant stay on your life support theres a shortage in the switch i cant stay on your morphine cuz its makin me itch i said i tried to call the nurse again but shes being a little bitch i think ill get outta here where i canrun just as fast as i can to the middle of nowhere to the middle of my frustrated fears and i swear youre just like a pill instead of makin me better you keep makin me ill you keep makin me illrun just as fast as i can to the middle of nowhere to the middle of my frustrated fears and i swear youre just like a pill instead of makin me better you keep makin me ill you keep makin me illi cant stay on your life support theres a shortage in the switch just like a pill i cant stay on your morphine cuz its makin me itch just like a pill i said i tried to call the nurse again but shes being a little bitch just like a pill i think ill get outta here where i canrun just as fast as i can to the middle of nowhere to the middle of my frustrated fears frustrated frustrated fears and i swear youre just like a pill instead of makin me better you keep makin me ill you keep makin me illrun just as fast as i can to the middle of nowhere to the middle of my frustrated fears frustrated fears and i swear youre just like a pill just like a pill instead of makin me better you keep makin me ill makin me makin me ill you keep makin me illrun just as fast as i can to the middle of nowhere to the middle of my frustrated fears and i swear youre just like a pill instead of makin me better you keep makin me ill oh you keep makin me ill you keep makin me illrun just as fast as i can to the middle of nowhere to the middle of my frustrated fears ",1
44,"down 4 u","ja rule featuring ashanti charli baltimore and vita",2002," new ja rule vita charlie baltimore ashanti fat joe all murder inc irv gotti chris tnt whaaaatchorus i wanna be your chick i wanna be down 4 u do ya trust me yeah love me yeah youre puttin it on me ya must be ya down ass bitch i wanna be your chick it only for the rule baby i ride 4 u die 4 u do anything ya want me to i be ya down ass bitchja rule this is no intentions of bein offensive the women by callin yall bitches my down ass bitches still my queen bitchs cut look clean on ya finger next to the finger ya flipped at me and this no in between me and you only me and you who else gon put it on me like the rule god only looks after children and foos and you not so who gon look after you its rule babyvita true baby its only for you baby vita thighs only divide if you inside cuz i love the way you touch me nobody can get it and if its comin and gunnin just come in it and spit it so when ya gone for a minute i just fantasize like if its you its all in it then im satisfied til you come back to me holdin stack and jewels vita and my nigga ja rule babychorusashanti im gonna be here when ya need rule baby can always count on me no you dont ever have to worry you know ill make it in a hurry im here for ya and i wont never leave shed tears for ya cuz boy ya got to me there will never be another for me youll always be my one and onlyja rule ashanti babygirl would ya bust ya gun with me yeah yeah lie to the feds to come get me yeah yeah and if i died kill for me yeah yeah are you trustin me yeah yeah are you lovin me yeah yeah yeah yeah lets get it grinnin like we ashford and ons or ike and anna mae on one their good days you smile like sun rays 55 with brown eyes and thick legs only for the rule babychoruscharlie baltimore now baby i told you i can show you better than i can tell you dont try to bring conversey and mail just sweet words and naked photos im still that pretty down down ass 2 cars behind ya 6 and i diss any clown ass rockin my round ass only a down ass and its all for u ive grown a tad bit since we been at like rabbits to move a little bumper and its ja rule and its all for rule shit who gon love you like that thug with you wit a stack to the ceilin and spilt in the dub with you cuz i played my position with kods o gs until that blood shed blood red and we oded remember every word that ya told me ja rule showed mehold me all you need in your life is chuck drugs and dubs on 22s now tell me who the hunny for you chuckchorus x2 ",1
45,"cant get you out of my head","kylie minogue",2002," la la la la la la la la la la la la la la la la la la la la la la la la la la la la la la la lai just cant get you out of my head boy your lovin is all i think about i just cant get you out of my head boy its more than i dare to think aboutla la la la la la la la la la la la la la la lai just cant get you out of my head boy your lovin is all i think about i just cant get you out of my head boy its more than i dare to think aboutevery night every day just to be there in your arms wont you stay wont you stay stay forever and ever and ever ah ahla la la la la la la la la la la la la la la la la la la la la la la la la la la la la la la lai just cant get you out of my head boy your lovin is all i think about i just cant get you out of my head boy its more than i dare to think abouttheres a dark secret in me dont leave me lost in your arms set me free feel the need in me set me free stay forever and ever and ever ah ahla la la la la la la la la la la la la la la la la la la la la la la la la la la la la la la lai just cant get you out of my head lalala lalalalala ",1
46,"superman its not easy","five for fighting",2002," i cant stand to fly im not that naive im just out to find the better part of meim more than a bird im more than a plane im more than some pretty face beside a train and its not easy to be mei wish that i could cry fall upon my knees find a way to lie bout a home ill never seeit may sound absurd but dont be naive even heroes have the right to bleed i may be disturbed but wont you concede even heroes have the right to dream and its not easy to be meup up and away away from me well its all right you can all sleep sound tonight im not crazy or anythingi cant stand to fly im not that naive men werent meant to ride with clouds between their kneesim only a man in a silly red sheet digging for kryptonite on this one way street only a man in a funny red sheet looking for special things inside of meinside of me inside of me yeah inside of me inside of meim only a man in a funny red sheet im only a man looking for a dream im only a man in a funny red sheet and its not easy its not easy to be me ",1
47,"cleanin out my closet","eminem",2002," wheres my snare i have no snare in my headphones there you go yeah yo yohave you ever been hated or discriminated against i have ive been protested and demonstrated against picket signs for my wicked rhymes look at the times sick as the mind of the motherfucking kid thats behind all this commotion emotions run deep as oceans exploding tempers flaring from parents just blow em off and keep going not taking nothing from no one give em hell long as im breathing keep kicking ass in the morning and taking names in the evening leave em with a taste as sour as vinegar in they mouth see they can trigger me but theyll never figure me out look at me now i bet ya probably sick of me now aint you momma imma make you look so ridiculous nowim sorry momma i never meant to hurt you i never meant to make you cry but tonight im cleaning out my closet one more time i said im sorry momma i never meant to hurt you i never meant to make you cry but tonight im cleaning out my closetha i got some skeletons in my closet and i dont know if no one knows it so before they thrown me inside my coffin and close it imma expose it ill take you back to 73 before i ever had a multiplatinum selling cd i was a baby maybe i was just a couple of months my faggot father must have had his panties up in a bunch cause he split i wonder if he even kissed me goodbye no i dont on second thought i just fucking wished he would die i look at hailie and i couldnt picture leaving her side even if i hated kim i grit my teeth and id try to make it work with her at least for hailies sake i maybe made some mistakes but im only human but im man enough to face them today what i did was stupid no doubt it was dumb but the smartest shit i did was take the bullets outta that gun cause ida killed him shit i wouldve shot kim and him both its my life id like to welcome yall to the eminem showim sorry momma i never meant to hurt you i never meant to make you cry but tonight im cleaning out my closet one more time i said im sorry momma i never meant to hurt you i never meant to make you cry but tonight im cleaning out my closetnow i would never diss my own momma just to get recognition take a second to listen for who you think this record is dissing but put yourself in my position just try to envision witnessing your momma popping prescription pills in the kitchen bitching that someones always going through her purse and shits missing going through public housing systems victim of munchhausens syndrome my whole life i was made to believe i was sick when i wasnt til i grew up now i blew up it makes you sick to ya stomach doesnt it wasnt it the reason you made that cd for me ma so you could try to justify the way you treated me ma but guess what youre getting older now and its cold when youre lonely and nathans growing up so quick hes gonna know that youre phony and hailies getting so big now you should see her shes beautiful but youll never see her she wont even be at your funeral see what hurts me the most is you wont admit you was wrong bitch do your song keep telling yourself that you was a mom but how dare you try to take what you didnt help me to get you selfish bitch i hope you fucking burn in hell for this shit remember when ronnie died and you said you wished it was me well guess what i am dead dead to you as can beim sorry momma i never meant to hurt you i never meant to make you cry but tonight im cleaning out my closet one more time i said im sorry momma i never meant to hurt you i never meant to make you cry but tonight im cleaning out my closet ",1
48,"halfcrazy","musiq soulchild",2002,"never thought that we would ever be more than friends now im all confused cause for you i have deeper feelings we both thought it was cool to cross the line and i was convinced it would be alright now things are strange nothings the same and really i just want my friend back and my minds gone half crazy cause i cant leave you alone oh cant get you out of my system and im wondering if its worth me holding on holding on said my minds gone half crazy cause i cant leave you alone cant get you out of my system and im wondering if its worth me holding on yeah id hate walk away from you as if this never existed cause when we kissed the moment after i looked at you different lately i gotta watch what i say cause you take things personally nowadays you used to laugh now you get mad damn i just want my friend back and my minds gone half crazy cause i cant leave you alone oh cant get you out of my system and im wondering if its worth me holding on holding on said my minds gone half crazy cause i cant leave you alone cant get you out of my system and im wondering if its worth me holding on oh oh oh oh oh yeah what happened to the one i used to know oh yeah yeah the one i used to laugh and joke with the one i used to tell all my secrets we used to chill and be down for whatever whenever together yeah and my minds gone half crazy cause i cant leave you alone oh im going half crazy baby and im wondering if its worth me holding on oh over you said my minds gone half crazy cause i cant leave you alone yeah and i just dont know and im wondering if its worth me holding on said i just dont know what to do now we used to chill  we used to hang yeah we used to do we used to do some many things together yeah yeah yeah yeah yeah oh oh yeah oh oh oh",3
49,"lights camera action","mr cheeks",2002," im talkin to these yeah okay yeah ooh ooh this ones a vivrant thing lb gi one fam oh my bounce with me now big dawg hot im talkin this gone be somethin now mr cheeks who im talkin lights camera action okay get down now big dawg now one shot dealyea okay now im in the spot where i wanna be money spent gettin bent chicks in front of me just the way i like it hunnies turnin somethin i got a seat up in the cut and im burnin somethinbooties dancin round a and im killin one killin one from the top of the stash and im feelin buns plus im do low at a table im with this chick with a phat body and the ring up in her naveldances around she struts with the walk touches her toes and she can make her butt talk do whatcha gotta do i aint mad at chu know a lot of haters when they seen and as bad as youyous a real bad girl a need that sippin on ya henny askin where the weed at lemme put you onto somethin you with a big no frontinuh shorty turn it around lemme see somethin with me for real its gone be somethin yeah im talkin lights camera action had me singin im sorry ms jacksonuh turn it around lemme see somethin with me for real its gone be somethin yeah im talkin lights camera action had me singin im sorry ms jacksoni love the way its goin down she got the thongs on she started bouncin more once she heard the thong song them high heels got them calves lookin right too shorty come live with me for the night trueim only tryin to holla its only right you holla back so where you headed lemme follow that now word up i got plans for you its more than my tongue and my handsll dothe way you move to the music it make awanna take you up outta here go somewhere lose it and your physique is off the chain its gonna be hard gettin you off the braini mean we could take a drive in the x5 the way you boogie on the floor know that sex slide yous a dime piece im tryin to see somethin suck your ts and in your front and lemme squeeze somethinuh shorty turn it around lemme see somethin with me for real its gone be somethin yeah im talkin lights camera action had me singin im sorry ms jacksonuh turn it around lemme see somethin with me for real its gone be somethin yeah im talkin lights camera action had me singin im sorry ms jacksoni got a few hours left til a jet and im hopin that its you that a get hear them callin out ya name i geuss ya showtime getcha money shorty lemme see you pole climbtoes out back showin off the tattoo the dumb a had to snatch you lookin as good as ya smell pay your own bills ask officer cuz your pushin your own wheelsyea im feelin you tryin to see the deal with you whats goin on later on can i chill with you we can do anythin that you wanna do you know the way a nigga feel all i want is youget ya dance on love the way you make the moves with no pants on lets ride bounce to ya mans song lets get to goin its goin on before the chance gone next stopuh shorty turn it around lemme see somethin with me for real its gone be somethin yeah im talkin lights camera action had me singin im sorry ms jacksonuh turn it around lemme see somethin with me for real its gone be somethin yeah im talkin lights camera action had me singin im sorry ms jacksonuh shorty turn it around lemme see somethin with me for real its gone be somethin yeah im talkin lights camera action had me singin im sorry ms jacksonuh turn it around lemme see somethin with me for real its gone be somethin yeah im talkin lights camera action had me singin im sorry ms jacksonyo turn with me now do my thing hey swing with me now big dawg now one shot deal keep it tight and this is how we stealits that real its that new how we come thru mr sexy keep hot with us lets go get it tried to come get usback know my style got the booties in the back hey meanwhile we just and smokin and drinkin hey man what the is they thinkinaww wes high tonite well my said lets ride tonite we out in miami we in new york twist the cap pop the corkyeah shorty lemme see somethin with me and my team yeah its gone be somethin im talkin bout lights camera action had a singin im sorry ms jackson yeah oh sorry ms jackson shorty actin like she ready for some action ",1
50,"still fly","big tymers",2002," whats up fresh its our turn babygator boots with the pimped out gucci suit aint got no job but i stay sharp cant pay my rent cause all my moneys spent but thats okay cause im still flygotcha car play gems on shine said its mine get a mink baby girl lets ride you da numba 1 stunna and we gonna glide and go straight to the mall and turn out the insideprowler gucci full length leather bourbons cooler coogi sweater twenty inches pop my feather the birdman daddy i fly in any weatheralligator seats with the head in the inside swine on the dash gwagon so fly numba 1 dont tangle and twist when it come to these cars i am that fellathe gucci with the matching interior 3 wheel ride with the tire in the middle its fresh and stunna and we like brothers we shine like paint daddy this our summergator boots with the pimped out gucci suit aint got no job but i stay sharp cant pay my rent cause all my moneys spent but thats okay cause im still flygot a quarter tank gas in my new eclass but thats alright cause im gon ride got everything in my momas name but im hood rich da dada dada dahave you ever seen the crocodile seats in the truck turn around and sit it down and let em bite yo butt see the steering wheel is fendi dashboard armani with your baby momma playa is where you can find mepushing through the parking lot on 24s cadillac escalate with the chromed out nose with the navigation arrow headed straight to ihop aunt jamima really loves me cause my syrup is so hot put the caddy up start the 3 wheel benz hyper white lights ultra violet lenssumitomo tires and they gotta be run flat tv where the horn go boy can you top that im a show you some rookie press that button the trunk went eh eh and all of a sudden 4 15s didnt see no wires and then i heard boom from the amplifiersbreakdownlet me slide in the benz with the fished out fins impala loud pipes drinking that hen its the birdy birdy man ill do it again in the cadillac truck 24s with 10slooking at my gucci its about that time 6 bad broads flying in at 9 new suburban truck with the paint job showing up and down and up they goand bodies on the roadster lexus you know with that hardtop beamer mommy thats your truck im coming up the hood been lovely new shoes on the whip and i wake up the bubbly430 lex with convertible top the rims keep spinning every time i stop i got a superman benz that i scored from shaq with a old school caddy with a diamond in the backgator boots with the pimped out gucci suit aint got no job but i stay sharp cant pay my rent cause all my moneys spent but thats okay cause im still flygot a quarter tank gas in my new eclass but thats alright cause im gon ride got everything in my momas name but im hood rich da dada dada da ",1
51,"a womans worth","alicia keys",2002," you could buy me diamonds you could buy me pearls take me on a cruise around the world baby you know im worth it dinner lit by candles run my bubble bath make love tenderly to last to last cause baby you know im worth itwanna please wanna keep wanna treat your woman right not just dough but to show that you know she is worth your time you will lose if you chose to refuse to put her first she will if she can find a man who knows her worthcause a real man knows a real woman when he sees her and a real woman knows a real man aint afraid to please her and a real woman knows a real man always comes first and a real man just cant deny a womans worthif you treat me fairly ill give you all my goods treat you like a real woman should baby i know youre worth it if you never play me promise not to bluff ill hold you down when shit gets rough cause baby i know youre worth itshe walks the mile makes you smile all the while being true dont take for granted the passions that she has for you you will lose if you chose to refuse to put her first she will if she can find a man who knows her worthcause a real man knows a real woman when he sees her and a real woman knows a real man aint afraid to please her and a real woman knows a real man always comes first and a real man just cant deny a womans worthno need to read between the lines spelled out for you spelled out for you just hear this song cause you cant go wrong when you value better value a womans womans womans womans worthcause a real man knows a real woman when he sees her and a real woman knows a real man aint afraid to please her and a real woman knows a real man always comes first first baby and a real man just cant deny a womans worthcause a real man knows a real woman when he sees her and a real woman knows a real man aint afraid to please her and a real woman knows a real man always comes first first baby and a real man just cant deny a womans worth ",1
52,"7 days","craig david",2002," on my way to see my friends who lived a couple of blocks away from me as i walked through the subway it must have been about quarter past threein front of me stood a beautiful honey with a beautiful body she asked me for the time i said itd cost her her name a six digit number and a date with me tomorrow at ninedid she decline no didnt she mind i dont think sowas it for real damn sure what was the deal a pretty girl aged twentyfourso was she keen she couldnt wait cinnamon queen let me updatewhat did she say she said shed love to rendezvous she asked me what we were gonna do said wed start with a bottle of moet for twomonday took her for a drink on tuesday we were making love by wednesday and on thursday and friday and saturday we chilled on sundayi met this girl on monday took her for a drink on tuesday we were making love by wednesday and on thursday and friday and saturday we chilled on sundaynine was the time cause ill be getting mine and she was looking fine smooth talker she told me shed love to unfold me all night longooh i loved the way she kicked it from the front to the back she flipped it back she flipped it ooh the way she kicked it and i ohh i yeah hope that shed care cause im a man wholl always be thereooh yeah im not a man to play around baby ooh yeah cause a one night stand isnt really fair from the first impression girl you dont seem to be like that cause theres no need to chat for therell be plenty time for thatfrom the subway to my home endless ringing of my phone when youre feeling all alone all you gotta do is just call me call memonday took her for a drink on tuesday we were making love by wednesday and on thursday and friday and saturday we chilled on sundayi met this girl on monday took her for a drink on tuesday we were making love by wednesday and on thursday and friday and saturday we chilled on sundaybreak it down break it down since i met this special lady ooh yeah i cant get her off my mind shes one of a kind and i aint about to deny it its a special kind of thing with you ohhmonday took her for a drink on tuesday we were making love by wednesday and on thursday and friday and saturday we chilled on sundayi met this girl on monday took her for a drink on tuesday we were making love by wednesday and on thursday and friday and saturday we chilled on sunday ",1
53,"hey ma","camron featuring juelz santana and freekey zekey",2002," yeah  come onhey ma whats up lets slide alright alright and we gon get it on tonight you smoke i smoke i drink me too well good cuz we gon get high tonightgot drops got coupes got trucks got jeeps alright cuz we gon take a ride tonight so ma whats up lets slide alright alright and we gon get it on tonightyo now i was downtown clubbin ladies night seen shorty she was crazy right and i approached baby like ma whats your age and type she looked at me and said yous a baby righti told her im 18 and live a crazy life plus ill tell you what the 80s like and i know what the ladies like need a man thats polite listens and takes advice i could be all three plus i can lay the pipe come wit me come stay the nightshe looked at me laughin like boy your game is tight im laughin back like sho ya right get in the car and dont touch nothin sit in the car lets discuss somethin either we lovin or ill see you tomorrownow we speeding up the westside hand creepin up her left side im ready to do it ready to bone ready for dome 55th exit damn damn already we home now lets get it onhey ma whats up lets slide alright alright and we gon get it on tonight you smoke i smoke i drink me too well good cuz we gon get high tonightgot drops got coupes got trucks got jeeps alright cuz we gon take a ride tonight so ma whats up lets slide alright alright and we gon get it on tonightnow that i got a girl my ex wanna holla and spit told me to acknowledge her quick she like cam stop frontin on that dave hollister tip come over lets swallow and sip im like momma thats it i promise you dick usually have a problem with chicksthey all say im rotten and rich but not her boo bes real high heel dooby feel plus got them gucci nails on you a cutie still and this my down girl too aint no groupie deal we left the movies with uzies suzuki wheels to the jacuzzii tell you my boo bes real i mean she do be winnin lose spendin go to the crib she got the gucci linen i see boo be grinnin she looked and said cam i know that you be sinnin  naw im a changed man look at the range man i got a whole new game planlooked and said thats nothin but game cam she was right she was up in the range man dropped her off at the l now im flippin the cell thats right i had to call up l yo l what up i hit what else plus dome say word and we got it on tonighthey ma whats up lets slide alright alright and we gon get it on tonight you smoke i smoke i drink me too well good cuz we gon get high tonightgot drops got coupes got trucks got jeeps alright cuz we gon take a ride tonight so ma whats up lets slide alright alright and we gon get it on tonight ",1
54,"work it","missy elliott",2002," dj please pick up your phone im on the request linethis is a missy elliott onetime exclusive come on is it worth it let me work it i put my thing down flip it and reverse it ti esrever dna ti pilf nwod gniht ym tup i ti esrever dna ti pilf nwod gniht ym tup iif you got a big let me search it and find out how hard i gotta work ya ti esrever dna ti pilf nwod gniht ym tup i ti esrever dna ti pilf nwod gniht ym tup iid like to get to know ya so i could show ya put the pussy on ya like i told ya gimme all your numbers so i could phone ya your girl actin stank then call me over not on the bed lay me on your sofa phone before you come i need to shave my chocha you do or you dont or you will or wont ya go downtown and eat it like a vulture see my hips and my tips dont ya see my ass and my lips dont ya lost a few pounds and my whips for ya this the kinda beat that go ratata ratatatatatatatatata sex me so good i say blahblahblah work it i need a glass of water boy oh boy its good to know ya    meaning  byjamesg   editor    work it is a hip hop song written and produced by american rapper missy elliott and her producer tim timbaland mosley it was released as the lead single    see all   is it worth it let me work it i put my thing down flip it and reverse it ti esrever dna ti pilf nwod gniht ym tup i ti esrever dna ti pilf nwod gniht ym tup iif you got a big let me search it and find out how hard i gotta work ya ti esrever dna ti pilf nwod gniht ym tup i ti esrever dna ti pilf nwod gniht ym tup i come onif you a fly gal get your nails done get a pedicure get your hair did boy lift it up lets make a toasta lets get drunk thats gon bring us closer dont i look like a halle berry poster see the belvedere playin tricks on ya girlfriend want to be like me never you wont find a bitch thats even better i make you hot as las vegas weather listen up close while i take it backwards im not a prostitute but i could give you what you want i love your braids and your mouth full of floss love the way my ass go bumbumbumbum keep your eyes on my bumbumbumbumbum and think you can handle this gadongadongdong take my thong off and my ass go vroom cut the lights off so you see what i could dois it worth it let me work it i put my thing down flip it and reverse it ti esrever dna ti pilf nwod gniht ym tup i ti esrever dna ti pilf nwod gniht ym tup i repeat x2if you got a big let me search it and find out how hard i gotta work ya ti esrever dna ti pilf nwod gniht ym tup i ti esrever dna ti pilf nwod gniht ym tup i come onboys boys all type of boys black white puerto rican chinese boys whythaithaiotoyothaithai rockthaithaiotoyothaithai girls girls get that cash if its 9 to 5 or shakin your ass aint no shame ladies do your thang just make sure you ahead of the game just cause i got a lot of fame supa prince couldnt get me change my name papa kunta kinte a slave again no sir picture black sayin oh yes a master picture lil kim dating a pastor minnie me and big ren can out last ya who is the best i dont have to ask ya when i come out you wont even matter why you act dumb like uh duh so you act dumb like uh duh as the drummer boy go barompoppompom give you somesomesome of this cinnabunis it worth it let me work it i put my thing down flip it and reverse it ti esrever dna ti pilf nwod gniht ym tup i ti esrever dna ti pilf nwod gniht ym tup iif you got a big let me search it and find out how hard i gotta work ya ti esrever dna ti pilf nwod gniht ym tup i ti esrever dna ti pilf nwod gniht ym tup i come onto my fellas i like the way you work that to my ladies you sure know how to work that ",1
55,"move bitch","ludacris featuring mystikal and i20",2002," move bitch get out the way get out the way bitch get out the way move bitch get out the way get out the way bitch get out the waymove bitch get out the way get out the way bitch get out the way move bitch get out the way get out the way bitch get out the wayoh no the fights out ima bout to punch yo lights out get the fuck back guard ya grill theres somethin wrong we cant stay still ive been drankin and bustin two and i been thankin of bustin you upside ya motherfuckin forehead and if your friends jump in oh girl theyll be mo dead causin confusion disturbing the peace its not an illusion we running the streets so byebye to all you groupies and gold diggers is there a bumper on your ass no nigga im doin a hundred on the highway so if you do the speed limit get the fuck outta my way im dui hardly ever caught sober and you about to get ran the fuck overmove bitch get out the way get out the way bitch get out the way move bitch get out the way get out the way bitch get out the waymove bitch get out the way get out the way bitch get out the way move bitch get out the way get out the way bitch get out the wayhere i come here i go uh oh dont jump bitch move you see them headlights you hear that fuckin crowd start that goddamn show im comin through hit the stage and knock the curtains down i fuck the crowd up thats what i do young and successful a sex symbol the bitches want me to fuck true true hold up wait up shorty oh whats up get my dick sucked what are you doin side linin my fuckin business tryin to get my baby child support soon give me that truck and take that rental back who bought these fuckin tvs and jewelry bitch tell me that no i aint bitter i dont give a fuck but ima tell you like this bitch you better not walk in front of my tour busmove bitch get out the way get out the way bitch get out the way move bitch get out the way get out the way bitch get out the waymove bitch get out the way get out the way bitch get out the way move bitch get out the way get out the way bitch get out the waytoo bad im on the right track beef got the right mack hit the trunk grab the pump pump ill be right back we buyin bars out showin scars out we heard theres hoes out so we brought the cars out grab the pills cause we popping tonight beat the shit outta security for stoppin tha fight i got a fifth of the remy fuck the belve and cris im sellin shit up in the club like i work in the bitch fuck the dress codes its street clothes we all street niggas we on the dance floor throwin bows beatin up niggas im from the dec tryin to disrespect dtp and watch the bottles start flyin from the vip fuck this rap shit we clap bitch two in your body grab ya four start a fight dog ruin the party so move bitch get out the way hoe all you faggot motherfuckers make way for 20 somove bitch get out the way get out the way bitch get out the way move bitch get out the way get out the way bitch get out the waymove bitch get out the way get out the way bitch get out the way move bitch get out the way get out the way bitch get out the way ",1
56,"cant fight the moonlight","leann rimes",2002," under a lovers sky gonna be with you and no ones gonna be around if you think that you wont fall well just wait until til the sun goes downunderneath the starlight starlight theres a magical feeling so right itll steal your heart tonightyou can try to resist try to hide from my kiss but you know but you know that you cant fight the moonlight deep in the dark youll surrender your heart but you know but you know that you cant fight the moonlight no you cant fight it its gonna get to your hearttheres no escape from love once a gentle breeze weaves its spell upon your heart no matter what you think it wont be too long til your in my arms underneath the starlight starlight well be lost in the rhythm so right feel it steal your heart tonightyou can try to resist try to hide from my kiss but you know but you know that you cant fight the moonlight deep in the dark youll surrender your heart but you know but you know that you cant fight the moonlight no you cant fight it no matter what you do the night is gonna get to youdont try then youre never gonna winpart of me the starlight starlight theres a magical feeling so right it will steal your heart tonightyou can try to resist try to hide from my kiss but you know but you know that you cant fight the moonlight deep in the dark youll surrender your heart but you know but you know that you cant fight the moonlight no you cant fight ityou can try to resist try to hide from my kiss but you know dont you know that you cant fight the moonlight deep in the dark youll surrender your heart but you know but you know that you cant fight the moonlight no you cant fight it its gonna get to your heart ",1
57,"escape","enrique iglesias",2002," you can run you can hide but you cant escape my loveheres how it goes you and me up and down but maybe this time well get it right worth the fight cause love isnt something you can shakewhen it breaks all it takes is some tryingif you feel like leaving im not going to make you stay but soon youll be finding you can run you can hide but you cant escape my loveyou can run you can hide but you cant escape my loveso if you go you should know its hard to just forget the past so fastit was good it was bad but it was real and thats all you have in the end our love matteredif you feel like leaving im not going to make you stay but soon youll be finding you can run you can hide but you cant escape my loveyou can run you can hide but you cant escape my loveyou can run you can run you can hide but you cant escape my loveyou can run you can hide but you cant escape my loveheres how it goes all it takes is some tryingif you feel like leaving im not going to make you stay i wont make you stay but soon youll be finding you can run you can hide but you cant escape my loveif you feel like leaving im not going to make you stay but soon youll be finding you can run you can hide but you cant escape my loveyou can run you can hide you can run you can hide you can run you can hide you can run you can hide you can run you can hidebut you cant escape my love you can run you can hideyou can run you can hide but you cant escape my love ",1
58,"more than a woman","aaliyah",2002," passion instant sweat beads feel me cupids shot me my heartbeats racing tempt me drive me feels so exciting thought of highly its yours entirely ill beill be more than a lover more than a woman more than your lover ill be ill be more than a lover more than a woman more than enough for you ill be ill more than a lover more than a woman even more under covers ill be more ill be more than a lover more than a woman more than enough for youmidnight grindin heartrates climbin you go i go cause we share pillows chase me leave me theres still no separating morning massages with new bones in your closetill be more than a lover more than a woman more than your lover i said ill be ill be more than a lover more than a woman more than enough for you ill be more ill be more than a lover more than a woman even more under covers im gonna be more ill be more than a lover more than a woman more than enough for you ill bei dont think youre ready i dont think youre ready for this thing for this thing i dont think youre ready for this thing youre not ready i dont think youre ready for this thing this thing this thing i dont think youre ready for this thingconstant pleasure no scale can measure secret treasures keeps on getting better do you wanna roll with me we can go to foreign lands your hand in my hand do you wanna ride with me we can be like bonnie  clyde me by your sideill be more than a lover more than a woman more than your lover ill be more than a woman more than a woman more than enough for you ill be more than a lover more than a woman even more under covers ill be more than a lover more than a woman more than enough for you ",1
59,"hella good","no doubt",2002," the waves keep on crashing on me for some reason but your love keeps on coming like a thunder bolt come here a little closer cause i wanna see you baby real close upyou got me feelin hella good so lets just keep on dancin you hold me like you should so im gonna keep on dancinthe performers deserving of standing ovations and who would have thought itd be the two of us so dont wake me if im dreamin cause im in the mood come on and give it upyou got me feelin hella good so lets just keep on dancin you hold me like you should so im gonna keep on dancinyou got me feelin hella good so lets just keep on dancin you hold me like you should so im gonna keep on dancinooh yeah yeah ooh yeah yeahyou got me feelin hella good so lets just keep on dancin you hold me like you should so im gonna keep on dancinyou got me feelin hella good so lets just keep on dancin you hold me like you should so im gonna keep on dancinkeep on dancin keep on dancin ",1
60,"i love you","faith evans",2002," my heart belongs to you so what could i do to make you feel im down withyou see me hangin around but you dont know how you make me feel for you andeach and every day i try to make some sense of this what you mean to me i know it could be seriouseach and every nite i dream about just holding you lovin you like this what is a girl supposed to doi love you i want you youre the one that i live for and i cant take it any morei love you i need you what can i do to make you see youre the only one for mefirst time i saw your face my heart just erased all the guys i knew beforeyou walked into my life i was the type to never want for nothingeach and every day i try to make some sense of this what you mean to me i know it could be seriouseach and every nite i dream about just holding you lovin you like this what is a girl supposed to doi love you i want you youre the one that i live for and i cant take it any morei love you i need you what can i do to make you see youre the only one for mei love you i want you i need you in my life cant you see what you mean to me baby come hold me tighti miss you wanna kiss you every time i see your face baby ill be waiting for you each and everydayi love you i want you youre the one that i live for and i cant take it any morei love you i need you what can i do to make you see youre the only one for meyoure the only one for me and i know its meant to be what can i do to make you see my love will carry onso listen to my heart and know youll find out where my love will go the future lies between us boy oh babe i love you soi love you i want you youre the one that i live for and i cant take it any morei love you i need you what can i do to make you see youre the only one for mei love you i want you youre the one that i live for and i cant take it any morei love you i need you what can i do to make you see youre the only one for mei love you i need you ",1
61,"gotta get thru this","daniel bedingfield",2002," if only i could get through thisi just gotta get through this i just gotta get through this i gotta get through this i gotta get through this i gotta make it gonna make gonna make it through said im gonna get through this im gonna get through this i gotta take gotta take my mind off yougive me just a second and ill be all right surely one more moment couldnt break my heart give me til tomorrow then ill be okay just another day and then ill hold you tightwhen your love is pouring like the rain i close my eyes and its gone again when will i get the chance to say i love you i pretend that youre already mine then my heart aint breaking every time i look into your eyesif only i could get through this if only i could get through this if only i could get through this god god gotta help me get through thisi gotta get through this i gotta get through this i gotta make it gonna make gonna make it through said im gonna get through this im gonna get through this i gotta take gotta take my mind off yougive me just a second and ill be all right surely one more moment couldnt break my heart give me til tomorrow then ill be okay just another day and then ill hold you tightwhen your love is pouring like the rain i close my eyes and its gone again when will i get the chance to say i love you i pretend that youre already mine then my heart aint breaking every time i look into your eyesif only i could get through this if only i could get through this if only i could get through this i just gotta get through this god god gotta help me get through thisif only i could get through this i just gotta get through this god god gotta help me get through thisif only i could get through this i just gotta get through this god god gotta help me get through thisi just gotta get through this i just gotta get through this i just gotta get through this ",1
62,"pass the courvoisier part ii","busta rhymes featuring p diddy and pharrell",2002,"busta rhymes dont this shit make a nigga wanna jump jump dont this shit make a nigga wanna jump jump dont this shit make a nigga wanna jump jump dont this shit make a nigga wanna jump jump dont this shit make a nigga wanna jump jump dont this shit make a nigga wanna jump jump dont this shit make a nigga wanna busta rhymes act a fool you better watch out uhhuh hot shit be bringin the cops out cmon street niggaz is ringin them shots out p diddy short circuit and blacken the blocks out now open up the garage and pull the drops out rockin the fur coat bringin the blue fox out busta rhymes diamonds light up the block runnin the blue rocks out uh whylin till all of my crew knocks out cmon p diddy get yo ass up on the floor busta rhymes huh throw ya hands if you want some more ho p diddy baby wiggle your crotch out huh and peep the way we be blowin them spots out busta rhymes cmon look how we got em ready to act out girl im ready to give it twistin your back out lets go p diddy drink yack till a nigga fallin out busta rhymes flat on his back now watch a nigga crawlin out talk to me pharell i said busta whassup son you leave them girl rollin and it look like cmon they asses is swollen and they ass gettin big now but if your man babysittin uhhuh then what you gon say what we gon tell em man we gon tell that nigga pass the courvoisier we gon tell that brotha pass the courvoisier everybody sing it now pass the courvoisier everybody sing it now pass the courvoisier everybody sing it now pass the courvoisier waah oooooooooooo oh p diddy girl you need to shake it off busta rhymes too much hair on your chocha p diddy then shave it off busta rhymes cmon jump smack yo ass and break it off p diddy and if its too hot for yall busta rhymes you need to take it off thats right p diddy in case you aint knowin niggaz we on a roll now busta rhymes diddy like we done stumbled on a pot of gold now cmon food spillin all out yeah of the bowl now huh money thick get harder to fold now cmon p diddy ladies tell me if youre feelin alright busta rhymes and are you sure that you up for doin it all night p diddy i like this busta rhymes listen before you ass bet nigga we wreck shit and we aint even blacked yet cmon p diddy niggaz all around and police rapidly shut down the block busta rhymes and the club aint even packed yet cmon nuff drinkin at the bar hold it down whylin out til the club is closed down talk to me pharell i said busta whassup son you leave them girl rollin and it look like cmon they asses is swollen and they ass gettin big now but if your man babysittin uhhuh then what you gon say what we gon tell em man we gon tell that nigga pass the courvoisier we gon tell that brotha pass the courvoisier everybody sing it now pass the courvoisier everybody sing it now pass the courvoisier waah oooooooooooo oh busta rhymes jump jump dont this shit make a nigga wanna jump jump dont this shit make a nigga wanna jump jump dont this shit make a nigga wanna jump jump dont this shit make a nigga wanna jump jump dont this shit make a nigga wanna jump jump dont this shit make a nigga wanna jump jump dont this shit make a nigga wanna jump jump dont this shit make a nigga wanna jump jump dont this shit make a nigga wanna jump jump dont this shit make a nigga wanna busta rhymes rob a bank my nigga cash rule p diddy bust it lets get this money and act like a damn fool busta rhymes fuck it act stupid and jump in the damn pool huh p diddy bone bitches and me and they mans cool busta rhymes cmon shit im sayin just put your bank up nigga put me and diddy together you bankrupt cmon p diddy fly niggaz we full of finesse yall yeah busta rhymes me and my niggaz is fittin to bless yall  cmon dont talk about it be about it shut up live niggaz come and be around it whattup cmon rep to the fullest now huh these niggaz aint knowin how we gon put it down  cmon c aim and shoot p diddy to spray it down busta rhymes steamrollin you niggaz p diddy and lay it down busta rhymes niggaz frontin with they thug image p diddy but we pay them no mind busta rhymes now drink until the bottle finished talk to me pharell i said busta whassup son you leave them girl rollin and it look like cmonn they asses is swollen and they ass gettin big now but if your man babysittin uhhuh then what you gon say what we gon tell em man we gon tell that nigga pass the courvoisier we gon tell that brotha pass the courvoisier everybody sing it now pass the courvoisier everybody sing it now pass the courvoisier waah oooooooooooo oh busta rhymes jump jump dont this shit make a nigga wanna jump jump dont this shit make a nigga wanna jump jump dont this shit make a nigga wanna jump jump dont this shit make a nigga wanna jump jump dont this shit make a nigga wanna jump jump dont this shit make a nigga wanna jump jump dont this shit make a nigga wanna jump jump dont this shit make a nigga wanna jump jump dont this shit make a nigga wanna jump jump dont this shit make a nigga wanna jump jump dont this shit make a nigga wanna jump jump dont this shit make a nigga wanna jump jump dont this shit make a nigga wanna jump jump",5
63,"lose yourself","eminem",2002," look if you had one shot or one opportunity to seize everything you ever wanted in one moment would you capture it or just let it slipyo his palms are sweaty knees weak arms are heavy theres vomit on his sweater already moms spaghetti hes nervous but on the surface he looks calm and ready to drop bombs but he keeps on forgettin what he wrote down the whole crowd goes so loud he opens his mouth but the words wont come out hes chokin how everybodys jokin now the clocks run out times up over blaow snap back to reality oh there goes gravity oh there goes rabbit he choked hes so mad but he wont give up that easy no he wont have it he knows his whole back citys ropes it dont matter hes dope he knows that but hes broke hes so stacked that he knows when he goes back to his mobile home thats when its back to the lab again yo this whole rhapsody he better go capture this moment and hope it dont pass himyou better lose yourself in the music the moment you own it you better never let it go you only get one shot do not miss your chance to blow this opportunity comes once in a lifetime you better    meaning  byamandah   editor    lose yourself follows the struggle of brabbit growing up in a detroitarea trailer parkplayed by em himselfin the 2002 american hip hop drama    see all   you better lose yourself in the music the moment you own it you better never let it go you only get one shot do not miss your chance to blow this opportunity comes once in a lifetime you betterthe souls escaping through this hole that its gaping this world is mine for the taking make me king as we move toward a new world order a normal life is borin but super stardoms close to post mortem it only grows harder only grows hotter he blows us all over these hoes is all on him coast to coast shows hes known as the globetrotter lonely roads god only knows hes grown farther from home hes no father he goes home and barely knows his own daughter but hold your nose cause here goes the cold water his hoes dont want him no mo hes cold product they moved on to the next schmo who flows he nose dove and sold nada so the soap opera is told and unfolds i suppose its old partna but the beat goes on da da dumb da dumb da dayou better lose yourself in the music the moment you own it you better never let it go you only get one shot do not miss your chance to blow this opportunity comes once in a lifetime you betteryou better lose yourself in the music the moment you own it you better never let it go you only get one shot do not miss your chance to blow this opportunity comes once in a lifetime you betterno more games im a change what you call rage tear this motherfuckin roof off like two dogs caged i was playin in the beginnin the mood all changed i been chewed up and spit out and booed off stage but i kept rhymin and stepwritin the next cipher best believe somebodys payin the pied piper all the pain inside amplified by the fact that i cant get by with my nine to five and i cant provide the right type of life for my family cause man these god damn food stamps dont buy diapers and its no movie theres no mekhi phifer this is my life and these times are so hard and its getting even harder tryin to feed and water my seed plus see dishonor caught up between bein a father and a primadonna baby mama drama screamin on and too much for me to want to say in one spot another jam or not has gotten me to the point im like a snail ive got to formulate a plot fore i end up in jail or shot success is my only motherfuckin option failures not mom i love you but this trail has got to go i cannot grow old in salems lot so here i go is my shot feet fail me not cause maybe the only opportunity that i gotyou better lose yourself in the music the moment you own it you better never let it go you only get one shot do not miss your chance to blow this opportunity comes once in a lifetime you betteryou better lose yourself in the music the moment you own it you better never let it go you only get one shot do not miss your chance to blow this opportunity comes once in a lifetime you betteryou can do anything you set your mind to man ",1
64,"butterflies","michael jackson",2002," butterfliesall you gotta do is walk away and pass me by dont acknowledge my smile when i try to say hello to you yeahand all you gotta do is not answer my call when im tryin to get through keep me wonderin why when all i can do is sigh i just wanna touch youi just wanna touch and kiss and i wish that i could be with you tonight cause you give me butterflies inside inside and iall i got to say is that i must be dreamin cant be real youre not here with me still but i can feel you near to mei caress you let you taste and just so blissful listen i would give you anything babe just make my dream come true oh baby you give me butterfliesi just wanna touch and kiss and i wish that i could be with you tonight cause you give me butterflies inside inside andi just wanna touch and kiss and i wish that i could be with you tonight cause you give me butterflies inside inside and iif you will take my hand baby i will show you guide you to the light babeif you will be my love baby i will love you love you til the end of timei just wanna touch and kiss and i wish that i could be with you tonight you give me butterflies inside inside andi just wanna touch and kiss and i wish that i could be with you tonight you give me butterflies inside inside andi just wanna touch and kiss and i wish that i could be with you tonight cause you give me butterflies inside inside andi just wanna touch and kiss and i wish that i could be with you tonight you give me butterflies inside inside and i ",1
65,"what about us","brandy",2002," yeah dark child brock lets gowhy dont you return my calls why you trip out where i be you dont ever come to see me you say that youre too busywhat the hell i dont have time why you messin with my mind i can find another guy someone who will treat me righti dont need this bullshit i wont put up with it any longer you can go if you want i dont need your pity i will be just fine if you decide that you want to leave close the door behind you i just want to know whatwhat about all of the things that you said what about all of the promises that you made what about all of the eyes that you gave what about all of the things you told mewhat about all of the things that you said what about all of the promises that you made what about all of the eyes that you gave what about what aboutwhat about us what about us us what about us what about us usi thought you said you were different was that what i heard you say said that youd love only me thought that youd be all i needwhat happened to promises said that you were a better man your words have no way with me coz youre counterfeit i seei dont need this bullshit i wont put up with it any longer you can go if you want i dont need your pity i will be just fine if you decide that you want to leave close the door behind you i just want to know whatwhat about all of the things that you said what about all of the promises that you made what about all of the eyes that you gave what about all of the things you told mewhat about all of the things that you said what about all of the promises that you made what about all of the eyes that you gave what about what aboutwhat about us what about us us what about us what about us usbaby you should now hear this now what if i said that you wasnt fit to be with now what if i told you the game you played i picked it so what if i said i wasnt true so do you you and i know without me theres no youso what about the bills that were passed due before you all you said to me was baby i owe you forget about the brand new life that i gave you now what about us to me now what about us to mewhat about all of the things that you said what about all of the promises that you made what about all of the eyes that you gave what about all of the things you told mewhat about all of the things that you said what about all of the promises that you made what about all of the eyes that you gave what about what aboutwhat about all of the things that you said what about all of the promises that you made what about all of the eyes that you gave what about all of the things you told mewhat about all of the things that you said what about all of the promises that you made what about all of the eyes that you gave what about what aboutwhat about us what about us us what about us what about us us ",1
66,"underneath your clothes","shakira",2002," youre a song written by the hands of god dont get me wrong cause this might sound to you a bit odd but you own the place where all my thoughts go hiding right under your clothes is where i find themunderneath your clothes theres an endless story theres the man i chose theres my territory and all the things i deserve for being such a good girl honeycause of you i forgot the smart ways to lie because of you im running out of reasons to cry when the friends are gone when the partys over we will still belong to each otherunderneath your clothes theres an endless story theres the man i chose theres my territory and all the things i deserve for being such a good girl honeyunderneath your clothes theres an endless story theres the man i chose theres my territory and all the things i deserve for being such a good girl for being such a heyi love you more than all thats on the planet movin talkin walkin breathin you know its true oh baby its so funny almost dont believe itas every voice is hangin from the silence lamps are hangin from the ceilin like a lady tied to her manners im tied up to this feelingunderneath your clothes theres an endless story theres the man i chose theres my territory and all the things i deserve for being such a good girl honeyunderneath your clothes whoa theres the man i chose theres my territory and all the things i deserve for being such a good girl for being such a good girl ",1
67,"rainy dayz","mary j blige featuring ja rule",2002," heh yeah rule baby heh mary j blige murda inc smileits just those rainy dayz spend a lifetime tryin to wash away until the sun comes out and shines again smile for me smile for meall of those rainy dayz spend your lifetime tryin to wash away until the sun shines and i see your face smile at me smile at mewe were always livin so crazy and sexy and cool and we began to love it watchin all of the heartache and pain of the world and thinkin nothin of itand baby i got love for you and i know that you got me baby but every time the sun shines bright it gets so cloudyits just those rainy dayz spend a lifetime tryin to wash away until the sun comes out and shines again smile for me smile for meall of those rainy dayz spend your lifetime tryin to wash away until the sun shines and i see your face smile at me smile at menobody loves the rain cant stand it it always seems to fall baby handle it baby what did we tell you before about chasin those waterfalls yeahnobody loves the rain cant stand it it always seems to fall baby handle it baby what did we tell you before about chasin those waterfalls yeahyeah baby sometimes the rule dont mind the rain it kinda feels like im drownin in the lords pain until the sun comes out and shines again smile give me reason to keep believin that everything aint misleadinand i kiss the clouds on the rainy days and smile for you when the skys are gray babe cause im a tear drop away from cryin and a few shots away from dyindear lord would you shower my pain let it rain let it rain on me while i cherish the air i breathe im an angel that cant soar cant fly and i mastered it lord knows whyits just those rainy dayz spend a lifetime tryin to wash away until the sun comes out and shines again smile for me smile for meall of those rainy dayz spend your lifetime tryin to wash away until the sun shines and i see your face smile at me smile at mei feel like an angel with my broken wings so i can soar again lord let me in baby through all the passion the pain and the hurt i feel like im fallin yeahmakin clothes for all of those that spread love and for those who cant take it stand up baby we gonna make it in the words of marvin gaye war is not the answercause nobody loves the rain cant stand it it always seems to fall baby handle it baby what did we tell you before about chasin those waterfalls yeahnobody loves the rain cant stand it it always seems to fall baby handle it baby what did we tell you before about chasin those waterfalls yeahits just those rainy dayz spend a lifetime tryin to wash away until the sun comes out and shines again smile for me smile for meall of those rainy dayz spend your lifetime tryin to wash away until the sun shines and i see your face smile at me smile at mesmile smile smile til the sun shines just smile for me just smile for me just smile at meknow in your heart that we are free free to believe whatever we feel so feel somethin real baby hey hey ",1
68,"differences","ginuwine",2002," oh hey oh yeah oh yeah to you mmm mmm mmm oh yeah babemy whole life has changed my whole life has changed since you came in since you came in i knew back then i knew back then you were that special one you were that one im so in love so in love so deep in love so deep in love you make my life completeyou complete me you are so sweet are so sweet no one competes no one competes glad you came into my life my life you blind me with your love love with you i have no sight no sightgirl you open me im wide open and im doing things i never do but i feel so good i feel so good why it take so long for me finding youthis is my story and im telling you its not fiction its surely a fact without you right here having my back i really dont know just where id be atmy whole life has changed my whole life has changed yeah since you came in i knew back then ooh oh yeah you were that special one you were that im so in love so deep in loveyou make my life complete you make make my life complete you are so sweet no one competesoh oh oh glad you came into my life oh you blind me with your love with you i have no sighti analyzed myself i was buck wild never thought about settling down but all the time i knew i was ready but not with all my friends aroundbut girl i put you first now i put you first now you made me helped mold me mold me baby turned me into a man im so responsible and i owe it all to youmy whole life has changed my whole life has changed since you came in i knew back then come on you were that special one you were that special one im so in love so deep in love oh oh ohyou make my life complete you make my life complete you are so sweet no one competes glad you came into my life so glad you came in you blind me with your love blind me baby with you i have no sightgod has blessed me god has blessed me baby girl he was good to me when he sent you im so happy im so happy baby oh yes i am share my world come and share my world baby oh whoa yeah yeah im so in love im so in love im addicted to your love baby yeahmy whole life has changed oh yes i am since you came in i knew back then ooh you were that special one you were that very very special one im so in love you were that very very special one so deep in loveyou make my life complete you make my life complete you are so sweet yes you did baby no one competesno one competes oh glad you came into my life you blind me with your love come on with you i have no sightmy whole life has changed my whole life has changed since you came in i knew back then you made a difference in my life you were that special one i knew you were that special one im so in love so deep in love when i first laid eyes on you babeyou make my life complete you make my life complete darlin you are so sweet no one competes no one competes baby glad you came into my life no one no one you blind me with your love no one with you i have no sight come onmy whole life has changed oh whoa whoa whoa since you came in i knew back then ",1
69,"if i could go","angie martinez featuring lil mo and sacario",2002," yeah oh yeah yeah yeah come oh woo come on uh if i can go with you hey uh yo yo uhif i can choose a place to go it gotta be far away from here we could crossover like hardaway somewhere outside the states where tommorows like today and im out in a space where nobody else can stay and if i can go with you then ill go get the ticket right now if thats cool have you ever been close to feelin like leavin the coast too feelin like leavin with somebody whohold you the right way while watchin the night fade make you feel like you right back in the ninth grade when you know what he likes and what he might say and you try to be calm and answer in nice ways and if i can go with you way out the states no two ways and no page no cells and no trace and you just a phone call away so all i got to say isif i can go contigo ill pack my things soon as you say baby vamos well fly away like there is no no tomorrow if can go contigo ill tell my friends nothing at all ill get my things soon as you say baby vamos well fly awayand if i can go with you oh boy we bout to make a lot of people annoyed in croix you better know i know how to sneak with them toys and boy with the block since around 94 boy and if i can flow with you huggin tattoo after the studio i roll with you i send dutch and three other goons to go get you sacario the name hold weights the whole issuegrown men keep on cryin get mo tissue the way me and this girl be rhymin its so official them im takin a trip too with no pistols cause everything peace only sand no streets little miami heat thats the plan well see two cups one in senado one in sand beach and ill think ill go with you so tell the station you need a week back to you cmonif i can go contigo ill pack my things soon as you say baby vamos well fly away like there is no no tomorrow if can go contigo ill tell my friends nothing at all ill get my things soon as you say baby vamos well fly awayyou can fly away no one has to know will you take me with you cause if i can go soon as you say the word well be on our way to a foreign place you got to tell meyo uh so now that we got a plan are you comin we could plan a week the only question now is laguardia or kennedy and a seat know why the window cause i like to see and seein as to how im so fly me and the clouds can speak and since we bout to go in a few go head oh i just wanted to tell trace thank you that week off im grateful what was you tryin to say boo nuttin just grab my chain off the table and two way toookay that little place its a great move but aint no problems unless the water dont stay blue and the shops there if they dont got em they dont make em true no concrete just sand throw away your shoes now that we are on our way and our bags is packed and the car service is not late everythings okay so i guess i catch you on the next track now i dont gotta askif i can go contigo ill pack my things soon as you say baby vamos well fly away like there is no no tomorrow if can go contigo ill tell my friends nothing at all ill get my things soon as you say baby vamos well fly awayif i can go contigo ill pack my things soon as you say baby vamos well fly way like there is no no tomorrow and if i can go contigo ill tell my friends nothing at all nothing at all ill tell my friends nothing at all ",1
70,"the whole world","outkast featuring killer mike",2002," okay here we goyeah im afraid like im scared as a dog but ive got a new song and i want yall to sing along sing alongsee this is the way that we walk on a sunny day when its rainin inside and youre all alone all alone yeahcause the whole world loves it when you dont get down bah bahda bah bah bahda da and the whole world loves it when you make that sound bah bahda bah bah bahda daand the whole world loves it when youre in the news bah bahda bah bah bahda da and the whole world loves it when you sang the blues bah bahda bah bah bahda datake a little trip hater pack up yo mind look forward not behind then youll see what you find i caught a sucker dyin cause he thought he could rhyme now if his momma is a quarter daughter must be a dimei gotta meet her dont take no shorts i dont use abbreviation i dont even play the radio neither only if i need to know the sports or the weather im a cool type of brother but yep your head ill sever from the necksee aint nuttin changed hit the stage set a date sucker in battle we can engage ill slice you wife you marry you divorce you throw the porsche at you is what im forced to dowith my back against the wall crack his back yall naw it aint went nowhere like havin hair with stylin gel in it throw a curl in it dread that nappy shit up throw a shell in itwhatever floats your boat or finds your lost remote and this for dem niggaz workin at the airport who got laid off i take my shades off if you look straight in my eyes you still might see a disguise because the whole whole world worldcause the whole world loves it when you dont get down bah bahda bah bah bahda da and the whole world loves it when you make that sound bah bahda bah bah bahda daand the whole world loves it when youre in the news bah bahda bah bah bahda da and the whole world loves it when you sang the blues bah bahda bah bah bahda daplayer i grind my focus is crime raw with the rhyme im slick with the slime my words are diamonds dug out a mine spit em polish look how they shineglitter glisten gloss floss i catch a beat runnin like randy moss ride dat bitch off like a brand new horse im rollin my stones gatherin no mossmami im comin i hope you get off or rock your own boat like aaliyah then talk back back forth forth get that sailor on course coursemake that track a corpse corpse rap roll utterly rocked with my mouth to the mic and my hand on my cock cadillac outkast just wont stopcause the whole world loves it when you dont get down bah bahda bah bah bahda da and the whole world loves it when you make that sound bah bahda bah bah bahda daand the whole world loves it when youre in the news bah bahda bah bah bahda da and the whole world loves it when you sang the blues bah bahda bah bah bahda daturn on the tv and everything is lookin dismal went in the bathroom medicine cabinet peptobismal need it for my stomach cause my tummy kinda aches like a junkie on withdrawal fresh up off the platewait back to the enemy of the state is the republicans or democratic candidate debate now even the black box hold the fate clueless like shaggy and scooby befo commercial breakhate extreme prejudice lets dismiss this if you want to you can dub it to your hit list i know you gon to we in this to replenish yo musical wish list when it come to this music we stay relentlesspursuing all thats persuable doing gods willing all things that are doable the only liable limitation is yourself dre set it on the right and ill set it on the left causecause the whole world loves it when you dont get down bah bahda bah bah bahda da and the whole world loves it when you make that sound bah bahda bah bah bahda daand the whole world loves it when youre in the news bah bahda bah bah bahda da and the whole world loves it when you sang the blues bah bahda bah bah bahda da ",1
71,"underneath it all","no doubt featuring lady saw",2002," theres times where i want something more someone more like me theres times when this dress rehearsal seems incomplete but you see the colors in me like no one else and behind your dark glasses youre youre something elseyoure really lovely underneath it all you want to love me underneath it all im really lucky underneath it all youre really lovelyyou know some real bad tricks and you need some discipline but lately youve been trying real hard and giving me your best and you give me the most gorgeous sleep that ive ever had and when its really bad i guess its not that badyoure really lovely underneath it all you want to love me underneath it all im really lucky underneath it all youre really lovelyso many moons that we have seen stumbling back next to me ive seen right through and underneath and you make me better ive seen right through and underneath and you make me better better betteryou are my real prince charmin like the heat from the fire you were always burnin and each time youre around my body keeps callin for your touch your kisses and your sweet romancin theres an underside to you that this here woman that adore aside from your temper everything is secure youre good for me baby of that im sure over and over again i want moreyouve used up all your coupons and all youve got left is me and somehow im full of forgiveness i guess its meant to beyoure really lovely underneath it all you want to love me underneath it all im really lucky underneath it all youre really lovelyyoure really lovely underneath it all you want to love me underneath it all im really lovely underneath it all and youre really lovely ",1
72,"caramel","city high featuring eve",2002," you can say im plain jane but its not the same i aint into big names but i like nice things i watch boxing matches and football games i wouldnt mind being an actress but i love to singi like going out talking walks and stuff i dont run with many girls cause they talk too much i enjoy quiet nights at home cause im next to ya though im aint a virgin that dont mean im having sex with yacause anywhere i go im spotted and anything i want i got it 5 5 with brown eyes smile like the sunrise cause anywhere i go im spotted and anything i want i got it 5 5 with brown eyes smile like the sunrisebaby look me in the eyes and tell me yeah im the kinda girl you like im feeling you cause baby youre my kinda guy thats what it is thinking about you just might wanna run with thisall night long and if you want me we can keep this going but let me tell you im the type thats strong and i dont trust a lot of men im independent im aint like some other womencause anywhere i go im spotted and anything i want i got it 5 5 with brown eyes smile like the sunrise cause anywhere i go im spotted and anything i want i got it 5 5 with brown eyes smile like the sunriseven aqui ven aqui mama baby girl dont you know you a star see we could take a little trip to mi casa spend the night popping cris in the hot tubsee i aint never seen no girl like you every sexy little thing you do 5 5 brown eyes with your thick thighs every time i see your smile got me hypnotizedmira so can i get your number or somethin mi amor mira me bien te encantara si quisieras lo tendras i dont know what you said but i like it donde quiera soy notada lo que me hayo consigo piel morena ojos negros y sonrisa soleadacause anywhere i go im spotted and anything i want i got it 5 5 with brown eyes smile like the sunrise cause anywhere i go im spotted and anything i want i got it 5 5 with brown eyes smile like the sunrisecause anywhere i go im spotted and anything i want i got it 5 5 with brown eyes smile like the sunrise cause anywhere i go im spotted and anything i want i got it 5 5 with brown eyes smile like the sunrise5 5 with brown eyes smile like the sunrise 5 5 with brown eyes smile like the sunrise ",1
73,"luv u better","ll cool j",2002," this is for my number one this is for my number one this is for my number one true baby for i adorethis is hard to say i wanna make sure i go about this in the right way cuz lately i been busy a lot and i know you dont feel appreciated and what not i used to tell you that youre hair looked fly kiss you slow and stare in your eyes now i talk real foul and slick every other sentence is you make me sickback in the days i was your number one pick now your hearts hairbroken and thats hard to fix i had to dig deep inside myself cuz i cant see you bouncin with somebody else its a long journey back to the place we was when i was too embarrassed to admit i was in love and you was my good girl that wouldnt give it up i cant let us selfdestructbaby smile today cuz i been imaginin more ways im gon love you better when your friendsll see you too just when you think theres nothin else i can do im gon love you betterwhen i think about the things we did and i think about you having my kids and i think about us sharing a crib losin all that god forbid you deserve flowers and candy the simple things in addition to the sls baguettes and rings instead i walk around like im a king and having you aint nothing but a thingi even stopped tellin you the lovin was good too busy frontin in the hood baby girl hold me tight dont ever let go ima do it real gentle baby nice and slow one more chance baby and dont say no cuz i got another side to show some say love is painful it helps you grow well its time for the pain to go you knowbaby smile today cuz i been imaginin more ways im gon love you better when your friendsll see you too just when you think theres nothin else i can do im gon love you betterdo you think i meant to hurt you no do you think i meant to hurt you no so lets laugh together cry together god willin we gon die togetherdo you think i meant to hurt you no do you think i meant to hurt you no so lets laugh together cry together god willin we gon die togetherits a brand new me a brand new you a brand new day sky so blue hold my hand while i walk with you sit on my lap lemme talk to you no more games callin you foul names actin like females is all the same im gon love you better my mentality changed from this day forward ill never be the sameima rub your lower back share my dreams i love you lemme show you what i mean give you the deepest love a girl ever seen watch you sleep so peaceful and serene a toast to the queen youre back in my life but this time ima do it right trust me from the bottom of my heart nothin is gonna tear us apart promisebaby smile today cuz i been imaginin more ways im gon love you better when your friendsll see you too just when you think theres nothin else i can do im gon love you betterbaby smile today cuz i been imaginin more ways im gon love you better when your friendsll see you too just when you think theres nothin else i can do im gon love you betterdo you think i meant to hurt you no do you think i meant to hurt you no so lets laugh together cry together god willin we gon die togetherdo you think i meant to hurt you no do you think i meant to hurt you no so lets laugh together cry together god willin we gon die togetherthis is for my number one this is for my number one true baby for i adore ",1
74,"gimme the light","sean paul",2002," just gimme the lightjust gimme the light yeah yeah just gimme the light just gimme the light seanapaul yo yojust gimme the light and pass the dro bust anotha bottle of moe gal dem inna me sight and i gots to know which one is gonna catch my flow cause im inna di vibes and i got my dough bust anotha bottle of moe gal dem lookin hype and i gots to knowcould i be yuh protector yuh buff in every sector every man around dem waan turn yuh inspector but yuh no let dem sweat ya no grill yuh wid no lecture bout dem power drill or dem fuel injector dem a infector disease collector nuff a dem a gwaan like dem waan come wreck ya dun out di part weh yuh got in yuh sector well yuh know yuh nah let dem guy deh affect ya yo galjust gimme the light and pass the dro bust anotha bottle of moe gal dem inna me sight and i gots to know which one is gonna catch my flow cause im inna di vibes and i got my dough bust anotha bottle of moe gal dem lookin hype and i gots to knowone two three four five of dem situation gettin really live again gal dem waan fi hang out wid di playas and di riders dem beside a dem and dem seh dem tired of di liars dem friarrs and convers dem will never get inside a dem dem clyder dem especially di money hider dem watchwatch gal bout dem a time fi mek a bride a dem denied again some a dem a move like a spider man gal dem seh dem nah open wide again yojust gimme the light and pass the dro bust anotha bottle of moe gal dem inna me sight and i gots to know which one is gonna catch my flow cause im inna di vibes and i got my dough bust anotha bottle of moe gal dem lookin hype and i gots to knowcould i be yuh protector yuh buff in every sector every man around dem waan turn yuh inspector but yuh no let dem sweat ya no grill yuh wid no lecture bout dem power drill or dem fuel injector dem a infector disease collector nuff a dem a gwaan like dem waan come wreck ya dun out di part weh yuh got in yuh sector well yuh know yuh nah let dem guy deh affect ya yo galjust gimme the light and pass the dro bust anotha bottle of moe gal dem inna me sight and i gots to know which one is gonna catch my flow cause im inna di vibes and i got my dough bust anotha bottle of moe gal dem lookin hype and i gots to knowone two three four five of dem situation gettin really live again gal dem waan fi hang out wid di playas and di riders dem beside a dem and dem seh dem tired of di liars dem friarrs and convers dem will never get inside a dem dem clyder dem especially di money hider dem watchwatch gal bout dem a time fi mek a bride a dem denied again some a dem a move like a spider man gal dem seh dem nah open wide again yojust gimme the light and pass the dro bust anotha bottle of moe gal dem inna me sight and i gots to know which one is gonna catch my flow cause im inna di vibes and i got my dough bust anotha bottle of moe gal dem lookin hype and i gots to know ",1
75,"gone","n sync",2002,"n sync celebrity gone theres a thousand words that i could say to make you come home oh seems so long ago you walked away left me alone i remember what you said to me you were acting so strange and maybe i was too blind to see that you needed a change was it something i said to make you turn away to make you walk out and leave me cold if i could just find a way to make it so that you were right here but right now ive been sitting here cant get you off my mind ive tried my best to be a man and be strong ive drove myself insane wishing i could touch your face but the truth remains youre gone youre gone baby youre gone girl youre gone baby girl youre gone youre gone youre i dont wanna make excuses baby wont change the fact that youre gone but if theres something that i could do wont you please let me know time is passing so slowly now guess thats my life without you and maybe i could change my every day  but baby i dont want to  so ill just hang around and find some things to do to take my mind off missing you and i know in my heart you cant say that you dont love me too please say you do yeeaah ive been sitting here cant get you off my mind ive tried my best to be a man and be strong i drove myself insane wishing i could touch your face but the truth remains youre gone youre gone youre gone youre goneyoure gone youre gone ohhh oh whatll i do if i cant be with you tell me where will i turn to baby where will i be we are apart am i still in your heart  baby why dont you see that i need you here with me oohhh ive been sitting here cant get you off my mind ive tried my best to be a man and be strong ive drove myself insane wishing i could touch your face but the truth remains been sitting here cant get you off my mind ive tried my best to be a man and be strong i drove myself insane wishing i could touch your face but the truth remains youre gone youre gone youre gone youre gone gone youre gone but the truth remains youre",3
76,"livin it up","ja rule featuring case",2002," yeah yeah yeah we all my yeah cmon cmon uh to all my bitches that be givin it up uh to all my niggas that be livin it up we say to all my bitches that be givin it up ah cmonbaby youre such a typical everyday one night thing its a physical ima fuck you tonight thing fuck knowing your name get your ass in the range and rollover gettin blown while blowing the dojabring head to a closure thats a good bitch before its all over ima leave this bitch probably treat this bitch mo better cause if you aint know gangstas and hoes go togetherpoppin my collar partna who in the spot baby rule in the spot in the mug and the watch love me half the hoes hate me half them love me the ones that hate me only hate me cause they aint fucked meand they say im lucky do you think ive got time to fuck all these hoes and do all these shows or flight in the lama dodge and white rolls uhoh another episodewhat do i do to all my niggas that be livin it up we say what i do to all my bitches that be givin it up uhhwhat you do to all my niggas that be livin it up we say what do i do to all my bitches that be givin it up uhh my love for you cmonbitches just wanna hold the name exactly thats why they suck dick with more passion than average and i aint mad atcha never leave you alone cause we fucks when im home phone sex when im gonewe both grown both got minds of our own bust our freaks off like old dog and love jones been in many zones baby one hoe two hoes fuck prissy bitches the hoes that do pornobut you know the rule be livin it up and got all these hoes givin it up i like a little ooh baby how cute are you with a body that rides all sexuali got a stick ill ride right next to you do a dough nut and cut and ill open it up on the freeway dick in her mouth foot on the clutch rule bitch not givin a fuckwhat do i do to all my niggas that be livin it up we say what i do to all my bitches that be givin it up uhhwhat you do to all my niggas that be livin it up we say what do i do to all my bitches that be givin it up uhh my love for you cmoncmon we get high cmon we get ride cmon we get live live yo lifelove you so sexy i just want you next to me your whole vibe like you high on ecstasy cause aint nuthin but an e thang baby i know that pussy wet like crazyi wanna feel your passion come when you ask me laugh when you cry cry when you laughin but aint nothin happenin the bitch got a little too highpicked up my thigh and started crackin the radio blastin between me and you but you aint on the low with that freak shit you doi thought you knew what i do know i know what you docause its been a good night your head aint right like teddy p lets turn off the light and grind it out takin no times out til the sun come out bitch when you find outwhat do i do to all my niggas that be livin it up we say what i do to all my bitches that be givin it up uhhwhat you do to all my niggas that be livin it up we say what do i do to all my bitches that be givin it up uhh my love for you cmonwhat do i do to all my niggas that be livin it up we say what i do to all my bitches that be givin it up uhhwhat you do to all my niggas that be livin it up we say what do i do to all my bitches that be givin it up uhh my love for you cmoncmon we get high cmon we get ride cmon we get live cmon its my time unverified ",1
77,"rollout my business","ludacris",2002,NA,NA
78,"here is gone","goo goo dolls",2002," you and i got somethin but its all and then its nuthin to me yeah and i got my defenses when it comes through your intentions for me yeahand we wake up in the breakdown with the things we never thought we could be yeahim not the one who broke you im not the one you should fear we got to move you darlin i thought i lost you somewhere but you were never really ever there at alland i want to get free talk to me i can feel you falling and i wanted to be all you need somehow here is gonei am no solution to the sound of this pollution in me yeah and i was not the answer so forget you ever thought it was me yeahim not the one who broke you im not the one you should fear we got to move you darlin i thought i lost you somewhere but you were never really ever there at alland i want to get free talk to me i can feel you falling and i wanted to be all you need somehow here is goneand i dont need the fallout of the past thats in between us and im not holding on and all your lies werent enough to keep me hereand i want to get free talk to me i can feel you falling and i wanted to be all you need somehow here is goneand i want to get free talk to me i can feel you fallingi know its out there i know its out there and i can feel you fallingi know its out there i know its out there somehow here is gone yeahi know its out there i know its out there somehow here is gone yeah ",1
79,"no more drama","mary j blige",2002," oh help me oh help me im tired of this drama im tired of this drama im tired of this drama im tired of this drama im tired of this dramano more pain no more pain no more pain no more pain no more pain no more pain no more pain no more painno more pain no more pain tired of hurtin no more pain no more pain tired of hurtin no more pain no more pain no no more pain no more pain noi am bout to lose my mind i am bout to lose my mind i am bout to lose my mind lord help me help mei am bout to lose my mind i am bout to lose my mind i am bout to lose my mind lord help me help mesayin no more pain no more pain no no more pain no more pain no no more tears im tired of cryin every night no more fears i really dont wanna cry no more drama in my lifei am bout to lose my mind i am bout to lose my mind i am bout to lose my mind i dont ever wanna hurt againsometimes tired of all this drama tired of all this dramapain no more pain no drama no more in my lifebroken heart again another lesson learnt better know your friends or else you will get burn gotta count on me cause i can guarantee that ill be fine oh help meno more pain no more pain no more drama in my life no ones gonna make me hurt againwhyd i play the fool go through ups and downs knowin and all the time you wouldnt be around or maybe i like the stress cause i was young and restless but that was long ago i dont wanna cry no moreno more pain no more pain no more game no more drama in my life no ones gonna make me hurt again nono more tears im tired of cryin every night no more fears i really dont wanna cry no more drama in my life i dont ever wanna hurt againit feel so good when you let go avoid this drama in your life now youre free from all the pain free from all the game free from all the stress so buy your happinessi dont know only god knows where the story is for me but i know where the story begins its up to us to choose whether we win or loose and i choose to wini am bout to lose my mind i am bout to lose my mind i am bout to lose my mind lord help me help me sayno more pain tired of hurtin tired of your playin games with my mind no more no more no more no more no more no more no more no more tears no more cryin every night no more waking me up in the morning every day leave me alone go aheadno no no im tired no more games im tired im so tired no more no more no more no more no more no more no more no moreno more no more no more no more no more no more no more no moreoh no oh im tired of all this drama go ahead go ahead im bout to lose my mind lord help me help me sayno no more drama no more no more no more no more drama i need a peace of mind peace of mind need help i need peace of mind peace of mind need help i need peace of mind peace of mind peace of mind peace of mind lord help me help me lord help me help meoh no oh no no more no more no more drama no more no more dramasometimes tired of all this drama tired of all this drama tired of all this drama tired of all this drama tired of all this drama tired of all this drama tired of all this drama ",1
80,"days go by","dirty vegas",2002," you you you you you you you you you youyou still a whisper on my lips a feeling at my fingertips thats pulling at my skinyou leave me when im at my worst feeling as if ive been cursed bitter cold withindays go by and still i think of you days when i couldnt live my life without youdays go by and still i think of you days when i couldnt live my life without you without you without youyou still a whisper on my lips feeling at my fingertips thats pulling at my skinyou leave me when im at my worst feeling as if ive been cursed bitter cold withindays go by and still i think of you days when i couldnt live my life without you without you without youdays go by and still i think of you days when i couldnt live my life without youdays go by and still i think of you days when i couldnt live my life without you without you without you without you without youdays go by days go by days go by days go by days go by days go by ",1
81,"baby","ashanti",2002," i dont remember feelin like this baby baby i love you baby baby i love youi got this jones formin in my bones from a man who indeed took over my soul understand i couldnt breathe if he ever said he would leave get on my knees till they bloody red baby please see i dont know if you get it yet just dont know hes like the lighter to my cigarette watch me smoke i never knew another human life didnt know can have the power to take over mine so baby babybaby baby baby baby baby baby i love you baby baby baby baby baby i love it when i hear your name got me sayin baby baby baby baby baby baby i love you baby baby baby baby babysee i could never feel alone with you in my life ill give up everything i own for you wont think twice almost a shame how im mesmerized such a shame i loose my thought lookin in your eyes i know why because your kisses make my lips quiver and thats real and when you touch me my whole body shivers i can feel now i can see how another life another life can have the power to take over mine cause youre mybaby baby baby baby baby baby i love you baby baby baby baby baby i love it when i hear your name got me sayin baby baby baby baby baby baby i love you baby baby baby baby babybrake it down baby i cant see my worth i cant see living here on gods green earth gods you dont know what youve done to me done to me i never thought id need you desperately desperately its kind of sick how im stuck on you stuck on you but i dont care cause im needin you im needin you and how i feel will remain the same remains the same cause youre my baby cause your my babylisten and when the world starts to stress me out where i run its to you boy without a doubt youre the one who keeps me sane and i cant complain cant complain youre like a drug you relieve my pain may seem strange youre like the blood flowin through my veins keeps me alive and feedin my brain now this is how another human life another life could have the power to take over mine cause youre minebaby baby baby baby baby baby i love you baby baby baby baby baby i love it when i hear your name got me sayin baby baby baby baby baby baby i love you baby baby baby baby babybaby baby baby baby baby baby baby baby baby baby baby baby baby baby baby baby baby baby baby baby baby baby baby  ",1
82,"the good stuff","kenny chesney",2002,"well me and my lady had our first big fight so i drove around until i saw the neon lights at a corner bar and it just seemed right so i pulled up not a soul around but the old barkeep down at the end lookin half asleep and he walked up and and said whatll it be i said the good stuff he didnt reach around for the whiskey he didnt pour me a beer his blue eyes kinda went misty he said you cant find that here cause its the first long kiss on a second date mommas all worried when you get home late and droppin the ring in the spagetti plate cause your hands are shakin so much and its the way that she looks with the rice in her hair eating burnt suppers the whole first year and askin for seconds to keep her from tearin up yeah man thats the good stuff he grabbed a carton of milk and he poured a glass and i smiled and said ill have some of that we sat there and talked as an hour passed like old friends i saw a black and white picture and it caught my stare it was a pretty girl with bouffant hair he said thats my bonnie taken bout a year after we were wed he said spent five years in the bottle when the cancer took her from me but ive been sober three years now cause the one thing stronger than the whiskey was the sight of her holdin our baby girl the way she adored that string of pearls i gave her the day that our youngest boy earl married his high school love and its a new tshirt saying im a grandpa being right there as our time got small and holding her hand when the good lord called her up yeah man thats the good stuff he said when you get home shell start to cry when she says im sorry say so am i and look into those eyes so deep in love and drink it up cause thats the good stuff thats the good stuff",3
83,"we thuggin","fat joe featuring r kelly",2002," ooh mmm yeah uh uh fat joe and the r that shit yall breakin shit down shake that funky funky funky yeah sticky icky icky yeah uh i got that shit yall i got that shit yall uh yo yocrack man and im at it again niggas had they run now its time for change when we step in the club nigga tuck ya chain got the mink on same color the range uh pour liquor for my nigga thats gone big pun then we party like we just came home fuck a bitch if she act to grown i dont need that shit i got my wife at homeuh words slurrin dirty urine drunk off of henry and the jo keep burnin dancin with shorty and her friend keep flirtin i dont always crush two but tonight seems certain party hard like fuck all yall bottles in the air like we stuck up the bar terror squad man you know who we are cruise through ya block and them droptop bentleys is oursyeah we thuggin rollin on dubs and off up in the club whylin like what got cris on pop henry wit no chaser mami dont stop throwin up six oclock plus i got four hunnies in the drop and my man joes got the keys to the spot and its full with hunnies panties with no tops we take a puff of dro beatchyeah uh yeah yeah yo everybody wanna know where the cribs at niggas just now gettin ice so we get that mami starin at me like she wanna get kidnapped money lookin happy with his wife but we triz that along with lisa aisha shonda renee even ran through the dorms down in morgan state in miami poolparty off the chain gettin brains in the water on memorial dayuh grandmami yall cool and shit its ya birthday show me what im foolin with like no doubt pokin doll out pull ya gstring down south oww pass that give shorty a shot true enough we gon see if she naughty or not im on e feelin ready and hot i give em twenty a pop you wanna roll leave the panties atopyeah we thuggin rollin on dubs and off up in the club whylin like what got cris on pop henry wit no chaser mami dont stop throwin up six oclock plus i got four hunnies in the drop and my man joes got the keys to the spot and its full with hunnies panties with no tops we take a puff of dro beatchfat joe r kelly we pop up yeah terror squad rockland what the fuck what fat joe r kelly we pop up uh uh rockland terror squad what the fuck what some of these kids is doin they own thing but none of these kids stack chips like us some of these cats is doin they own thing but none of these cats run tricks like usyeah we thuggin rollin on dubs and off up in the club whylin like what got cris on pop henry wit no chaser mami dont stop throwin up six oclock plus i got four hunnies in the drop and my man joes got the keys to the spot and its full with hunnies panties with no tops we take a puff of dro beatchyeah uh you know what this is chitown bx what the fuck what out ",1
84,"good morning beautiful","steve holy",2002," good morning beautiful how was your night mine was wonderful with you by my side and when i open my eyes to see your sweet face its a good morning beautiful dayi couldnt see the light i didnt know day from night i had no reason to care well since youve came along i can face the dawn cause i know youll be theregood morning beautiful how was your night mine was wonderful with you by my side and when i open my eyes to see your sweet face its a good morning beautiful dayi never worry if its raining outside cause in here with you girl the sun always shinesgood morning beautiful how was your night mine was wonderful with you by my side and when i open my eyes to see your sweet face its a good morning beautiful dayhmm good morning beautiful day hmm its a beautiful day good morning beautiful good morning beautiful good morning what a beautiful day good morning beautiful good morning beautiful ",1
85,"rock the boat","aaliyah",2002," boy you know you make me float boy you really get me high hoo i feel like im on dope cause you you serve me on a regular boy we need to tie this rope before we drift any deeper there now hold me close boy lets take this overboard nowi want you to rock the boat rock the boat rock the boat rock the boat work it in the middle work the middle work the middle work the middle change positions new positions new position new position stroke it baby stroke it for me stroke it for me stroke it for meooh baby i love your stroke cause you cause you get me where im going in a jury youll get my vote cause i believe i believe you know just what you doing now baby now we can coast just dont get in a hurry thats too slow go ahead and put that thing in overdrivei want you to rock the boat rock the boat rock the boat rock the boat work it in the middle work the middle work the middle work the middle change positions new position new position new position stroke it baby stroke for me stroke it on me stroke it on mei want you to rock the boat rock the boat rock the boat rock the boat work it in the middle work the middle work the middle work the middle change positions new position new position new position stroke it baby stroke for me stroke it for me stroke it for mestroke it for me stroke it baby stroke it baby work it it baby work it baby ooh stroke it baby stroke it i want you for mei need you to use yourself like you never ever used it before never to explore my body explore it baby until you reach the shore youll be calling calling for morerock the boat baby rock the boat rock the boat rock the boat work it in the middle work the middle work the middle work the middle work it baby  work it baby change positions new position new position new position stroke it for me stroke it for me stroke it for me stroke it for mei want you to rock the boat baby rock the boat rock the boat rock the boat work it in the middle work the middle work the middle work the middle change positions new position new position new position stroke it for me stroke for me stroke it for me stroke it for merock the boat baby rock the boat rock the boat rock the boat work the middle work the middle work the middle work the middle change positions new position new position new position stroke it for me stroke it for me stroke it for me stroke it for merock the boat baby rock the boat rock the boat rock the boat ",1
86,"drive for daddy gene","alan jackson",2002," it was painted red the stripe was white it was eighteen feet from the bow to the stern light secondhand from a dealer in atlanta i rode up with daddy when he went there to get her he put on a shine put on a motor built out of love made for the water ran it for years till the transom got rotten a piece of my childhood that will never be forgottenit was just an old plywood boat with a 75 johnson with electric choke a young boy two hands on the wheel i cant replace the way it made me feel and i would turn her sharp make it whine hed say you cant beat the way an old wood boat rides just a little lake across the alabama line but i was king of the ocean when daddy let me drivejust an old half ton short bed ford my uncle bought new in 64 daddy got it right cause the engine was smoking a couple of burnt valves and he had it going he let me drive her when wed haul off a load down a dirt strip where wed dump trash off of thigpen road id sit up in the seat and stretch my feet out to the pedals smiling like a hero that just received his medalit was just an old hand me down ford with a three speed on the column and a dent in the door a young boy two hands on the wheel i cant replace the way it made me feel and i would press that clutch and i would keep it right and hed say a little slower son youre doing just fine just a dirt road with trash on each side but i was mario andretti when daddy let me driveim grown up now three daughters of my own i let them drive my old jeep across the pasture at our home maybe one day theyll reach back in their file and pull out that old memory and think of me and smile and sayit was just an old worn out jeep rusty old floorboard hot on my feet a young girl two hands on the wheel i cant replace the way it made me feel and hed say turn it left and steer it right straighten up girl now youre doing just fine just a little valley by the river where wed ride but i was high on a mountain when daddy let me drive daddy let me drive oh he let me driveshes just an old plywood boat with a 75 johnson with electric choke ",1
87,"standing still","jewel",2002," cutting through the darkest night are my two headlights try to keep it clear but im losing it here to the twilight theres a dead end to my left theres a burning bush to my right you arent in sight you arent in sightdo you want me like i want you or am i standing still beneath a darkened sky or am i standing still with the scenery flying by or am i standing still out of the corner of my eye was that you passing me bymothers on the stoop boys in soupedup coupes on this hot summer night between fight and flight is the blind mans sight and a choice thats right i roll the window down feel like im gonna drown in this strange town feel broken down feel broken downdo you need me like i need you or am i standing still beneath a darkened sky or am i standing still with the scenery flying by or am i standing still out of the corner of my eye was that you passing me bysweet sorrow he said call tomorrow sweet sorrow he said call tomorrowdo you love me like i love you or am i standing still beneath a darkened sky or am i standing still with the scenery flying by or am i standing still out of the corner of my eye was that you passing me by are you passing me by passing me by do you want me passing me by do you need me like i need you to and do you want me like i want you are you passing me by or am i standing still ",1
88,"anything","jaheim featuring next",2002,"yeah oh yeah yeah yeah yeah you can have anything i got all of me right on the spot na na na you can have anything i own work my fingers all the way to the bone now baby i dont wanna be fictitious saying that i can get you anything is ridiculous but anything you ask if its anywhere near my grasp its yours oh yeah now i dont got fancy cars or diamond rings lord knows i will if i make it with this singing thing hold on have faith in me cause anything i have is yours baby you can have anything i got all of me right on the spot na na na you can have anything i own work my fingers all the way to the bone na na na girl i know you wanna roll a lexus a lexus with a mansion down in texas its more like apartment 8 cellular is prepaid but baby its all okay i cant do all the things i wanna do but i can love you and i can stay true ill give you my last dime spend all my time its yours whatever is mine anything you want you can have anything i got all of me right on the spot na na na you can have anything i own work my fingers all the way to the bone na na na now i dont have no ls to drive but im a man with a whole lot of plans and a lot of love inside just believe and pray hold on to me and say stay i cant handle you leaving me just dream dream with jaheim ill work overtime anytime just to give you peace of mind please just believe everything and anything all of me baby baby baby baby you can have anything i got all of me right on the spot na na na you can have anything i own work my fingers all the way to the bone na na na you can have anything you want anything you want anything you need anything i have baby girl just ask anything you want anything you need",3
89,"full moon","brandy",2002," boy i saw you soon as you came bouncin through the door you and your mans and them just look over the floor started doin your thing and it made me notice you even more the way you turned around and looked at me it seemed as though you must have somehow felt me starin on the low somethin tells me youre the kind of guy id like to get to knowi aint even gonna front i aint even gonna lie since you walked up in the club ive been givin you the eye we can dance if you want get it crackin if you like must be a full moon feel like one of those nightswhy is this the first time that im seein you around could you be visiting or are you new in town yeah whatever the case im feelin you right here and right now your smile and all the love you showin lets me know that you like what you see and wanna get to know me too this could very well be the start of somethin special happy that i met youi aint even gonna front i aint even gonna lie since you walked up in the club ive been givin you the eye we can dance if you want get it crackin if you like that must be a full moon felt like one of those nightsi aint even gonna front i aint even gonna lie since you walked up in the club ive been givin you the eye we can dance if you want get it crackin if you like it must be a full moon felt like one of those nightsi didnt think that id come here tonight meet someone like you start feeling the way i do seems like weve known each other most of our lives after one conversation this must be righti aint even gonna front i aint even gonna lie since you walked up in the club ive been givin you the eye we can dance if you want get it crackin if you like it must be a full moon felt like one of those nightsi aint even gonna front i aint even gonna lie since you walked up in the club ive been givin you the eye we can dance if you want get it crackin if you like it must be a full moon felt like one of those nightsi aint even gonna front i aint even gonna lie since you walked up in the club ive been givin you the eye we can dance if you want get it crackin if you like it must be a full moon felt like one of those nights ",1
90,"uh huh","b2k",2002," yeah hey yo trick how you gonna come up wit something like this man yeah when this come on theyll be like uh huh ha ha red zone yo b2k yo where you atgirl you messed up when you let me in told your best friend you wantin me then she called me up and hipped me to your steez told me that you were lookin for a guy like me so i said hold on i dont want unless shorty really wanna have some fun then she said that you told her i was what you want when i call you dont try to front uh huhim the guy in your dreams that you had last night im the benz wit the twenties that you wanna drive im the thug in your life thatll treat you right got ya hooked coz im bringing everything you likeuh huh i know that you wantin this uh huh tell me can you handle it uh huh show me how you work them hips uh huh and maybe you can roll wit ituh huh i know that you wantin this uh huh tell me can you handle it uh huh show me how you work them hips uh huh and maybe you can roll wit itnow were all out in the open everybody knows about you and me aint no more need for you and me to creep i want you so bad i dont care who sees so girl hold on got what you want i know you aint scared to go an have some fun so let your girlfriends know you found someone wholl be keepin you tight and crunk uh huhim the guy in your dreams that you had last night im benz wit the twenties that you wanna drive im the thug in your life thatll treat you right got ya hooked coz im bringing everything you likeuh huh i know that you wantin this uh huh tell me can you handle it uh huh show me how you work them hips uh huh and maybe you can roll wit ituh huh i know that you wantin this uh huh tell me can you handle it uh huh show me how you work them hips uh huh and maybe you can roll wit ittwo months of conversation man this is a major spit tha game undercover im lethal like danny glover got you runnin to your mother makin plans for life yo im only fifteen what i need wit a wifewe can walk through tha mall while i hold ya hips or you can hang out tha drop while im pushin tha whip take you on a ride you will never forget runnin home tellin your friends lil fizz is it got ya hooked by tha way that i lick my lips then i got many dimes i aint sweatin it chick yo i run these girls from coast to coast drop the game so sick i got em doin tha most come onuh huh i know that you wantin this uh huh tell me can you handle it uh huh show me how you work them hips uh huh and maybe you can roll wit ituh huh i know that you wantin this uh huh tell me can you handle it uh huh show me how you work them hips uh huh and maybe you can roll wit ituh huh i know that you wantin this uh huh tell me can you handle it uh huh show me how you work them hips uh huh and maybe you can roll wit ituh huh i know that you wantin this uh huh tell me can you handle it uh huh show me how you work them hips uh huh and maybe you can roll wit itb2k what 2001 what dont shrib wiz on yall from uk youre smart kids i know that i guess the wiz on me your heart no offencewhan yall be comin everybody gonn be in the rig iz is gonna be ringing girls are gonna be shakin their butts fellows gonna be lookin for a girl two eyes are gonna be beamin you know what im saying its bout to be fun i know what to attach for me cmon ",1
91,"a new day has come","celine dion",2002," a new day oh oh a new day oh ohi was waiting for so long for a miracle to come everyone told me to be strong hold on and dont shed a tearthrough the darkness and good times i knew id make it through and the world thought i had it all but i was waiting for youhush now i see a light in the sky oh its almost blinding me i cant believe if ive been touched by an angel with lovelet the rain come down and wash away my tears let it fill my soul and drown my fears let it shatter the walls for a new sun a new day has come ohwhere it was dark now theres light where there was pain now theres joy where there was weakness i found my strength all in the eyes of a boyhush now i see a light in the sky oh its almost blinding me i cant believe if ive been touched by an angel with lovelet the rain come down and wash away my tears let it fill my soul and drown my fears let it shatter the walls for a new suna new day haslet the rain come down and wash away my tears let it fill my soul and drown my fears let it shatter the walls for a new sun a new day has come ohhush now well i see a light in your eyes all in the eyes of the boy i cant believe if ive been touched by an angel with love i cant believe if ive been touched by an angel with lovehush now ahh ahh a new day ahh ahh hush now ahh ahh a new day ",1
92,"turn off the light","nelly furtado",2002," its getting so lonely inside this bed to know if i should lick my wounds or say woe is me instead and theres an aching inside my head its telling me youre better off alonebut after midnight morning will come and the day will see if you will get somethey say that girl ya know she act too tough tough tough well its till i turn off the light turn off the light they say that girl you know she act so rough rough rough well its till i turn off the light turn off the lightand i say follow me follow me follow me down down down down till you see all my dreams not everything in this magical world is quite what it seemsi looked above the other day cos i think im good and ready for a change i live my life by the moon if its high play it low if its harvest go slow and if its full then gobut after midnight morning will come and the day will see if youre gonna get somethey say that girl ya know she act too tough tough tough well its till i turn off the light turn off the light they say that girl you know she act so rough rough rough well its till i turn off the light turn off the lightand i say follow me follow me follow me down down down down till you see all my dreams not everything in this magical world is quite what it seemsand im searching for things that i just cannot see why dont you dont you dont you come and be with me i pretend to be cool with me want to believe that i can do it on my own without my heart on my sleeveim running im running catch up with me life or is it love that im looking to find its all in me cant you see why cant you why cant you see its all in me yeahall in me yeah where is your logic turn off the light turn off the light who do you need turn off the light turn off the lightand i said follow me follow me follow me down down down down do you see all my dreams yea not everything in this magical world is quite what it seemsfollow me follow me down down down down turn off the light turn off the light follow me down follow me down down down turn off the light turn off the lightand i said follow me follow me follow me down down down down do you see all my dreams see all my dreams follow me follow me follow me down down down down see all my dreams see all my dreamswhere is your logic turn off the light turn off the light who do you need turn off the light turn off the light where can you turn turn off the light turn off the light and where is your logic turn off the light turn off the light who do you need ",1
93,"living and living well","george strait",2002," had a nice little life a little boat a little beach a little routine i liked a blue ocean view free to go with the flow anywhere that i wanted to but the moment you set foot on my shore thats when i knewtheres a difference in living and living well you cant have it all all by yourself somethings always missing til you share it with someone else and theres a difference in living and living welltil you sailed with me thought that i had it good as good as it could be from the back of my deck caught a fish caught a breeze and a thousand red sunsets but sitting here with you girl i just saw the best one yettheres a difference in living and living well you cant have it all all by yourself somethings always missing til you share it with someone else theres a difference in living and living wellmy days are brighter my sky a deeper blue my nights are sweeter when im with youtheres a difference in living and living well you cant have it all all by yourself somethings always missing til you share it with someone elsetheres a difference in living i thought i was living theres a difference in living and living well living well im living well ",1
94,"my list","toby keith",2002," under an old brass paperweight is my list of things to do today go to the bank and the hardware store put a new lock on the cellar door i cross em off as i get em done but when the sun is set theres still more than a few things left i havent got to yetgo for a walk say a little prayer take a deep breath of mountain air put on my glove play some catch its time that i make time for that wade the shore cast a line look up a long lost friend of mine sit on the porch and give my girl a kiss start livin thats the next thing on my listwouldnt change the course of fate cuttin the grass just had to wait cause ive got more important things like pushin my kid on the backyard swing i wont break my back for a million bucks i cant take to my grave so ill put off for tomorrow what i could get done todaylike go for a walk say a little prayer take a deep breath of mountain air put on my glove and play some catch its time that i make time for that wade the shore cast a line look up a long lost friend of mine sit on the porch and give my girl a kiss start livin thats the next thing on my listraise a little hell laugh til it hurts put an extra five in the plate at church call up my folks just to chat its time that i make time for that stay up late then oversleep show her what she means to me catch up on all the things ive always missed just start livin thats the next thing on my listunder an old brass paperweight my list of things to do today ",1
95,"hands clean","alanis morissette",2002," if it werent for your maturity none of this would have happened if you werent so wise beyond your years i wouldve been able to control myself if it werent for my attention you wouldnt have been successful and if it werent for me you would never have amounted to very muchooh this could be messy but you dont seem to mind ooh dont go telling everybody and overlook this supposed crime well fast forward to a few years later and no one knows except the both of us and i have honored your request for silence and youve washed your hands clean of thisyoure essentially an employee and i like you having to depend on me youre kind of my protege and one day youll say you learned all you know from me i know you depend on me like a young thing would to a guardian i know you sexualize me like a young thing would and i think i like itooh this could be messy you dont seem to mind ooh dont go telling everybody overlook this supposed crime well fast forward to a few years later and no one knows except the both of us and i have honored your request for silence and youve washed your hands clean of thiswhat part of our historys reinvented and under rug swept what part of your memory is selective and tends to forget what with this distance it seems so obviousjust make sure you dont tell on me especially to members of your family we best keep this to ourselves and not tell any members of our inner posse i wish i could tell the world cause youre such a pretty thing when youre done up properly i might want to marry you one day if you watch that weight and keep your firm bodyooh this could get messy ooh you dont seem to mind ooh dont go telling everybody and overlook this supposed crime well fast forward to a few years later and no one knows except the both of us and i have honored your request for silence and youve washed your hands clean of thisooh this could get messy ooh i dont seem to mind ooh dont go telling everybody and overlook this supposed crime well fast forward to a few years later and no one knows except the both of us and i have honored your request for silence and youve washed your hands clean of this ",1
96,"sk8er boi","avril lavigne",2002," he was a boy she was a girl can i make it any more obvious he was a punkshe did ballet what more can i say he wanted her shed never tell secretly she wanted him as wellbut all of her friends stuck up their nose they had a problem with his baggy clotheshe was a skater boy she said see you later boy he wasnt good enough for her she had a pretty face but her head was up in space she needed to come back down to earthfive years from now she sits at home feeding the baby shes all alone she turns on tvguess who she sees skater boy rockin up mtv she calls up her friends they already knowand theyve all got tickets to see his show she tags along stands in the crowd looks up at the man that she turned downhe was a skater boy she said see you later boy he wasnt good enough for her now hes a super star slamming on his guitar does your pretty face see what hes worthhe was a skater boy she said see you later boy he wasnt good enough for her now hes a super star slamming on his guitar does your pretty face see what hes worthsorry girl but you missed out well tough luck that boys mine now we are more than just good friends this is how the story endstoo bad that you couldnt see see the man that boy could be there is more that meets the eye i see the soul that is insidehes just a boy and im just a girl can i make it any more obvious we are in love havent you heard how we rock each others worldim with the skater boy i said see you later boy ill be back stage after the show ill be at the studio singing the song we wrote about a girl you used to knowim with the skater boy i said see you later boy ill be back stage after the show ill be at the studio singing the song we wrote about a girl you used to know ",1
97,"long time gone","dixie chicks",2002," daddy sits on the front porch swinging looking out on a vacant field used to be filled with burley tbacca now he knows it never willmy brother found work in indiana sisters a nurse at the old folks home mamas still cooking too much for supper and me ive been a long time gonebeen a long time gone no i aint hoed a row since i dont know when long time gone and it aint coming back againdelia plays that ol church piano sittin out on her daddys farm she always thought that wed be together lord i never meant to do her harmsaid she could hear me singin in the choir me i heard another song i caught wind and hit the road runnin and lord ive been a long time gonebeen a long time gone lord i aint had a prayer since i dont know when long time gone and it aint comin back againnow me i went to nashville tryin to beat the big deal playin down on broadway gettin there the hard way living from a tip jar sleeping in my car hocking my guitar yeah im gonna be a starnow me and delia singing every sunday watching the children and the garden grow we listen to the radio to hear whats cookin but the music aint got no soulnow they sound tired but they dont sound haggard theyve got money but they dont have cash they got junior but they dont have hank i think i think i think the rest is a long time goneno i aint hit the roof since i dont know when long time gone and it aint coming backi said a long time gone no i aint honked the horn since i dont know when long time gone and it aint coming back againi said a long time long time long time gone well its been a long timelong time long time long time gone oh its been a long time gonelong time long time long time gone yeah yeah ",1
98,"where were you when the world stopped turning","alan jackson",2002," where were you when the world stopped turning that september day out in the yard with your wife and children workin on some stage in la did you stand there in shock at the sight of that black smoke rising against that blue sky did you shout out in anger and fear for your neighbor or did you just sit down and crydid you weep for the children who lost their dear loved ones or pray for the ones who dont know did you rejoice for the people who walked from the rubble and sob for the ones left below did you burst out in pride for the red white and blue and the heroes who died just doing what they do did you look up to heaven for some kind of answer and look at yourself and what really mattersim just a singer of simple songs im not a real political man i watch cnn but im not sure i could tell you the difference in iraq and iran but i know jesus and i talk to god and i remember this from when i was young faith hope and love are some good things he gave us and the greatest is lovewhere were you when the world stopped turning that september day teaching a class full of innocent children driving down some cold interstate did you feel guilty cause youre a survivor in a crowded room did you feel alone did you call up your mother and tell her you love her did you dust off that bible at homedid you open your eyes hope it never happened or close your eyes and not go to sleep did you notice the sunset the first time in ages or speak to some stranger on the street did you lay down at night and think of tomorrow go out and buy you a gun did you turn off that violent old movie youre watching and turn on i love lucy rerunsdid you go to the church and hold hands with some stranger stand in line and give your own blood did you just stay home and cling tight to your family thank god you had somebody to loveim just a singer of simple songs im not a real political man i watch cnn but im not sure i could tell you the difference in iraq and iran but i know jesus and i talk to god and i remember this from when i was young faith hope and love are some good things he gave us and the greatest is loveim just a singer of simple songs im not a real political man i watch cnn but im not sure i could tell you the difference in iraq and iran but i know jesus and i talk to god and i remember this from when i was young faith hope and love are some good things he gave us and the greatest is lovewhere were you when the world stopped turning that september day ",1
99,"like i love you","justin timberlake",2002," just something about you the way im lookin at you whatever you keep lookin at me you gettin scared now right dont fear me baby its just destiny it feel good right listeni kind of noticed from one night from the club your front face its kind of weird to me since youre so fine if its up to me your face will changeif you smiling that should set the tone just be limber if you let go the music should groove your bones just remember sing this song with meaint nobody love you like i love you youre a good girl and thats what makes me trust ya late at night i talk to you you will know the difference when i touch youpeople are so phony nosy cause theyre lonely arent you sick of the same thing they say so and so was dating love you or theyre hatin when it doesnt matter anyway cause were here tonightif you smiling that should set the tone just be limber baby if you let go the music should groove your bones baby just remember sing this song with meaint nobody love you like i love you youre a good girl and thats what makes me trust ya late at night i talk to you you will know the difference when i touch youyeah you know i can make ya happy i could change your life if you give me that chance to be your man i wont let you down baby if you give me that chance to be your man here baby put on my jacket and thenmaybe well fly tonight i just wanna love you baby yeah yeah yeah maybe well fly tonight i just wanna love you baby girlma what you wanna do im in front of you grab a friend see i can have fun with two or me and you put on a stage show and the mall kids thats how to change low from them you heard wow its the same glow look at me i say yeah its the same dough we the same type you my air of life you have sleepin in the same bed every nightgo rock with me you deserve the best take a few shots let it burn in your chest we could ride down pumpin nerd in the deck funny how a few words turn into sex play this free joint called brain ma take a hint make me swerve in the lane the name malicious and i burn every track clipse and j timberlake now how heavy is thatmaybe well fly tonight i just wanna love you baby yeah yeah yeah maybe well fly tonight i just wanna love you baby girlaint nobody love you like i love you youre a good girl and thats what makes me trust ya late at night i talk to you you will know the difference when i touch youbreak this downyou know i used to dream about this when i was a little boy i never thought it would end up this way drums its kind of special right yeah you know you think about it sometimes people just destined destined to do what they do and thats what it is now everybody dance ",1
100,"i do","toya",2002," he was a six foot stallion said a storybook thug he was the kind that made you wonder how he put down the love he had a hickey in his pocket with that rock in his ear he made my heart stop palpitating every time he came nearhe has a spankin new range for that tight wardrobe his pants was saggin he was plaided and his head was cornrows he has his wrists bling blinging and his long legs was bow he tried to push up on me but i knew he had me at goi do i wonder if you feel the same way i do i can see it in your eyes i entice you so come on shorty if you think you can roll with an iced out playah ballin out of controlcause i do i wonder if you feel the same way i do i can see it in your eyes i entice you so come on shorty if you think you can roll with an iced out playah ballin out of control cause i dome and my crew started groovin made our way to the floor i start to activate my pad and give this hottie a show i shook my hips took a dip roll my tounge cross my lips and when he took his place to dance wit me i felt fingertipson the small of my back so i had to react like i was playin hard to get and told that boy to step back but when i looked deep in his eyes all i could see was his soul im bout to make this guy my man that i can tell you fa showi do i wonder if you feel the same way i do i can see it in your eyes i entice you so come on shorty if you think you can roll with an iced out playah ballin out of controlcause i do i wonder if you feel the same way i do i can see it in your eyes i entice you so come on shorty if you think you can roll with an iced out playah ballin out of control cause i dowatch me drop drop shake it for the fellas who know watch me pop pop my ass as i dip and roll watch me stop stop traffic as i walk through the room knowin all the papis want me but all i want is youi do watch me drop drop shake it for the fellas who know watch me pop pop my ass as i dip and roll watch me stop stop traffic as i walk through the room knowin all the papis want me but all i want is youi do i wonder if you feel the same way i do i can see it in your eyes i entice you so come on shorty if you think you can roll with an iced out playah ballin out of controlcause i do i wonder if you feel the same way i do i can see it in your eyes i entice you so come on shorty if you think you can roll with an iced out playah ballin out of controlcause i do i wonder if you feel the same way i do i can see it in your eyes i entice you so come on shorty if you think you can roll with an iced out playah ballin out of controlcause i do i wonder if you feel the same way i do i can see it in your eyes i entice you so come on shorty if you think you can roll with an iced out playah ballin out of control cause i do ",1
1,"in da club","50 cent",2003," go go go go go go go shawty its your birthday we gon party like its yo birthday we gon sip bacardi like its your birthday and you know we dont give a fuck its not your birthdayyou can find me in the club bottle full of bub look mami i got the x if you into taking drugs im into having sex i aint into making love so come give me a hug if you into to getting rubbedyou can find me in the club bottle full of bub look mami i got the x if you into taking drugs im into having sex i aint into making love so come give me a hug if you into to getting rubbed    meaning  byjamesg   editor    in da club is a song performed by american rapper 50 cent and lead single for his debut studio album get rich or die tryin 2003 the song was written by    see all   when i pull out up front you see the benz on dubs when i roll twenty deep its twenty knives in the club niggas heard i fuck with dre now they want to show me love when you sell like eminem and the hoes they want to fuck but homie aint nothing change hold down gs up i see xzibit in the cutt that nigga roll that weed up if you watch how i move youll mistake me for a player or pimp been hit wit a few shells but i dont walk wit a limp in the hood then the ladies saying 50 you hot they like me i want them to love me like they love pac but holla in new york them niggasll tell ya im loco and the plan is to put the rap game in a choke hold im feelin focused man my money on my mind i got a mill out the deal and im still on the grind now shawty said she feeling my style she feeling my flow her girlfriend want to get bi and they ready to goyou can find me in the club bottle full of bub look mami i got the x if you into taking drugs im into having sex i aint into making love so come give me a hug if you into to getting rubbedyou can find me in the club bottle full of bub look mami i got the x if you into taking drugs im into having sex i aint into making love so come give me a hug if you into to getting rubbedmy flow my show brought me the dough that bought me all my fancy things my crib my cars my pools my jewels look nigga i came up and i aint changedand you should love it way more then you hate it nigga you mad i thought that youd be happy i made it im that cat by the bar toasting to the good life you that fagot ass nigga trying to pull me back right when my junk get to pumping in the club its on i wink my eye at ya bitch if she smiles she gone if the roof on fire let the motherfucker burn if you talking bout money homie i aint concerned im a tell you what banks told me cause go head switch the style up if the niggas hate then let em hate watch the money pile up or we go upside there wit a bottle of bub you know where we fucking beyou can find me in the club bottle full of bub look mami i got the x if you into taking drugs im into having sex i aint into making love so come give me a hug if you into to getting rubbedyou can find me in the club bottle full of bub look mami i got the x if you into taking drugs im into having sex i aint into making love so come give me a hug if you into to getting rubbeddont try to act like you aint know where we been either nigga in the club all the time nigga so its a problem pop off nigga gunit ",1
2,"ignition remix","r kelly",2003," now usually i dont do this but uh go head on and break em off wit a lil preview of the remixno im not tryin to be rude but hey pretty girl im feelin you the way you do the things you do remind me of my lexus coup thats why im all up in yo grill tryna get you to a hotel you must be a football coach the way you got me playin the fieldso baby gimme that toot toot lemme give you that beep beep runnin her hands through my fro bouncin on 24s while they sayin on the radioits the remix to ignition hot and fresh out the kitchen mama rollin that body got every man in here wishin sippin on coke and rum im like so what im drunk its the freakin weekend baby im about to have me some fun    meaning  byamandah   editor    r kellys ignition is just one of those songs people enjoy despite his problematic past with the law other examples of these kind of lovehate songs are    see all   bounce bounce bounce bounce bounce bounce bounce bounce bounce bouncenow its like murder she wrote once i get you out them clothes privacy is on the door but still they can hear you screamin more girl im feelin what you feelin no more hopin and wishin im bout to take my key and stick it in the ignitionso gimme that toot toot lemme give you that beep beep runnin her hands through my fro bouncin on 24s while they sayin on the radiothis is the remix to ignition hot and fresh out the kitchen mama rollin that body got every man in here wishin sippin on coke and rum im like so what im drunk its the freakin weekend baby im about to have me some funcrystal poppin in the stretch navigator we got food every where as if the party was catered we got fellas to my left honeys on my right we bring em both together we got junkin all night then after the show its the after party and after the party its the hotel lobby around about 4 you gotta clear the lobby then head take it to the room and freak somebodycan i get a toot toot can i get a beep beep runnin her hands through my fro bouncin on 24s while they sayin on the radioits the remix to ignition hot and fresh out the kitchen mama rollin that body got every man in here wishin sippin on coke and rum im like so what im drunk its the freakin weekend baby im about to have me some funthis is the remix to ignition hot and fresh out the kitchen mama rollin that body got every man in here wishin sippin on coke and rum im like so what im drunk its the freakin weekend baby im about to have me some fungirl we off in this jeep foggin windows up blastin the radio in the back of my truck bouncin up and down stroke it round and round to the remix we just thuggin it out ",1
3,"get busy","sean paul",2003," shake that thing miss kana kana shake that thing miss annabella shake that thing yan donna donna jodi and rebeccagirl get busy just shake that booty nonstop when the beat drops just keep swinging it get jiggy get crunked up percolate anything you want to call it oscillate you hip and dont take pity me want fi see you get live upon the riddim when me ride and me lyrics a provide electricity gal nobody can tell you nuttin can you done know your destinyyo sexy ladies want par with us in a the car with us them nah war with us in a the club them want flex with us to get next to us them cah vex with us from the day me born jah ignite me flame gal a call me name and its me fame its all good girl turn me on til a early mornin lets get it on lets get it on til a early morning girl its all good just turn me onwoman dont sweat it dont get agitate just gwaan rotate can anything you want you know you must get it from you name a mentuin dont ease the tension just run the program gals wan pet it just have a good time gal free up unu mind caw nobody can dis you man wont let it can you a the number one gal wave you hand make them see you wedding bandyo sexy ladies want par with us in a the car with us them nah war with us in a the club them want flex with us to get next to us them cah vex with us from the day me born jah ignite me flame gal a call me name and its me fame its all good girl turn me on til a early mornin lets get it on lets get it on til a early morning girl its all good just turn me ongirl get busy just shake that booty nonstop when the beat drops just keep swinging it get jiggy get crunked up percolate anything you want to call it oscillate you hip and dont take pity me want fi see you get live pon the riddim when me ride and me lyrics a provide electricity gal nobody can tell you nuttin can you done know your destinyyo sexy ladies want par with us in a the car with us them nah war with us in a the club them want flex with us to get next to us them cah vex with us from the day me born jah ignite me flame gal a call me name and its me fame its all good girl turn me on til a early mornin lets get it on lets get it on til a early morning girl its all good just turn me onyo shake that thing miss kana kana shake that thing yo annabella shake that thing miss donna donna yo miss jodi youre di one and rebecca shake that thingyo shake that thing yo joanna shake that thing yo annabella shake that think miss kana kana so me go so thenyo sexy ladies want par with us in a the car with us them nah war with us in a the club them want flex with us to get next to us them cah vex with us from the day me born jah ignite me flame gal a call me name and its me fame its all good girl turn me on til a early mornin lets get it on lets get it on til a early morning girl its all good just turn me onyo sexy ladies want par with us in a the car with us them nah war with us in a the club them want flex with us to get next to us them cah vex with us from the day me born jah ignite me flame gal a call me name and its me fame its all good girl turn me on til a early mornin lets get it on lets get it on til a early morning girl its all good just turn me onlets get it on until a early morning girl its all good just turn me on ",1
4,"crazy in love","beyonce featuring jayz",2003,"yes its so crazy right now most incredibly its ya girl bee its ya boy young you ready uh oh uh oh uh oh oh no no uh oh uh oh uh oh oh no no uh oh uh oh uh oh oh no no uh oh uh oh uh oh oh no no yeah history in the making part two its so crazy right now i look and stare so deep in your eyes i touch on you more and more every time when you leave im begging you not to go call your name two or three times in a row such a funny thing for me to try to explain how im feeling and my pride is the one to blame cause i know i dont understand just how your love can do what no one else can got me looking so crazy right now your loves got me looking so crazy right now in love got me looking so crazy right now your touch got me looking so crazy right now your touch got me hoping youll page me right now your kiss got me hoping youll save me right now looking so crazy your loves got me looking got me looking so crazy in love uh oh uh oh uh oh oh no no uh oh uh oh uh oh oh no no uh oh uh oh uh oh oh no no uh oh uh oh uh oh oh no no when i talk to my friends so quietly who he think he is look at what you did to me tennis shoes dont even need to buy a new dress if you aint there aint nobody else to impress its the way that you know what i thought i knew its the beat my heart skips when im with you but i still dont understand just how your love can do what no one else can got me looking so crazy right now your loves got me looking so crazy right now   oh crazy got me looking so crazy right now   youre in love your touch got me looking so crazy right now   love got me hoping youll page me right now your kiss got me hoping youll save me right now looking so crazy your loves got me looking got me looking so crazy in love im looking so crazy your loves got me looking got me looking so crazy in love young hov yall know when the flow is loco young b and the r o c uh oh ol g big homie the one and only stick bony but the pocket is fat like tony soprano the roc handle like van axel i shake phoneys man you cant get next to the genuine article i go i do not sing though i sling though if anything i bling yo a star like ringo worn like a green beret crazy bring ya whole set jay z in the range crazy and deranged they cant figure them out they like hey is he insane yes sir im cut from a different cloth my texture is the best fur of chinchilla   uh oh uh oh uh oh oh no no been dealing with chain smokers but how you think i got the name hova   uh oh uh oh uh oh oh no no i been realer the games over   uh oh uh oh uh oh oh no no fall back young ever since the label changed over   uh oh uh oh uh oh oh no no to platinum the games been wrap one got me looking so crazy my baby im not myself lately im foolish i dont do this ive been playing myself baby i dont care cause your loves got the best of me and baby youre making a fool of me you got me sprung and i dont care who sees cause baby you got me you got me so crazy baby got me looking so crazy right now oh love your loves got me looking so crazy right now lookin crazy got me looking so crazy right now your touch got me looking so crazy right now got me hoping youll page me right now your kiss got me hoping youll save me right now looking so crazy your loves got me looking got me looking so crazy in love got me looking so crazy right now your loves got me looking so crazy right now your love got me looking so crazy right now your touch got me looking so crazy right now your touch got me hoping youll page me right now your kiss got me hoping youll save me right now looking so crazy your loves got me looking got me looking so crazy in love",3
5,"when im gone","3 doors down",2003," theres another world inside of me that you may never see theres secrets in this life that i cant hide somewhere in this darkness theres a light that i cant find maybe its too far away or maybe im just blind maybe im just blindso hold me when im here right me when im wrong hold me when im scared and love me when im gone everything i am and everything in me ill also be the one you wanted me to be ill never let you down even if i could id give up everything if only for your good so hold me when im here right me when im wrong you can hold me when im scared you wont always be there so love me when im gone love me when im gonewhen your education xray cannot see under my skin i wont tell you a damn thing that i could not tell my friends roaming through this darkness im alive but im alone part of me is fighting this but part of me is goneso hold me when im here right me when im wrong hold me when im scared and love me when im gone everything i am and everything in me ill also be the one you wanted me to be ill never let you down even if i could id give up everything if only for your good so hold me when im here right me when im wrong you can hold me when im scared you wont always be there so love me when im gonemaybe im just blindso hold me when im here right me when im wrong hold me when im scared and love me when im gone everything i am and everything in me ill also be the one you wanted me to be ill never let you down even if i could id give up everything if only for your good so hold me when im here right me when im wrong you can hold me when im scared you wont always be there so love me when im gone love me when im gone ",1
6,"unwell","matchbox twenty",2003," all day staring at the ceiling making friends with shadows on my wall all night hearing voices telling me that i should get some sleep because tomorrow might be good for somethinghold on feeling like im headed for a breakdown and i dont know whybut im not crazy im just a little unwell i know right now you cant tell but stay awhile and maybe then youll see a different side of me im not crazy im just a little impaired i know right now you dont care but soon enough youre gonna think of me and how i used to be meim talking to myself in public dodging glances on the train and i know i know theyve all been talking about me i can hear them whisper and it makes me think there must be something wrong with me out of all the hours thinking somehow ive lost my mindbut im not crazy im just a little unwell i know right now you cant tell but stay awhile and maybe then youll see a different side of me im not crazy im just a little impaired i know right now you dont care but soon enough youre gonna think of me and how i used to beive been talking in my sleep pretty soon theyll come to get me yeah theyre taking me awaybut im not crazy im just a little unwell i know right now you cant tell but stay awhile and maybe then youll see a different side of me im not crazy im just a little impaired i know right now you dont care but soon enough youre gonna think of me and how i used to behey how i used to be how i used to be well im just a little unwell how i used to be how i used to be im just a little unwell ",1
7,"right thurr","chingy",2003," uh hey dirty what look at that girl right there oh she make me say ooh ooh yeah ooh ooh hey do what you dochorus  i like the way you do that right thurr right thurr swing your hips when youre walkin let down youre hurr let down your hurr i like the way you do that right thurr right thurr lick your lips when youre talkin that make me sturrchingy  i like the way you look in them pants see ya fine fine your momma a quarter piece she far from a dime dime the type of girl thatll getcha up and go make you grind grind im thinkin about snatchin her up dirty makin her mine look at her hips what look at her legs aint she stacked stacked i sure wouldnt mind hittin that from the back back i like it when i touch it cause she moan a lil bit jeans saggin so i can see her thong a lil bit i know you grown a little bit twenty years old you legal dont trip off my people just hop in the regal i swooped on her like an eagle swoopin down on its prey i know you popular but you gon be famous todaychorus  i like the way you do that right thurr right thurr swing your hips when youre walkin let down youre hurr let down your hurr i like the way you do that right thurr right thurr lick your lips when youre talkin that make me sturrchorus  i like the way you do that right thurr right thurr swing your hips when youre walkin let down youre hurr let down your hurr i like the way you do that right thurr right thurr lick your lips when youre talkin that make me sturrchingy  she be shoppin in frontenac just look at her front and back man she so stacked and she know that i want that her man hes so wack girl can i taste yo khaki for three hundred to step like buyin a throwback she stay in the clubclub i can be seein she got it honest in real life girl remind me of pocahontas she be at events yeah so im impressed when she pass yeah all the high rollin cats want to pay for that ass aint no half steppin steppin she strapped wit a nice weapon weapon trick its against the law for her to move them hips if you ever seen her dirty your mouth gon drop worldwide fools probably tell you this off topschorus  i like the way you do that right thurr right thurr swing your hips when youre walkin let down youre hurr let down your hurr i like the way you do that right thurr right thurr lick your lips when youre talkin that make me sturrchorus  i like the way you do that right thurr right thurr swing your hips when youre walkin let down youre hurr let down your hurr i like the way you do that right thurr right thurr lick your lips when youre talkin that make me sturrchingy  i like the way she doin that cmon plus i like it when she bring it back say it ooh uhhuh ooh ooh ooh uhhuh do what you do whoo i like the way she doin that cmon plus i like it when she bring it back say it ooh uhhuh ooh ooh ooh uhhuh do what you do whoochingy  gimme what you got for a pork chop uh she threw it at me like i was a shortstop uh workin in a fatty girl hugga top then she back it up on me and let it drop drop make it hop boing like a bunny bunny girl can i touch you where its sunny or a purse and make you give her some money she should pose for sports illustrated its like a picture perfect site when she pass all the other girls hate it but ichorus  i like the way you do that right thurr right thurr swing your hips when youre walkin let down youre hurr let down your hurr i like the way you do that right thurr right thurr lick your lips when youre talkin that make me sturrchorus  i like the way you do that right thurr right thurr swing your hips when youre walkin let down youre hurr let down your hurr i like the way you do that right thurr right thurr lick your lips when youre talkin that make me sturri like that uhhuh i like that uhhuh i like that uhhuh i like that track stars ooh ooh ooh ooh do what you do i like that yeah i like that yeah i like that yeah i like that chingy ooh ooh ooh ooh do what you do ",1
8,"miss you","aaliyah",2003," its been too long and im lost without you what am i gonna do said i been needin you wantin you said i need you wonderin if youre the same and whos been with you is your heart still mine i wanna cry sometimes i miss youoff to college yes you went away straight from high school you up and left me we were close friends also lovers did everything for one another now youre gone and im lost without you here now but i know i gotta live and make it somehow come back to me can you feel me callin hear me callin for you for youcause itsits been too long and im lost without you what am i gonna do said i been needin you wantin you wonderin if youre the same and whos been with you is your heart still mine i wanna cry sometimes i miss younow im sittin here thinkin bout you and the days we used to share its drivin me crazy i dont know what to do im just wonderin if you still care i dont wanna let you know that its killin me i know you got another life you gotta concentrate baby come backto me can you feel me callin hear me callin for you for you cause itsits been too long and im lost without you what am i gonna do said i been needin you wantin you wonderin if youre the same and whos been with you is your heart still mine i wanna cry sometimes i miss youits been too long and im lost without you what am i gonna do said i been needin you wantin you said i need you wonderin if youre the same and whos been with you is your heart still mine i wanna cry sometimes i miss youi cant be no more since you went away i dont really feel like talkin no one here to love me baby do you understand me i cant do or be without youits been too long and im lost without you tell me what im gonna do what am i gonna do said i been needin you wantin you wonderin if youre the same and whos been with you is your heart still mine i wanna cry sometimes i miss youits been too long and im lost without you what am i gonna do said i been needin you wantin you said i need you wonderin if youre the same and whos been with you is your heart still mine i wanna cry sometimes i miss youits been too long and im lost without you what am i gonna do said i been needin you wantin you said i need you wonderin if youre the same and whos been with you is your heart still mine i wanna cry sometimes i miss you ",1
9,"picture","kid rock featuring sheryl crow",2003," living my life in a slow hell different girl every night at the hotel i aint seen the sunshine in three damn days been fuelling up on cocaine and whisky wish i had a good girl to miss me oh lord i wonder if ill ever change my waysi put your picture away sat down and cried today i cant look at you while im lying next to her i put your picture away sat down and cried today i cant look at you while im lying next to heri called you last night in the hotel everyone knows but they wont tell but their halfhearted smiles tell me something just aint right ive been waiting on you for a long time fueling up on heartaches and cheap wine i aint heard from you in three damn nightsi put your picture away i wonder where you been i cant look at you while im lyin next to him i put your picture away i wonder where you been i cant look at you while im lyin next to him i saw ya yesterday with an old friendi saw you yesterday with an old friendit was the same old same how have you beensince youve been gone my worlds been dark and greyyou reminded me of brighter daysi hoped you were coming home to stay i was headed to churchi was off to drink you awayi thought about you for a long time cant seem to get you off my mind i cant understand why were living life this wayi found your picture today i swear ill change my ways i just called to say i want you to come back home i found your picture today i swear ill change my ways i just called to say i want you to come back home i just called to say i love you come back home ",1
10,"bring me to life","evanescence featuring paul mccoy",2003," how can you see into my eyes like open doors leading you down into my core where ive become so numb without a soul my spirits sleeping somewhere cold until you find it there and lead it back homewake me up wake me up inside i cant wake up wake me up inside save me call my name and save me from the dark wake me up bid my blood to run i cant wake up before i come undone save me save me from the nothing ive becomenow that i know what im without you cant just leave me breathe into me and make me real bring me to lifewake me up wake me up inside i cant wake up wake me up inside save me call my name and save me from the dark wake me up bid my blood to run i cant wake up before i come undone save me save me from the nothing ive becomebring me to life ive been living a lie theres nothing inside bring me to lifefrozen inside without your touch without your love darling only you are the life among the deadall this time i cant believe i couldnt see kept in the dark but you were there in front of meive been sleeping a thousand years it seems ive got to open my eyes to everythingwithout a thought without a voice without a souldont let me die here there must be something wrong bring me to lifewake me up wake me up inside i cant wake up wake me up inside save me call my name and save me from the dark wake me up bid my blood to run i cant wake up before i come undone save me save me from the nothing ive becomebring me to life ive been living a lie theres nothing inside bring me to life ",1
11,"get low","lil jon  the east side boyz featuring ying yang twins",2003,"3 6 9 standing real fine move it to you suck it to me one mo time get low get low get low get low to the window to the wall to the sweat drop down my balls to all you bitches crawl to all skee skee motherfucker all skee skee got dam to all skee skee motherfucker all skee skee got dam shortie crunk so fresh so clean can she fuck that question been harassing me in the mind this bitch is fine i done came to the club about 50th 11 times now can i play with yo panty line the club owner said i need to calm down security guard go to sweating me now we got drunk then a motherfucker threaten me now she getting crunk in the club i mine she work it ands then i like to see the female twerking taking the clothes off buckey naked atl hoe dont disrespect it pa pop yo pussy like this cause yin yang twins in this bitch lil jon and the east side boys wit me and we all like to see ass and tities now bring yo ass over here hoe and let me see you get low if you want this thug now take it to the floor and if yo ass wanta act you can keep yo ass where you at 3 6 9 standing real fine move it to you suck it to me one mo time get low get low get low get low to the window to the wall to the sweat drop down my balls to all you bitches crawl to all skee skee motherfucker all skee skee got dam to all skee skee motherfucker all skee skee got dam let me see you get low you scared you scared you drop dat ass to the floor you scared you scared you let me see you get low you scared you scared you drop dat ass to the floor you scared you scared you turn dat ass shake it fast ya pop dat ass to the left and the right ya turn dat ass shake it fast ya pop dat ass to the left and the right ya now back back back it up a back back back it up a back back back it up a back back back it up now stop oh then wiggle wit yeah now stop oh then wiggle wit yeah now stop oh then wiggle wit yeah now stop oh then wiggle wit wiggle wit it 3 6 9 standing real fine move it to you suck it to me one mo time get low get low get low get low to the window to the wall to the sweat drop down my balls to all you bitches crawl to all skee skee motherfucker all skee skee got dam to all skee skee motherfucker all skee skee got dam now give me my doe back and go get ya friend stupid bitch standing there while im drinking my hen steady looking at me still asking questions times up nigga pass me another contestant hoe move to the left if you aint bout 50th done talk through 3 or 4 songs already looking at a nigga with yo palm all out bitch i aint even seen you dance twerk something baby work something baby pop yo pussy on the pole do yo thang baby slide down dat bitch wit yo little bit then stop get back on the floor catch yo balance then drop now bring it back up clap yo ass like hands i just wanna see yo ass drity dance ying yang we done again and put it on the map like ann 3 6 9 standing real fine move it to you suck it to me one mo time get low get low get low get low to the window to the wall to the sweat drop down my balls to all you bitches crawl to all skee skee motherfucker all skee skee got dam to all skee skee motherfucker all skee skee got dam got dam ya yall twreking a little bit ladies but ya got to twrek alittle bit harder then dat now right now i need all the ladies dat know they look good tonite we want yall to do this shit like this bend over to the front touch toes back dat ass up and down and get low bend over to the front touch toes back dat ass up and down and get low bend over to the front touch toes back dat ass up and down and get low bend over to the front touch toes back dat ass up and down and get low 3 6 9 standing real fine move it to you suck it to me one mo time get low get low get low get low to the window to the wall to the sweat drop down my balls to all you bitches crawl to all skee skee motherfucker all skee skee got dam to all skee skee motherfucker all skee skee got dam",3
12,"baby boy","beyonce featuring sean paul",2003,"certified quality a dat da girl dem need and dem not stop cry without apology buck dem da right way dat my policy sean paul alongside beyonce now hear what da man say dutty ya dutty ya dutty ya beyonce sing it now girl baby boy you stay on my mind fulfill my fantasies cmon baby tell me how you feel i think about you all the time i see you in my dreams baby boy not a day goes by without my fantasies cmon baby tell me whats the deal i think about you all the time i see you in my dreams aah oh my babys fly baby oh yes no hurt me so good baby oh im so wrapped up in your love let me go let me breathe stay out my fantasies ya ready gimme da ting dat ya ready get ya live and tell me all about da tings that you will fantasize i know you dig da way me step da way me make my stride follow your feelings baby girl because they cannot be denied come check me ina night and make we get it amplified me have da ting to run da ship cause im go slip and im go slide and in the words of love i got ta get it certified but i give you da toughest longest kinda ride girl baby boy you stay on my mind fulfill my fantasies i think about you all the time i see you in my dreams baby boy not a day goes by without my fantasies i think about you all the time i see you in my dreams picture us dancin real close in a dark dark corner of a basement party every time i close my eyes its like everyone left but you and me in our own little world the music is the sun the dance floor becomes the sea feels like true paradise to me baby boy you stay on my mind fulfill my fantasies i think about you all the time i see you in my dreams baby boy not a day goes by without my fantasies by by by by i think about you all the time i see you in my dreams baby boy you stay on my mind baby boy you are so damn fine baby boy wont you be mine baby boy lets conceive an angel baby boy you stay on my mind baby boy you are so damn fine baby boy wont you be mine baby boy lets conceive an angel top top girl me and you together is a wrap dat girl driving around da town in your drop top girl you no stop shock girl little more da dutty well rock dat world top top girl me and you together is a wrap dat girl driving around da town in your drop top girl you no stop shock girl little more da dutty well rock dat world baby boy you stay on my mind fulfill my fantasies i think about you all the time i see you in my dreams baby boy not a day goes by without my fantasies i think about you all the time i see you in my dreams i know you gonna like it i know you gonna like it so dont you fight it so dont you fight it",3
13,"shake ya tailfeather","nelly p diddy and murphy lee",2003,"we do it for fun we just do it for fun dirty eat we do it for fun bad boy nelly diddy murphy lee we do it for fun this is history baby bend them trucks we do it for fun stack them bucks we do it for fun come on now and the band played on yeah just like i believe you cool to this we do it for fun if you see me ma we do it for fun bad boys 2 the soundtrack lets go hey girl what your name is where you from turn around who you came with is that your ass or your momma have reindeer i cant explain it but damn sure glad you came here im still a sucker for cornrolls you know i never changed that nah uh your body is banging mamma but where your brains at come on im still the same cat when i was young i was running with bad boys but now im older hope they saw im running with bad boys thats right here come another man unlike no other man candy coated whoa switching in every lane yall help me why dont cha please help me a thug is we then its only two g i like the cocky bow legged ones like white and dominicans hispanics and asians shake it for nelly son manolos manonos i cant tell everybody and their hootchies when you do it do it well let me see you take it off girl go and take it off we can even do it slow we can even do it slow take it where you want to go take it where you want to go just take that ass to the floor pop something move something shake ya tail feather girl go and take it low we can even do it slow we can even do it slow take it where you want to go take it where you want to go just take that ass to the floor pop something move something shake ya tail feather now real girls get down on the floor on the floor get that money honey act like you know like you know mama i like how you dance the way you fit in them pants enter the floor take it low girl do it again you know i love that i love that now where them girls at where the girls at its diddy murphy lee and nelly how you love that shit uh oh come on we got another one player from new york to the dirty how they loving it player baby you impressive lets get to know each other you the best of the best and you got to love it in the dresses the sexiest i had to tell her shes a young janet jackson live in living color look here momma youre dead wrong for having them pants on capris cut low so when you shake it i see your thong my pockets full of dough shake your feathers till the morning its bad boy and nelly man somebody better warn them let me see you take it off girl go and take it off we can even do it slow we can even do it slow take it where you want to go take it where you want to go just take that ass to the floor pop something move something shake ya tail feather girl go and take it low we can even do it slow we can even do it slow take it where you want to go take it where you want to go just take that ass to the floor pop something move something shake ya tail feather oh no i heard them bad boys coming cant stop now got to continue my running yeah because we go party till them lights come on and then my song start thumping because my mike still on yo im the big booty type i like them thick with their mind right awe banging personality conversate when the time right naw im not hard ive got women to handle that they be like the the man when im really a thundercat come on you know the tics connect like voltron collect so much grass popo thinking we mow lawns my gohans dont match that but it matches her head wrap and the seats that i got in the lap im just a juvenile because i be about gs wha keep your women wizzy man they say they have my babies im young like tucker like the cash and the money im going to eat my money man im that damn hungry see im starving like marvin girl ive got sixteen bars of fire is what im starting plus my rats come in packs like sammy and dean martin and i got so many keys youd think i was valet parking shake it for nelly son manolos manonos i cant tell everybody and their hootchies when you do it do it well let me see you take it off girl go and take it off we can even do it slow we can even do it slow take it where you want to go take it where you want to go just take that ass to the floor pop something move something shake ya tail feather girl go and take it low we can even do it slow we can even do it slow take it where you want to go oh no i heard them bad boys coming cant stop now got to continue my running yeah because we go party till them lights come on and then my song start thumping because my mic still on man",3
14,"21 questions","50 cent featuring nate dogg",2003," new york city you are now rapping with 50 cent you gotta love it i just wanna chill and twist a lot catch suns in my 745 you drive me crazy shorty i need to see you and feel you next to me i provide everything you need and i like your smile i dont wanna see you cry got some questions that i got to ask and i hope you can come up with the answers babegirl its easy to love me now would you love me if i was down and out would you still have love for me girl its easy to love me now would you love me if i was down and out would you still have love for me girlif i fell off tomorrow would you still love me if i didnt smell so good would you still hug me if i got locked up and sentenced to a quarter century could i count on you to be there to support me mentally if i went back to a hoopty from a benz would you poof and disappear like some of my friends if i was hit and i was hurt would you be by my side if it was time to put in work would you be down to ride id get out and peel a nigga cap and chill and drive im asking questions to find out how you feel inside if i aint rap cause i flipped burgers at burger king would you be ashamed to tell your friends you feelin me in the bed if i used my tongue would you like that if i wrote you a love letter would you write back now we can have a lil drink you know a nightcap and we could go do what you like i know you like thatgirl its easy to love me now would you love me if i was down and out would you still have love for me girl its easy to love me now would you love me if i was down and out would you still have love for me girlnow would you leave me if youre father found out i was thuggin do you believe me when i tell you you the one im loving are you mad cause im asking you 21 questions are you my soul mate cause if so girl you a blessing do you trust me enough to tell me your dreams im staring at ya trying to figure how you got in them jeans if i was down would you say things to make me smile i treat you how you want to be treated just teach me how if i was with some other chick and someone happened to see and when you asked me about it i said it wasnt me would you believe me or up and leave me how deep is our bond if thats all it takes for you to be gone we only humans girl we make mistakes to make it up i do whatever it take i love you like a fat kid love cake you know my style i say anything to make you smilegirl its easy to love me now would you love me if i was down and out would you still have love for me girl its easy to love me now would you love me if i was down and out would you still have love for me girlcould you love me in a bentley could you love me on a bus ill ask 21 questions and they all about us could you love me in a bentley could you love me on a bus ill ask 21 questions and they all about us ",1
15,"all i have","jennifer lopez featuring ll cool j",2003," love is life and life is living its very special all my loveoh baby dont go baby dont go yeah baby dont go uh baby dont go yeah baby dont go baby dont go yeah yeah why you act like thatits such a shame but im leaving cant take the way you mistreated me and its crazy but oh baby it dont matter whatever dont phase mei dont believe you wanna leave like this i dont believe i just had my last real kiss i do believe well laugh and reminisce wait a minute dont bounce baby lets talk about this manwell im bouncing and im out son i gotta leave you alonecause im good holding down my spot and im good reppin the girls on the block and im good i got this thing on lock so without me youll be fine rightall my pride is all i have pride is what you had baby girl im what you have youll be needing me but too bad be easy dont make decisions when you mad the path you chose to run alone i know youre independent you can make it on your own here with me you had a home oh yeah but time is of the essence why spend it alone huhthe nights i waited up for you oh boy promises you made about coming through so much time you wasted thats why i had to replace youit makes a cat nervous the thought of settling down especially me i was creeping all over town i thought my tender touch could lock you down i knew i had you as cocky as it sounds the way you used to giggle right before i put it down its better when you angry come here ill prove it now come herestop playing you gamin i gotta leave you alonecause im good holding down my spot stop acting like that and im good reppin the girls on the block now you know you need to stop and im good i got this thing on lock so without me youll be fine right here we goall my pride is all i have pride is what you had baby girl im what you have youll be needing me but too bad be easy dont make decisions when you mad the path you chose to run alone i know youre independent you can make it on your own here with me you had a home but time is of the essence why spend it alone huhpeople make mistakes to make up to break up to wake up cold and lonely chill baby you know me you love me im like your homey instead of beef you come hold me i promise im not a phony dont bounce baby console me come hereaint nothing you can say to me that can change my mind i gotta let you go now and nothing will ever be the same so just be on your way go ahead and do your thing now and theres no more to explain to me you know i know your game and im feeling what you doso im bouncing and im out son i gotta leave you alone yeah yeahall my pride is all i have pride is what you had baby girl im what you have youll be needing me but too bad be easy dont make decisions when you mad the path you chose to run alone i know youre independent you can make it on your own here with me you had a home oh yeah but time is of the essence why spend it alone huhall my pride is all i have pride is what you had baby girl im what you have youll be needing me but too bad be easy dont make decisions when you mad the path you chose to run alone i know youre independent you can make it on your own here with me you had a home oh yeah but time is of the essence why spend it alone huhi promise you you know what im sayin ",1
16,"beautiful","christina aguilera",2003," dont look at meeveryday is so wonderful then suddenly its hard to breathe now and then i get insecure from all the pain im so ashamedi am beautiful no matter what they say words cant bring me down i am beautiful in every single way yes words cant bring me down oh no so dont you bring me down todayto all your friends youre delirious so consumed in all your doom ooh trying hard to fill the emptiness the pieces gone left the puzzle undone aint that the way it isyoure beautiful no matter what they say words cant bring you down oh no youre beautiful in every single way yes words cant bring you down oh no so dont you bring me down todayno matter what we do no matter what we do no matter what we say no matter what we say were the song inside the tune yeah oh yeah full of beautiful mistakesand everywhere we go and everywhere we go the sun will always shine the sun will always always shine and tomorrow we might awake on the other sidewere beautiful no matter what they say yes words wont bring us down oh no we are beautiful in every single way yes words cant bring us down oh no so dont you bring me down todayoh oh dont you bring me down today dont you bring me down ooh today ",1
17,"i know what you want","busta rhymes and mariah carey featuring flipmode squad",2003," baby if you give it to me ill give it to you i know what you want you know i got it baby if you give it to me ill give it to you as long as you want you know i got itbaby if you give it to me ill give it to you i know what you want you know i got it baby if you give it to me ill give it to you as long as you want you know i got itbaby if you give it to me ill give it to you i know what you want you know i got it baby if you give it to me ill give it to you as long as you want you know i got itbaby if you give it to me ill give it to you i know what you want you know i got it baby if you give it to me ill give it to you as long as you want you know i got iti will climb a mountain high until our love will touch the sky baby come get more close to me cause this is where your love is supposed to bebaby if you give it to me ill give it to you i know what you want you know i got it baby if you give it to me ill give it to you as long as you want you know i got itbaby if you give it to me ill give it to you i know what you want you know i got it baby if you give it to me ill give it to you as long as you want you know i got iti will climb a mountain high until our love will touch the sky baby come get more close to me cause this is where your love is supposed to bebaby if you give it to me ill give it to you baby if you give it to me ill give it to you baby if you give it to me ill give it to you ",1
18,"im with you","avril lavigne",2003," im standing on a bridge im waitin in the dark i thought that youd be here by now theres nothing but the rain no footsteps on the ground im listening but theres no soundisnt anyone tryin to find me wont somebody come take me home its a damn cold night trying to figure out this life wont you take me by the hand take me somewhere new i dont know who you are but i im with youim looking for a place im searching for a face is anybody here i know cause nothings going right and everythings a mess and no one likes to be aloneisnt anyone tryin to find me wont somebody come take me home its a damn cold night trying to figure out this life wont you take me by the hand take me somewhere new i dont know who you are but i im with youoh why is everything so confusing maybe im just out of my mind yea yea yeaits a damn cold night trying to figure out this life wont you take me by the hand take me somewhere new i dont know who you are but i im with youtake me by the hand take me somewhere new i dont know who you are but i im with you im with youtake me by the hand take me somewhere new i dont know who you are but i im with you im with you im with you ",1
19,"drift away","uncle kracker featuring dobie gray",2003," day after day im more confused yet i look for the light through the pouring rain you know thats a game that i hate to lose and im feelin the strain oh aint it a shameoh give me the beat boys and free my soul i wanna get lost in your rock n roll and drift away give me the beat boys and free my soul i wanna get lost in your rock n roll and drift away wont you take me awaybeginnin to think that im wastin time i dont understand the things i do the world outside looks so unkind and im countin on you you can carry me throughoh give me the beat boys and free my soul i wanna get lost in your rock n roll and drift away give me the beat boys and free my soul i wanna get lost in your rock n roll and drift away wont you take me awayand when my mind is free you know a melody can move me when im feelin blue the guitars comin through to soothe methanks for the joy that youve given me i want you to know that i believe in your song rhythm and rhyme and harmony you help me along oh youre makin me strongoh give me the beat boys and free my soul i wanna get lost in your rock n roll and drift away give me the beat boys and free my soul i wanna get lost in your rock n roll and drift awaygive me the beat boys and free my soul i wanna get lost in your rock n roll and drift away give me the beat boys and free my soul i wanna get lost in your rock n roll and drift awaywont you take me wont you take me i wanna drift away wont you take me away i wanna drift away i wanna drift away take me home let me drift away wont you take me away ",1
20,"magic stick","lil kim featuring 50 cent",2003," i got the magic stick i know if i can hit it once i can hit it twice i hit the baddest chicks shorty you dont believe me then come with me tonight and ill show you magic what what magic i got the magic stickim a freak to the core get a dose once you gon want some more my tongue touch you girl you toes bound to curl this exclusive shit i dont share with the world i have you up early in the mornin moanin back shot proper or low cant stop us been a fiend for this since rakim made hits get the position down pack then its time to switchill rock the boat ill work the middle i speed it up straight beat it up when i aint in the hood with my toast out locn im in the telly workin up a sweat stroke tonights the night you can fall in love you can call your mama right now tell her you met a thug i pop a lot of shit cause i can back it up my left strokes the death strokei got the magic clit i know if i get licked once i get licked twice i am the baddest chick shorty you dont believe me then come with me tonight and ill show you magic what what magic i got the magic clitlil kim not a whore but i sex a nigga so good he gotta tell his boys when it come to sex dont test my skills cause my head game have you head over heels give a nigga the chills have him pay my bills buy a matching lambos with the same color wheels when i aint out shoppin spendin dudes cnotes im in the crib givin niggas deep throatstonight lil kim gon have you in the zone girls call ya crib im answerin the phone guys wanna wife me and give me the ring ill do it anywhere anyhow im down for anything couple of humps give a nigga goosebumps this junk in my trunk aint made for chumps when lil kims around you dont need the lie its the drugs baby im makin ya highi got the magic stick i know if i can hit it once i can hit it twice i am the baddest chick shorty you dont believe me then come with me tonight and ill show you magic what what magic magic i got the magic clitnow put your face in it i know you sprung off in your tongue i know you tastin it sex aint a race but i have a thug nigga breakin records and the time is one minute six seconds magic stick i got the magic box have that ass trickin after one back shot the gifts the ice i like that a lot the minks the leathers the cl dropi got the magic stick i know if i can hit it once i can hit it twice i hit the baddest chicks shorty you dont believe me then come with me tonight and ill show you maaagic what what magic magic i got the magic sticki got the magic stick i know if i get licked once i get licked twice i am the baddest chick shorty you dont believe me then come with me tonight and ill show you magic what what magic magic i got the magic stick ",1
21,"pimp","50 cent",2003," i dont know what you heard about me but a bitch cant get a dollar out of me no cadillac no perms you cant see that im a motherfucking pimpi dont know what you heard about me but a bitch cant get a dollar out of me no cadillac no perms you cant see that im a motherfucking pimpnow shorty she in the club she dancing for dollars she got a thing for that gucci that fendi that prada that bcbg burberry dolce and gabbana she feed them foolish fantasies they pay her cause they want her i spit a little g man and my game got her a hour later have that ass up in the ramada them trick niggas in her ear saying they think about her i got the bitch by the bar trying to get a drink up out her she like my style she like my smile she like the way i talk she from the country think she like me cause im from new york i aint that nigga trying to holla cause i want some head im that nigga trying to holla cause i want some bread i could care less how she perform when she in the bed bitch hit that track catch a date and come and pay the kid look baby this is simple you cant see you fucking with me you fucking with a pimpi dont know what you heard about me but a bitch cant get a dollar out of me no cadillac no perms you cant see that im a motherfucking pimpi dont know what you heard about me but a bitch cant get a dollar out of me no cadillac no perms you cant see that im a motherfucking pimpim bout my money you see girl you can holla at me if you fucking with me im a pimp not what you see on tv no cadillac no greasy head full of hair bitch im a pimp come get money with me if you curious to see how it feels to be with a pimp roll in the benz with me you could watch tv from the backseat of my v im a pimp girl we could pop some champagne and we could have a ball we could toast to the good life girl we could have it all we could really splurge girl and tear up the mall if ever you needed someone im the one you should call ill be there to pick you up if ever you should fall if you got problems i can solve em they big or they small that other nigga you be with aint bout shit im your friend your father and confidant bitchi dont know what you heard about me but a bitch cant get a dollar out of me no cadillac no perms you cant see that im a motherfucking pimpi dont know what you heard about me but a bitch cant get a dollar out of me no cadillac no perms you cant see that im a motherfucking pimpi told you fools before i stay with the tools i keep a benz some rims and some jewels i holla at a ho til i got a bitch confused she got on payless me i got on gator shoes im shopping for chinchillas in the summer they cheaper man this ho you can have her when im done i aint gon keep her man bitches come and go every nigga pimping know you saying its secret but you aint gotta keep it on the low bitch choose with me ill have you stripping in the street put my other hoes down you get your ass beat now niki my bottom bitch she always come up with my bread the last nigga she was with put stitches in her head get your ho out of pocket ill put a charge on a bitch cause i need 4 tvs and amgs for the six ho make a pimp rich i aint paying bitch catch a date suck a dick shit tricki dont know what you heard about me but a bitch cant get a dollar out of me no cadillac no perms you cant see that im a motherfucking pimpi dont know what you heard about me but a bitch cant get a dollar out of me no cadillac no perms you cant see that im a motherfucking pimpyeah in hollywoood they say theres no bness like show bness in the hood they say theres no bness like ho bness you know they say i talk a little fast but if you listen a little faster i aint got to slow down for you to catch up bitch ",1
22,"bump bump bump","b2k and p diddy",2003," we sending this out to all the ladies all over the world all the ladies all over the world all my sexy mamas come on come on a come on nowas we proceed to give you what you need you kno i like it when your body goes bump bump bump bad boy b2k yo talk to em playeri like your lil sexy style i love it when you getting wil uh i see you girl in the club wit me come over her let me talk to you for a minute yeah i wanna tell you somethinggirl you need to be in magazines wit a crown on your head cause yous a ghetto queen like bling bling bling uh come let me find outthe way you shakin that sexy oh body shaped like an hour glass oh unverified yeah lets do it yalli wanna get you to myself i mean me and nobody else yo do the things we do baby there is something that i need from you uh come on check it outbaby turn around and let me see that sexy body go bump bump bump yeah that is all i want to see baby show me come onbaby turn around and let me see that sexy body go yeah bump bump bump the way you throwin that thing at me i can take it uh yeahgirl why you teasin me you gonna have to stop pleasin me stop teasin me i want you while were on this floor you dippin it roun and rouni love the way you put it down you makin me scream for more oh gimme more lets go dont stop come on put your twoway next to mine baby hit me anytimebaby you and me behind close doors oh do you want to be my main squeeze cop whip cop shiny things girl just come wit me and go over to the dance floorbaby turn around and let me see that sexy body go bump bump bump that is all i want to see baby show mebaby turn around and let me see that sexy body go bump bump bump the way you throwin that thing at me i can take ityeah its bad boy baby check this out they call me diddy uh dance for nothin mami plans for take a get on the floor set it up more shake it mami lets ride um your clyde you can be my bonniesee you type for me mami so right for me man she can move it love when she dance to the music she makes me wanna stand like a fool stiff her hands are so smooth that just a simple touch make me loose itgirl thats enough stop moving bump that i pump that girl bring it to me pump that i want that girl sing it wit me likedu du du du duda du du du du du du du duda du du duso lets do it again mami you and a friend mami money aint a thing mami what i gotta spend mami put up you hands for me thats how you dance for me shake it like you can hunni take it from your man mamibaby turn around and let me see that sexy body go oh bump bump bump that is all i want to see baby show me let me yababy turn around and let me see that sexy body go b2k bad boy they call me diddy bump bump bump the way you throwin that thing at me i can take iti see you chris you kno i like it when your body go bump bump bump dont stop lets go lets gobaby turn around and let me see that body go bump bump bump cmon lets go cmon lets go and another one its pandemonium baby ",1
23,"into you","fabolous featuring tamia",2003," baby girl desert stormi cant really explain it im so into you now i wanna be more than a friend to you now when they ask i mention my baby girl in the interviews now and i dont bring the problems from the 90s in the 2 thoutheres no reason to have a friend or two now cuz the kids ready to tell you how he feel in a few vows maybe i speak in general now but girl im gonna do whatever just to keep a grin on you nowwhere i go they wear bikinis in the winter too now what you think about tan lines on the skin of you now why wouldnt i wanna spend a few thou on fifth ave shopping sprees and them dinners to chowi aint concerned with other men would do now as long as when i slide up in you you growl and any dude with you he better be a kin of you now and i aint jealous its the principle nowi really like what youve done to me i cant really explain it im so into you i really like what youve done to me i cant really explain it im so into youcome on ma its more than a flashin i wouldve traded it all in orderly fashion my villa in florida we crashin just off the shore so you can hear when the water be splashinthe drop top 3 in a quarter we dashin flawless diamonds in the water we flashin the money we oughta be stashin i make sure every quarter be cashed in i cant really explain itmy friends be thinking im slippin these girls be thinking im trippin what kinda weed you be smokin what typa drinks you be sippinsweet thing just to think of you dippin would have me with the blue so hard you would think i was crippinnow you relaxin in the benz credit cards with no limits so you dont worry about maxing when you spends but since you been asking about the friends howd you like it if both our names had jackson on the endsi really like what youve done to me i cant really explain it im so into you i really like what youve done to me i cant really explain it im so into youi dont wanna trip but truth is girl the way you cook a stake remind me of them strips in ruth chris you love my smile no matter how chipped my tooth is with you it aint because my whips is ruthlessso sit on chrome dipped up deuces and you aint flattered by canary nvs dipped hey seusses jesus piece other ballers look dumb when they press you five and sixes you dont let them kinda numbers impress youeven though i was somewhat successful being a player was becoming too stressful but ever since this superwoman has come to my rescue my winters been wonderful my summers been speciallets fly to st bart while the villa being painted just so we can get really acquainted the love is real theres no way it can feel like its tainted but i cant really explain it yeahi really like what youve done to me i cant really explain it im so into you i really like what youve done to me i cant really explain it im so into youi really like what youve done to me i cant really explain it im so into you i really like what youve done to me i cant really explain it im so into youoh no no no no no no so into you yeah yeah yeah yeah yeah ",1
24,"cant let you go","fabolous featuring lil mo and mike shorey",2003," baby girl you know my situation and sometimes i know you get impatient but you dont put on a show to get ovations take it to court and go through litigations and i respect ya gangsta treat you like a princess and put some on your neck to thank ya shes my pinch hitta when they startin lineup aint playin right i come off the bench wit herit might sound like im gassin ya but it takes time to get from the back seat to the passenger we been creepin and sneakin just to keep it from leakin we so deep in our freakin that we dont sleep on the weekend wifeys a little bit uptight wonder why i keep comin home in the middle of the night itll be alright if ya bump heads itll be a fight but i said itll be alright cmoni really wanna be wit chu but i gotta be real wit chu i cant leave you alone and i know im livin wrong but i cant let ya go youre the one i want in my life already got a wife cant leave you alone and i know im livin wrong but i cant let ya goyou aint ever step out of line or get out of pocket so i made sure canary sent out your locket to protect you ill get out and cock it and you know the barrel of my gun is big enough to spit out a rocket oh you gon play dumb if cops do come through i gotta keep the top up if my drop do come through but i know the boutiques and shops you run through so i cop her one and cop you one tooyou always get a daily page weekly ring plus you aint too shy to do them freaky things i aint gotta put a band on your finger or worry about you tellin the whole world im your man while on springer at first you was somethin i denied something i would slide just to do somethin in the ride but shorty theres somethin you provide cuz the entry aint as good without somethin on the side you knowi really wanna be wit chu but i gotta be real wit chu i cant leave you alone and i know im livin wrong but i cant let ya go youre the one i want in my life already got a wife cant leave you alone and i know im livin wrong but i cant let ya gouh oh i might be leavin the earth soon my girl gon kill me if she smell the scent of your perfume its gonna be a clip toss if i go back wit stains of your lip gloss on my throwback she wont care if im a platinum rapper if she catch me with an empty magnum wrapper so keep it on the down low call the car celly you seen what happened with mr big and r kellyyou know i care for you anytime this chick is there for you these feelings im share wit you which makes it a little more clear for youi really wanna be wit chu but i gotta be real wit chu i cant leave you alone and i know im livin wrong but i cant let ya go youre the one i want in my life already got a wife cant leave you alone and i know im livin wrong but i cant let ya goi really wanna be wit chu but i gotta be real wit chu i cant leave you alone and i know im livin wrong but i cant let ya go youre the one i want in my life already got a wife cant leave you alone and i know im livin wrong but i cant let ya go ",1
25,"mesmerize","ja rule featuring ashanti",2003," haha yeah what up ma yeah i know i know its all good murder incgirl your stare those eyes i love it when you look at me baby your lips your smile i love it when you kiss me baby your hips those thighs i love it when you thug me baby and i cant deny i love it when you shake it hehe love it when im with you babyi got a fetish with fucking you with the skirt on on a back street in the back seat of a yukon whats taking so long im getting extra impatient waiting for you to tell a nigga to move onbetween me and you we can find each other fly aboard in my private g2 im not trying to g you im trying to see you bent over you know how we do it feet to shoulders bring heat to the coldest night so ferocious promoting the dick game is poorcause in the bed nigga go hard like jordan sweat pouring loving the way you be moaning gripping the sheets looking at me licking at me cause every woman just want to be happy its crazy but baby i love it when im with you babygirl your stare those eyes i love it when you look at me baby your lips your smile i love it when you kiss me baby your hips those thighs i love it when you thug me baby and i cant deny i love it when you shake it hehe love it when im with you babyi wanna get away cause you know like i know and theres a better day coming and i hooked on your lovin believe me and when you want my bodyi know you need me wait for me baby i been going half crazy for your love and i was told that the sex is better then drugs making addictive boy listenyoure the only piece of the puzzle been missing like when you kissing bye bye bye you got a girl thatll ride ride ride so take me tonight and do what you do to me babygirl your stare those eyes i love it when you look at me baby your lips your smile i love it when you kiss me baby your hips those thighs i love it when you thug me baby and i cant deny i love it when you shake it hehe love it when im with you babyshorty ",1
26,"where is the love","the black eyed peas",2003,"whats wrong with the world mama people livin like they aint got no mamas i think the whole worlds addicted to the drama only attracted to things thatll bring the trauma overseas yeah we try to stop terrorism but we still got terrorists here livin in the usa the big cia the bloods and the crips and the kkk but if you only have love for your own race then you only leave space to discriminate and to discriminate only generates hate and when you hate then youre bound to get irate yeah badness is what you demonstrate and thats exactly how anger works and operates man you gotta have love just to set it straight take control of your mind and meditate let your soul gravitate to the love yall yall people killin people dyin children hurt and hear them cryin can you practice what you preach and would you turn the other cheek father father father help us send us some guidance from above cause people got me got me questionin where is the love   love where is the love   the love where is the love   the love where is the love the love the love it just aint the same always unchanged new days are strange is the world insane if love and peace are so strong why are there pieces of love that dont belong nations droppin bombs chemical gasses fillin lungs of little ones with the ongoin sufferin as the youth die young so ask yourself is the lovin really gone so i could ask myself really what is goin wrong in this world that we livin in people keep on givin makin wrong decisions only visions of them dividends not respectin each other deny thy brother a war is goin on but the reasons undercover the truth is kept secret its swept under the rug if you never know truth then you never know love wheres the love yall come on i dont know wheres the truth yall come on i dont know wheres the love yall people killin people dyin children hurt and hear them cryin can you practice what you preach and would you turn the other cheek father father father help us send us some guidance from above cause people got me got me questionin where is the love   love where is the love   the love where is the love   the love where is the love   the love where is the love   love where is the love   the love where is the love   the love where is the love the love the love i feel the weight of the world on my shoulder as im gettin older yall people gets colder most of us only care about money makin selfishness got us followin the wrong direction wrong information always shown by the media negative images is the main criteria infecting the young minds faster than bacteria kids wanna act like what they see in the cinema yo whatever happened to the values of humanity whatever happened to the fairness and equality instead of spreading love were spreading animosity lack of understanding leading lives away from unity thats the reason why sometimes im feelin under thats the reason why sometimes im feelin down theres no wonder why sometimes im feelin under gotta keep my faith alive till love is found and ask yourself where is the love where is the love where is the love where is the love father father father help us send us some guidance from above cause people got me got me questionin where is the love sing wit my yall one world one world we only got one world one world thats all we got one world one world and somethins wrong wit it   yeah somethins wrong wit it   yeah somethins wrong wit world world world yeah we only got one world one world thats all we got one world one world",3
27,"the game of love","santana featuring michelle branch",2003," tell me just what you want me to be one kiss and boom youre the only one for me so please tell me why dont you come around no more cause right now im crying outside the door of your candy storeit just takes a little bit of this a little bit of that it started with a kiss now were up to bat a little bit of laughs a little bit of pain im telling you my babe its all in the game oflove is whatever you make it to be sunshine instead of this cold lonely sea so please baby try and use me for what im good for it aint saying goodbye its knocking down the door of your candy storeit just takes a little bit of this a little bit of that it started with a kiss now were up to bat a little bit of laughs a little bit of pain im telling you baby its all in the game of love its all in this game of loveyou roll me control me console me please hold me you guide me divide me into meso please tell me why dont you come around no more cause right now im dying outside the door of your loving storeit just take a little bit of this a little bit of that it started with a kiss now were up to bat a little bit of laughs a little bit of pain im telling you my babe its all in the game of love all in this game of love its all in the game of love lets play the game of loveroll me control me please hold me im out here on my own on my own ",1
28,"lose yourself","eminem",2003," look if you had one shot or one opportunity to seize everything you ever wanted in one moment would you capture it or just let it slipyo his palms are sweaty knees weak arms are heavy theres vomit on his sweater already moms spaghetti hes nervous but on the surface he looks calm and ready to drop bombs but he keeps on forgettin what he wrote down the whole crowd goes so loud he opens his mouth but the words wont come out hes chokin how everybodys jokin now the clocks run out times up over blaow snap back to reality oh there goes gravity oh there goes rabbit he choked hes so mad but he wont give up that easy no he wont have it he knows his whole back citys ropes it dont matter hes dope he knows that but hes broke hes so stacked that he knows when he goes back to his mobile home thats when its back to the lab again yo this whole rhapsody he better go capture this moment and hope it dont pass himyou better lose yourself in the music the moment you own it you better never let it go you only get one shot do not miss your chance to blow this opportunity comes once in a lifetime you better    meaning  byamandah   editor    lose yourself follows the struggle of brabbit growing up in a detroitarea trailer parkplayed by em himselfin the 2002 american hip hop drama    see all   you better lose yourself in the music the moment you own it you better never let it go you only get one shot do not miss your chance to blow this opportunity comes once in a lifetime you betterthe souls escaping through this hole that its gaping this world is mine for the taking make me king as we move toward a new world order a normal life is borin but super stardoms close to post mortem it only grows harder only grows hotter he blows us all over these hoes is all on him coast to coast shows hes known as the globetrotter lonely roads god only knows hes grown farther from home hes no father he goes home and barely knows his own daughter but hold your nose cause here goes the cold water his hoes dont want him no mo hes cold product they moved on to the next schmo who flows he nose dove and sold nada so the soap opera is told and unfolds i suppose its old partna but the beat goes on da da dumb da dumb da dayou better lose yourself in the music the moment you own it you better never let it go you only get one shot do not miss your chance to blow this opportunity comes once in a lifetime you betteryou better lose yourself in the music the moment you own it you better never let it go you only get one shot do not miss your chance to blow this opportunity comes once in a lifetime you betterno more games im a change what you call rage tear this motherfuckin roof off like two dogs caged i was playin in the beginnin the mood all changed i been chewed up and spit out and booed off stage but i kept rhymin and stepwritin the next cipher best believe somebodys payin the pied piper all the pain inside amplified by the fact that i cant get by with my nine to five and i cant provide the right type of life for my family cause man these god damn food stamps dont buy diapers and its no movie theres no mekhi phifer this is my life and these times are so hard and its getting even harder tryin to feed and water my seed plus see dishonor caught up between bein a father and a primadonna baby mama drama screamin on and too much for me to want to say in one spot another jam or not has gotten me to the point im like a snail ive got to formulate a plot fore i end up in jail or shot success is my only motherfuckin option failures not mom i love you but this trail has got to go i cannot grow old in salems lot so here i go is my shot feet fail me not cause maybe the only opportunity that i gotyou better lose yourself in the music the moment you own it you better never let it go you only get one shot do not miss your chance to blow this opportunity comes once in a lifetime you betteryou better lose yourself in the music the moment you own it you better never let it go you only get one shot do not miss your chance to blow this opportunity comes once in a lifetime you betteryou can do anything you set your mind to man ",1
29,"rock wit u awww baby","ashanti",2003," aw baby aw baby yeah murda inc i want to love you babe want to love you babe ooh baby ashanti chapter two lets rock itcan you rock with me aw baby nonstop with me can you take it to the top with me i just want to love you babe love ya babe always thinking of you babecan you roll with me ooh baby all over me can you take control of me i just want to love you baby always thinking of you babyi think i like how your body feel next to me aw baby when you kissing me aw baby when you loving me i cant describe what i want to do to you tonight aw baby when you come to me ill make it so youll never leavecan you rock with me aw baby nonstop with me stop with me can you take it to the top with me i just want to love you babe love ya babe always thinking of you babe wanna love you babecan you roll with me ooh baby all over me over me can you take control of me i just want to love you baby love you babe always thinking of you babysee i dont know if i can handle you as just a friend aw baby i cant pretend aw baby im so far in but i dont mind as long as i could have you in my life aw baby im satisfied even if youre not just minecan you rock with me aw baby nonstop with me oh no can you take it to the top with me i just want to love you babe i want to love ya babe always thinking of you babe thinking of youcan you roll with me ooh baby all over me over me can you take control of me i just want to love you baby love you always thinking of you babyboy you make me not the same aw baby aw baby ooh baby ooh baby can you feel me when we say aw baby aw baby ooh baby ooh babycan you rock with me aw baby nonstop with me i want to rock with you can you take it to the top with me i just want to love you babe oh always thinking of you babe yeah yeahyeahcan you roll with me ooh baby all over me over me can you take control of me i just want to love you baby yeah yeah oh yeah always thinking of you baby baby babycan you rock with me aw baby nonstop with me stop with me can you take it to the top with me no babe i just want to love you babe i want to love you babe always thinking of you babe im thinking of you babecan you roll with me ooh baby all over me oh can you take control of me i just want to love you baby ooh always thinking of you baby i want to love you babeoh mm love you babe mm yeahyeah yeahyeah yeah oh mm love you babe mm yeahyeah yeahyeah yeah ",1
30,"cry me a river","justin timberlake",2003," you were my sun you were my earth but i bet you didnt know all the ways i loved you noso you took a chance and made other plans but i bet you didnt think that they would come crashing down noyou dont have to say what you did i already know i found out from him now theres just no chance for you and me youre not with me dont it make you sad about ityou told me you loved me why did you leave me all alone now you tell me you need me when you call me on the phonegirl i refuse you must have me confused with some other guy the bridges were burned now its your turn to cry    meaning  byamandah   editor    cry me a river isnt justins only track about infidelity off his 2006 record futuresexlovesounds what goes aroundcomes around is about the demise of    see all   cry me a river cry me a river cry me a river cry me a river yeah yeahyou know that they say some things are better left unsaid but it wasnt like you only talked to him and you know it dont act like you dont know itall of these things people told me keep messin with my head you should have picked honesty then you might not have blown ityeah you dont have to say dont have to say what you did what you did i already know i already know i found out from himnow theres just no chance no chance for you and me you and me youre not with me and dont it make you sad about ityou told me you loved me why did you leave me all alone all alone now you tell me you need me when you call me on the phone baby call me on the phonegirl i refuse you must have me confused with some other guy im not like them baby the bridges were burned now its your turn to cry its your turncry me a river go on and just cry me a river go on and just cry me a river baby go on and just cry me a river yeah yeah oh ohthe damage is done so i guess ill be leavin oh oh the damage is done so i guess ill be leavin oh oh the damage is done so i guess ill be leavin oh oh the damage is done so i guess ill be leavinyou dont have to say dont have to say what you did what you did i already know i already know i found out from him uhnow theres just no chance no chance for you and me you and me youre not with me dont it make you sad about itcry me a river cry me a river cry me a river cry me a river cry me a river cry me a river cry me a river yeah yeah ",1
31,"how you gonna act like that","tyrese",2003," it seems like just the other day that we hooked up i was drivin you was walkin and i swooped you up from that moment on i knew you were the one yeah i was single you was lonely and we fell in lovewe would sit and talk for hours about anything baby you hang up no you hang up on three hang up i bought your whip i paid your rent i gave you everything said youd always be my baby then you bounce how you gonna acthow you gonna up and leave me now how you gonna act like that how you gonna change it up we just finished makin up how you gonna act like thathow you gonna act like we dont be makin love you know we be tearin it up breakin stuff that ghetto love how you gonna trip how could you forget how you gonna act like thatgirl i never thought that lovin you would hurt i did everything a good man would to make it work girl you should have told me you had second thoughts like before i put the down on the house we boughtnow im thinkin you and me was a mistake but then it hits me and im missin all the love we made girl i know that weve been goin through some things yeah but the sun is always shinin even when it rains ohill be the one you kick it to ill be the one that misses you ill be the one to ease your pain ill be the one youll want to gain and youll be the one who cant forget youll be the one thats innocent youll be the one i cant hide youll be the one that makes me cry babyhow you gonna up and leave me now why you do how you gonna act like that why you gotta act like that how you gonna change it up whoa ho baby we just finished makin up how you gonna act like that but i need youhow you gonna act like we oh dont be makin love you know we be tearin it up breakin stuff that ghetto love how you gonna trip how could you forget how you gonna act like thatyou know im willin to do anything just to keep you in my heart keep you in my heart i messed around and gave up everything i thought wed never part yes i did baby i was a player and made the choice to give my heart to you and i gotta keep it that way ooh babyhow you gonna up and leave me now ooh baby how you gonna act like that why you gotta treat me this way how you gonna change it up why you treat me wrong we just finished makin up how you gonna act like that can me somebody tell me whywhy why like we dont be makin love hey you know we be tearin it up breakin stuff oh oh baby that ghetto love how you gonna trip all my friends became your friends how can you forget all my ends became your ends how you gonna act like thatkeepin love ghetto all i want is you keepin love ghetto all i need is you keepin love ghetto all i need is you keepin love ghetto all i need is you all i need is you babehow you gonna up and leave me now oh babe how you gonna act like that how you gonna act like that hey hey how you gonna change it up oh we just finished makin up why you actin so shady oh oh baby how you gonna act like that anything you want in me i got ya heyhow you gonna act like we dont be makin love you know we be tearin it up breakin stuff why you actin so shady that ghetto love how you gonna trip oh oh baby how can you forget how you gonna act like that ",1
32,"rock your body","justin timberlake",2003," dont be so quick to walk away dance with me i wanna rock your body please stay dance with me you dont have to admit you wanna play dance with me just let me rock you till the break of day dance with megot time but i dont mind just wanna rock you girl ill have whatever you have come on lets give it a whirlsee ive been watchin you and i like the way you move so go head girl just do it that ass shakin thing you doso you grab your girls and you grab a couple more and you all could meet me in the middle of the floor said the air is thick its smellin right so you pass to the left then you sail to the rightdont be so quick to walk away dance with me i wanna rock your body please stay dance with me you dont have to admit you wanna play dance with me just let me rock you till the break of day dance with mei dont mean no harm just wanna rock you girl we could move but we lets go lets give it a whirlsee it appears to me you like the way i move i tell you what im gon do pull you close to share my grooveso you grab your girls and you grab a couple more and you all could meet me in the middle of the floor said the air is thick its smellin right so you pass to the left then you sail to the rightdont be so quick to walk away dance with me i wanna rock your body please stay dance with me you dont have to admit you wanna play dance with me just let me rock you till the break of day dance with metalk to me boy no disrespect i dont mean no harm talk to me boy i cant wait to have you in my arms talk to me boy hurry up cause youre takin too long talk to me boy bet ill have you naked by the end of this songso what did you come here for i came to dance with you you dont wanna hit the floor get some romance with you been searchin for love for evermore ill take a chance if love is here on the floor girlyeah dance with me yeah come on babydont be so quick to walk away dance with me i wanna rock your body please stay dance with me you dont have to admit you wanna play dance with me just let me rock you till the break of day dance with metalk to me boy no disrespect i dont mean no harm talk to me boy i cant wait to have you in my arms talk to me boy hurry up cause youre takin too long talk to me boy bet ill have you naked by the end of this songdont be so quick to walk away i was just thinkin of you dont be so quick to walk away we could do somethin dont be so quick to walk away i like the way you look right now dont be so quick to walk away come over here babyare you feelin me lets do somethin lets make a bet cause ii bet ill have you naked by the end of this song ",1
33,"no letting go","wayne wonder",2003," got somebody shes a beauty very special really and truly take good care of me like its her duty want you right by my side night and dayno letting go no holding back because you are my lady when im with you its all a that girl i am so glad weve dated no letting go no holding back no holding back no when im with you its all a that all a thatthey say good things must come to an end but im optimistic about being your friend though i made you cry by my doings with keisha and annesha but that was back thenno letting go no holding back because you are my lady when im with you its all a that girl i am so glad weve dated no letting go no holding back no holding back no when im with you its all a that all a thatreally appreciate you loving me after all that weve been through really appreciate you loving me all times timegot somebody shes a beauty very special really and truly take good care of me like its her duty want you right by my side night and dayno letting go no holding back because you are my lady when im with you its all a that girl i am so glad weve dated no letting go no holding back no holding back no when im with you its all a that ",1
34,"frontin","pharrell featuring jayz",2003," dont wanna sound full of myself or rude but you aint looking at no other dudes cause you love me im sorry but so sexyso you think about a chance you find yourself trying to do my dance maybe cause you love me uh you do it wellso then we tried aint feeling this love now because you werent used to how fast we touched fast we touched then we locked eyes and i knew i was in there and i was gon tear ya ass up tear ya ass upi know that im carrying on never mind if im showing off i was just frontin you know i want ya babe im ready to bet it all unless you dont care at all but you know i want ya you should stop frontin babetrying to be the best girlfriend you could be but still you sneak and look at me and girl i love it then you give your other girl a shove tell her you gon palm her ass like it was and shes gon love it whoa oh whoa yeah yeahso then we tried aint feeling this love now because you werent used to how fast we touched fast we touched then we locked eyes and i knew i was in there and i was gon tear ya ass up tear ya ass upi know that im carrying on never mind if im showing off i was just frontin you know i want ya babe im ready to bet it all unless you dont care at all but you know i want ya you should stop frontin babewe got another one phareal dance ooh ooh i call you phareal cause you the truest haha young whoa oh oh ohuh yeah dance ooh ooh yeah lemme talk to em whoa oh oh oh im a keep it realeverytime your name was brought up i would act all nonchalant infront of an audience like if you was just another shorty i put the naughty on but uh truth be told you do me for a loop this hovim too old to be frontin when im feeling denzel and you acting like you aint appealing but you are stuting like you aint my only girl but you are i was just frontin im ready to stop when you arei know that im carrying on never mind if im showing off i was just frontin you know i want ya babe im ready to bet it all unless you dont care at all but you know i want ya you should stop frontin babedance ooh ooh whoa oh oh oh dance ooh ooh whoa oh oh oh ",1
35,"landslide","dixie chicks",2003," i took my love and i took it down climbed a mountain then i turned around and i saw my reflection in the snow covered hills well the landslide brought me downoh mirror in the sky what is love can the child within my heart rise above can i sail through the changing ocean tides can i handle the seasons of my lifeuh ah uh ah uh ahwell ive been afraid of changin cause i built my life around you but time makes you bolder children get older im getting older toowellwell ive been afraid of changin cause i built my life around you but time makes you bolder children get older im getting older toowell im getting older tooso take this love and take it down yeah and if you climb a mountain and ya turn around and if you see my reflection in the snow covered hills well the landslide brought me downand if you see my reflection in the snow covered hillswell maybe well maybe well maybethe landslide will bring you down ",1
36,"work it","missy elliott",2003," dj please pick up your phone im on the request linethis is a missy elliott onetime exclusive come on is it worth it let me work it i put my thing down flip it and reverse it ti esrever dna ti pilf nwod gniht ym tup i ti esrever dna ti pilf nwod gniht ym tup iif you got a big let me search it and find out how hard i gotta work ya ti esrever dna ti pilf nwod gniht ym tup i ti esrever dna ti pilf nwod gniht ym tup iid like to get to know ya so i could show ya put the pussy on ya like i told ya gimme all your numbers so i could phone ya your girl actin stank then call me over not on the bed lay me on your sofa phone before you come i need to shave my chocha you do or you dont or you will or wont ya go downtown and eat it like a vulture see my hips and my tips dont ya see my ass and my lips dont ya lost a few pounds and my whips for ya this the kinda beat that go ratata ratatatatatatatatata sex me so good i say blahblahblah work it i need a glass of water boy oh boy its good to know ya    meaning  byjamesg   editor    work it is a hip hop song written and produced by american rapper missy elliott and her producer tim timbaland mosley it was released as the lead single    see all   is it worth it let me work it i put my thing down flip it and reverse it ti esrever dna ti pilf nwod gniht ym tup i ti esrever dna ti pilf nwod gniht ym tup iif you got a big let me search it and find out how hard i gotta work ya ti esrever dna ti pilf nwod gniht ym tup i ti esrever dna ti pilf nwod gniht ym tup i come onif you a fly gal get your nails done get a pedicure get your hair did boy lift it up lets make a toasta lets get drunk thats gon bring us closer dont i look like a halle berry poster see the belvedere playin tricks on ya girlfriend want to be like me never you wont find a bitch thats even better i make you hot as las vegas weather listen up close while i take it backwards im not a prostitute but i could give you what you want i love your braids and your mouth full of floss love the way my ass go bumbumbumbum keep your eyes on my bumbumbumbumbum and think you can handle this gadongadongdong take my thong off and my ass go vroom cut the lights off so you see what i could dois it worth it let me work it i put my thing down flip it and reverse it ti esrever dna ti pilf nwod gniht ym tup i ti esrever dna ti pilf nwod gniht ym tup i repeat x2if you got a big let me search it and find out how hard i gotta work ya ti esrever dna ti pilf nwod gniht ym tup i ti esrever dna ti pilf nwod gniht ym tup i come onboys boys all type of boys black white puerto rican chinese boys whythaithaiotoyothaithai rockthaithaiotoyothaithai girls girls get that cash if its 9 to 5 or shakin your ass aint no shame ladies do your thang just make sure you ahead of the game just cause i got a lot of fame supa prince couldnt get me change my name papa kunta kinte a slave again no sir picture black sayin oh yes a master picture lil kim dating a pastor minnie me and big ren can out last ya who is the best i dont have to ask ya when i come out you wont even matter why you act dumb like uh duh so you act dumb like uh duh as the drummer boy go barompoppompom give you somesomesome of this cinnabunis it worth it let me work it i put my thing down flip it and reverse it ti esrever dna ti pilf nwod gniht ym tup i ti esrever dna ti pilf nwod gniht ym tup iif you got a big let me search it and find out how hard i gotta work ya ti esrever dna ti pilf nwod gniht ym tup i ti esrever dna ti pilf nwod gniht ym tup i come onto my fellas i like the way you work that to my ladies you sure know how to work that ",1
37,"03 bonnie  clyde","jayz featuring beyonce",2003,NA,NA
38,"dont mess with my man","nivea featuring jagged edge",2003," uh i like it baby yeah uh one time for the club yeeah two time for my thugs uhhuh three times for my ladies cmon cmon cmon ooh oh uh nivea yall je yall oooh uhuh je yallit was hard to find a brotha that was down for me so im tellin everybody let him be cause hes mine and i cant take no pigeons tryna take my baby so i thought i had to let you know find someone that you can call your own cause now youre walkin in the danger zone and if i touch you ill be wrongif you mess with my man ima be the one to break it to ya got my girls got my man so find your own and leave mine alone dont mess with my man ima be the one to break it to ya heres a little advice for you find your own manit was hard to find a girl thats really down for me seems like a lot of niggas tryin me cause they tryna take my baby oh what the hell naw so now you really better check yourself messin with my girl is bad for your health and so you know you will be dealt with better find your own girlif you mess with my girl ima be the one to break it to ya got my niggas got my girl so find your own and leave mine alone dont mess with my girl ima be the one to break it to ya heres a little advice for you find your own girlgirl im warning you if you want my man you should just keep your hands to yourself nownow and playa im warning you if you want my girl i suggest that you look but dont touch nownowit was hard to find a brotha that was down for me dont mess with my man its hard to find a girl thats really down for me dont mess with my girl hard to find a brotha that was down for me dont mess with my man so hard to find a girl thats down for me dont mess with my girlif you mess with my man ima be the one to break it to ya got my girls got my man so find your own and leave mine alone dont mess with my man ima be the one to break it to ya heres a little advice for you find your own manif you mess with my girl ima be the one to break it to ya got my niggas got my girl so find your own and leave mine alone dont mess with my girl ima be the one to break it to ya heres a little advice for you find your own girlif you mess with my man ima be the one to break it to ya got my girls got my man so find your own and leave mine alone dont mess with my man ima be the one to break it to ya heres a little advice for you find your own manif you mess with my girl ima be the one to break it to ya got my niggas got my girl so find your own and leave mine alone dont mess with my girl ima be the one to break it to ya heres a little advice for you find your own girl ",1
39,"so gone","monica",2003," so gone over you you you you yeah new monica woosilly of me devoted so much time to find you unfaithful boy i never lost my minddrive pass your house every night in an unmarked car wondering what she had on me to make you break my heart yeahyou make me feel you make me feel im so gone so gone oh you make me you make me feel whoa and i love you to love you baby i so gone ohnights i couldnt sleep uh you let the sun beat you home i asked myself over again what am i doing wrongto make you stay out all night and not think to call what does she have over me to make him not think to call homeyou make me feel you make me feel im so gone so gone oh you make me you make me feel whoa and i love you to love you baby i so gone ohlisten boy im a rowdy chick some times i have to fight cause my mouth too slick baby why you doing me like i aint worth this shit make me wanna ride passed your house and sit kick down your door and smack your chick just to show you monica not having it so in love with you like a drug habit get so gone you treat me so unrealwhat she do i do better oh oh  what she do to make you love her what did she do is it real or forever baby please cant we stay together is it real or foreverwhat she do i do better yeah yeah yeah yeah what she do to make you love her yeah oh  is it real or forever is it real baby please cant we stay together ohwhoa and i love you to love you baby whoa and i love you to love you baby whoa and i love you to love you baby oh whoa and i love you to love you baby whoa and i love you to love you baby whoa and i love you to love you baby just to show you monica not having it yeahyou make me feel you make me feel im so gone so gone oh you make me you make me feel whoa and i love you to love you baby i so gone ohsaid that i need you i dont really need you said that i need you oh ",1
40,"air force ones","nelly featuring st lunatics",2003," big boy big boy big boyi said give me two pairs cause i need two pairs so i can get to stomping in my air force ones big boy stomping in my air force onesi like the all white high top strap with the gum bottom big boy theres something bout them thats dirty why i got em big boy i leave um strapped and laced and come up out um big boy the last person that touched em i been shot em big boynow if you looked and seen lime green forces and kiwi big boy you couldnt get this color if you had a personal genie big boy you now i keep it hiphop my niggas flip flop big boy yea my force ones and tip top me now form a flip flop big boyi like the limited edition to kaki and army green big boy patent leather pin stripe you should see how i do the strings big boy size twelve with the strap red and white with a cardinal cap big boy all flavors well it just depend on when and dont get me where i am at big boydont get me dont get me wrong man and murphy lee aint dumb man big boy cause if the shoe is on the shelf you should have some man big boy you can not sit up and tell me that you have none man big boy you may not have three or four but you got one man big boyi said give me two pairs cause i need two pairs so i can get to stomping in my air force ones big boy stomping in my air force onesi said give me two pairs cause i need two pairs so i can get to stomping in my air force ones big boy stomping in my air force oneswe up in footlocker im looking like i need those big boy ten in a half and if you got em give me two of those big boy i can tell she never seen murphy lee before big boy cause shes just standing there as if im shooting free throws big boy i said excuse me miss i only wanna buy shoes big boy she said i love you murph especially in the white in blue big boy i said the white in blue sound nice make it twice big boy and i signed an autograph thanks for the advice big boyi keep it real dirty dirty you know how i do big boy purple in gold with the lakers the broncos the orange in blue big boy i like em floppy with ankle socks lows mids and high tops big boy with the clear sole but this tims and fat laces with it is cold big boy but when the winter goes and the hot summer flows big boy then its back to the all purpose with em and dots in the toe big boy then im stopping this dough that im spending fa sure big boy on them nike air force n e behind the o big boyok li i treat my shoe like my ride big boy chrome on the fat laces at what wood on the inside big boy spray candy on the swoosh with the electric poofs big boy since i put a kit on the sole now i got a wider shoe big boy you see that low misk with the purple coop im driving them big boy kyjuan where you getting them colors are you dying them big boy ten is my size in them no point in tiein them big boy aint no point in trying these on you know im buying them big boynow dont nothing get the hype on first site like white on whites big boy them three quarters them lows they all tight big boy the only problem they only good for one night big boy cause once you scuff um you fucked up your whole night big boy whats my basis the look up sto on his faces big boy this kids outrageous he buying them by the cases big boy cause once i cop um gut um and switch the laces big boy they all purpose ya heard me kinda like my daytons big boyi said give me two pairs cause i need two pairs so i can get to stomping in my air force ones big boy stomping in my air force onesi said give me two pairs cause i need two pairs so i can get to stomping in my air force ones big boy stomping in my air force ones big boysi wore spurs at first now theres tape on them big boy damn when those come out so i write the date on them big boy these louies vuitton ones you gotta wait on them big boy i had to get em early so i spent more cake on them big boylook im trying to keep it up like a one minute man big boy while ali on the kawasaki two head bands big boy jewellery and all fish bowl in the mall big boy i got some fifteens security buying shoes and all big boynow some time i get em free some time i gotta pay big boy walk in the mall and they now what im bout to say big boy gimme the black and platinum and leather gray big boy ones in the back and the pair you got on display check big boynow were the boxes were i keep mine keep mine you should beep mine big boy beep mine maybe once or twice but never three times big boy im just a sneaker pro i love pumas and shell toes big boy but cant nothing compare to a fresh crispy white pair big boyi said give me two pairs cause i need two pairs so i can get to stomping in my air force ones big boy stomping in my air force onesi said give me two pairs cause i need two pairs so i can get to stomping in my air force ones big boy stomping in my air force onesbig boy big boy big boy big boy ",1
41,"never leave you uh oooh uh oooh","lumidee",2003,"lumidee feat busta rhymes fabolous busta rhymes whoo yeah hey yo techs move where ya black its gonna be one of them hot summers yeah busta bust down uh oh uh oh uh oh uh oh here we go uh oh uh oh uh oh uh oh sling po uh oh uh oh uh oh uh oh lumidee hey yo ya know why she going uh oh right check it you got a hotter other than my copacabana mama you gotta like my dick when im loving persona mama always love to get with you whenever u need me mama holla how you check me can you give me the oochie walla walla swallow a couple shots of jag and make a dolla lil mama in the crib with a poke to complete your scalla talk about an example of a shorty that might need to prowla got a chick in the bug it come with a little shoppahora take you to the caribbean down the carolina to the mediterranean and enjoy the water when the role is wacky you keepin me stocky takin care of this super mike when you check on your papi when youre right baby hug me with all your might and put it on cause you know its on tonight break up or make up you know we im gone when you find an empty ride we will be together and still be bright lumidee never ever wanna let you go tell me what youre feeling cause i want to know if youre around you know im down ill be that girl that keeps you around im only here just because it feels good say enough to keep you right believe your love i never thought youd be the one that make me shine brighter than the sun there aint no ups and downs no winning out youre here right now chorus if you want me to stay ill never leave if you want me to stay well always be if you want me to stay love endlessly if you want me to stay if you want me to stay ill never leave you uh oh uh oh uh oh uh oh fabolous fabolous uhlumidee i aint never gon believe whoever gonna leave it feels so good on my arm somethin like the baseball jacket with a leather on the sleeve all flooded tommys that cost seven hundred gs you lovin hate the type that love everyone to see baby girl go down like she never wanna breathe whoouh oh i got a playa right cause this kid dont usually let them stay tonight and when i know you wrong i say it right and when i wanna say no i say i might cause its real talk you know it aint another and anytime im gone you know im thinkin of you and anytime you need you know i got you covered you know none of the others do what i does i keep your rocks bluer than hers keep your shoes newer than hers and i do it because uh chorus",3
42,"beautiful","snoop dogg featuring pharrell and charlie wilson",2003," yeah yeah yeah yeah oh yeah theres something about you yeah yeah yeah yeah oh yeah theres something about youbeautiful i just want you to know oh youre my favorite girl oh yeah theres something about youbeautiful i just want you to know oh youre my favorite girl oh yeah theres something about youi know you gon lose it this new snoop shit come on baby boo you gotsta get into it oh dont fool wit the player with the cool whip yeahyeah you know im always on that cool shit walk to it do it how you do it have a glass lemme put you in the mood and oh lil cutie lookin like a student long hair with ya big fat booty back in the days you was a girl i went to school wit had to tell your moms and sister to cool it oh the girl wanna do it i just might do it here to walk wit some pimppimp clue wit mommy dont worry i wont abuse it hurry up and finish so you can watch clueless ohhooo i laugh at these niggas when they ask who do this but everybody know who girl that you isbeautiful i just want you to know oh youre my favorite girl oh yeah theres something about youbeautiful i just want you to know oh youre my favorite girl oh yeah theres something about youwhen i see my baby boo shit i get foolish smack a nigga that tries to pursue it oh homeboy she taken just move it i asked you nicely dont make the dogg lose it we just blow dro and keep the flow movin in a 64 me and baby boo cruisin oh body rag interior blue and have them hydraulics squeakin when we screwin now shes yellin hollerin out snoop and hootin hollerin hollerin hootin oh black and beautiful you the one im choosin hair long and black and curly like youre cuban keep groovin thats what we doin and we gon be together until your moms move in ohoh yeah theres something about youbeautiful i just want you to know oh youre my favorite girl oh yeah theres something about youbeautiful i just want you to know oh youre my favorite girl oh yeah theres something about yousee i just want you to know that you are really special oh why oh why oh why oh whysee i just want you to know that you are really special oh why oh why oh why oh whyoh yeah theres something about yousnoop dogg clothing thats what im groomed in you got my pictures on the wall in your roomin oh girls be complainin you keep me boomin but girls like that wanna listen to pat boone oh yeah theres something about you yous a college girl but that dont stop you from doin come and see the dogg in a hood near youin oh you dont ask why i roll wit a crew and twist up my fingers and wear dark bluein oh yeah theres something about you on the east side thats the crew i choose nothin i do is new to you ohhooo i smack up the world if they rude to you cause baby girl youre so beautifulbeautiful i just want you to know oh youre my favorite girl oh yeah theres something about youbeautiful i just want you to know oh youre my favorite girl oh yeah theres something about yousee i just want you to know that you are really special oh why oh why oh why oh whysee i just want you to know that you are really special oh why oh why oh why oh whysee i just want you to know that you are really special oh why oh why oh why oh whysee i just want you to know that you are really special oh why oh why oh why oh whyyeah oh yeah theres something about you yeah oh yeah theres something about you yeah oh yeah theres something about you ",1
43,"gossip folks","missy elliott featuring ludacris",2003," yo yo yo move out of the way we got missy elliott coming through girl that is missy elliott she lost a lot of weight girl i heard she eats one cracker a day oh well i heard the bitch was married to tim and started fucking with trina i heard the bitch got hit with three zebras and a monkey i cant stand the bitch no waywhen i walk up in the piece i aint gotta even speak im a bad mamajama goddammit motherfucker you aint gotta like me how you studying these hoes need to talk what you know and stop talking bout who im sticking and licking jus mad it aint yours i know yall poor yall broke yall job jus hanging up clothes step to me get burnt like toast muthafuckas adios amigos halves halves wholes wholes i dont brag i mostly boast from the va to the la coast iffy kiffy izzy ohmusi ques i sews on bews i pues a twos on que zat pue zoo my kizzer pous zigga ay zee its all kizza its always like its all kizza its always like na zound wa zee wa zoom zoom zeewhen i pull up in my whip bitches wanna talk shit im driving im glad and im styling in these muthafuckas eyes did you see it im gripping these curbs skuur did ya heard i love em my fellas my furs i fly like a bird chicken heads on the prowl who you trying fuck now naw you aint getting loud better calm down for i smack your ass down i need my drums bass high has to be my snare strings horns and i need my tim sound right left izzy kizzy looky heremusi ques i sews on bews i pues a twos on que zat pue zoo my kizzer pous zigga ay zee its all kizza its always like its all kizza its always like na zound wa zee wa zoom zoom zeei dont go out my house shorty you just waiting to see who gon roll up in the club and then report that next week just wanna see who i am fucking boy sniffing some coke i know by the time i finish this line im a hear this on the radioyeah uh huh okay once upon a time in college park where they live life fast and they scared of dark there was a little nigga by the name of cris nobody paid him any mind no one gave a shit knowing he could rap no one lifted a hand so he went about his business and devised a plan made a cd and then he hit the block 50 thousand sold seven dollars a pop hold the phone three years later steeped out the swamp with ten and a half gators all around the world on the microphone leaving the booth smelling like burberry cologne still riding chrome got bitches in the kitchen never home alone and hes on the grind please let me know if hes on your mind and respect youll give me ludacris i live loud just like timmy fuck have to clear these rumors i got a headache and its not from tumors get up on my lap and get my head sucked tight sprayed so i never let the bed bugs bight hard to the core core to the right drop down turn around pick a bale of cottonmusi ques i sews on bews i pues a twos on que zat pue zoo my kizzer pous zigga ay zee its all kizza its always like its all kizza its always like na zound wa zee wa zoom zoom zeeyo straight up missy killed that shit tonight for real i know i know i dont even care about her being preganant by michael jackson you know what we should do we should go get her album when it comes out there she go there she go there she heeeey misssyhi missy whats up fools you think i aint knowin yall broke milli vanilli jay jay fan wannabes aint over here gossiping bout me yo how bout you buff these pumas for 20 cents so your lights wont get cut off you soggy breasts cow stomachs yo take those baby gap shirts off too you just mad cuz payless ran out of plastic pumps for the after party yo by the way go get my album damn ",1
44,"miss independent","kelly clarkson",2003," miss independent miss selfsufficient miss keep your distance miss unafraid miss out of my way miss dont let a man interfere no miss on her own miss almost grown miss never let a man help her off her throne so by keeping her heart protected shed never ever feel rejected little miss apprehensive said ooh she fell in lovewhat is the feelin takin over thinkin no one could open my door surprise its time to feel whats real what happened to miss independent no more the need to be defensive goodbye old you when love is truemiss guarded heart miss play it smart miss if you want to use that line you better not start no but she miscalculated she didnt want to end up jaded and this miss decided not to miss out on true love so by changing her misconceptions she went in a new direction and found inside she felt a connection she fell in lovewhat is the feelin takin over thinkin no one could open my door surprise its time to feel whats real what happened to miss independent no more the need to be defensive goodbye old you when love is truewhen miss independence walked away no time for love that came her way she looked in the mirror and thought today what happened to miss no longer afraid it took some time for her to see how beautiful love could truly be no more talk of why cant that be me im so glad i finally seewhat is the feelin takin over thinkin no one could open my door surprise its time to feel whats real what happened to miss independent no more the need to be defensive goodbye old you when love is true ",1
45,"calling all angels","train",2003," i need a sign to let me know youre here all of these lines are being crossed over the atmosphere i need to know that things are gonna look up cause i feel us drowning in a sea spilled from a cupwhen there is no place safe and no safe place to put my head when you can feel the world shake from the words that are saidand im calling all angels and im calling all you angelsand i wont give up if you dont give up i wont give up if you dont give up i wont give up if you dont give up i wont give up if you dont give upi need a sign to let me know youre here cause my tv set just keeps it all from being clear i want a reason for the way things have to be i need a hand to help build up some kind of hope inside of meand im calling all angels and im calling all you angelswhen children have to play inside so they dont disappear while private eyes solve marriage lies cause we dont talk for years and football teams are kissing queens and losing sight of having dreams in a world where what we want is only what we want until its oursand im calling all angels and im calling all you angelsand im calling all angels i wont give up if you dont give up i wont give up if you dont give up and im calling all you angels i wont give up if you dont give up i wont give up if you dont give upcalling all you angels i wont give up if you dont give up calling all you angels i wont give up if you dont give up calling all you angels i wont give up if you dont give up ",1
46,"damn","youngbloodz featuring lil jon",2003," ok ok ok ok ok ok this sean paul lil john jbo youngbloodz you already know how we do it homeboy its atown 105 road for dem hoes its atown east side for dem hoes attic crew you already know lil john eastside boyz and yo boy sean paul let me tell ya like this here boy lets gothey callin me to come back to the streets sean p aka sharp crease said it was necessary these sucka niggaz out here very scary they come from the hole they livin in the month of february ok then put a sissy nigga on display then kick in ya door and have my folk dem bring dem ks in im still attic adouble tisee it aint a hoe out there fo real who dont know bout me bitch im fo sho wit it dont make me pop that trunk to the lac bitch i will go get it and i aint selfish i will let you and your hoe feel it wont catch me sippin on no cris and got a cold billy its youngbloodz atown malt liquor sippin comin straight from the gutter toetag a motherfucker leave em under a cover lil john he drop the beat that make ya bounce like rubber sean paul he tote the heat to make ya mug then slug ya yeahif you dont give a damn we dont give a fuck if you dont give a damn we dont give a fuck if you dont give a damn we dont give a fuck if you dont give a damn we dont give a fuck dont start no shit it wont be no shit dont start no shit it wont be no shit dont start no shit it wont be no shit dont start no shit it wont be no shiti post up get to it drink hand in hand they call me mr herringbone cause thats my right hand man old school straight foolish like no other indeed with lil john its youngbloodz they crunk as can be attic crew 105 thats if you lookin to rumble cock back bust aim now i done got yo number in the club you gone feel it when it drop this summer like rain we gone pour and hit you hard like thunder cause in the dirty we dem boys that drank you under the table where dem niggaz pimp hoes in fly suits and gators in my chevy so super im the one to call just dial 1800430 slash alcohol and dawg im not the one that you really just want to clown im cool in my way but shit still i shut em down and piss on them haters jbo he cuts a fool in the cut bout slizzard somewhere thats how we do yeahif you dont give a damn we dont give a fuck if you dont give a damn we dont give a fuck if you dont give a damn we dont give a fuck if you dont give a damn we dont give a fuck dont start no shit it wont be no shit dont start no shit it wont be no shit dont start no shit it wont be no shit dont start no shit it wont be no shitout of town hard heads get swiss cheesed up and you gon need more than stitches to patch that leak up chump like me up my mouth tbd up with the plush leather guts steady grippin the butt oh you fo sho with it then pull yo pistol show a nigga you aint hoe with it and i aint selfish i will let you and your folk feel it talkin big boy shit me muggin like a motherfucker my hand on my dickcause at a grip we keep it jumpin like it aint nuttin new we started off with shake em off so look up now oh guess who its them boys from the bottom who took you down 85 and hit you with that youway so dont be surprised we buckin blowin chillin and sippin on something good im peepin out the scenery and wishin a nigga would in case it just might pop im bout ready to lock and load to take you through the south to show you how we throw dem bowsif you dont give a damn we dont give a fuck if you dont give a damn we dont give a fuck if you dont give a damn we dont give a fuck if you dont give a damn we dont give a fuck dont start no shit it wont be no shit dont start no shit it wont be no shit dont start no shit it wont be no shit dont start no shit it wont be no shitif you dont give a damn we dont give a fuck if you dont give a damn we dont give a fuck if you dont give a damn we dont give a fuck if you dont give a damn we dont give a fuck dont start no shit it wont be no shit dont start no shit it wont be no shit dont start no shit it wont be no shit dont start no shit it wont be no shit ",1
47,"this is the night","clay aiken",2003," when the world was in upside down i could take all the time i had but im not gonna wait when a moment can vanish so fast cause every kiss is a kiss you can never get backlift me up in your arms if you told me thats where heaven is well youd be right ive been waiting forever for this this is the nightwhen the answer to all my dreams is as close as a touch away why am i here holding back what im trying to saylift me up in your arms if you told me that is where heaven is well youd be right hold me close to your heart i will go with you to the end of the earth and well fly ive been waiting forever for this this is the nightthis is the night where we capture forever and all out tomorrows begin after tonight we will never be lonely againlift me up in your arms if you told me that is where heaven is well youd be right hold me close to your heart i would go with you to the end of the earth and well fly ive been waiting forever for this this is the night ",1
48,"your body is a wonderland","john mayer",2003," we got the afternoon you got this room for two one thing ive left to do discover me discoverin you ohone mile to every inch of your skin like porcelain one pair of candy lips and your bubblegum tongue uh uh uhand if you want love then make it swim in a deep sea of blankets take all your big plans and break em this is bound to be a whileyour body is a wonderland your body is a wonder ill use my hands your body is a wonderlandsomething bout the way the hair falls in your face i love the shape you take when crawlin towards the pillowcaseyou tell me where to go and though i might leave to find it ill never let your head hit the bed without my hand behind ityou want love well make it swim in a deep sea of blankets take all your big plans and break em this is bound to be a whileyour body is a wonderland your body is a wonder ill use my hands your body is a wonderlanddamn baby you frustrate me i know youre mine all mine all mine but you look so good it hurts sometimesyour body is a wonderland your body is a wonder ill use my hands your body is a wonderland your body is a wonderland oh no ",1
49,"headstrong","trapt",2003," circling your circling your circling your head contemplating everything you ever said now i see the truth i got a doubt a different motive in your eyes and now im out see you lateri see your fantasy you want to make it a reality paved in gold see inside inside of our heads yeah well now thats overi see your motives inside decisions to hideback off ill take you on headstrong to take on anyone i know that you are wrong headstrong were headstrongback off ill take you on headstrong to take on anyone i know that you are wrong and this is not where you belongi cant give everything away i wont give everything awayconclusions manifest your first impressions got to be your very best i see youre full of shit and thats alright thats how you play i guess you get through every night well now thats overi see your fantasy you want to make it a reality paved in gold see inside inside of our heads yeah well now thats overi see your motives inside decisions to hideback off ill take you on headstrong to take on anyone i know that you are wrong headstrong were headstrongback off ill take you on headstrong to take on anyone i know that you are wrong and this is not where you belongwhere you belong i cant give everything away this is not where you belong i wont give everything awayi know i know all about i know i know all about i know i know all about i know i know all about your motives inside and your decision to hideback off ill take you on headstrong to take on anyone i know that you are wrong headstrong were headstrongback off ill take you on headstrong to take on anyone i know that you are wrong and this is not where you belongwhere you belong this is not where you belong i cant give everything away this is not where you belong i wont give everything away this is not where you belong ",1
50,"in those jeans","ginuwine",2003," looking good plenty tight is there room any more room for me in those jeans really thick like i like it tell me is there any more room for me in those jeans looking tasty really scrumptious tell me is there any more room for me in those jeans looking good plenty tight is there room any more room for megot on my ride seen you from a far and i couldnt stop myself from looking hard staring you wore these jeans girl you wore these jeans and you made a thug want to cry something terrible i had to have have you for myself baby you dont know what those jeans do to me make me want to get down on one knee youve got that thunder and it only makes me wonder how it feels to get up in those jeans oh those jeanslooking good plenty tight is there room any more room for me in those jeans really thick like i like it tell me is there any more room for me in those jeans looking tasty really scrumptious tell me is there any more room for me in those jeans looking good plenty tight is there room any more room for meyou are the bomb girl youre tight to death baby i dont know the words to say to you all that i know baby all i know is that im loving what i see and im feeling you i want to know all i want to know is if i could have whats up in those jeans baby can i have whats up in those jeans dont get alarmed cause i dont mean no harm but i love the way you wear those jeans levis prada baby phat i love them love the way you wearing them i love them yeah calvin iceberg sergio i love them trying to get inside of those yeah yeah yeahlooking good plenty tight is there room any more room for me in those jeans really thick like i like it tell me is there any more room for me in those jeans looking tasty really scrumptious tell me is there any more room for me in those jeans looking good plenty tight is there room any more room for mei want to say that those jeans looking good fitting right baby damn those jeans any kind doesnt matter if you wearin them you look fine baby damn those jeans anytime that i see you i want in you wear em well baby damn those jeans you the shit you the bomb all i want to know is can i have whats in those jeans can i get in those jeans can i babylooking good plenty tight is there room any more room for me in those jeans really thick like i like it tell me is there any more room for me in those jeans looking tasty really scrumptious tell me is there any more room for me in those jeans looking good plenty tight is there room any more room for meany more ",1
51,"stand up","ludacris featuring shawnna",2003," stand up stand up stand up stand upwhen i move you move just like that when i move you move just like that when i move you move just like that hell yeah hey dj bring that back when i move you move just like that when i move you move just like that when i move you move just like that hell yeah hey dj bring that backhow you aint gon fuck bitch out me im the god damn reason you in vip ceo you dont have to see id im young wild and strapped like chiali blow we aint got nothing to worry about whoop ass let security carry em out watch out for the medallion my diamonds are wreckless feels like a midget is hanging from my neckless i pulled up wit a million trucks looking smelling feeling like a million bucksahh pass the bottles the heat is on we in the huddle all smoking that cheech  chong whats wrong the club and moon is full and im looking for a thick young lady to pull one sure shot way to get em outta them pants take note to the brand new dance like thiswhen i move you move just like that when i move you move just like that when i move you move just like that hell yeah hey dj bring that back when i move you move just like that when i move you move just like that when i move you move just like that hell yeah hey dj bring that backgo on wit ya big ass lemme see something tell ya little friend he can quit mean mugging im lit and i dont care what no one thinks but where the fuck is the waitress at wit my drinks my people outside and they cant get in we gon rush the back door and break em in the owner already pissed cause we sorta late but our time and our clothes gotta coordinate most girls lookin right some looking a mess thats why they spilling drinks all over ya dress but louie vuitton bras all over your breasts got me wanting to put hickies all over ya chest cmon we going party tonight yall use mouth to mouth bring the party to life dont be scurred show another part of your life the more drinks in your system the harder to fightwhen i move you move just like that when i move you move just like that when i move you move just like that hell yeah hey dj bring that back when i move you move just like that when i move you move just like that when i move you move just like that hell yeah hey dj bring that back stand up stand up stand up stand updamn right the fire marshall wanna shut us down get us out so someone can gun us down we was two songs away from getting some cutta now we one song away from tearing the club up move over luda got something to say do it now cause tomorrow aint promised today work wit me lets become one with the beat and dont worry bout me stepping all over ya feetwhen i move you move just like that when i move you move just like that when i move you move just like that hell yeah hey dj bring that back when i move you move just like that when i move you move just like that when i move you move just like that hell yeah hey dj bring that backstand up stand up stand up stand up stand up just like that stand up just like that stand up stand up ",1
52,"the remedy i wont worry","jason mraz",2003," well i saw fireworks from the freeway and behind closed eyes i cannot make them go away cause you were born on the fourth of july freedom ring now something on the surface it stingsi said something on the surface well it kind of makes me nervous who says that you deserve this and what kind of god would serve this we will cure this dirty old disease well if you gots the poison i gots the remedythe remedy is the experience this is a dangerous liaison i says the comedy is that its serious this is a strange enough new play on wordsi say the tragedy is how youre gonna spend the rest of your nights with the light on so shine the light on all of your friends when it all amounts to nothing in the endi i wont worry my life away i i wont worry my life awaywell i heard two men talking on the radio in a cross fire kind of new reality show uncovering the ways to plan the next big attack they were counting down the ways to stab the brotherin the be right back after this the unavoidable kiss where the minty fresh death breath is sure to outlast this catastrophe dance with me cause if you gots the poison ive gots the remedythe remedy is the experience this is a dangerous liaison i says the comedy is that its serious this is a strange enough new play on wordsi say the tragedy is how youre gonna spend the rest of your nights with the light on so shine the light on all of your friends when it all amounts to nothing in the endi i wont worry my life away i i wont worry my life awaywhen i fall in love i take my time theres no need to hurry when im making up my mind you can turn off the sun but im still gonna shine and ill tell you why becausethe remedy is the experience this is a dangerous liaison i says the comedy is that its serious this is a strange enough new play on wordsi say the tragedy is how youre gonna spend the rest of your nights with the light on so shine the light on all of your friends when it all amounts to nothing in the endi i wont worry my life away i i wont worry my life away i i wont worry my life away  thank you ",1
53,"why dont you  i","santana featuring alex band",2003,NA,NA
54,"excuse me miss","jayz",2003," you cant roll a blunt to this one you gotta you gotta well ya gotta light a j you gotta puff a j on this one you cant even drink cristowl on this one you gotta drink cristall buy some red wine a little gochayoure so contagious i cant take it have my baby lets just make it excuse me whats your name can i get my grown man on for one second cause i see some ladies tonight that should be hanging wit jayz jayzlady excuse me miss whats your name can you come hang with me possibly can i take you out tonightyou already know what its hitting for ma i got whatever outside and you know what im sitting on fifty fifty venture with them s dots kicking off armadale popping now only bring a nigga more only thing missing is a missus you aint even gotta do the dishes got two dishwashers got one chef one maid all i need is a partner to play spades with the cards up all trust who else you goin run with the truth is us only dudes moving units em pimp juice and us its the roc in here maybach outside gots rocks in air pjs on the runway young got air i dont land at a airport i call it the clear port therefore i dont wanna hear more back and forth about whos hot as young hollaexcuse me damn youre so contagious i cant take it have my baby lets just make it lady you gotta puff a j to this one cant roll a blunt up to this one boy youre so contagious i cant take it have my baby lets just make it excuse me whats your name cause i see some ladies tonight that should be rolling with jayz jayz lady whats your name cause i see some ladies tonight that should be rolling with jayz jayzeverybodys like hes no item please dont like him he dont wife em he one nights em now she dont like him she never met him groupies try to take advantage of him he wont let em he dont need em so he treats em like he treats em better them than me she dont agree with him shes mad at that hes not having that so those opposites attract like maganets she sees more than the benz wagon the friends taggin along with a flashy nigga bragging on the song she gets a glimpse of shawn and she likes that he 2ways her so she writes back smiley faces after all of her phrases either she the one or im caught in the matrix but fuck it let the fishburne red or green pill you live and you learn cmonexcuse me damn you gotta throw on your fine linens for this one youre so contagious i cant take it have my baby lets just make it lady gotta throw on ya scooby doos those are shoes by the way youre so contagious i cant take it have my baby lets just make it excuse me whats your name for the grown and sexy only for the grown and sexy lady whats your name so foxy girl youre so hot to trotlove lets go half on a son i know my past aint one you can easily get past but that chapter is done but im done reading for now remember spades face up you can believe him for now but ma you got a for real fserious role im bout to give you all the keys and security codes bout to show you where the cheese let you know i aint playing but before i jump out the window whats your nameexcuse me damn youre so contagious i cant take it have my baby lets just make it lady youre so contagious i cant take it have my baby lets just make it excuse me whats your name so foxy girl so hot to trot lady whats your name youre so foxy girl youre so hot to trot ",1
55,"jenny from the block","jennifer lopez featuring jadakiss and styles p",2003," children grow and women producing men go working some go stealing everyones got to make a livingl o x j lo we off the block this year went from a little to a lot this year everybody mad at the rocks that i wear i know where im goin and i know where im from you hear lox in your ear yea were at the airport out decline from the block where everybody airforcedout with a new white tee you fresh nothin phony with us make the money get the mansion bring the homies with usdont be fooled by the rocks that i got im still im still jenny from the block used to have a little now i have a lot no matter where i go i know where i came from from the bronx dont be fooled by the rocks that i got im still im still jenny from the block used to have a little now i have a lot no matter where i go i know where i came from from the bronxfrom in living color and movie scripts to on the 6 to j lo to this headline clips i stayed grounded as the amounts roll in im real i thought i told you i really been on oprah thats just me nothin phony dont hate on me what you get is what you seedont be fooled by the rocks that i got im still im still jenny from the block used to have a little now i have a lot no matter where i go i know where i came from from the bronx dont be fooled by the rocks that i got im still im still jenny from the block used to have a little now i have a lot no matter where i go i know where i came from from the bronxim down to earth like this rockin this business ive grown up so much im in control and loving it rumors got me laughing kid love my life and my public put god first then cant forget to stay real to me its like breathingdont be fooled by the rocks that i got im still im still jenny from the block used to have a little now i have a lot no matter where i go i know where i came from from the bronx dont be fooled by the rocks that i got im still im still jenny from the block used to have a little now i have a lot no matter where i go i know where i came from from the bronxit take hard work to cash checks so dont be fooled by the rocks that i got now assets you get back what you put out even if you take the good route cant count the hood out after a while you know who to blink with just keep it real with the ones came in with best thing to do is stay low lox and jlo act like they dont but they knowdont be fooled by the rocks that i got im still im still jenny from the block used to have a little now i have a lot no matter where i go i know where i came from from the bronx dont be fooled by the rocks that i got im still im still jenny from the block used to have a little now i have a lot no matter where i go i know where i came from from the bronx dont be fooled by the rocks that i got im still im still jenny from the block used to have a little now i have a lot no matter where i go i know where i came from from the bronx dont be fooled by the rocks that i got im still im still jenny from the block used to have a little now i have a lot no matter where i go i know where i came from from the bronx ",1
56,"are you happy now","michelle branch",2003," now dont just walk away pretending everythings okay and you dont care about me and i know its just no use when all your lies become your truths and i dont carechorus could you look me in the eye and tell me that youre happy now would you tell it to my face have i been erased are you happy now are you happy nowyou took all there was to take and left me with an empty plate and you dont care about it yeah and i am giving up this game and leaving you with all the blame cause i dont carechorusare you happy nowdo you really have everything you want you could never give something you aint got you cant run away from yourselfchoruswould you look me in the eye could you look me in the eye ive had all that i can take im not about to break are you happy now are you happy now ",1
57,"forever and for always","shania twain",2003," in your arms i can still feel the way you want me when you hold me i can still hear the words you whispered when you told me i can stay right here forever in your armsand there aint no way im lettin you go now and there aint no way and there aint not how ill never see that daycause im keeping you forever and for always we will be together all of our days want to wake up every morning to your sweet face always mm babyin your heart i can still hear a beat for every time you kiss me and when were apart i know how much you miss me i can feel your love for me in your heartand there aint no way im lettin you go now and there aint now way and there aint no how ill never see that daycause im keeping you forever and for always we will be together all of our days want to wake up every morning to your sweet face alwaysi want to wake up every morning herein your eyes i can still see the look of the one i can still see the look of the one who really loves me i can still feel the way that you want the one who wouldnt put anything else in the world above me i can still see love for me i can still see love for me in your eyes i still see the loveand there aint no way im lettin you go now and there aint no way and there aint no how ill never see that daycause im keeping you forever and for always we will be together all of our days want to wake up every morning to your sweet face alwaysim keeping you forever and for always we will be together all of our days want to wake up every morning to your sweet faceim keeping you forever and for always im keeping you forever yes im keeping baby forever in your arms ",1
58,"i can","nas",2003," i know i can i know i can be what i wanna be be what i wanna be if i work hard at it if i work hard it ill be where i wanna be ill be where i wanna bebe bboys and girls listen up you can be anything in the world in god we trust an architect doctor maybe an actress but nothing comes easy it takes much practice like i met a woman whos becoming a star she was very beautiful leaving people in awe singing songs lina horn but the younger version hung with the wrong person gotta astrung when i heard when cocaine sniffing up drugs all in her nose coulda died so young no looks ugly and old no fun cause when she reaches for hugs people hold they breath cause she smells of corrosion and death watch the company you keep and the crowd you bring cause they came to do drugs and you came to sing so if you gonna be the best ima tell you howi know i can i know i can be what i wanna be be what i wanna be if i work hard at it if i work hard it ill be where i wanna be ill be where i wanna bei know i can i know i can be what i wanna be be what i wanna be if i work hard at it if i work hard it ill be where i wanna be ill be where i wanna bebe bboys and girls listen again this is for grown looking girls whos only ten the ones who watch videos and do what they see as cute as can be up in the club with fake id careful fore you meet a man with hiv you can host the tv like oprah winfrey whatever you decide be careful some men be rapists so act your age dont pretend to be older than you are give yourself time to grow you thinking he can give you wealth but so young boys you can use a lot of help you know you thinkin lifes all about smokin weed and ice you dont wanna be my age and cant read and right begging different women for a place to sleep at night smart boys turn to men and do whatever they wish if you believe you can achieve then say it like thisi know i can i know i can be what i wanna be be what i wanna be if i work hard at it if i work hard it ill be where i wanna be ill be where i wanna bei know i can i know i can be what i wanna be be what i wanna be if i work hard at it if i work hard it ill be where i wanna be ill be where i wanna bebe be fore we came to this country we were kings and queens never porch monkeys it was empires in africa called kush timbuktu where every race came to get books to learn from black teachers who taught greeks and romans asian arabs and gave them gold when gold was converted to money it all changed money then became empowerment for europeans the persian military invaded they learned about the gold the teachings and everything sacred africa was almost robbed naked slavery was money so they began making slave ships egypt was the place that alexander the great went he was so shocked at the mountains with black faces shot up they nose to impose what basically still goes on today you see if the truth is told the youth can grow they learn to survive until they gain control nobody says you have to be gangstas hoes read more learn more change the globe ghetto children do your thing hold your head up little man youre a king young prince thats when you get your wedding ring your man is saying shes my queeni know i can i know i can be what i wanna be be what i wanna be if i work hard at it if i work hard it ill be where i wanna be ill be where i wanna bei know i can i know i can be what i wanna be be what i wanna be if i work hard at it if i work hard it ill be where i wanna be ill be where i wanna besave the music yall save the music yall save the music yall save the music yall save the music ",1
59,"underneath it all","no doubt featuring lady saw",2003," theres times where i want something more someone more like me theres times when this dress rehearsal seems incomplete but you see the colors in me like no one else and behind your dark glasses youre youre something elseyoure really lovely underneath it all you want to love me underneath it all im really lucky underneath it all youre really lovelyyou know some real bad tricks and you need some discipline but lately youve been trying real hard and giving me your best and you give me the most gorgeous sleep that ive ever had and when its really bad i guess its not that badyoure really lovely underneath it all you want to love me underneath it all im really lucky underneath it all youre really lovelyso many moons that we have seen stumbling back next to me ive seen right through and underneath and you make me better ive seen right through and underneath and you make me better better betteryou are my real prince charmin like the heat from the fire you were always burnin and each time youre around my body keeps callin for your touch your kisses and your sweet romancin theres an underside to you that this here woman that adore aside from your temper everything is secure youre good for me baby of that im sure over and over again i want moreyouve used up all your coupons and all youve got left is me and somehow im full of forgiveness i guess its meant to beyoure really lovely underneath it all you want to love me underneath it all im really lucky underneath it all youre really lovelyyoure really lovely underneath it all you want to love me underneath it all im really lovely underneath it all and youre really lovely ",1
60,"if youre not the one","daniel bedingfield",2003," if youre not the one why does my soul feel glad today if youre not the one then why does my hand fit yours this way if you are not mine then why does your heart return my call if you are not mine would i have the strength to stand at alli never know what the future brings but i know youre here with me now well make it through and i hope you are the one i share my life withi dont wanna run away but i cant take it i dont understand if im not made for you then why does my heart tell me that i am is there anyway that i can stay in your armsif i dont need you then why am i crying on my bed if i dont need you then why does your name resound in my head if youre not for me then why does this distance name my life if youre not for me then why do i dream of you as my wifei dont know why youre so far away but i know that this much is true well make it through and i hope you are the one i share my life withand i wish that you could be the one i die with and i pray that youre the one i build my home with i hope i love you all my lifei dont wanna run away but i cant take it i dont understand if im not made for you then why does my heart tell me that i am is there anyway that i can stay in your armscause i miss your body and soul so strong that it takes my breath away and i breath you into my heart and i pray for the strength to stand todaycause i love you whether its wrong or right and though i cant be with you tonight and you know my heart is by your sidei dont wanna run away but i cant take it i dont understand if im not made for you then why does my heart tell me that i am is there anyway that i can stay in your arms ",1
61,"thoia thoing","r kelly",2003," thoia thoia thoia thoia thoing thoing uh thoia thoia thoia thoia thoing thoing its kells thoia thoia thoia thoia thoingi had her singing thoia thoia thoia thoia thoing thoing thoia thoia thoia thoia thoing she had me singing thoia thoia thoia thoia thoing thoing thoia thoia thoia thoia thoingto who may need to know thats her on da flo sliding down the pole wanted fo sho both our hands wre up drinks were in the cup she showed me some love so we left the clubnow we off in the hummer v shes so hot shes kissing on me this is the girl of my fantasy after the remy we were doing the thingi had her singing thoia thoia thoia thoia thoing thoing thoia thoia thoia thoia thoing she had me singing thoia thoia thoia thoia thoing thoing thoia thoia thoia thoia thoingi had her singing thoia thoia thoia thoia thoing thoing thoia thoia thoia thoia thoing she had me singing thoia thoia thoia thoia thoing thoing thoia thoia thoia thoia thoingnow i dont know about chu but i would like to get wit two ah nice honeys while im chillin by the pool ah red bikinis and some pump heel shoes ah who could think of any damn thing cooler ah we at my crib so it aint no rules ah im butt naked sweat socks and house shoes ah 100 bottles of crys in the cooler ah im frozen thanks to jacob the jeweler ah one day without me and shes shaking like a fiend ah yall tell me whats rb without the the r ahi had her singing thoia thoia thoia thoia thoing thoing thoia thoia thoia thoia thoing she had me singing thoia thoia thoia thoia thoing thoing thoia thoia thoia thoia thoingi had her singing thoia thoia thoia thoia thoing thoing thoia thoia thoia thoia thoing she had me singing thoia thoia thoia thoia thoing thoing thoia thoia thoia thoia thoingi met a girl in the shopping mall she had hazel eyes said shes form africa she broke it down right in front of me rollin on her knees i said im scared of ya tattoo on her back lovin the way she work it body movin like shes dancin in the circus back forth up down when she jerk it put the thoiathoiathoing on now watch i murda iti had her singing thoia thoia thoia thoia thoing thoing thoia thoia thoia thoia thoing she had me singing thoia thoia thoia thoia thoing thoing thoia thoia thoia thoia thoingi had her singing thoia thoia thoia thoia thoing thoing thoia thoia thoia thoia thoing she had me singing thoia thoia thoia thoia thoing thoing thoia thoia thoia thoia thoingwe make a lot of noise when we come through the club all of the ladies in the house come show ya boy sum love last call for alcohol nah we closing down the bar tell me wheres the after party at we rollin with the ri had her singing thoia thoia thoia thoia thoing thoing thoia thoia thoia thoia thoing she had me singing thoia thoia thoia thoia thoing thoing thoia thoia thoia thoia thoingi had her singing thoia thoia thoia thoia thoing thoing thoia thoia thoia thoia thoing she had me singing thoia thoia thoia thoia thoing thoing thoia thoia thoia thoia thoing ",1
62,"here without you","3 doors down",2003," a hundred days have made me older since the last time that i saw your pretty face a thousand lies have made me colder and i dont think i can look at this the same all the miles that separate disappear now when im dreamin of your faceim here without you baby but youre still on my lonely mind i think about you baby and i dream about you all the time im here without you baby but youre still with me in my dreams and tonight girl its only you and methe miles just keep rollin as the people leave their way to say hello ive heard this life is overrated but i hope that it gets better as we goim here without you baby but youre still on my lonely mind i think about you baby and i dream about you all the time im here without you baby but youre still with me in my dreams and tonight its only you and meeverything i know and anywhere i go it gets hard but it wont take away my love and when the last one falls when its all said and done it gets hard but it wont take away my loveim here without you baby but youre still on my lonely mind i think about you baby and i dream about you all the time im here without you baby but youre still with me in my dreams and tonight its only you and me ",1
63,"wanksta","50 cent",2003," yeah its 50 aka ferrari f50 break it down i got a lot of living to do before i die and i aint got time to waste lets make ityou said you a gansta but you neva pop nuttin you said you a wanksta and you need to stop frontinyou aint a friend of mine you aint no kin of mine what makes you think that im a run up on you with tha nine we do this all tha time right now we on tha grind so hurry up and cop and go selling nicks and dimes shorty she so fine i gotta make her mine an ass like dat gotta be one of a kindi crush em every time punch em with every nine im fuckin with they mind i make em press rewind they know they cant shine if im around the rhyme been on parole since 94 cuz i commit the crime i send you my line i did it three to nine if ds ran up in my crib you know who droppin dimesyou said you a gangsta but you neva pop nuttin you said you a wanksta and you need to stop frontin you go to the dealership but you neva cop nuttin you been hustlin a long time and you aint got nuttinyou said you a gangsta but you neva pop nuttin you said you a wanksta and you need to stop frontin you go to the dealership but you neva cop nuttin you been hustlin a long time and you aint got nuttindamn homie in highskew you was tha man homie what the fuck happened to you i got the sickest phonetta when it come to the chedda nigga if you play with my paper you gotta meet my berretta now shorty think im a sweat her sippin on amoretta im livin once then deada i know i can do bettashe look good but i know she after my chedda she tryna get in my pockets homie and i aint gon let her be easy start some bullshit she get your whole crew wet we in tha club doin the same ol two step gorilla unit cuz they say we bugged out cuz we dont go nowhere without toast we thugged outyou said you a gangsta but you neva pop nuttin you said you a wanksta and you need to stop frontin you go to the dealership but you neva cop nuttin you been hustlin in a long time and you aint got nuttinyou said you a gangsta but you neva pop nuttin you said you a wanksta and you need to stop frontin you go to the dealership but you neva cop nuttin you been hustlin a long time and you aint got nuttinme im no mobsta me im no gangsta me im no hitman me im just me me me im no wanksta me im no acta but its me you see on your tv cuz i hustle baby this rap shit is so easy im gettin what you get for a brick to talk greasyby any means partner i got to eat on these streets if you play me close for sure im gonna pop my heat niggas sayin they goin murd 50 how we ridin round with guns the size of lil bow wow what you know about aks and ar15s equipped with night vision shell catchers and infbeams huhyou said you a gangsta but you neva pop nuttin you said you a wanksta and you need to stop frontin you go to the dealership but you neva cop nuttin you been hustlin a long time and you aint got nuttinyou said you a gangsta but you neva pop nuttin you said you a wanksta and you need to stop frontin you go to the dealership but you neva cop nuttin you been hustlin a long time and you aint got nuttindamn homie ",1
64,"my love is likewo","m'ya",2003," see baby i know you done had your share of girls i am more than confident you wont ever have to search any streets for affection i got you 1 2 3 4what kind of girl you like i know my looks can be deceivin tell me am i your type my main goal is to please youwhats on the schedule tonight am i the reason youll be treatin i hope you have an appetite so tell me will you come and spend the nightmy love is like wo my kiss is like wo my touch is like wo my sex is like wo my ass is like wo my bodys like wo aint youre kissin it so what you think of it womy love is like wo my kiss is like wo my touch is like wo my sex is like wo my ass is like wo my bodys like wo aint youre kissin it so what you think of itwhen will you come through cause ill be waitin up right here can you bring some belvedere so we can pop the cork and cheerplease have no fear i just wanna love you right i hope you have an appetite so baby will you come and spend the nightmy love is like wo my kiss is like wo my touch is like wo my sex is like wo my ass is like wo my bodys like wo aint youre kissin it so what you think of it womy love is like wo my kiss is like wo my touch is like wo my sex is like wo my ass is like wo my bodys like wo aint youre kissin it so what you think of ithold me yeah hold me oh my tasty my tasty my hold me oh my hold me tasty my tastyhold me like you never wanna let me go if youre likin what youre tastin baby let me know if youre gonna love me better love me strong cause i want this love to last all night longmy love is like wo my kiss is like wo my touch is like wo my sex is like wo my ass is like wo my bodys like wo aint youre kissin it so what you think of itmy love is like my kiss is like my touch is like my sex is like my ass is like my bodys like aint youre kissin it so what you think of itwo wo wo wo wo wo wo wo my love is like ",1
65,"its five oclock somewhere","alan jackson featuring jimmy buffett",2003,"the sun is hot and that old clock is movin slow an so am i work day passes like molasses in wintertime but its july im gettin paid by the hour an older by the minute my boss just pushed me over the limit id like to call him somethin i think ill just call it a day pour me somethin tall an strong make it a hurricane before i go insane its only halfpast twelve but i dont care its five oclock somewhere oh this lunch break is gonna take all afternoon an half the night tomorrow mornin i know therell be hell to pay hey but thats all right i aint had a day off now in over a year our jamaican vacations gonna start right here hit the phones for me you can tell em i just sailed away an pour me somethin tall an strong make it a hurricane before i go insane its only halfpast twelve but i dont care its five oclock somewhere i could pay off my tab pour myself in a cab an be back to work before two at a moment like this i cant help but wonder what would jimmy buffet do funny you should ask that because id say pour me somethin tall an strong make it a hurricane before i go insane its only halfpast twelve but i dont care pour me somethin tall an strong make it a hurricane before i go insane its only halfpast twelve but i dont care he dont care i dont care its five oclock somewhere what time zone am on what country am i in it doesnt matter its five oclock somewhere its always on five in margaritaville come to think of it yeah i heard that you been there havent you yessir i seen your boat there ive been to margaritaville a few times all right thats good stumbled all the way back ok just wanna make sure you can keep it between the navigational beacons bring the booze i tell you all right well its five oclock lets go somewhere im ready crank it up lets get out of here im gone lets get out of here",5
66,"like glue","sean paul",2003," well i dont really care what people say i dont really watch what dem waan do still i got to stick to my girls like glue and i mon nah play number two all i know the time it is gettin dread need alot of trees up in my head got alot of damsel in my bed to run dat re edwell enough likkle girl dem outta road dem hav di goody goody one ting mi haffi tell dem dutty have di woody woody front way back way wi a play ketchi shubbi virgin dem waan gimme and mi have to tooky tookyhot girls outta road dat seh dem see mi see mi and a tell mi seh dem have somethin fi gimme gimme how much a night dem all a dream bout di jimmy jimmy dem a promise and a tell mi seh a fi mi fi mibut a promise is a comfort to a fool so cool well yuh dun know seh dat man haffi rule di school we nuh pet dem just wet dem up just like a pool and a dignitary we haffi use up mi toolwell i dont really care what people say i dont really watch what dem waan do still i got to stick to my girls like glue and i mon nah play number two all i know the time it is gettin dread need alot of trees up in my head got alot of damsel in my bed to run dat redso how can they waan big up dem chest but dem dun know dutty cup we deyah rated as di best and i wouldnt they love fe see seanapauls des we nuh cater fi nuh guy and only girls we a requestso gimme di gal dem yo and every minute im willing fi get di gal dem exquisite and get dem regualar visit just gimme di gal dem now dem all a pressure mi cellular seh a mi a di dappa dem waan fi be dem big poppagimme di gal dem after a chronic we tek a drag and i dont mean to brag everyday i got to shag gimme di gal dem everytime i look inna mi mind its only girls dat weh mi find and true mi love dem designwell i dont really care what people say i dont really watch what dem waan do still got to stick to my girls like glue and i mon nah play number two all i know the time it is gettin dread need alot of trees up in my head got alot of damsel in my bed to run dat redsome guy a live dem life and dem nuh really waan check it dem have nuh girl nuh wife nuh woman dem nah select it sometime mi haffi wonda if dem headset dem wreck it jah know dem ago bun well if dem dont waan correct itso please dem nuh wannabees dem hangout with too much dogs and catch fleas dem nuh waan no honey dem only waan di money dats how me know seh dem bwoy deh all a move funnylook like dem lost livin in di past one ting mi haffi tell dem sorry mon dem betta move fast before we get crossed bad man nuh cater fi dem just because mi go so thenwell i dont really care what people say i dont really watch what dem waan do still i got to stick to my girls like glue and i mon nah play number two all i know the time it is gettin dread need alot of trees up in my head got alot of damsel in my bed to run dat redwell enough likkle girl dem outta road dem hav di goody goody one ting mi haffi tell dem dutty have di woody woody front way back way wi a play ketchi shubbi virgin dem waan gimme and mi have to tooky tookyhot girls outta road dat seh dem see mi see mi and a tell mi seh dem have somethin fi gimme gimme how much a night dem all a dream bout di jimmy jimmy dem a promise and a tell mi seh a fi mi fi mibut a promise is a comfort to a fool so cool well yuh dun know seh dat man haffi rule di school we nuh pet dem just wet dem up just like a pool and a dignitary we haffi use up mi toolwell i dont really care what people say i dont really watch what dem waan do still i got to stick to my girls like glue and i mon nah play number two all i know the time it is gettin dread need alot of trees up in my head got alot of damsel in my bed to run dat red  ",1
67,"cant hold us down","christina aguilera featuring lil kim",2003," so what am i not supposed to have an opinion should i keep quiet just because im a woman call me a bitch cause i speak whats on my mind guess its easier for you to swallow if i sat and smiledwhen a female fires back suddenly big talker dont know how to act so he does what any little boy would do making up a few false rumors or twothat for sure is not a man to me slandering names for popularity its sad you only get your fame through controversy so sad but now its time for me to come and give you more to saythis is for my girls all around the world who have come across a man that dont respect your worth thinking all women should be seen not heard so what do we do girls shout louderlettin em know were gonna stand our ground lift your hands higher and wave em proud take a deep breath and say it loud never can never will cant hold us downnobody can hold us down hold us down nobody can hold us down hold us down nobody can hold us down hold us down never can never willso what am i not supposed to say what im saying are you offended with the message im bringing call me whatever cause your words dont mean a thing cause you aint even a man enough to handle what i singif you look back in history its a common double standard of society the guy gets all the glory the more he can score while the girl can do the same and yet you call her a whorei dont understand why its okay the guy can get away with it the girl gets named all my ladies come together and make a change and start a new beginning for us everybody singthis is for my girls all around the world round the world who have come across a man that dont respect your worth respect your worth thinking all women should be seen not heard so what do we do girls shout louderlettin em know were gonna stand our ground so lift your hands higher and wave em proud take a deep breath and say it loud never can never will cant hold us downlil kim check it heres something i just cant understand if a guy have three girls then hes the man he can even give us some head and sex her raw if the girl do the same then shes a whorebut the tables about to turn ill bet my fame on it cats take my ideas and put they name on it its aight though you cant hold me down i got to keep on movingto all my girls with a man who be trying to mack do it right back to him and let that be that you need to let him know that his game is whack and lil kim and christina aguilera got your backchristina aguilera youre just a little boy think youre so cute so coy you must talk so big to make up for smaller thingssaid youre just a little boy all you do is annoy you must talk so big to make up for smaller thingsthis is for my girls this is for my girls all around the world who have come across a man that dont respect your worth respect your worth thinking all women should be seen not heard so what do we do girls shout louder shout louderlettin em know were gonna stand our ground stand our ground so lift your hands higher and wave em proud take a deep breath and say it loud never can never will cant hold us downthis is for my girls all around the world for my girls who have come across a man that dont respect your worth around the world thinking all women should be seen not heard so what do we do girls shout louderlettin em know were gonna stand our ground so lift your hands higher and wave em proud take a deep breath and say it loud never can never will cant hold us downlil kim spread the word cant hold us down yeah we here we back again yeah lil kim and christina aguilera yeah cant hold us down ",1
68,"my front porch looking in","lonestar",2003," ooh yeah ooh yeah oh yeahthe only ground i ever owned was sticking to my shoes now i look at my front porch and this panoramic view i can sit and watch the fields fill up with rays of glowing sun or watch the moon lay on the fences like thats where it was hung my blessings are in front of me its not about the land ill never beat the view from my front porch looking intheres a carrot top who can barely walk with a sippy cup of milk a little blue eyed blonde with shoes on wrong cause she likes to dress herself and the most beautiful girl holding both of them and the view i love the most is my front porch looking in yeahive traveled here and everywhere following my job ive seen the paintings from the air brushed by the hand of god the mountains and the canyons reach from sea to shining sea but i cant wait to get back home to the one he made for me cause anywhere ill ever go and everywhere ive been nothing takes my breath away like my front porch looking intheres a carrot top who can barely walk with a sippy cup of milk a little blue eyed blonde with shoes on wrong cause she likes to dress herself and the most beautiful girl holding both of them yeah the view i love the most is my front porch looking in oh yeahi see what beautiful is about when im looking in not when im looking outtheres a carrot top who can barely walk with a sippy cup of milk a little blue eyed blonde with shoes on wrong cause she likes to dress herself and the most beautiful girl holding both of them yeah the view i love the most oh the view i love the most is my front porch looking in yeahoh theres a carrot top who can barely walk from my front porch looking in a little blue eyed blonde with shoes on wrong yeah and the most beautiful girl holding both of them oh yeah beautiful girl from my front porch looking in ",1
69,"angel","amanda perez",2003," its been five months since you went away left without a word and nothing to say nothing to say when i was the one who gave you my heart and soul but it wasnt good enough for you no so i asked godgod send me an angel from the heavens above send me an angel to heal my broken heart from bein in love cause all i do is cry god send me an angel to wipe the tears from my eyesand i know it might sound crazy but after all that i still loved you you wanna come back in my life but now there is something i have to doi have to tell the one that i once adored that they cant have my love no more cause my heart cant take no more lies and my eyes are all out of cries so godgod send me an angel from the heavens above send me an angel to heal my broken heart from bein in love cause all i do is cry all i do is cry god send me an angel send an angel to wipe the tears from my eyesnow you had me on my knees begging god please to send you back to me i couldnt eat i couldnt sleep you made me feel like i could not breathe breathenow all i wanted to do was to feel your touch and give you all my love give you all my love but you took my love for granted want my lovin now but you cant have it godgod send me an angel from the heavens above send me an angel send me an angel to heal my broken heart from being in love oh god cause all i do is cry is cry god send me an angel send me an angel to wipe the tears from my eyesoh god send me god send me an angel an angel wipe the tears from my eyes oh babysend me an angel from the heavens above send me an angel god send me an angel from being in love send me an angel oh god send me an angel send me an angel send me an angel ",1
70,"she hates me","puddle of mudd",2003," met a girl thought she was grand fell in love found out first hand went well for a week or two then it all came ungluedin a trap trip i cant grip never thought id be the one whod slip then i started to realize i was living one big lieshe fucking hates me trust she fucking hates me la la la love i tried too hard and she tore my feelings like i had none and ripped them awayshe was queen for about an hour after that shit got sour she took all i ever had no sign of guilt no feeling of bad noin a trapped trip i cant grip never thought id be the one whod slip then i started to realize i was living one big lieshe fucking hates me trust she fucking hates me la la la love i tried too hard and she tore my feelings like i had none and ripped them awaythats my story as you see learned my lesson and so did she now its over and im glad cause im a fool for all ive saidshe fucking hates me trust she fucking hates me la la la love i tried too hard and she tore my feelings like i had none and ripped them awayla la la la la la la la la love trust la la la la la la la la la love trust la la la la la la la la la love and she tore my feelings like i had none trust la la la la la la la la la love  she fucking hates me ",1
71,"dont wanna try","frankie j",2003," i cant believe you had the nerve to say the things you said they hurt so bad that they ended our relationshipi cant believe it four years gone down the drain how i wished things would have happened so differentlyi tried to say this many times but still you couldnt see you kept insisting and resisting that you would not fall againand now you trying to tell me that youre sorry and youre trying to come back home youre telling me you really need me crying begging both knees are on the floorbut baby i dont wanna try dont wanna try dont wanna try no more you keep insisting when you know our love is out the doordont wanna try dont wanna try cause all we do is fight and say the things that hurt you bad to where we both begin to crydont wanna try dont wanna try ive bout just had enough its been a rough road baby just let it godont wanna try dont wanna try dont wanna try no more tell me whats the use of holding on when all we do is hurt our loverecuerdo cuando hablbamos en el telfono surgan planes de un hogar solo para los dos con ilusiones de volverse en realidadpero ahora eso se va tan lejos de m tuve que enfrentarme a la verdad despus de tanto tiempo que lo que me hiciste pasary ahora regresas para convencerme a comenzar de nuevo que te arrepientes que me quieres que no olvidas que no aguantas el dolor pero yaya no es igual ya no es igual ya no es igual ya no es demasiado tarde para enmendar tu error ya no es igual ya no es igual si todo se acabo y se termino y se perdi que el dao fue tan grave amorya no es igual ya no es igual dentro mi corazn es imposible de olvidarme del dolor ya no es igual ya no es igual ya no es igual ya no para que vivir para que mentir para que seguir si no hay amorno ya no es igual no ya no es igual como olvidar oh nodont wanna try dont wanna try dont wanna try dont wanna try no more dont wanna try no more dont wanna try dont wanna try oh dont wanna try oh dont wanna try dont wanna try dont wanna try dont wanna try no more dont wanna try no more dont wanna try dont wanna try dont wanna try no more try no more more more ",1
72,"the jump off","lil kim featuring mr cheeks",2003," whoa whoa whoa yeah aiyyo tim man this the jump off right here man whoa whoa whoa whoa whoa its queen bee nigga its the jump off come oni been gone for a minute now im back at the jump off goons in the club in case somethin jumps off and back up before the hive let the pump off in the graveyard is where you get dumped offall we wanna do is party and buy everybody at the bar bacardi black barbie dressed in bulgari im tryin to leave in somebodys ferrarispread love thats what a real mob do keep it gangsta look out for her people im the wicked bitch of the east you better keep the peace aiyyo or out come the beastwe the best still theres room for improvement our presence is felt like a black panther movement seven quarter to eights back to back with em and im sittin on chrome seven times platinumthis is for my peeps with the bentleys the hummers the benz escalades twenty three inch rims jumpin out the jaguar with the tims keep your bread upand live good east coast west coast worldwide all my playas in the hood stay fly and if your ballin let me hear you say rightits lil kim and timbaland niggas shit ya drawers special delivery for you and yours i rep for bitches he rep for boys if you rep for your hood then make some noisei got my eye on the guy in the woolrich coat dont he know queen bee got the ill deep throat uh let me show you what im all about how i make a sprite can disappear in my mouthshake up the dice throw down your ice bet it all playa fuck the price money aint a thing throw it out like rice been around the world cop the same thing twicerub on my tits squeeze on my ass gimme some step on the gas pop the cork and roll up the hash you know what we about sex drugs and cashthis is for my peeps with the bentleys the hummers the benz escalades twenty three inch rims jumpin out the jaguar with the tims keep your bread upand live good east coast west coast worldwide all my playas in the hood stay fly and if your ballin let me hear you say rightenter the world of the playboy pin up girl buttnaked dressed in nothin but pearls you wanna meet me cause ya know im freaky and ya wanna eat me cause ya say im sexygot a man in japan and a dude in tahiti believe me sweety i got enough to feed the needy no need to be greedy i got mad friends thats pretty chicks by the layers and all different flavorsmafioso thats how this thing go now everybody come get with the lingo shake your body body move your body body on the dance floor dont hurt nobody bodyim the one that put the range in the rover when im steppin out the range yo its over comin through in the brooklyn mint gear we gone do this just like big poppa was herethis is for my peeps with the bentleys the hummers the benz escalades twenty three inch rims jumpin out the jaguar with the tims keep your bread upand live good east coast west coast worldwide all my playas in the hood stay fly and if your ballin let me hear you say rightyeah to the what yeah oh yo keep your bread up yeah and worldwide and stay fly nigga yeah man right right right right queen bee lbtwo thousand and fuckin three why not we makin it hot come to know the spot come on aiyyo she back at it why wouldnt she be come on yeah big freaky tah yeah yeah yeah ls light em oh ",1
73,"intuition","jewel",2003," im just a simple girl in a high tech digital world i really try to understand all the powers that rule this land they say miss js big butt is boss kate moss cant find a job in a world of post modern fad what was good now is badits not hard to understand just follow this simple planfollow your heart your intuition it will lead you in the right direction let go of your mind your intuition its easy to find just follow your heart babyyou look at me but youre not quite sure am i it or could you get more you learn cool from magazines you learn love from charlie sheenif you want me let me know i promise i wont say nofollow your heart your intuition it will lead you in the right direction let go of your mind your intuition its easy to find just follow your heart babyyou got something that you want me to sell sell your sin just cash in you got something that you want me to tell youll love me wait and seeif you want me dont play games i promise it wont be in vain uhuhuhfollow your heart your intuition it will lead you in the right direction let go of your mind your intuition its easy to find just follow your heart babyfollow your heart your intuition it will lead you in the right direction let go of your mind your intuition its easy to find just follow your heart babyfollow your heart your intuition it will lead you in the right direction let go of your mind your intuition its easy to find just follow your heart babyfollow your heart your intuition it will lead you in the right direction let go of your mind your intuition its easy to find just follow your heart babyfollow your heart your intuition it will lead you in the right direction ",1
74,"hell yeah","ginuwine featuring baby",2003," have you ever seen the thug in the club with a bottle turned up head bobbin like hell yeah have you ever seen the chick in the club with a drink in the cup booty shakin like hell yeah have you seen those big tymers pull up in the front of the club 24s like hell yeah have you ever seen 50 thousand strong with their hands in the air up and down like hell yeahso fresh so fly so sweet so polite so much too many but we ridin tonight well its that pimp talk that aint that pimp walk its big pimpin over here player that just started see we fresh with air ones lexus and big drumschips willie chicks willie crisp big funma you worry none the minks come with the guns prada the gucci its all in bird funim sittin in my truck snakin the club out kill this sip then go wild the fuck out up in the club with my hands in the air theres so much coochie in the atmosphere so girl quit frontin and get youre ass over here and get yourself a cup of this cran and belvedere im all off in the corner 100 honeys takin pics baby in the vip with lots of chicks im pimped out now low cut and a pick g and big tymers together thats what im talkinhave you ever seen the thug in the club with a bottle turned up head bobbin like hell yeah have you ever seen the chick in the club with a drink in the cup booty shakin like hell yeah have you seen those big tymers pull up in the front of the club 24s like hell yeah have you ever seen 50 thousand strong with their hands in the air up and down like hell yeahso fresh so clean so shiny on a beam girl youre so mean why youre doin a damn thing any more room for me in those jeans uhhuh uhhuh we got so many rooms in the swiss like we were swiss sailors mami givin me head like shes a brain doner a pool party in my crib at the daytona hosted by sonia and monya oohmami walkin up the beach so fly so neat its me and ginuwine 23s on our feet say mami you look good mami youre so fly you need a dboy come over here and get superflyhave you ever seen the thug in the club with a bottle turned up head bobbin like hell yeah have you ever seen the chick in the club with a drink in the cup booty shakin like hell yeah have you seen those big tymers pull up in the front of the club 24s like hell yeah have you ever seen 50 thousand strong with their hands in the air up and down like hell yeahsaid we love them cars and we love them chicks and we love them parties and we love that cris and we love them houses and we love that ice and when we rollin through your hood we love to shoot that dicehave you ever seen the thug in the club with a bottle turned up head bobbin like hell yeah have you ever seen the chick in the club with a drink in the cup booty shakin like hell yeah have you seen those big tymers pull up in the front of the club 24s like hell yeah have you ever seen 50 thousand strong with their hands in the air up and down like hell yeahhave you ever seen the thug in the club with a bottle turned up head bobbin like hell yeah have you ever seen the chick in the club with a drink in the cup booty shakin like hell yeah have you seen those big tymers pull up in the front of the club 24s like hell yeah have you ever seen 50 thousand strong with their hands in the air up and down like hell yeah ",1
75,"beer for my horses","toby keith featuring willie nelson",2003," well a man come on the 6 oclock news said somebodys been shot somebodys been abused somebody blew up a building somebody stole a car somebody got away somebody didnt get too far yeah they didnt get too fargrandpappy told my pappy back in my day son a man had to answer for the wicked that he done take all the rope in texas find a tall oak tree round up all them bad boys hang them high in the street for all the people to seethat justice is the one thing you should always find you got to saddle up your boys you got to draw a hard line when the gun smoke settles well sing a victory tune and well all meet back at the local saloon well raise up our glasses against evil forces singing whiskey for my men beer for my horseswe got too many gangsters doing dirty deeds too much corruption and crime in the streets its time the long arm of the law put a few more in the ground send em all to their maker and hell settle em down you can bet hell set em downcause justice is the one thing you should always find you got to saddle up your boys you got to draw a hard line when the gun smoke settles well sing a victory tune well all meet back at the local saloon and well raise up our glasses against evil forces singing whiskey for my men beer for my horses whiskey for my men beer for my horsesyou know justice is the one thing you should always find you got to saddle up your boys you got to draw a hard line when the gun smoke settles well sing a victory tune and well all meet back at the local saloon and well raise up our glasses against evil forces singing whiskey for my men beer for my horses singing whiskey for my men beer for my horses ",1
76,"holidae in","chingy featuring ludacris and snoop dogg",2003," bomb ass pussy bomb oh you got that bomb know you got it bomb oh you got some bombass pussy bomb i know you got that bomb bomb pussychorus x 2 what you doin nothing chillin at the holiday inn who you wit me and my peeps wont you bring four of your friends what we gon do feel on each other and sip on some hen one thing leading to another let the party beginchingy peeps call me up said its a hotel party just bring the liquor theres already eight shawties im on my way way let me stop by the store get a twelve pack of corona plus a ounce of dro ya know now im on highway 27 need a natural graze road im already blowed hit third im a be be blowed some mo pulled up stop parked rims still spinning valet lookin like he in the game and must be winning to room fournineo im headed on my way up theres three girls on the elevator like wassup i told em follow me they knew i had it cracking b one said aint you that boy that be on bet yeah thats me chingaling equipped wit much dingaling knock on the door im on the scene of things busted in henny bottle to the face fuck it then feel like my head a toxic waste theres some pretty girls in here i heard em whispering talking bout thats that dude that sing right thurr he glistening i aint come to talk talk i aint come to sit sit what i came for was to find out who im gon hit aww shitchorus x 2chingy ma showed up like whats the hold up man know what get them wraps and roll up i took a chick in the bathroom seeing whats poppin you know whats on my mind shirts off and panties dropping niggas knocking on the door drunk actin silly the girl said can i be in yo video im like yeah oh really now she naked strip teasing me im just cheesing she gave me a reason to be a damn heathen handled that told ol g bring the camera then i thought about no footage while i ram her walked out the bathroom smiling cats still whiling sharing the next room wit some girls lookin like they from an islandchorus x 2ludacris stop drop kaboom baby rub on ya nipples some call me ludacris some call me mr wiggles far from little make ya mammary glands giggle got em under control the bowl of tender vittles doctor giggles i cant stop until it tickles just play a little d and ill make ya mouth dribble bits and kibbles got em all after the pickle i swing it like a bat but these balls are not whiffle hit em in triples wit no strikes stripes or whistles i aint felt this good since my wood lived off a thistle sippin some ripple i got quarters dimes and nickels for shizzle dizzle im on a track with the big snoop dizzle let the henny trickle down the beat wit a ghetto tempo i done blazed the instrumental laid it plain and simple getting brain in the rental i done did it again my eyes chinky im wit chingy at the holiday innchorus x 2snoop dogg yeah let the party begin bitch chingalingling all the way in st louis my nigga chingy disturbing tha peace luda luda going hard on you hos yeah bitch bring four of ya friends meet me at the holiday inn bring a gang of that hen some dsop oh wee and light that sticky icky and we gon do the damn thing know what im talking bout we gon disturb the peace right now yeah we aint doing nothing but chillin we chillin and nuttin know what im talking bout so push the button you know whats happenin fa shizzle uhhuh yeah bitch trying to run from this pimpin you cant out run the pimpin bitch i done told you ",1
77,"suga suga","baby bash featuring frankie j",2003," so tight so fly you got me lifted you got me liftedyou got me lifted shifted higher than a ceilin and ooh wee its the ultimate feelin you got me lifted feeling so giftedsugar how you get so fly suga suga how you get so fly suga suga how you get so fly suga suga how you get so fly suga suga how you get so flyyou know its leather when we ride wood grain and raw hide doing what we do watching screens getting high girl you keep it so fly with you sweet honey buns you was there when the money was gone youll be there when the money comes off top i cant lie i love to get blowed you my lil sugar im yo little chulo and every time we kick it its off to the groovy treat you like my sticky icky or my sweet ooy gooy fa real thoughyou got me lifted shifted higher than a ceiling and ooh wee its the ultimate feeling you got me lifted feeling so giftedsugar how you get so fly suga suga how you get so fly suga suga how you get so fly suga suga how you get so fly suga suga how you get so flynow i aint worried about a thang cause i just hit me a lick i got a fat sack and a super fly chick there aint nothing you can say to a playa cause doowop she fly like the planes in the air thats right shes full grown settin the wrong tone im diggin the energy and im lovin the ozone so fly like a dove so fly like a raven quick to politic with some fly conversation in a natural mood then im a natural dude and we some natural fools blowin out by the pool she like my sexy cool mama with blades on her beretta rockin dolce gabbana italian with highdrows and an iguanayou got me lifted shifted higher than a ceiling and ooh wee its the ultimate feeling you got me lifted feeling so giftedsugar how you get so fly suga suga how you get so fly suga suga how you get so fly suga suga how you get so fly suga suga how you get so flyyou know its leather when we ride wood grain and raw hide doing what we do watching screens getting high girl you keep it so fly with you sweet honey buns you was there when the money was gone youll be there when the money comesyou know its leather when we ride wood grain and raw hide doing what we do watching screens getting high girl you keep it so fly with you sweet honey buns you was there when the money was gone youll be there when the money comes fa real thoughyou got me lifted shifted higher than a ceiling and ooh wee its the ultimate feeling you got me lifted feeling so giftedsugar how you get so fly suga suga how you get so fly suga suga how you get so fly suga suga how you get so fly suga suga how you get so flyso high like im a star so high like im a star so high like im a star so high like im a star ",1
78,"love of my life an ode to hiphop","erykah badu featuring common",2003,NA,NA
79,"fighter","christina aguilera",2003," after all you put me through youd think id despise you but in the end i wanna thank you cause you made that much strongerwell i thought i knew you thinking that you were true guess i i couldnt trust called your bluff time is up cause ive had enoughyou were there by my side always down for the ride but your joy ride just came down in flames cause your greed sold me out in shame mmm hmmafter all of the stealing and cheating you probably think that i hold resentment for you but uh uh oh no youre wrongcause if it wasnt for all that you tried to do i wouldnt know just how capable i am to pull through so i wanna say thank youcause it makes me that much stronger makes me work a little bit harder makes me that much wiser so thanks for making me a fightermade me learn a little bit faster made my skin a little bit thicker makes me that much smarter so thanks for making me a fighternever saw it coming all of your backstabbing just so you could cash in on a good thing before id realized your gamei heard youre going round playin the victim now but dont even begin feelin im the one to blame cause you dug your own graveafter all of the fights and the lies guess youre wanting to harm me but that wont work anymore no more uh uh its overcause if it wasnt for all of your torture i wouldnt know how to be this way now and never back down so i wanna say thank youcause it makes me that much stronger makes me work a little bit harder makes me that much wiser so thanks for making me a fightermade me learn a little bit faster made my skin a little bit thicker makes me that much smarter so thanks for making me a fighterhow could this man i thought i know turn out to be unjust so cruel could only see the good in you pretended not to see the truthyou tried to hide your lies disguise yourself through living in denial but in the end youll see you wont stop mei am a fighter im a fighter and i i aint gonna stop i aint gonna stop there is no turning back ive had enoughmakes me that much stronger makes me work a little bit harder makes me that much wiser so thanks for making me a fightermade me learn a little bit faster made my skin a little bit thicker makes me that much smarter so thanks for making me a fighterthought i would forget but i i remember yes i remember i rememberthought i would forget but i i remember yes i remember i remembermakes me that much stronger makes me work a little bit harder makes me that much wiser so thanks for making me a fightermade me learn a little bit faster made my skin a little bit thicker makes me that much smarter so thanks for making me a fighter ",1
80,"thugz mansion","2pac",2003," shit tired of gettin shot at tired of gettin chased by the police and arrested niggas need a spot where we can kick it a spot where we belong thats just for us niggas aint gotta get all dressed up and be hollywood yknahmean where do niggas go when we die aint no heaven for a thug nigga thats why we go to thug mansion thats the only place where thugs get in free and you gotta be a g at thug mansiona place to spend my quiet nights time to unwind so much pressure in this life of mine i cry at times i once contemplated suicide and woulda tried but when i held that 9 all i could see was my mommas eyes no one knows my struggle they only see the trouble not knowin its hard to carry on when no one loves you picture me inside the misery of poverty no man alive has ever witnessed struggles i survived prayin hard for better days promise to hold on me and my dawgs aint have a choice but to roll on we found a family spot to kick it where we can drink liquor store and no one bickers over trick shit a spot where we can smoke in peace and even though we gs we still visualize places that we can roll in peace and in my minds eye i see this place the players go in fast i got a spot for us all so we can ball at thugs mansionaint no place id rather be chilren dead homies and family sky high iced out paradise in the sky aint no place id rather be only place thats right for me chromed out mansion in paradise in the skywill i survive all the fights and the darkness trouble sparks they tell me home is where the heart is dear departed i shed tattooed tears and couldnt sleep good for multiple years witness peers catch gunshots nobody cares seen the politicians ban us theyd rather see us locked in chains please explain why they cant stand us is there a way for me to change or am i just a victim of things i did to maintain i need a place to rest my head with the little bit of homeboys that remains cause all the rest dead is there a spot for us to roll if you find it ill be right behind ya show me and ill go how can i be peaceful im comin from the bottom watch my daddy scream peace while the other man shot him i need a house thats full of love when i need to escape the deadly places slingin drugs in thugs mansionaint no place id rather be chilren dead homies and family sky high iced out paradise in the sky aint no place id rather be only place thats right for me chromed out mansion in paradise in the skydear momma dont cry your baby boys doin good tell the homies im in heaven and they aint got hoods seen a show with marvin gaye last night it had me shook drippin peppermint schnapps with jackie wilson and sam cooke then some lady named billie holiday sang sittin there kickin it with malcolm til the day came little latasha sho grown tell the lady in the liquor that shes forgiven so come home maybe in time youll understand only god can save us when miles davis cuttin lose with the band just think of all the people that you knew in the past that passed on they in heaven found peace at last picture a place that they exist together there has to be a place better than this in heaven so right before i sleep dear god what im askin remember this face save me a place in thugs mansionaint no place id rather be chilren dead homies and family sky high iced out paradise in the sky aint no place id rather be only place thats right for me chromed out mansion in paradise in the skyaint no place id rather be chilren dead homies and family sky high iced out paradise in the sky aint no place id rather be only place thats right for me chromed out mansion in paradise in the sky ",1
81,"clocks","coldplay",2003," the lights go out and i cant be saved tides that i tried to swim against have brought me down upon my knees oh i beg i beg and plead singingcome out of the things unsaid shoot an apple off my head and a trouble that cant be named a tigers waiting to be tamed singingyou are you are    meaning  byamandah   editor    that quick urgent immediately recognizable piano hook chris martin plays throughout clocks represents the songs title in a proper matter but how did he    see all   confusion that never stops the closing walls and the ticking clocks gonna come back and take you home i could not stop that you now know singingcome out upon my seas cursed missed opportunities am i a part of the cure or am i part of the disease singingyou are you are you are you are you are you areand nothing else compares and nothing else compares and nothing else comparesyou are you arehome home where i wanted to go home home where i wanted to go home home where i wanted to go you are home home where i wanted to go you are ",1
82,"put that woman first","jaheim",2003,"yeah if they gleam in the sun while they spin and they fit on my truck then i could remember and if it came in the sack no stems no seeds in the bag then i could remember and if they drip from my wrist and they look like they shine like new then i could remember but oh girl i forgot to be your lover if it wasnt for the 9 to 5 double up overtime then i could remember if it wasnt for the sunday all star weekend games girl i could remember and if it wasnt for the dough gettin fifty gs a show girl ya know that i could remember but silly me silly me oh tell me how could i ever forget to be your lover now i realize that you need love too spend my life makin up to you oh girl oh i forgot to be your lover when she starts bringin up old dirt and the fights keep getting worse findin numbers in her purse better put that woman first and you notice she aint wearin her ring when she starts playin little games comin in late from work you better put that woman first if it wasnt for the make up on my shirt still out there chasin skirts then i could remember and if it wasnt for that fight last night you smashin out my headlights then i could remember if it wasnt for parole steady duckin my p o girl you know i could remember but silly me silly me babe tell me how could i ever forget to be your lover now i realize that you need love too spend my life makin up to you oh girl oh i forgot to be your lover when she starts bringin up old dirt and the fights keep getting worse findin numbers in her purse better put that woman first and you notice she aint wearin her ring when she starts playin little games comin in late from work you better put that woman first so many times actin like it wasnt really nothin so many ways kept to myself always runnin so many games all that i sin so many words i need you to stay always came first even though sometimes fallin second came down to love you know i had to win the last race spend some time put in some work and for better or worse always put that woman first when she starts bringin up old dirt and the fights keep getting worse findin numbers in her purse better put that woman first and you notice she aint wearin her ring when she starts playin little games comin in late from work you better put that woman first when she starts bringin up old dirt and the fights keep getting worse findin numbers in her purse better put that woman first and you notice she aint wearin her ring when she starts playin little games comin in late from work you better put that woman first",3
83,"rain on me","ashanti",2003," mmm mmm mmm mmm mmm mmm mmm mmm mmm mmm mmm mmm mmmim lookin in the mirror at this woman down and out shes internally dyin i know this was not what loves abouti dont wanna be this woman the second time around cause im wakin up screamin no longer believin that im gonna be aroundand over and over i tried yet over and over you lied gettin over and over my pride yeah i dont know whyand over and over i tried yet over and over you lied gettin over and over my pride yeah i dont know whyrain on me lord wont you take this pain from me i dont wanna live i dont wanna breathe baby just rain on me lord wont you take this pain from me i dont wanna live i dont wanna breathe nosee i dont want to hold my pillow late at night no more im tossin and turnin and thinkin bout burnin down these walls ii dont wanna fuel this fire no more no more no more see i made up my mind cause ive wasted my time aint nothin here to keep me warmand over and over i tried yet over and over you lied gettin over and over my pride yeah i dont know whyand over and over i tried yet over and over you lied gettin over and over my pride yeah i cried i cried i cried i cried i criedoh oh oh ohrain on me lord wont you take this pain from me i dont wanna live i dont wanna breathe baby just rain on me lord wont you take this pain from me i dont wanna live i dont wanna breathe noim so tired of the rain in my life and im so tired of the strain and now youre gonna liesometimes i cant sleep at night and this here it just dont seem right and sometimes i just wonder why i almost let my life go bysometimes i cant sleep at night and this here it just dont seem right and sometimes i just wonder why i almost let my life go byoh oh oh oh oh ohrain on me lord wont you take this pain from me i dont wanna live i dont wanna breathe baby just rain on me lord wont you take this pain from me i dont wanna live i dont wanna breathe norain on me lord wont you take this pain from me i dont wanna live i dont wanna breathe baby just rain on me lord wont you take this pain from me i dont wanna live i dont wanna breathe noooh ooh ooh ooh lalalalalalala lalala lalalalalala ooh ooh ooh ",1
84,"19 somethin","mark wills",2003," saw star wars at least eight times had the pacman pattern memorized and ive seen the stuff they put inside stretch armstrong yeah i was roger staubach in my backyard had a shoebox full of baseball cards and a couple of evil knievel scars on my right arm i was a kid when elvis died and my momma criedit was nineteen seventy somethin and the world that i grew up in farrah fawcett hairdo days bell bottoms and eight track tapes lookin back now i can see me oh man did i look cheesy but i wouldnt trade those days for nothin oh it was nineteen seventysomethinit was the dawning of a new decade we got our first microwave dad broke down and finally shaved them old sideburns off i took the stickers off of my rubiks cube watched mtv all afternoon my first love was daisy duke and them cutoff jeans space shuttle fell out of the sky and the whole world criedit was nineteen eightysomethin and the world that i grew up in skatin rinks and black transams big hair and parachute pants and lookin back now i can see me oh man did i look cheesy i wouldnt trade those days for nothin oh it was nineteen eightysomethinnow ive got a mortgage and an suv but all this responsibility makes me wish sometimesthat it was nineteen eightysomething and the world that i grew up in skatin rinks and black transams big hair and parachute pants and lookin back now i can see me oh man did i look cheesy i wouldnt trade those days for nothin oh it was nineteen eightysomething nineteen seventysomething oh it was nineteen somethin ",1
85,"cant stop wont stop","young gunz",2003," sick sicker remix okayyoung gunnaz okay seein me check big face thats right big leo right big bird yeah hollacant stop wont stop chingy and the gunnaz cause we we get down baby we get down the girls the girls they love us say what look she right there her man he right thereyup its only right that we make it a remix young gunnaz and chingy just to give it a lil twist next generation you better stay focused youngaz before they time man you already know this ball em never call em kick em out before their moment it seem like once you done they start drawlin you never have em so you cuff em when you grab him i treat em all the same even the bad onesgo magnum rose gold chain for show aim four four magnum tell c and p when they done better blast em i be laid back smokin bags playin madden you know we tap em middle room bathroom living room bathroom sit at home cap em you got it its nothin i had em you can have em seein neef we the streets gunnaz we the last onecant stop wont stop chingy and the gunnaz cause we we get down baby we get down the girls the girls they love us say what look she right there her man he right therecant stop wont stop chingy and the gunnaz cause we we get down baby we get down the girls the girls they love us say what look she right there her man he right thereman i cant stop wont stop girl quit actin like ya cant pop wont drop to the flo i move crowds like i moved hop man 94 on the block hand full on my jock you wanna know its official when i step up in it you wanna party lemme get the y gs and we a be there in a minute maybe chickenhead wit it im in the authentic get it boy jersey g i b hat fittedrunnin ten a world we did it did what got the boxed up benz range and got both em get it chingaling worldwide girl worldwide girl playa and im pimpin you never seen my thural side the girls the girls they love me love me you know i stay fresh till death like doug e doug e i step in the spot these cats they mug me mug me got drank in row so meet me at the club e d d tcant stop wont stop chingy and the gunnaz cause we we get down baby we get down the girls the girls they love us say what look she right there her man he right therecant stop wont stop chingy and the gunnaz cause we we get down baby we get down the girls the girls they love us say what look she right there her man he right thereneefy and chris wicked game wicked chick one had to pay a dime pay in no mind its quite obserd just sayin the right words i like nice hair titties and nice curves givin neck dose smokin on a bag fa sho shawtys catch everything everytime i let go okay i get her poppin and let em finish the rest yoand when im lookin for a girl why i check fo need me a chick thatll see me squeeze the fifth on the court pleed the fifth never leave me for a check but the visa on the whip so overseas get the bricks bringin all dat cake thats what i need for you to do i be heated if you screw bring it all back straight rock on me we pop homie drink it all back straight better warn me ya barreta on me baby all dat hate will lead to you losin all that weight holla at ya boycant stop wont stop chingy and the gunnaz cause we we get down baby we get down the girls the girls they love us say what look she right there her man he right therecant stop wont stop chingy and the gunnaz cause we we get down baby we get down the girls the girls they love us say what look she right there her man he right therewow wow wow wow look at those hoes theyre they go what they at what they at what they at what they at man wow wow wow wow look at all those hoes theyre they go what they at what they at what they atcant stop wont stop chingy and the gunnaz cause we we get down baby we get down wow wow wow wow look at all those hoes cant stop wont stop chingy and the gunnaz cause we we get down baby we get down ",1
86,"red dirt road","brooks  dunn",2003,"i was raised off of old route 3 out past where the blacktop ends wed walk to church on sunday mornin race barefoot back to the johnsons fence thats where i first saw mary on that roadside pickin blackberries that summer i turned a corner in my soul down that red dirt road its where i drank my first beer its where i found jesus where i wrecked my first car i tore it all to pieces i learned the path to heaven is full of sinners and believers learned that happiness on earth aint just for high achievers ive learned ive come to know theres life at both ends of that red dirt road her daddy didnt like me much with my shackled up gto id sneak out in the middle of the night throw rocks at her bedroom window wed turn out the headlights drive by the moonlight talk about what the future might hold down a red dirt road its where i drank my first beer its where i found jesus where i wrecked my first car i tore it all to pieces i learned the path to heaven is full of sinners and believers learned that happiness on earth aint just for high achievers ive learned ive come to know theres life at both ends of that red dirt road i went into the world and i came back in i lost mary oh i got her back again and driving home tonight feels like ive found a long lost friend its where i drank my first beer its where i found jesus where i wrecked my first car i tore it all to pieces i learned the path to heaven is full of sinners and believers learned that happiness on earth aint just for high achievers ive learned ive come to know theres life at both ends of that red dirt road yes ive learned ive come to know theres life at both ends of that red dirt road",3
87,"what was i thinkin","dierks bentley",2003," becky was a beauty from south alabama her daddy had a heart like a ninepound hammer think he even did a little time in the slammer what was i thinkin she snuck out one night and met me by the front gate her daddy came out wavin that twelve gauge we tore out the drive he peppered my tailgate what was i thinkin oh i knew thered be hell to pay but that crossed my mind a little too late cause i wasthinkin bout a little white tank top sittin right there in the middle by me i was thinkin bout a long kiss man just gotta get goin where the night might lead i know what i was feelin but what was i thinkin what was i thinkinby the county line the cops were nippn on our heels pulled off the road and kicked it in fourwheel shut off the lights and tore through a corn field what was i thinkin out the other side she was hollerin faster took a dirt road had the radio blastin hit the honkytonk for a little close dancin what was i thinkin oh i knew thered be hell to pay but that crossed my mind a little too late cause i wasthinkin bout a little white tank top sittin right there in the middle by me i was thinkin bout a long kiss man just gotta get goin where the night might lead i know what i was feelin but what was i thinkinwhen a mountain of a man with a born to kill tattoo tried to cut in i knocked out his front tooth we ran outside hoodslidin like bo duke what was i thinkin i finally got her home at a half past too late her daddys in a lawn chair sittin on the driveway put it in park as he started my way what was i thinkin oh what was i thinkin oh what was i thinkin then she gave a comeandgetme grin and like a bullet we were gone again cause i wasthinkin bout a little white tank top sittin right there in the middle by me i was thinkin bout a long kiss man just gotta get goin where the night might lead i know what i was feelin yeah i know what i was feelin but what was i thinkin what was i thinkini know what i was feelin but what was i thinkin guess i was thinking about that tank top those cutoffs hahaha ",1
88,"flying without wings","ruben studdard",2003," everybodys looking for that something one thing that makes it all complete youll find it in the strangest places places you never knew it could besome find it in the faces of their children some find it in their lovers eyes who can deny the joy it brings when youve found that special thing youre flying with out wingssome find it in sharing every morning some in their solitary lives youll find it in the words of others a simple line can make you laugh or cryyoull find it in the deepest friendship the kind you cherish all your life and when you know how much that means youve found that special thing youre flying without wingsso impossible as it may seem youve got to fight for every dream cause whos to know which one you let go would have made you completewell for me its waking up beside you to watch the sunlight on your face to know that i can say i love you in any given time or placeits the little things that only i know those are the things that make you mine and its the flying without wings cause youre my special thing im flying without wingsand youre the place my life begins and youll be where it ends im flying without wings and thats the joy you bring im flying without wings ",1
89,"sing for the moment","eminem",2003," these ideas are nightmares to white parents whose worst fear is a child with dyed hair and who likes earrings like whatever they say has no bearing its so scary in a house that allows no swearing to see him walking around with his headphones blaring alone in his own zone cold and he dont care hes a problem child what bothers him all comes out when he talks about his fuckin dad walkin out cause he hates him so bad that he blocks him out if he ever saw him again hed probably knock him out his thoughts are whacked hes mad so hes talkin back talkin black brainwashed from rock and rap he sags his pants do rags and a stocking cap his stepfather hit him so he socked him back and broke his nose this house is a broken home theres no control he just lets his emotions gocome on sing with me sing sing for the years sing it sing for the laughter sing for the tears come on sing it with me just for today maybe tomorrow the good lord will take you awayentertainment is changing intertwining with gangsters in the land of the killers a sinners mind is a sanctum holy or unholy only have one homie only this gun lonely cause dont anyone know me but everybody just feels like they can relate i guess words are a motherfucker they can be great or they can degrade or even worse they can teach hate its like these kids hang on every single statement we make like they worship us plus all the stores ship us platinum now how the fuck did this metamorphosis happen from standin on corners and porches just rappin to havin a fortune no more kissin ass but then these critics crucify you journalists try to burn you fans turn on you attorneys all want a turn at you to get their hands on every dime you have they want you to lose your mind every time you mad so they can try to make you out to look like a loose canon any dispute wont hesitate to produce handguns thats why these prosecutors wanna convict me strictly just to get me off of these streets quickly but all their kids been listenin to me religiously so im signing cds while police fingerprint me theyre for the judges daughter but his grudge is against me if im such a fuckin menace this shit doesnt make sense b its all political if my music is literal then im a criminal how the fuck can i raise a little girl i couldnt i wouldnt be fit to youre full of shit too guerrera that was a fist that hit youcome on sing with me sing sing for the years sing it sing for the laughter sing for the tears come on sing it with me just for today maybe tomorrow the good lord will take you awaythey say music can alter moods and talk to you well can it load a gun up for you and cock it too well if it can then the next time you assault a dude just tell the judge it was my fault and ill get sued see what these kids do is hear about us totin pistols and they want to get one cus they think the shits cool not knowin were really just protectin ourselves we entertainers of course the shits affecting ourselves you ignoramus but music is reflection of self we just explain it and then we get our checks in the mail its fucked up aint it how we can come from practically nothin to bein able to have any fuckin thing that we wanted thats why we sing for these kids that dont have a thing except for a dream and a fuckin rap magazine who post pinup pictures on their walls all day long idolize they favorite rappers and know all they songs or for anyone whos ever been through shit in they lives til they sit and they cry at night wishing they die til they throw on a rap record and they sit and they vibe were nothing to you but were the fuckin shit in their eyes thats why we seize the moment and try to freeze it and own it squeeze it and hold it cause we consider these minutes golden and maybe theyll admit it when were gone just let our spirits live on through our lyrics that you hear in our songs and we cancome on sing with me sing sing for the years sing it sing for the laughter sing for the tears come on sing it with me just for today maybe tomorrow the good lord will take you awaycome on sing with me sing sing for the years sing it sing for the laughter sing for the tears come on sing it with me just for today maybe tomorrow the good lord will take you away ",1
90,"have you forgotten","darryl worley",2003," i hear people saying we dont need this war i say theres some things worth fighting for what about our freedom and this piece of ground we didnt get to keep em by backing down they say we dont realize the mess were getting in before you start your preaching let me ask you this my friendhave you forgotten how it felt that day to see your homeland under fire and her people blown away have you forgotten when those towers fell we had neighbors still inside going thru a living hell and you say we shouldnt worry bout bin laden have you forgottenthey took all the footage off my tv said its too disturbing for you and me itll just breed anger thats what the experts say if it was up to me id show it everyday some say this countrys just out looking for a fight after 911 man id have to say thats righthave you forgotten how it felt that day to see your homeland under fire and her people blown away have you forgotten when those towers fell we had neighbors still inside going thru a living hell and you say we shouldnt worry bout bin laden have you forgottenive been there with the soldiers whove gone away to war and you can bet that they remember just what theyre fighting forhave you forgotten how it felt that day to see your homeland under fire and her people blown away have you forgotten when those towers fell we had neighbors still inside going thru a living hell and you say we shouldnt worry bout bin laden have you forgottenhave you forgotten all the people killed some went down like heros in that pennsylvania field have you forgotten about our pentagon all the loved ones that we lost and those left to carry on dont you tell me not to worry about bin laden have you forgottenhave you forgotten have you forgotten ",1
91,"no shoes no shirt no problems","kenny chesney",2003," ive been up to my neck workin six days a week wearin holes in the soles of the shoes on my feet been dreamin of gettin away since i dont know aint no better time than now for mexicoand no shoes no shirt no problems blues what blues hey i forgot them the sun and the sand and a drink in my hand with no bottom and no shoes no shirt and no problems no problemswant a towel on a chair in the sand by the sea want to look thru my shades and see you there with me want to soak up life for a while in laid back mode no boss no clocks no stress no dress codeand no shoes no shirt no problems blues what blues hey i forgot them the sun and the sand and a drink in my hand with no bottom and no shoes no shirt and no problems ",1
92,"come over","aaliyah",2003," i just touched down touched down quarter after two flight 102 i know its late real late but im calling you calling youtryin to figure if i i can can come come see see you can i come see youi know youre sleep youre sleep but youre on my mind my mind and im wide awake awakeand i wanna stop by come on over so can you get up and get out of the bed cuz i wanna see you and i been wonderingcan i come over can i come over stop by come over to see you come over tonightcan i come over can i come over get wit ya come over just wanna come over be wit ya babycan i come over can i come over stop by come over to see you come over tonightcan i come over can i come over get wit ya come over just wanna yeah yeah be wit ya babyso tell me what the deal youre not that far i just got my bags and im headed to the car say yes or no cuz im on the roadum wait a minute my batterys low lemme aightbaby i wanna come see you said i really wanna come see you dont you worry about a thing im just wantin to hold youembrace you i want to look at you and tell you how much i love you i want you i need you i miss youcan i come over can i come over stop by come over to see you come over tonightcan i come over can i come over get wit ya come over just wanna come over be wit ya babycan i come over can i come over stop by come over to see you come over tonightcan i come over can i come over get wit ya come over just wanna yeah yeah be wit ya babycan i come over can i come on over stop by come over to see you come over tonightcan i come over can i come over get wit ya come over i just wanna yeah be wit ya babycan i come over can i come over stop by come over to see you come over tonightcan i come over can i baby get wit ya can i come over i just wanna over be wit ya baby ",1
93,"sick of being lonely","field mob",2003,"im so sick of bein lonely every night while my man goes out with his homies i wanna know how it feels to be loved be loved sick of being lonely every night while my man goes out with his homies i wanna know how it feels to be loved be loved any other night youd be at home waitin on me yeah whats goin on any other night youd be actin like a bugaboo ooh whats goin on any other night youd be callin me stallin me ha whats goin on any other night i can guarantee a page from you ooh whats goin on hmmm but tonight seem different man its about this fishy im so confused cuz i aint even get shhh my wife aint hit me on my pager or cell and when i call her i keep gettin the damn voice mail whats goin on yeah i know im wrong for goin and comin home at bout four in the mornin hopin ya home alone like caulkin but i picked the wrong time and respect will be expected im so sick of bein lonely every night while my man goes out with his homies i wanna know how it feels to be loved be loved sick of bein lonely every night while my man goes out with his homies i wanna know how it feels to be loved be loved im so sick of bein lon ahh dont finish yo statement you alone call me ill be yo replacement put me in the game coach you can let that lame go let me lick you on your neck and go down to yo ankles cuz aint no mo better freakier feller from the field to creep wit when ya guys are dummy honey you lookin good and mo gooder than a plate of neck bones tenderized and yummy the energizer bunny cant compete with me cuz i be goin and goin growin put mo motion in ya ocean from night to mornin heavy huffin and puffin breath stankin and yawnin somethin so pretty as you at home alone thats unbelieveable like when the cow jumped over the moon now i never put nuttin before you thats like eatin cereal and pickin a fork over a spoon im so sick of bein lonely every night while my man goes out with his homies i wanna know how it feels to be loved be loved sick of bein lonely every night while my man goes out with his homies i wanna know how it feels to be loved be loved im so sick of bein lonely every night while my man goes out with his homies i wanna know how it feels to be loved be loved sick of bein lonely every night while my man goes out with his homies i wanna know how it feels to be loved be loved this is a jazzi fizle purductshisle my nizzle jazzie faith field mob torika its a beautiful daddy oowwee oh boy",3
94,"step in the name of love","r kelly",2003," many lovers has come and many lovers have gone similar to an old fashion song a thousand years from now well be still putting it down my babyyou can change the frame but the picture remains the same similar to the sun after the rain a thousand years from now well be still putting it down my babybaby girl in other words for ever more ill be here ill be here cause my whole lifes been full of joy every since you came here girlmy whole world goes around because you spin me yeah spin me and every time were done making love girl you makes me wannasnap in the name of love snap in the name of love snap my fingers clap in the name of love clap in the name of love clap my hands yeah step in the name of love step in the name of love step from side to side groove in the name of love groove in the name of love groove and its alrightsome believes in love and some people dont similar to a story when its told a thousand years from now well be still putting it down my babysome have crossed the finish line and some gave up its like moving a mountain love can be just that tough yeah a thousand years from now well be still putting it down my babybaby girl in other words for ever more ill be here ill be here cause my whole lifes been full of joy every since you came here girlmy whole world goes around because you spin me yeah spin me and every time were done making love girl you makes me wannasnap in the name of love snap in the name of love snap my fingers clap in the name of love clap in the name of love clap both my hands step in the name of love step from side to side step in the name of love groove in the name of love groove in the name of love groove and its alrightsnap in the name of love woo snap in the name of love woo clap in the name of love clap my hands clap in the name of love oh step in the name of love step step step step in the name of love uhhuh you got it groove in the name of love groove in the name groove in the name of love of lovenow we gonna play a little game and this game is for all of those who know how to follow the rules to this game alright listen when i sing i want everybody out there to do what ever i sing alright come on here we gostep step side to side round and round dip it now separate bring it back let me see you do the love slidestep step side to side round and round dip it now separate bring it back let me see you do the love slidesee my whole my whole world goes around all because you spin me yeah spin me yeah and when were done making love baby hey i just wanna get to steppin go out on the town andsnap in the name of love snap snap in the name of love in the name of love clap in the name of love yeah baby clap in the name of love step in the name of love i wanna step woo step in the name of love in the name of love groove in the name of love groove in the name of lovelisten love brought us together so keep on steppin because loves gonna last foreverclap in the name of love lets step out hit the club d js rockin that song for us if anybody ask why were steppin tell them that we did it for lovededicated to uncle henry love thank you ",1
95,"i want you","thal'ia featuring fat joe",2003," no one else can ever no one else can ever no one else can everyeah uh yeah uhwhat did i do to deserve such a man so special in my life so many days and nights i get on the go while i sit and wait for mister right baby then came youlaidback with your sexy smile when you move your body you just drive me wild if youre feeling me baby tell me now because i want you i want youbaby no one else can ever want you like i do im feelin love in the deepest fall give you the keys and all you even when helped me when the beef was ontell me what you feel cause im feeling something real i feel the same way you make the don say girl i want you girl i need youcant you see how this love affair would be good for you and me cause baby i swear no other man can do the things that you do when you love me oh baby youre my lifetime fantasyso smooth love the way you walk i just love to hear when you talk your talk so if youre feeling me baby let me know because i want you i want youbaby no one else can ever want you like i do im feelin love in the deepest fall give you the keys and all you even when helped me when the beef was ontell me what you feel cause im feeling something real i feel the same way you make the don say girl i want you girl i need you babeslow down love dont you see me with my girl what you thinkin it was i know youre used to seein me in the clubs different chicks sippin cris just a million in dubs but ive changed only got eyes for her believe me aint no girl dividin us we could maybe elope have a baby and all cause i dont wanna be a player no morebaby no one else can ever want you like i do i feel the same way you make the don say girl i want you girl i need youtell me what you feel cause im feeling something real i feel the same way you make the don say girl i want you girl i need youbaby no one else can ever want you like i do i feel the same way you make the don say girl i want you girl i need youtell me what you feel cause im feeling something real i feel the same way you make the don say girl i want you girl i need youbaby baby baby baby baby baby baby baby ",1
96,"like a stone","audioslave",2003," on a cobweb afternoon in a room full of emptiness by a freeway i confess i was lost in the pages of a book full of death reading how well die alone and if were good well lay to rest anywhere we want to goin your house i long to be room by room patiently ill wait for you there like a stone ill wait for you there alone  meaning  bybetsy     only a junkie can truly understand the meaning and depth of this songs lyrics    see all   on my deathbed i will pray to the gods and the angels like a pagan to anyone who will take me to heaven to a place i recall i was there so long ago the sky was bruised the wine was bled and there you led me onin your house i long to be room by room patiently ill wait for you there like a stone ill wait for you there alonealoneand on i read until the day was gone and i sat in regret of all the things ive done for all that ive blessed and all that ive wronged in dreams until my death i will wander onin your house i long to be room by room patiently ill wait for you there like a stone ill wait for you there alonealone ",1
97,"dont know why","norah jones",2003," i waited til i saw the sun i dont know why i didnt come i left you by the house of fun i dont know why i didnt come i dont know why i didnt comewhen i saw the break of day i wished that i could fly away instead of kneeling in the sand catching teardrops in my handmy heart is drenched in wine but youll be on my mind foreverout across the endless sea i would die in ecstasy but ill be a bag of bones driving down the road alonemy heart is drenched in wine but youll be on my mind foreversomething has to make you run i dont know why i didnt come i feel as empty as a drum i dont know why i didnt come i dont know why i didnt come ",1
98,"superman","eminem",2003," mm you high baby yeah yeah ha ha ha talk to me you want me to tell you somethin uh huh i know what you wanna hearcause i know you want me baby i think i want you too i think i love you baby i think i love you too im here to save you girl come be in shadys world i wanna grow together lets let our love unfurl you know you want me baby you know i want you too they call me superman im here to rescue you i wanna save you girl come be in shadys worldoh boy you drive me crazybitch you make me hurlthey call me superman leap tall hoes in a single bound im single now got no ring on this finger nowill never let another chick bring me down in a relationship save it bitch babysit you make me sick superman aint savin shit girl you can jump on shadys dick straight from the hip cut to the chase ill tell the motherfucking slut to her face play new games say new names ever since i broke up with whats her face im a different man kiss my ass kiss my lips bitch why ask kiss my dick hit my cash id rather have you whip my ass dont put out ill put you out wont get out ill push you out puss blew out poppin shit wouldnt piss on fire to put you out am i too nice buy you ice bitch if you died wouldnt buy you life what you tryin to be my new wife what you mariah fly through twice but i do know one thing though bitches they come they go saturday through sunday monday monday through sunday yo maybe ill love you one day maybe well someday grow til then just sit your drunk ass on that fuckin runway hoecause i cant be your superman cant be your superman cant be your superman cant be your superman i cant be your superman cant be your superman cant be your superman your superman your supermandont get me wrong i love these hoes its no secret everybody knows yeah we fucked bitch so what thats about as far as your buddy goes well be friends ill call you again ill chase you around every bar you attend never know what kind of car ill be in well see how much youll be partying then you dont want that neither do i i dont wanna flip when i see you with guys too much pride between you and i not a jealous man but females lie but i guess thats just what sluts do how could it ever be just us two never loved you enough to trust you we just met and i just fucked you but i do know one thing though bitches they come they go saturday through sunday monday monday through sunday yo maybe ill love you one day maybe well someday grow till then just sit your drunk ass on that fuckin runway hoe i know you want me baby i think i want you too i think i love you babyi think i love you too im here to save you girl come be in shadys world i wanna grow together lets let our love unfurl you know you want me baby you know i want you too they call me superman im here to rescue you i wanna save you girl come be in shadys worldoh boy you drive me crazy bitch you make me hurl first thing you said im not phased i hang around big stars all day i dont see what the big deal is anyway youre just plain ol marshall to me ooh yeah girl run that game hailie jade i love that name love that tattoo whats that say rot in pieces aw thats great first off you dont know marshall at all so dont grow partial thats ammo for my arsenal ill slap you off that bar stool there goes another lawsuit leave hand prints all across you good lordywody you must be gone off that water bottle you want what you cant have ooh girl thats too damn bad dont touch what you cant grab end up with two back hands put anthrax on a tampax and slap you till you cant stand girl you just blew your chance dont mean to ruin your plans but i do know one thing though bitches they come they go saturday through sunday monday monday through sunday yo maybe ill love you one day maybe well someday grow til then just sit your drunk ass on that fuckin runway hoei know you want me baby i think i want you too i think i love you baby i think i love you too im here to save you girl come be in shadys world i wanna grow together lets let our love unfurl you know you want me baby you know i want you too they call me superman im here to rescue you i wanna save you girl come be in shadys world oh boy you drive me crazy bitch you make me hurlcause i cant be your superman cant be your superman cant be your superman cant be your superman i cant be your superman cant be your superman cant be your superman your superman your supermancause i cant be your superman cant be your superman cant be your superman cant be your superman i cant be your superman cant be your superman cant be your superman your superman your superman ",1
99,"real good man","tim mcgraw",2003," girl youve never known no one like me up there in your high society they might tell you im no good girl they need to understand just who i ami may be a real bad boy but baby im a real good mani may drink too much and play too loud hang out with a rough and rowdy crowd that dont mean i dont respect my mama or my uncle sam yes sir yes maami may be a real bad boy but baby im a real good mani might have a reckless streak at least a country mile wide if youre gonna run with me its gonna be a wild ridewhen it comes to lovin you ive got velvet hands ill show you how a real bad boy can be a real good man here we goill take all the good times i can get im too young for growing up just yet aint much i can promise you except to do the best i can ill be damnedi may be a real bad boy but baby im a real good man i may be a real bad boy oh but baby im a real good man yes i am ",1
100,"say yes","floetry",2003," see ive been watching you for a while your smile and stuff and i dont know if i can be with you for tonight alright is that alright baby babythere is only one for me you have made that a possibility we could take that step to see if this is really gonna be all you gotta do is say yesall you gotta do is say yes dont deny what you feel let me undress you babe open up your mind and just rest im about to let you know you make me soall you gotta do is say yes dont deny what you feel let me undress you babe open up your mind and just rest im about to let you know you make me so so so so so so so so you make me so so so so so so so soloving you has taken time take time but i always knew you could be mine i recognize the butterflies inside me sense is gonna be made tonight tonight all you gotta do is say yesall you gotta do is say yes dont deny what you feel let me undress you babe open up your mind and just rest im about to let you know you make me sodont deny what you feel let me undress you babe open up your mind and just rest im about to let you know you make me so so so so so so so so you make me so so so so so so so soyou make me so so so so so so so so you make me so so so so so so so so so soall you gotta do all you gotta do is say yes dont deny what you feel let me undress you baby open up your mind and just rest im about to let you know you make me so all you gotta do is say yes ",1
1,"yeah","usher featuring lil jon and ludacris",2004," peace up atown down yeah ok lil jonyeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yeahim in the club with my homies tryna get a lil vi keep it down on the low key cause you know how it feels i said shawty she was checkin up on me from the game she was spittin my ear youd think that she knew me so we decided to chillconversation got heavy she had me feelin like shes ready to blow watch out oh watch out she saying come get me come get me so i got up and followed her to the floor she said baby lets go when i told her i saidyeah yeah shawty got down an said come and get me yeah yeah i got so caught up i forgot she told me yeah yeah her and my girl would be the best of homies yeah yeah next thing i knew she was all up on me screamingyeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yeahshes all up in my head now got me thinking that it might good idea to take her with me cause shes ready to leave now i gotta keep it real now cause on a onetoten shes a certified twenty and that just aint mecause i do know if i take that chance just where is it gonna lead but what i do know is the way she dance makes shawty alright with me the way she getting low im like yeah just work that out for me she asked for one more dance and im like yeah how the hell am i supposed to leave and i saidyeah yeah shawty got down an said come and get me yeah yeah i got so caught up i forgot she told me yeah yeah her and my girl would be the best of homies yeah yeah next thing i knew she was all up on me screamingyeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yeahluda watch out my outfits ridiculous in the club lookin so conspicuous and rowl these women all on the prowl if you hold the head steady im a milk the cow forget about the game im a spit the truth i wont stop till i get em in they birthday suits so gimmie the rhythm and itll be off with they clothes then bend over to the front and touch your toes i left the jag and i took the rolls if they aint cutting then i put em on foot patrol how you like me now when my pinkys valued over three hundred thousand lets drank you the one to please ludacris fill cups like double ds me and ush once more and we leave em dead we want a lady in the street but a freak in the bed to sayyeah yeah shawty got down an said come and get me yeah yeah i got so caught up i forgot she told me yeah yeah her and my girl would be the best of homies yeah yeah next thing i knew she was all up on me screamingyeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yeah yeahtake that and rewind it back lil jon got the beat to make ya booty go take that and rewind it back usher got the voice make ya booty gotake that and rewind it back ludacris got the flow make ya booty go take that and rewind it back lil jon got the beat make ya booty go ",1
2,"burn","usher",2004," girl understand why see its burning me to hold onto this i know this is something i gotta do but that dont mean i want to what im trying to say is that iloveyou i just i feel like this is coming to an end and its better for me to let it go now than hold on and hurt you i gotta let it burnits gonna burn for me to say this but its coming from my heart its been a long time coming but we done been fell apart really wanna work this out but i dont think ya gonna change ya i do but you dont think its best we go our separate ways tell me why i should stay in this relationship when im hurting baby i aint happy baby plus theres so many other things i gotta deal with i think that you should let it burnwhen your feeling aint the same and your body dont want to but you know gotta let it go cause the party aint jumpin like it used to even though this might bruise you let it burn let it burn gotta let it burndeep down you know its best for yourself but you hate the thought of her being with someone else but you know that its over you know that it was through let it burn let it burn gotta let it burnsendin pages i aint supposed to got somebody here but i want you cause the feeling aint the same find myself callin her your name ladies tell me do you understand now all my fellas do you feel my pain its the way i feel i know i made a mistake now its too late i know she aint coming back what i gotta do now to get my shorty back oh oh oh oh man i dont know what im gonna do without my boo youve been gone for too long its been fiftyeleven days umteen hours imma be burnin till you return let it burnwhen your feeling aint the same and your body dont want to but you know gotta let it go cause the party aint jumpin like it used to even though this might bruise you let it burn let it burn gotta let it burndeep down you know its best for yourself but you hate the thought of her being with someone else but you know that its over you know that it was through let it burn let it burn gotta let it burnim twisted cause one side of me is tellin me that i need to move on on the other side i wanna break down and cry oh im twisted cause one side of me is tellin me that i need to move on on the other side i wanna break down and cry yeahoh oh oh oh oh oh oh oh oh can you feel me burnin oh oh oh oh oh ohso many days so many hours im still burnin till you returnwhen your feeling aint the same and your body dont want to but you know gotta let it go cause the party aint jumpin like it used to even though this might bruise you let it burn let it burn gotta let it burndeep down you know its best for yourself but you hate the thought of her being with someone else but you know that its over you know that it was through let it burn let it burn gotta let it burn ",1
3,"if i aint got you","alicia keys",2004," some people live for the fortune some people live just for the fame some people live for the power yeah some people live just to play the gamesome people think that the physical things define whats within and ive been there before and that lifes a bore so full of the superficialsome people want it all but i dont want nothing at all if it aint you baby if i aint got you baby some people want diamond rings some just want everything but everything means nothing if i aint got you yeahsome people search for a fountain that promises forever young some people need three dozen roses and thats the only way to prove you love themhand me the world on a silver platter and what good would it be with no one to share with no one who truly cares for mesome people want it all but i dont want nothing at all if it aint you baby if i aint got you baby some people want diamond rings some just want everything but everything means nothing if i aint got yousome people want it all but i dont want nothing at all if it aint you baby if i aint got you baby some people want diamond rings some just want everything but everything means nothing if i aint got you yeahif i aint got you with me baby so nothing in this whole wide world dont mean a thing if i aint got you with me baby ",1
4,"this love","maroon 5",2004," i was so high i did not recognize the fire burning in her eyes the chaos that controlled my mind whispered goodbye as she got on a plane never to return again but always in my heart ohthis love has taken its toll on me she said goodbye too many times before and her heart is breaking in front of me and i have no choice cause i wont say goodbye anymorewhoa oh oh whoa oh oh whoa oh ohi tried my best to feed her appetite keep her coming every night so hard to keep her satisfied oh kept playing love like it was just a game pretending to feel the same then turn around and leave againbut oh ohh this love has taken its toll on me she said goodbye too many times before and her heart is breaking in front of me and i have no choice cause i wont say goodbye anymorewhoa oh oh whoa oh oh whoa oh ohbridge ill fix these broken things repair your broken wings and make sure everythings alright its alright its alright my pressure on your hips sinking my fingertips into every inch of you because i know thats what you want me to dothis love has taken its toll on me she said goodbye too many times before her heart is breaking in front of me and i have no choice cause i wont say goodbye anymorethis love has taken its toll on me she said goodbye too many times before and my heart is breaking in front of me and she said goodbye too many times beforethis love has taken its toll on me she said goodbye too many times before her heart is breaking in front of me and i have no choice cause i wont say goodbye anymore ",1
5,"the way you move","outkast featuring sleepy brown",2004," boom boom boom heh hehready for action nip it in the bud we never relaxin outkast is everlastin not clashin not at all but see my nigga want to do a little acting now thats for anyone askin give me one pass em drip drip drop there goes an eargasm now you cumin out the side of your face we tapping right into your memory banks thanks so click it our ticket lets see your seat belt fastened trunk rattlin like two midgets in the back seat grasping speakerbox vibrate the tank make it sound like aluminum cans in the back but i know yall wanted that 808 can you feel that bass bass but i know yall wanted that 808 can you feel that bass bassi like the way you move i like the way you move who i love the way you move i love the way i love the wayi like the way you move i like the way you move who i love the way you move i love the way i love the waythen the whole room fell silent the girls all pause with glee turning left turning right are they looking at me cause i was looking at them there there on the dance floor now they got me in the middle feeling like a man whore specially the big girl big girls need love too no discrimination here squirrel so keep your hands off my cheeks and let me study how you ride the beat you big freak skinny slim women got the camel toe within them you can fuck them lift them bend them give them something to remember yell out timber when they fall through the chop shop take a deep a breath and exhale your ex male friend boyfriend was boring as hell now let me listen to the stories you tell and we can make moves like a person in jail on the locoi like the way you move i like the way you move who i love the way you move i love the way i love the wayi like the way you move i like the way you move who i love the way you move i love the way i love the wayhey baby girl dont you stop come on baby dance on the top of me you so fine you so fine you so fine you drive me outta my mind my mind outta my mind oh baby if i could i would just be with you baby oh cause you like me and excite me and you know you gotta leave baby ohi like the way you move i like the way you move who i love the way you move i love the way i love the wayi like the way you move i like the way you move who i love the way you move i love the way i love the wayi like the way you move i like the way you move who i love the way you move i love the way i love the wayi like the way you move i like the way you move who i love the way you move i love the way i love the way ",1
6,"the reason","hoobastank",2004," im not a perfect person theres many thing i wish i didnt do but i continue learning i never meant to do those things to you and so i have to say before i go that i just want you to knowive found a reason for me to change who i used to be a reason to start over new and the reason is youim sorry that i hurt you its something i must live with everyday and all the pain i put you through i wish i could take it all away and be the one who catches all your tears thats why i need you to hearive found a reason for me to change who i used to be a reason to start over new and the reason is youand the reason is you and the reason is you and the reason is youim not a perfect person i never meant to do those things to you and so i have to say before i go that i just want you to knowive found a reason for me to change who i used to be a reason to start over new and the reason is youive found a reason to show a side of me you didnt know a reason for all that i do and the reason is you ",1
7,"i dont wanna know","mario winans featuring enya and p diddy",2004," i just cant believe this man just another night of these thoughts cant get this outta my head yeahsomebody said they saw you the person you were kissing wasnt me and i would never ask you i just kept it to myselfi dont wanna know if youre playin me keep it on the low cuz my heart cant take it anymore and if youre creepin please dont let it show oh baby i dont wanna knowoh baby i think about it when i hold you when looking in your eyes i cant believe i dont need to know the truth baby keep it to yourselfi dont wanna know if youre playin me keep it on the low cuz my heart cant take it anymore and if youre creepin please dont let it show oh baby i dont wanna knowdid he touch you better than me did he watch you fall asleep did you show him all those things that you used to do to me if youre better off that way baby all that i can say if youre gonna do your thing then dont come back to mei dont wanna know your whereabouts or how you movin i know when you in the house or when you cruisin its been proven my love you abusin i cant understand how a man got you choosin yeah undecided i came and provided my undivided you came and denied it why dont even try it i know when you lyin i know when you lyin dont even do that i know why you cryin stop cryin im not applyin no pressure just wanna let you know that i dont wanna let you go i dont wanna let you go and i dont wanna let you leave cant say i didnt let you breathe gave you extra cheesecmon put you in the suv you wanted ice so i made you freeze made you hot like the west indies thats right now its time you invest in me cause if not then its best you leave holla yeahi dont wanna know if youre playin me keep it on the low cuz my heart cant take it anymore and if youre creepin please dont let it show oh baby i dont wanna knowi dont wanna know if youre playin me keep it on the low cuz my heart cant take it anymore and if youre creepin please dont let it show oh baby i dont wanna know ",1
8,"hey ya","outkast",2004," one two three my baby dont mess around because she loves me so this i know fo shobut does she really wanna but cant stand to see me walk out the door dont try to fight the feeling because the thought alone is killin me right now thank god for mom and dad for sticking to together like we dont know howhey ya hey ya hey ya hey ya hey ya hey ya hey ya hey yayou think youve got it oh you think youve got it but got it just dont get it when theres nothin at all we get together oh we get together but separates always better when theres feelings involved know what they say its nothing lasts forever then what makes it then what makes it then what makes it then what makes it then what makes love the exception so why oh why oh why oh why oh why oh are we still in denial when we know were not happy here ",1
9,"goodies","ciara featuring petey pablo",2004," my goodies my goodies my goodies not my goodiesi got a sick reputation for handling broads all i need is me a few seconds or more and in my rap tell valet to bring my lac and i aint coming back so you can put a car right there im the truth and aint got nothin to prove an you can ask anybody cause they seen me do it barricades i run right through em im used to em throw all the dirt you want its no use you still wont have a pinup in a fabulous room on her back pickin out baskets of fruit i love you boo yeah freak and petey love you too ha ha you know how i doyou may look at me and think that im just a young girl but im not just a young girl baby this is what im lookin for i want a sexy independent i aint wit so you already know im not being too dramatic thats the way i gotta have iti bet you want the goodies bet you thought about it got you all hot and bothered mayb cause i talk about it looking for the goodies keep on lookin cause they stay in the jarjust because you drive a benz im not going home with you you wont get no nookie or the cookies im no rookie and still im sexy independent i aint wit it so you already know im not being too dramatic thats the way i gotta have it you may talk slick trying hit but im not dumb im not being too dramatic its just how i gotta have iti bet you want the goodies bet you thought about it got you all hot and bothered mayb cause i talk about it looking for the goodies keep on lookin cause they stay in the jarso damn hot but so young you aint got milk on ya tongue slow down lil one you aint got it all hey shorty you dont play the game you think you bad but you aint bad ill show you what bad is bad is when you capable of beatin the bag i been workin at it since i came to this planet and i aint quite there yet but im gettin better at it matter of fact lemme tell it to you once more again all i got to do is tell a girl who i am aint no chick in here that i cant haveyoure insinuating that im hot but these goodies boy are not just for any of the many men thats trying to get on top no you cant call me later and i dont want your number im not changin stories just respect the play im callingi bet you want the goodies bet you thought about it got you all hot and bothered mayb cause i talk about it looking for the goodies keep on lookin cause they stay in the jari bet you want the goodies bet you thought about it got you all hot and bothered mayb cause i talk about it looking for the goodies keep on lookin cause they stay in the jaryeah yeah ",1
10,"lean back","terror squad",2004," i dont give a fuck about your faults or mishappens nigga we from the bronx new york shit happens kids clappin love to spark the place half the niggas in the squad got a scar on their face its a cold world and this is ice half a mill for the charm nigga this is life got the phantom in front of the building trinity ave ten years been legit they still figure me bad as a youngn was too much to cope with why you think mufuckers nicknamed me cook coke shit shoulda been called armed robbery extortion or maybe grand larceny i did it all i put the pieces to the puzzle just as long i knew me and my peoples was gon bubble came out the gate on some flojo shit fat nigga with the shotty with the logo kidsaid my niggas dont dance we just pull up our pants and do the rockaway now lean back lean back lean back lean back i said my niggas dont dance we just pull up our pants and do the rockaway now lean back lean back lean back lean backr to the ezzy m to the yzzy my arms stay breezy the don stay flizzy got a date at 8 im in the 74fizzive and i just bought a bike so i can ride till i die with a matchin jacket bout to cop me a mansion my niggas in the club but you know they not dancin we gangsta and gangstas dont dance with boogies so never mind how we got in here with burners and hoodies listen we dont pay admission and the bouncers dont check us and we walk around the metal detectors and there really aint a need for a vip section in the middle of the dance floor reckless check it said he liked my necklace started relaxin now thats what the fuck i call a chain reaction see money aint a thing nigga we still the same niggas flows just changed now we bout to change the game niggasaid my niggas dont dance we just pull up our pants and do the rockaway now lean back lean back lean back lean back i said my niggas dont dance we just pull up our pants and do the rockaway now lean back lean back lean back lean back ",1
11,"tipsy","jkwon",2004," teen drinking is very bad yo i got a fake id though yeah yeah yeah yo two step wit me two step wit meone here comes the two to the three to the four everybody drunk out on the dance floor baby girl ass jiggle like she want more like she a groupie and i aint even on tour maybe cause she heard that i rhyme hardcore or maybe cause she heard that i buy out the stores bottom of the nineth and a nigga gotta score if not i gotta move on to the next whorehere comes the three to the two to the one homeboy trippin he dont know i got a gun when it come to pop we do shit for fun you aint got one nigga you better run now im in the back gettin head from a hun while she goin down im braggin on what i done she smokin my blunt sayin she aint havin fun bitch give it back now you dont get noneeverybody in the club gettin tipsy everybody in the club gettin tipsy everybody in the club gettin tipsy everybody in the club gettin tipsy everybody in the club gettin tipsy everybody in the club gettin tipsy everybody in the club gettin tipsy everybody in the club gettin tipsytwo here comes the three to the four to the five now im lookin at shorty right in her eyes couple seconds pass now im lookin at her thighs why she tellin me how much she hate her guy say she got a kid but she got her tubes tied girl you 21 girl thats alright im wonderin if a shake comin wit those fries if so baby can i get them supersizedhere comes the four to the three to the two she stay feelin on my johnson right out the blue girl you super thick so im thinkin thats cool but instead of one life hat i need two her eyes got big when she glanced at my jewels expression on her face like she aint got a clue then she told me she dont run wit the crew you know how i do but thats just what i gotta doeverybody in the club gettin tipsy everybody in the club gettin tipsy everybody in the club gettin tipsy everybody in the club gettin tipsy everybody in the club gettin tipsy everybody in the club gettin tipsy everybody in the club gettin tipsy everybody in the club gettin tipsythree then comes the four to the five to the six self explanatory i aint gotta say im rich yes single man i aint tryin to get hitched liquor wasted on me man son of a bitch brushed it off now im back to gettin lit wit some orange juice man this some good ish homeboy trippin cause im starin at his chick now he on the sideline starin at my clickhere comes the five to the four to the three hands in the air if you cats drunk as me club owner said kwon put out those trees dude i dont care im a pimpeverybody in the club gettin tipsy everybody in the club gettin tipsy everybody in the club gettin tipsy everybody in the club gettin tipsy everybody in the club gettin tipsy everybody in the club gettin tipsy everybody in the club gettin tipsy everybody in the club gettin tipsy ",1
12,"confessions part ii","usher",2004," intro phone rings talking hello yo im in the booth ima call you right back no i just gotta put this one part down ima call you back im at the studio man man quit playing with me man no for real dont play like that are you are you serious how you know put that on everything damn ima call you back ima call you backsings everytime i was in la i was with my exgirlfriend everytime you called i told you baby im working noo i was out doing my dirt ohh wasnt thinking about you getting hurt i was hand in hand in the beverly center like man not giving a damn who sees me so gone so wrong acting like i didnt have you sitting at home thinking about me being the good girl that you are i bet you probably believe you got a good man a man that never would do the things im about to tell you ive done brace yourself it aint good but it would be ever worse if you heard this from somebody else oh no talking i know you hate me i know i hurt you but theres more listenwatch thischorus these are my confessions just when i thought i said all i can say my chick on the side said she got one on the way these are my confessions man im thrown and i dont know what to do i guess i gotta give you part two of my confessions if im gonna tell it then i gotta tell it all damn near cried when i got that phone call im so thrown and i dont know what to do but to give you part 2 of my confessionsverse 1 now this gon be the hardest thing i think i ever had to do got me talkin to myself askin how im gon tell you bout that chick on part 1 i told yall i was creepin with creepin with said shes 3 months pregnant and shes keepin it the first thing that came to mind was you second thing was how do i know if its mine and is it true third thing was me wishin that i never did what i did how i aint ready for no kid and bye bye to our relationshipchorus these are my confessions just when i thought i said all i can say my chick on the side said she got one on the way these are my confessions man im throwed and i dont know what to do i guess i gotta give you part 2 of my confessions if im gonna tell it then i gotta tell it all damn near cried when i got that phone call im so throwed and i dont know what to do but to give you part 2 of my confessionsverse 2 sittin here stuck on stupid tryna figure out when what and how imma let this come out of my mouth said it aint gon be easy but i need to stop thinkin contemplatin be a man and get it over with over with im ridin in my whip racin to her place talkin to myself preparin to tell her to her face she open up the door and didnt want to come near me i said one second baby please hear mechorus these are my confessions just when i thought i said all i can say my chick on the side said she got one on the way these are my confessions man im throwed and i dont know what to do i guess i gotta give you part 2 of my confessions if im gonna tell it then i gotta tell it all damn near cried when i got that phone call im so throwed and i dont know what to do but to give you part 2 of my confessionsbreakdown this by far is the hardest thing i think ive ever had to do to tell you the woman i love that im having a baby by a woman that i barely even know i hope you can accept the fact that im man enough to tell you this and hopefully youll give me another chance this aint about my career this aint about my life its about us pleasechorus these are my confessions just when i thought i said all i can say my chick on the side said she got one on the way these are my confessions man im throwed and i dont know what to do i guess i gotta keep part 2 of my confessions if im gonna tell it then i gotta tell it all damn near cried when i got that phone call im so throwed and i dont know what to do but to give you part 2 of my confessions corrected by scardycat on november 3rd 2015written by jermaine dupri usher raymond bryan michael paul coxcopyright with lyrics  emi music publishing warnerchappell music inc ",1
13,"slow motion","juvenile featuring soulja slim",2004," slow motion for me slow motion for me move in slow motion for me slow motion for me slow motion for me move in slow motion for me uh i like it like that she working that back i dont know how to act slow motion for me slow motion for me slow motion for me move in slow motion for me uh i like it like that she working that back i dont know how to act slow motion for me slow motion for me slow motion for me move in slow motion for meim a dick thrower her neck and her back hurting cut throater ill have you like a brand new virgin its like when you get used of it then you start serving hop up on top and start jickyjickyjicky jerking slow down for me you moving too fast my fingers keep slipping im trying to grip that ass keep being hard headed and ima make you get of me got human enough disguise but my face is a doggy if you loving my bark let me bury my bone i got 4 or 5 bad married bitches at home one of my bitches feel in love with that outside dick that outside dick keep them hoes sick likeuh i like it like that she working that back i dont know how to act slow motion for me slow motion for me slow motion for me move in slow motion for me uh i like it like that she working that back i dont know how to act slow motion for me slow motion for me slow motion for me move in slow motion for meits like i got the world in my palms your girl up under my arms she fucked up from the charm she love the way the dick stay hard from 12 till early in the morn fine bitches if you listening you heard me im strong if you going through your cycle i aint with it im gone you must have heard about them hoes that i beat up in my home they wasnt telling the truth baby you know they was wrong na make it official wheres some of that don i dont mind buying to your riding to dont be asking nigga questions about where im driving you lil mama my shit together i aint jiving you i dont think that nigga could do you better then i could do ya know and juvenile from cross the street by the derby same nigga that used to be running with rusty and kirby can a playa from the nolia get a chance with it but i cant bounce with you without using my hands with ituh i like it like that she working that back i dont know how to act slow motion for me slow motion for me slow motion for me move in slow motion for me uh i like it like that she working that back i dont know how to act slow motion for me slow motion for me slow motion for me move in slow motion for meslow motion she open im hoping that she dont leave my dick broken with brush burns and swollen im toting she wanted me to make her out a believer i guarantee ya ima see ya when i see ya and just dont holla out my name like we was all that your pussy throw back and you know that so stop stunting slow motion for a real nigga im going off that incredible potion and ima deal with yai like how that victoria secret sit in that ass let me pour some more hip and hennsey in your glass would i be violating if i grab me a handful i know whats happening all i want is a sample who you wit im in the rental today its going down and happening and i remember the way less money we spend on bullshit the more for the we whats it gonna take for you to come slow motion with me likeuh i like it like that she working that back i dont know how to act slow motion for me slow motion for me slow motion for me move in slow motion for me uh i like it like that she working that back i dont know how to act slow motion for me slow motion for me slow motion for me move in slow motion for meuh i like it like that she working that back i dont know how to act slow motion for me slow motion for me slow motion for me move in slow motion for me uh i like it like that she working that back i dont know how to act slow motion for me slow motion for me slow motion for me move in slow motion for me ",1
14,"freekaleek","petey pablo",2004," lets take some calls from the request line caller number one ay man whats up this dominique from shady oaks trailer parkwhats up dominique i wanna hear that song from lil jon and petey pablo aight i got that coming right up for you now shout out the radio station that gave you what you wanteddouble u boom boom babyhow you like it daddy would you do it from the front how you like it daddy would you do it from the back how you like it daddy fyna break it down like that how you like it daddyhow you like it daddy would you do it from the front how you like it daddy can you take it from the back how you like it daddy fyna break it down like that how you like it daddy24 34 46 good and thick and once you get it shell work wit it pretty face and some cute lips earing in her tongue and she know what to do wit itmake a name for herself and she do her shit well and know how to keep her business to herself come over anytime a nigga call chick 1 oclock 2 oclock and she right there ding dongand she know why she came here and she know where her clothes suppose to be off and over there sniff a little coke take a little x smoke a little weeddrink a little bit i need a girl that i can freak wit and wanna try shit and aint scared of a big dick and love to get her pussy licked by another bitch cause i aint drunk enough to do thatfreekaleek how you like it daddy shameka keisha how you like it daddy tarafreekaleek shonda how you like it daddy sabrina crysta how you like it daddy darondafreekaleek theresa how you like it daddy felicia tenisha how you like it daddy shavonfreekaleek monica how you like it daddy monique christina how you like it daddy yolandai need to know a whole lot then to teachin a broad with my ding dong make her tongue tickin the bong go on ahead so i dont have to do that far im spoiled and i dont like to work that hardi like to lay back relax and enjoy my time and let your eyes roll back and my toes curl i love when you do that girl until it comes time for me to have to give her herstell me what you want do you want it missionary with your feet crammed into the head board do you want it from the back with your face in the pillow so you can yell it loud as you want todo you want it on the floor do you want it on the chair do you want it over here do you want it over there do you want it in ya pussy do you want it in ya ass ill give you anything you can handlefreekaleek how you like it daddy shameka keisha how you like it daddy tarafreekaleek shonda how you like it daddy sabrina crysta how you like it daddy darondafreekaleek theresa how you like it daddy felicia tenisha how you like it daddy shavonfreekaleek monica how you like it daddy monique christina how you like it daddy yolandahow you like it daddy would you do it from the front how you like it daddy would you do it from the back how you like it daddy fyna break it down like that how you like it daddyhow you like it daddy would you do it from the front how you like it daddy can you take it from the back how you like it daddy fyna break it down like that how you like it daddyyeah i appreciate it lil home boy not a problem you know i do it because i love you now i got to give a shout out to seagrim gin cause i drink it and they paying me for itfreekaleek how you like it daddy shameka keisha how you like it daddy tarafreekaleek shonda how you like it daddy sabrina crysta how you like it daddy darondafreekaleek theresa how you like it daddy felicia tenisha how you like it daddy shavonfreekaleek monica how you like it daddy monique christina how you like it daddy yolandafreekaleek how you like it daddy shameka keisha how you like it daddy tarafreekaleek shonda how you like it daddy sabrina crysta how you like it daddy darondafreekaleek theresa how you like it daddy felicia tenisha how you like it daddy shavonfreekaleek monica how you like it daddy monique christina how you like it daddy yolanda ",1
15,"here without you","3 doors down",2004," a hundred days have made me older since the last time that i saw your pretty face a thousand lies have made me colder and i dont think i can look at this the same all the miles that separate disappear now when im dreamin of your faceim here without you baby but youre still on my lonely mind i think about you baby and i dream about you all the time im here without you baby but youre still with me in my dreams and tonight girl its only you and methe miles just keep rollin as the people leave their way to say hello ive heard this life is overrated but i hope that it gets better as we goim here without you baby but youre still on my lonely mind i think about you baby and i dream about you all the time im here without you baby but youre still with me in my dreams and tonight its only you and meeverything i know and anywhere i go it gets hard but it wont take away my love and when the last one falls when its all said and done it gets hard but it wont take away my loveim here without you baby but youre still on my lonely mind i think about you baby and i dream about you all the time im here without you baby but youre still with me in my dreams and tonight its only you and me ",1
16,"slow jamz","twista featuring kanye west and jamie foxx",2004," are you gonna be say that youre gonna be oh oh oh oh ohshe said she want some marvin gaye some luther vandross a little anita will definitely set this party off right are you gonna be are you gonna be are you gonna be are you gonna be are you gonna be well well well well she said she want some ready for the world some new edition some minnie ripperton will definitely set this party off right are you gonna be are you gonna be are you gonna be are you gonna be are you gonna be well well well wellit definitely will you know what i told heri told her to drive over in yo new whip bring some friends you cool wit ima bring the cool whip then i want you to strip see you is my new chick so we get our grind on she be grabbing me calling me biggie like shyne home man i swear she fine homes why she always lying though telling me them diamonds when she know they rhinestones she got a lightskinned friend look like michael jackson got a darkskinned friend look like michael jackson i played ready for the world she was ready for some action my dog said you aint no freak  so you bout to prove my man wrong ima lay this vandross you gon take yo pants off ima play this gladys knight me and you gon get rightshe said she want some marvin gaye some luther vandross a little anita will definitely set this party off right are you gonna be are you gonna be are you gonna be are you gonna be are you gonna be well well well well she said she want some ready for the world some new edition some minnie ripperton will definitely set this party off right are you gonna be are you gonna be are you gonna be are you gonna be are you gonna be well well well wellnow kanye i know i told you to slow it down its good its all good its beautiful but now i need you to do it faster baby can you please  do it faster do it faster damn baby i cant do it that fast but i know somebody who can twistawhen i catch you looking at the glist on my hands and wrist while im laying back smoking on my cannabis when it come to rocking the rhythm like marvin and luther i can tell you when im messing wit kan man and twist in the chi and i be sipping hennessey play some rb while i smoke a b  you can preferably find that im a g and all this well well well well come wit me and sip on some evelyn champagne you aint know twista could work it like the whispers hit the stop light move it to some isaac his rims still moving so i bump a lil spinners while im smoking on a b  dipping through the streets bumping rb and i got the leaf on the 23s and i do it well well well well wit my earth in the wind smoking fire let me get ya sheets wet listenin to keith sweat put you in a daze wit maze fulfilling her wit every temptation slow jam and havin deep sex you ready for the world girl baby come on go wit me i touch you all over your body baby dont say no to me and every moment controlling me i love the way you be holding me when i be listening to jodeci and when i come over and bend ya ass you be bumping teddy pendergrass i done hit it from the back to the melody and rode it slow now i got to go up in it fast but ima finish last no matter how much of a thug you see i still spit it like its rb come to the club wit me and when some luther come on i hope you feeling me and still will be in love wit meshe said she want some marvin gaye some luther vandross a little anita will definitely set this party off right are you gonna be are you gonna be are you gonna be are you gonna be are you gonna be well well well well she said she want some ready for the world some new edition some minnie ripperton will definitely set this party off right are you gonna be are you gonna be are you gonna be are you gonna be are you gonna be well well well well ",1
17,"someday","nickelback",2004," how the helld we wind up like this why werent we able to see the signs that we missed try and turn the tables i wish youd unclench your fists and unpack your suitcase lately theres been too much of this but dont think its too latenothings wrong just as long as you know that someday i willsomeday somehow im gonna make it alright but not right now i know youre wondering when youre the only one who knows that someday somehow im gonna make it alright but not right now i know youre wondering whenwell id hope that since were here anyway we could end up saying things we always needed to say so we could end up staying now the storys played out like this just like a paperback novel lets rewrite an ending that fits instead of a hollywood horrornothings wrong just as long as you know that someday i willsomeday somehow im gonna make it alright but not right now i know youre wondering when youre the only one who knows that someday somehow im gonna make it alright but not right now i know youre wondering when youre the only one who knows thathow the helld we wind up like this why werent we able to see the signs that we missed try and turn the tables now the storys played out like this just like a paperback novel lets rewrite an ending that fits instead of a hollywood horrornothings wrong just as long as you know that someday i willsomeday somehow im gonna make it alright but not right now i know youre wondering when youre the only one who knows that someday somehow im gonna make it alright but not right now i know youre wondering when youre the only one who knows thati know youre wondering when youre the only one who knows that i know youre wondering when ",1
18,"naughty girl","beyonce",2004,"im feelin sexy i wanna hear you say my name boy if you can reach me you can feel my burning flame im feelin kind of nasty i might just take you home with me baby the minute i feel your energy your vibes just taken over me start feelin so crazy babe i feel the funk coming over me i dont know whats gotten into me the rhythms got me feelin so crazy babe tonight ill be your naughty girl im callin all my girls were gonna turn this party out i know you want my body tonight ill be your naughty girl im callin all my girls i see you look me up and down and i came to party youre so sexy tonight i am all yours boy the way your body moves across the floor you got me feelin nasty i might just take you home with me baby the minute i feel your energy the vibes just taken over me start feelin so crazy babe i feel the funk coming over me i dont know whats gotten into me the rhythms got me feelin so crazy babe tonight ill be your naughty girl im callin all my girls were gonna turn this party out i know you want my body tonight ill be your naughty girl im callin all my girls i see you look me up and down and i came to party i love to love you baby i love to love you baby i love to love you baby i love to love you baby tonight ill be your naughty girl im callin all my girls were gonna turn this party out i know you want my body tonight ill be your naughty girl im callin all my girls i see you look me up and down and i came to party repeat to end",3
19,"my immortal","evanescence",2004," im so tired of being here suppressed by all my childish fears and if you have to leave i wish that you would just leave cause your presence still lingers here and it wont leave me alonethese wounds wont seem to heal this pain is just too real theres just too much that time cannot erasewhen you cried id wipe away all of your tears when youd scream id fight away all of your fears and i held your hand through all of these years but you still have all of meyou used to captivate me by your resonating light now im bound by the life you left behind your face it haunts my once pleasant dreams your voice it chased away all the sanity in methese wounds wont seem to heal this pain is just too real theres just too much that time cannot erasewhen you cried id wipe away all of your tears when youd scream id fight away all of your fears and i held your hand through all of these years but you still have all of meive tried so hard to tell myself that youre gone but though youre still with me ive been alone all alongwhen you cried id wipe away all of your tears when youd scream id fight away all of your fears and i held your hand through all of these years you still have all of me me me ",1
20,"sunshine","lil flip featuring lea",2004," yeeah ohh ohh ohh oh baby lil flipper lil flipper ooh baby my girl lea my girl lea hit itsunshine i can call you my baby boy you can call me your baby girl maybe we can spend some time some time i can be your sunshine i can call you my baby boy you can call me your baby girl maybe we can spend some time some time i can be your sunshinelook i know you want to chill wit a player but all you got to do is keep it real wit a player just answer your phone whenever i call cause im riding on chrome whenever i ball i like them short and tall but not too thick i just walk in the spot and take my pick and they want to roll cause they like my style and when i pop my collar i make them smile i need a lady in the streets but a freak in the sheets that know how to cook cause a nigga like to eat spaghetti shrimp and steak and ill adore you ill treat you like milk ill do nothing but spoil yousunshine i can call you my baby boy you can call me your baby girl maybe we can spend some time some time i can be your sunshine i can call you my baby boy you can call me your baby girl maybe we can spend some time some time i can be your sunshinei know your friends want to holla cause i got them dollars push the maybach monday tuesday impala i switch whips like kicks im a balla im a balla and if i get your phone number im a call ya im a call ya and we can meet up the next day and chill but im always on the road baby girl thats how i live i got bills to pay i got moves to make but when my plane touch down pick me up at 800 dont be latesunshine i can call you my baby boy you can call me your baby girl maybe we can spend some time some time i can be your sunshine i can call you my baby boy you can call me your baby girl maybe we can spend some time some time i can be your sunshinewe dont have to be in love love we can just be friends i will be right there beginning to the end i can bring my girls girls you can bring your friends friendswe can both have fun dont want this stuff to endthey say love is pain and pain is love i know ya momma mad cause you talk to a thug you think you know my type but you aint got no clue about what a real nigga like me do i like to stack my bread and flip my chips and i can change ya life if ya get wit flip i take private jets to vegas man its twenty bread each pick cause im major man we can cruise the world in a bentley azure but dont worry the chauffeur open the door you couldnt ask for more cause we got it all we got it all cause you my baby girl right rightsunshine i can call you my baby boy you can call me your baby girl maybe we can spend some time some time i can be your sunshine i can call you my baby boy you can call me your baby girl maybe we can spend some time some time i can be your sunshinewe dont have to be in love love we dont have to be in love love ",1
21,"dirt off your shoulder","jayz",2004," youre now tuned into the mufuckin greatest turn the music up in the headphones tim you can go and brush your shoulder off nigga i got you yeahif you feelin like a pimp nigga go and brush your shoulders off ladies is pimps too gon brush your shoulders off niggas is crazy baby dont forget that boy told you get that dirt off your shoulderi probably owe it to yall proud to be locked by the force tryin to hustle some things that go with the porsche feelin no remorse feelin like my hand was forced middle finger to the lord nigga grip im a boss stab the ladies they love me from the bleachers they screamin all the ballers is bouncin they like the way i be leanin all the rappers be hatin off the track that im makin but all the hustlers they love it just to see one of us make it came from the bottom the bottom to the top of the pots nigga london japan and im straight off the block like a running back get it man im straight off the block i can run it back nigga cause im straight with the rocif you feelin like a pimp nigga go and brush your shoulders off ladies is pimps too gon brush your shoulders off niggas is crazy baby dont forget that boy told you get that dirt off your shoulderyou gotta get that dirt off your shoulder you gotta get that dirt off your shoulder you gotta get that dirt off your shoulder you gotta get that dirt off your shoulderyour homey hov in position in the kitchen with soda i just whipped up a watch tryin to get me a rover tryin to stretch out the coca like a wrestler yessir keep the heckler close you know them smokersll test ya but like fiftytwo cards when im im through dealin now fiftytwo bars come out now you feel em now fiftytwo cars roll out remove ceiling in case fiftytwo broads come out now you chillin with a boss bitch of course sc on the sleeve at the 4040 club espn on the screen i paid a grip for the jeans plus the slippers is clean no chrome on the wheels im a grownup for realif you feelin like a pimp nigga go and brush your shoulders off ladies is pimps too gon brush your shoulders off niggas is crazy baby dont forget that boy told you get that dirt off your shoulderyou gotta get that dirt off your shoulder you gotta get that dirt off your shoulder you gotta get that dirt off your shoulder you gotta get that dirt off your shoulderyour boy back in the building brooklyn we back on the map me and my beautiful bitch in the back of that bach im the realest that run it i just happen to rap i aint gotta clap at em niggas scared of that black i drop that black album then i back out it as the best rapper alive nigga ask about me from bricks to billboards from grams to grammys the os to opposite orphan annie you gotta pardon jay for sellin out the garden in a day im like a young marvin in his hey im a hustler homey you a customer crony got some dirt on my shoulder could you brush it off for meif you feelin like a pimp nigga go and brush your shoulders off ladies is pimps too gon brush your shoulders off niggas is crazy baby dont forget that boy told you get that dirt off your shoulderyou gotta get that dirt off your shoulder you gotta get that dirt off your shoulder you gotta get that dirt off your shoulder you gotta get that dirt off your shoulderyoure now tuned into the mufuckin greatestbest rapper alive best rapper alive ",1
22,"move ya body","nina sky",2004," ooh move your body girl makes the fellas go the way you ride it girl makes this fellas goooh move your body girl makes the fellas go the way you ride it girl makes the fellas go ",1
23,"dip it low","christina milian",2004," says he wants you he says he needs you its real talking why not make him wait for you if he really wants you if he really needs you really got to have you take your time and feel him out when its a good boy i mean a really really good boy why not let him lay with you thats when you give it to him gooddip it low pick it up slow roll it all around poke it out like your back broke pop pop pop that thing ima show you how to make your man say ooh dip it low pick it up slow roll it all around poke it out like your back broke pop pop pop that thing ima show you how to make your man say oohyou getting bold he growin cold its just the symptoms of young love growin old you think its time and your thinking of leaving but give it time its late at night hes coming home meet him at the door with nothin on take him by the hair let him know whats on if you understand me yall come onall my ladies wind it up if you know just how to move move all my fellas jump behind and show her what you want to do show her what you got daddyall my ladies wind it up if you know just how to move all my fellas jump behind and show her what you want to do oh whoa ohdip it low pick it up slow roll it all around poke it out like your back broke pop pop pop that thing ima show you how to make your man say ooh dip it low pick it up slow roll it all around poke it out like your back broke pop pop pop that thing ima show you how to make your man say oohwe can move if you want towe can move if you want towe can move if you want towe can movedip it low pick it up slow roll it all around poke it out like your back broke pop pop pop that thing ima show you how to make your man say ooh dip it low pick it up slow roll it all around poke it out like your back broke pop pop pop that thing ima show you how to make your man say oohdip it low pick it up slow roll it all around poke it out like your back broke pop pop pop that thing ima show you how to make your man say ooh dip it low pick it up slow roll it all around poke it out like your back broke pop pop pop that thing ima show you how to make your man say ooh ",1
24,"my boo","usher and alicia keys",2004," theres always that one person that will always have your heart youll never see it coming cause youre blinded from the start know that youre that one for me its clear for everyone to see oh baby ooh youll always be my booi dont know bout chall but i know about us and uh this is the only way we know how to rock i dont know bout chall but i know about us and uh this is the only way we know how to rockdo you remember girl i was the one who gave you your first kiss cause i remember girl i was the one who said put your lips like this even before all the fame and people screaming your name girl i was there and you were my babyit started when we were younger girl you were mine my boo now another brothers taking over but its still in your eyes my boo even though we used to argue its alright i know we havent seen each other in awhile but you will always be my booi was in love with you when we were younger you were mine my boo and i see it from time to time i still feel like my boo and i can see it no matter how i try to hide my boo even though theres another man whos in my life you will always be my booyes i remember boy cause after we kissed i could only think about your lips yes i remember boy the moment i knew you were the one i could spend my life with even before all the fame and people screaming your name i was there and you were my babyit started when we were younger girl you were mine my boo now another brothers taking over but its still in your eyes my boo even though we used to argue its alright i know we havent seen each other in awhile but you will always be my booi was in love with you when we were younger you were mine my boo and i see it from time to time i still feel like my boo and i can see it no matter how i try to hide my boo even though theres another man in my life you will always be my boomy oh my oh my oh my oh my boo my oh my oh my oh my oh my booit started when we were younger girl you were mine my boo now another brothers taking over but its still in your eyes my boo even though we used to argue its alright i know we havent seen each other in awhile but you will always be my booi dont know bout chall but i know about us and uh this is the only way we know how to rock i dont know bout chall but i know about us and uh this is the only way we know how to rock ",1
25,"one call away","chingy featuring jweav",2004," yeah yeah dtp how we do call you you can call me whatever you want to do baby come onyou could roll with me give me a call if you wanna come roll with me if you was my baby im only one call away you could roll with me give me a call if you wanna come roll with me if you was my lady im only one call awayyou could roll with me give me a call if you wanna come roll with me if you was my baby im only one call away you could roll with me give me a call if you wanna come roll with me if you was my lady im only one call awayit was weird how we met huh she was with her mom at bank of america im with my son cashing a check so i asked out of respect uh would she like to explore the world or fly we can fly in my jet her reply was yes can i ask you something i seen it in her eye momma looking like all i wanted was sex then moved to the next that aint true but it was something about his girls style that make me feel no regrets we started off casual walks through the park candle light dinners by dark im thinking smart afraid she might think im in a rush to touch clutch and be up but baby i aint on that stuff dropped her off and told her call me up we could talk conversate about political subjects whatever starts so i zoomed off thinkin bout her my phone rang it was her in the shower what did she say she said i couldnt do without you then i sayyou could roll with me give me a call if you wanna come roll with me if you was my baby im only one call away you could roll with me give me a call if you wanna come roll with me if you was my lady im only one call awayyou could roll with me give me a call if you wanna come roll with me if you was my baby im only one call away you could roll with me give me a call if you wanna come roll with me if you was my lady im only one call awaythe next day im with the fellas at the case playin ball here she come with her friends they posted up on the wall now im showin off tryin to dunk tryin to dribble break fast threw the middle just to see her smile and giggle game over i approached her with a kiss on the cheek the homeboys looking at me saying lil howard you weak but you know how that go what i got they want what i got i flaunt never mess with it please dont told her im goin home she asked can she go too im like yeah boo i cant see me without you got thurr i took a shower jumped out she in the bed with a seethrew thong on looked at her and i saidyou could roll with me give me a call if you wanna come roll with me if you was my baby im only one call away you could roll with me give me a call if you wanna come roll with me if you was my lady im only one call awayyou could roll with me give me a call if you wanna come roll with me if you was my baby im only one call away you could roll with me give me a call if you wanna come roll with me if you was my lady im only one call awaygirl recognize game before game recognize you you dealin with a playa true now what you wanna do we can kick it and go puff on a blunt oh you dont smoke grab a pint of henn and we can get drunk its up to you im the man but baby just let me know cause if you got a attitude then i could treat you just like a ho if ya rollin with me baby hop in its enough room we can gaze at the stars and shine like the moon give me a chance to show ya and a chance to know ya just be true and theres nothing i wont do for ya some women like to play it foul but them the kind i put in a place like a child dont worry be happy and smileyou could roll with me give me a call if you wanna come roll with me if you was my baby im only one call away you could roll with me give me a call if you wanna come roll with me if you was my lady im only one call awayyou could roll with me give me a call if you wanna come roll with me if you was my baby im only one call away you could roll with me give me a call if you wanna come roll with me if you was my lady im only one call awayyou could roll with me give me a call if you wanna come roll with me if you was my baby im only one call away you could roll with me give me a call if you wanna come roll with me if you was my lady im only one call awayyou could roll with me give me a call if you wanna come roll with me if you was my baby im only one call away you could roll with me give me a call if you wanna come roll with me if you was my lady im only one call awaydtp ha how we do ha give me call if you wanna ball you know what it is ",1
26,"me myself and i","beyonce",2004,"all the ladies if you feel me help me sing it out incomprehensible i cant believe i believed everything we had would last so young and naive of me to think she was from your past silly of me to dream of one day having your kids love is so blind it feels right when its wrong i cant believe i fell for your schemes im smarter than that so dumb and naive to believe that with me youre a changed man foolish of me to compete when you cheat with loose women it took me some time but now i moved on cause i realized i got me myself and i thats all i got in the end thats what i found out and it aint no need to cry i took a vow that from now on im gon be my own best friend me myself and i thats all i got in the end thats what i found out and it aint no need to cry i took a vow that from now on im gon be my own best friend youre so controlling you say that you love me but you dont your family told me one day i would see it on my own next thing i know im dealing with your three kids in my home love is so blind it feels right when its wrong now that its over stop calling me come pick up your clothes aint no need to front like youre still with me all your homies know even your very best friend tried to warn me on the low took me some time but now i am strong because i realize i got me myself and i thats all i got in the end thats what i found out and it aint no need to cry i took a vow that from now on im gon be my own best friend me myself and i thats all i got in the end thats what i found out and it aint no need to cry i took a vow that from now on im gon be my own best friend i got me myself and i   i know that i will never disappoint myself i must have cried a thousand times   all the ladies if you feel me help me sing it out i can regret times spent with you   yeah you hurt me but i learned a lot along the way now i will vow to make it through   after all the rain youll see the sun come out again i got me myself and i   yeah i know that i will never disappoint myself i must have cried a thousand times   ive cried   all the ladies if you feel me help me sing it out i can regret times spent with you   yeah you hurt me but i learned a lot along the way now i will vow to make it through   after all the rain youll see the sun come out again yeah oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh i got me myself and i   me myself and i i must have cried a thousand times   i have cried so many times i can regret times spent with you   i can regret times spent with you now i will vow to make it through   after all the rain youll see the sun come out again i got me myself and i   i know that i will never disappoint myself i must have cried a thousand times   if you cried a thousand times incomprehensible i can regret times spent with you   yeah you hurt me but i learned a lot along the way now i will vow to make it through   i could see the sun shine im gonna be myself tonight",3
27,"turn me on","kevin lyttle",2004," oh yea ah ah ah is ah big dancehall song in know madzart alongside kevin little you know how it is you know how we go you knowfor the longest while we jamming in the party and you wining in on me pushing everything up right back on top of me tea hey aibut if you think youre gonna get away from me you better change your mind youre going home youre going home with me tonightlet me hold you girl caress my bodyyou got me going crazy you turn me on turn me onlet me jam you girl wine all around me you got me going crazy you turn me on turn me onthe girl ya nah go get way tonight if she think mad man nah go fight me done feed her with popcorn and sprite now she whar come fly way like kiteooh yea yea ooh yea yea ooh yea yea yea ooh yea yea yea yea yea yea yea yeaone hand on the ground and bumper cock sky high wining hard on me got my python hollerin for mercy yea hey ai then i whisper in her ear so wine harder and then she said to me boy just push that thing push it harder back on meso let me hold you girl caress my bodyyou got me going crazy you turn me on turn me onlet me jam you girl wine all around me you got me going crazy you turn me on turn me on girl justhug me hug me kiss me squeeze me hug me hug me kiss and caress mehug me hug me kiss me squeeze me hug me hug me kiss and caress methe girl ya nah go get way tonight if she think madd man nah go fight me done feed her with popcorn and sprite now she whar come fly way like kitefor the longest while we jamming in the party and youre wining on me pushing everything up right back on top of me tea hey aibut if you think youre gonna get away from me you better change your mind youre going home youre going home with me tonightlet me hold you girl caress my bodyyou got me going crazy you turn me on turn me onlet me jam you go wine all around me you got me going crazy you turn me on turn me on yeah eah nahnananana eah yeahhug me hug me kiss me kiss me hug me hug me kiss and caress mehug me hug me squeeze me squeeze me hug me girl and kiss and caress meyeah yeah yeah eah oh yeah ",1
28,"the first cut is the deepest","sheryl crow",2004," i would have given you all of my heart but theres someone whos torn it apart and hes taking just all that i had but if you wanna try to love again baby ill try to love again but i knowthe first cut is the deepest baby i know the first cut is the deepest but when it comes to being lucky hes cursed when it comes to lovin me hes worsei still want you by my side just to help me dry the tears that ive cried but im sure gonna give you a try if you wanna try to love again try baby ill try to love again but i knowthe first cut is the deepest baby i know the first cut is the deepest but when it comes to being lucky hes cursed when it comes to lovin me hes worsei still want you by my side just to help me dry the tears that ive cried but im sure gonna give you a try cause if you wanna try to love again try to love again try to love again baby ill try to love again but i knowthe first cut is the deepest baby i know the first cut is the deepest but when it comes to being lucky hes cursed when it comes to lovin me hes worsethe first cut is the deepest baby i know the first cut is the deepest try to love again ",1
29,"you dont know my name","alicia keys",2004," baby baby baby from the day i saw you really really wanted to catch your eye somethin special bout you i must really like you cause not a lot of guys are worth my time oohoh baby baby baby its getting kind of crazy cause you are taking over my mindand it feels like ooh you dont know my name i swear it feels like ooh you dont know my name round and round and round we go will you ever knowoh baby baby baby i see us on our first date doing everything that makes me smile when we had our first kiss it happened on a thursday ooh it set my soul on fireooh baby baby baby i cant wait for the first time my imaginations running wildit feels like ooh you dont know my name and i swear it baby it feels like ooh you dont know my name round and round and round we go will you ever knowim sayin he dont even know what hes doin to me got me feelin all crazy inside im feelin like oh doing nothing ive ever done for anyones attention take notice of whats in front of youcause did i mention oh you bout to miss a good thing and youll never know how good it feels to have all my affection and youll never get a chance to experience my lovin oh cause my lovin feels likeooh you dont know my name and i swear it feels like ooh you dont my nameyou dont know my name baby baby i swear its like oohyou dont know my name it feels like ooh and you dont my name and i swear on my mother and father it feels like ooh ooh will you ever know ",1
30,"my place","nelly featuring jaheim",2004," i used to pride myself on being the other man but now its flipped and i dont want you with no other man why cant you understand anything im offering i gave you the world but you just wanted arguing from the time i picked you up until the time i dropped you off again even if flipped out on me at the mall again its all his fault again thats what you telling all ya friends i aint pointing no fingers ma i just want to call again see how ya day going i know they stressing on ya i know them times get hard thats why im checking on ya its yours truly ma i got little message for ya anything he can do girl i can do better for ya causecause when we laugh or we cry its together through the rain and the stormiest weather we goin still be as one its forever its foreverwont you come on and go with me oh girl come on over to my place wont you sit ya self down and take a seat and let me ease ya mind girl we gon do it our way our wayi heard your friend tell a friend that told a friend of mine that you was thinking that we should do it one more time this aint the truth then hopefully its not a lie cause i aint got no issue with hitting that another time we never had a problem with getting it done disagreed upon a lot ma but the sex wouldnt one now check it i know you get excited when i come around and bite it quit frowning up and quit acting like you dont like it i like it i know you like i like it you really like it i really really like it i want it you really want it adore it adore it so come let me enjoy it so come let me enjoy itcause when we laugh or we cry its together through the rain and the stormiest weather we goin still be as one its forever its foreverwont you come on and go with me oh girl come on over to my place wont you sit ya self down and take a seat and let me ease ya mind girl we gon do it our way our wayshawty where you been feels like a long time long long time since i seen ya yes it has girl and i know i said some dumb things to you before but girl you know i didnt mean it i didnt mean one single word i never meant one single word i didnt mean one single word i didnt mean one single word if i could take back every word i would and more for sure if i thought that you believe it cause you make my life so convenient for mecause when we laugh or we cry its together through the rain and the stormiest weather we goin still be as one its forever its foreverwont you come on and go with me oh girl come on over to my place wont you sit ya self down and take a seat and let me ease ya mind girl we gon do it our way our wayi like it i know you like i like it you really like it i really really like it i want it you really want it adore it adore it so come let me enjoy iti like it i know you like i like it you really like it i really really like it i want it you really want it adore it adore it so come let me enjoy itcause when we laugh or we cry its together through the rain and the stormiest weather we goin still be as one its forever its forever ",1
31,"overnight celebrity","twista",2004," oh you didnt think we can it again twista kanye west from po pimping to poppin tags from chunkiest to slow jamz oh baby we can even make you a overnight celebrity know what im saying come onwhy dont we play something these hoesd like drive whips i know they like twista you told her right i could make you a celebrity overnight give you ice like kobe right we sorta like goldie right the way we mode em right i could make you a celebrity overnightgirl i see you in them apple bottom jeans chinchilla on your back i wanna know your name girl im twista i could blow your brains put you in a chameleon 04 range still sexy when you smoke that flame jerk you like a chicken when you throw that thang she got me hotter than a oven the way that she talk switching to freaky so im loving the way that she walk you looking good girl you oughta be in pictures listen to me i see your career going sky high taking you home to the crib in the chi and everytime i see your thighs i cry when i drive by watching you should be a thrill got the fellas hustling trying to get steady screaming mymymymy walk on the carpet with the bells that flick in the dark kicking it on the couch at 106  park i can see your beauty on the big screen i can see me freaking you with whip cream i can see you on stage at the awards with a dress better than jennifers and doing big things kick it with me i can mold your life you looking good girl show you right dre told me you the prototype i can make you a celebrity overnightwhy dont we play something these hoesd like drive whips i know they like twista you told her right i could make you a celebrity overnight give you ice like kobe right we sorta like goldie right the way we mode em right i could make you a celebrity overnightwhy dont we play something these hoesd like drive whips i know they like twista you told her right i could make you a celebrity overnight give you ice like kobe right we sorta like goldie right the way we mode em right i could make you a celebrity overnightyou want fame you can take that path candlelights when you take a bath you got such a sensational ass ima get you jimmy chew and ma baker bags i can cop her a 2000 and 3 make her smile when she sees spres i can get you on cds and dvds take you to bbs and pcbg i can get you in the places to be into the people to know or show you things sticker than to i wanna be your lover undercover don and protect you from others dont ever let a brother pimp you if you want the style you can rich your blood yall take a look at her she got such an astonishing body i can see you in some gucci or erika vali and i bet she gon put a hurt on em hard in the party and you know you kill em in the club we go you was born to be a po how you gon sticking fo dos and i love you cause you freaky with the dope clothes drop it to the flo let it go when you roll slow and i love it when i hit it from the back and you get on top of me and have a brother going ohoh girl i love how you roll me right i can make you a celebrity overnightwhy dont we play something these hoesd like drive whips i know they like twista you told her right i could make you a celebrity overnight give you ice like kobe right we sorta like goldie right the way we mode em right i could make you a celebrity overnightyou see see baby girl you see how you make a brother break down i just gotta ask you what you need what you need from me oh you wanna be a star are you messing with the right one i can take you there i can make sure youve got all the finest things let me be your managercome here girl i could see you bored took you to the queen that i see you for take you shopping on sprees in stores ima get you to the mtv awards we about to do a show tonight you looking good girl show you right take you places i know you like i could make you a celebrity overnight come here girl you could hang if you bored we could do plenty things plus more im about to have you change in the stores i can even get you to the soul train awards we about to do a show tonight you looking good girl show you right take you places i know you like i could make you a celebrity overnight ",1
32,"hotel","cassidy featuring r kelly",2004," ladies and gentlemen you are listening to the sounds of swiss beatz we got cassidy in here kels we in our throwbacks this is for the ladies we got room keysgirl you want to come to my hotel baby i will leave you my room key im feelin the way you carry yourself girl and i want to get with you cause yous a cutie so if you want to come to my hotel all you gotta do is holler at me cause were having an after party checkin out 6 in the mornin six in the mornini be staying in the hotel not the motel or the holiday inn if that girl dont participate well then ima take her friend but if mami is with it then mami can give if mami a rider ima slide up beside her mama i got a suite you can creep on through i know you tryin to get your freak on too i do it all for the ladies yeah i ball for the ladies hit the mall for the ladies keep it fly for the ladies keep my eye on the ladies hot tub for the ladies pop bub for the ladies i got love for my ladiesgirl you want to come to my hotel baby i will leave you my room key im feelin the way you carry yourself girl and i want to get with you cause yous a cutie so if you want to come to my hotel all you gotta do is holler at me cause were having an after party checkin out 6 in the mornin six in the morninwe the new cartel rkel and the kid cassidy say what girl if your man start actin up ask for him or ask for me say what cause see we could go get it crackin but you know whatll happen we be under the covers makin love to each other i got a double bed ones to sleep on the other ones to get my freak on its all for the ladies yeah i ball for the ladies hit the mall for the ladies keep it fly for the ladies keep my eye on the ladies hot tub for the ladies pop bub for the ladies i got love for my ladiesgirl you want to come to my hotel baby i will leave you my room key im feelin the way you carry yourself girl and i want to get with you cause yous a cutie so if you want to come to my hotel all you gotta do is holler at me cause were having an after party checkin out 6 in the mornin six in the morninwe gon chitown step it out til the club lettin out then we gon sex it out til we all checking out i got my chicks ima bring to the telly we bout to do the damn thing sing to em kellyits alrightits alright if you want to come with me and fulfill your fantasy baby in my hotel suite and its ok if you want to party night til day i will do anything you say just come to my hotelgirl you want to come to my hotel baby i will leave you my room key im feelin the way you carry yourself girl and i want to get with you cause yous a cutie so if you want to come to my hotel all you gotta do is holler at me cause were having an after party checkin out 6 in the mornin six in the mornin ",1
33,"numb","linkin park",2004," im tired of being what you want me to be feeling so faithless lost under the surface i dont know what youre expecting of me put under the pressure of walking in your shoes caught in the undertow just caught in the undertow every step that i take is another mistake to you caught in the undertow just caught in the undertowive become so numb i cant feel you there become so tired so much more aware by becoming this all i want to do is be more like me and be less like youcant you see that youre smothering me holding too tightly afraid to lose control cause everything that you thought i would be has fallen apart right in front of you caught in the undertow just caught in the undertow every step that i take is another mistake to you caught in the undertow just caught in the undertow and every second i waste is more than i can takeive become so numb i cant feel you there become so tired so much more aware by becoming this all i want to do is be more like me and be less like youand i know i may end up failing too but i know you were just like me with someone disappointed in youive become so numb i cant feel you there become so tired so much more aware by becoming this all i want to do is be more like me and be less like youive become so numb i cant feel you there im tired of being what you want me to be ive become so numb i cant feel you there im tired of being what you want me to be ",1
34,"diary","alicia keys featuring tony toni tone",2004," lay your head on my pillow here you can be yourself no one has to know what you are feeling no one but me and youi wont tell your secrets your secrets are safe with me i will keep your secrets just think of me as the pages in your diaryi feel such a connection even when youre far away mm oh baby if there is anything that you fear anything call 4894608 and ill be herei wont tell your secrets your secrets are safe with me i will keep your secrets just think of me as the pages in your diary yeah mhum a yeah you know whatonly we know what is talked about baby boy i dont know how you can be driving me so crazy boy baby when youre in town why dont you come around boy ill be the loyalty you need you can trust me boyi wont tell your secrets your secrets are safe with me i will keep i will keep your secrets your secrets just think of me as the pages in your diaryeverybody say woo woo lemme hear you say woo woo lemme hear you say woo woo im saying wooooh wooooh lemme hear you say i wont tell i wont tell i wont tell i wont tell i wont tell i wont tell your secrets your secrets break it down secret secret ",1
35,"she will be loved","maroon 5",2004," beauty queen of only eighteen she had some trouble with herself he was always there to help her she always belonged to someone elsei drove for miles and miles and wound up at your door ive had you so many times but somehow i want morei dont mind spendin everyday out on your corner in the pourin rain look for the girl with the broken smile ask her if she wants to stay awhile and she will be loved and she will be loved    meaning  byamandah   editor    selfproclaimed maroon 5 fan mike schiavos audition for 2016s season of the voice ended in a duet with adam levine himself watch them nail she will be    see all   tap on my window knock on my door i want to make you feel beautiful i know i tend to get so insecure it doesnt matter anymoreits not always rainbows and butterflies its compromise that moves us along yeah my heart is full and my doors always open you can come anytime you want yeahi dont mind spendin everyday out on your corner in the pourin rain look for the girl with the broken smile ask her if she wants to stay awhile and she will be loved and she will be loved and she will be loved and she will be lovedi know where you hide alone in your car know all of the things that make you who you are i know that goodbye means nothing at all comes back and makes me catch her every time she fallsyeah tap on my window knock on my door i want to make you feel beautifuli dont mind spendin everyday out on your corner in the pourin rain oh look for the girl with the broken smile ask her if she wants to stay awhile and she will be loved and she will be loved and she will be loved and she will be lovedplease dont try so hard to say goodbye i dont mind spendin everyday out on your corner in the pourin rain please dont try so hard to say goodbye ",1
36,"white flag","dido",2004," i know you think that i shouldnt still love you or tell you that but if i didnt say it well id still have felt it wheres the sense in thati promise im not trying to make your life harder or return to where we werei will go down with this ship and i wont put my hands up and surrender there will be no white flag above my door im in love and always will bei know i left too much mess and destruction to come back again and i caused nothing but trouble i understand if you cant talk to me again and if you live by the rules of its over then im sure that that makes sensei will go down with this ship and i wont put my hands up and surrender there will be no white flag above my door im in love and always will beand when we meet which im sure we will all that was there will be there still ill let it pass and hold my tongue and you will think that ive moved oni will go down with this ship and i wont put my hands up and surrender there will be no white flag above my door im in love and always will bei will go down with this ship and i wont put my hands up and surrender there will be no white flag above my door im in love and always will bei will go down with this ship and i wont put my hands up and surrender there will be no white flag above my door im in love and always will be ",1
37,"heaven","los lonely boys",2004," vamonossave me from this prison lord help me get away cause only you can save me now from this misery ive been lost in my own place and im gettin weary how far is heaven and i know that i need to change my ways of livin how far is heaven lord can you tell meive been locked up way too long in this crazy world how far is heaven and i just keep on prayin lord and just keep on livin how far is heaven yeah lord can you tell me how far is heaven cause i just gotta to show some faith yeah how far is heaven yeah lord can you tell metu que estas en alto cielo echame tu bendicion ",1
38,"its my life","no doubt",2004," its funny how i find myself in love with you if i could buy my reasoning id pay to lose one half wont do ive asked myself how much do you commit yourselfits my life dont you forget its my life it never endsfunny how i blind myself i never knew if i was sometimes played upon afraid to lose id tell myself what good do you do convince myselfits my life dont you forget its my life it never endsive asked myself how much do you commit yourselfits my life dont you forget caught in the crowd it never endsits my life dont you forget caught in the crowd it never endsits my life its my life dont you forget dont you forget caught in the crowd caught in the crowd it never ends it never ends ",1
39,"pieces of me","ashlee simpson",2004," on a monday i am waiting tuesday i am fading and by wednesday i cant sleepthen the phone rings i hear you and the darkness is a clear view cause youve come to rescue mefall with you i fall so fast i can hardly catch my breath i hope it lastsit seems like i can finally rest my head on something real i like the way that feelsits as if you know me better than i ever knew myself i love how you can tell all the pieces pieces pieces of me all the pieces pieces pieces of mei am moody messy i get restless and senseless how you never seem to carewhen im angry you listen make me happy its your mission and you wont stop til im therefall sometimes i fall so fast when i hit the bottom crash youre all i haveit seems like i can finally rest my head on something real i like the way that feelsits as if you know me better than i ever knew myself i love how you can tell all the pieces pieces pieces of mehow do you know everything im about to say am i that obvious and if its written on my face i hope it never goes away yeahon a monday i am waiting and by tuesday i am fading into your arms so i can breathit seems like i can finally rest my head on something real i like the way that feelsits as if you know me better than i ever knew myself i love how you can tell i love how you can tell i love how you can tell pieces pieces pieces of me all the pieces pieces pieces of me ",1
40,"leave get out","jojo",2004," yeah ive been waiting all day for ya babe so wont cha come and sit and talk to me tell me how we are gonna be together always hope you know that when its late at night hold on to my pillow tight and think of how you promised me foreveri never thought that any one could make me feel this way now that your here boy all i want is just a chance to sayget out leave right now its the end of you and me its too late now and i cant wait for you to be gone cuz i know about her and i wonder how i bought all the lies you said that you would treat me right but you was just a waste of timetell me why youre looking so confused when im the one who didnt know the truth how could you ever be so cold to go behind my back and call my friend boy you must have gone and bumped your head cuz you left her number on your phoneso now that all is said and done maybe im the one to blame to think that you could be the one well it didnt work out that wayget out leave right now its the end of you and me its too late now and i cant wait for you to be gone cuz i know about her and i wonder how i bought all the lies you said that you would treat me right but you was just a waste of timei wanted you right here with me but i have no choice youve got to leave cuz my heart is breakin with every word im saying i gave up on everything i had on something that just wouldnt last but i refuse to cry no tears will fall from these eye eye eyesssget out leave right now its the end of you and me its too late now and i cant wait for you to be gone cuz i know about her and i wonder how i bought all the lies you said that you would treat me right but you was just a waste of timeget out leave right now its the end of you and me its too late now and i cant wait for you to be gone cuz i know about her and i wonder how i bought all the lies you said that you would treat me right but you was just a waste of timeget out leave you and me its too late now to be gone i wonder why you said that you would treat me right but you were just a waste of time ",1
41,"milkshake","kelis",2004," my milkshake brings all the boys to the yard and theyre like its better than yours damn right its better than yous i could teach you but i have to chargemy milkshake brings all the boys to the yard and theyre like its better than yours damn right its better than yous i could teach you but i have to chargei know you want it that thing that makes me what the guys go crazy for they lose their minds the way i whine i think its timela la la la la warm it up la la la la la the boys are waitingla la la la la warm it up la la la la la the boys are waitingmy milkshake brings all the boys to the yard and theyre like its better than yours damn right its better than yours i could teach you but i have to chargemy milkshake brings all the boys to the yard and theyre like its better than yours damn right its better than yours i could teach you but i have to chargei can see youre on it you want me to teach the techniques that freaks these boys it cant be bought just know thieves get caught watch if youre smartla la la la la warm it up la la la la la the boys are waitingla la la la la warm it up la la la la la the boys are waitingmy milkshake brings all the boys to the yard and theyre like its better than yours damn right its better than yours i could teach you but i have to chargemy milkshake brings all the boys to the yard and theyre like its better than yours damn right its better than yours i could teach you but i have to chargeoh once you get involved everyone will look this way so you must maintain your charm same time maintain your halojust get the perfect blend plus what you have within then next his eyes will squint then hes picked up your scentla la la la la warm it up la la la la la the boys are waitingla la la la la warm it up la la la la la the boys are waitingmy milkshake brings all the boys to the yard and theyre like its better than yours damn right its better than yours i could teach you but i have to chargemy milkshake brings all the boys to the yard and theyre like its better than yours damn right its better than yours i could teach you but i have to charge ",1
42,"splash waterfalls","ludacris",2004," oh oh oh say it make love to me oh oh oh what fuck me oh oh oh say it make love to me oh oh oh what fuck meim bout to throw some game they both one and the same cupids the one to blame say it make love to me im bout to shed some light cause each and every night you gotta do it right what fuck meim bout to throw some game they both one and the same cupids the one to blame say it make love to me im bout to shed some light cause each and every night you gotta do it right what fuck methey want it nice and slow kiss em from head to toe relax and let it go say it make love to me they want it now and fast grabbing and smacking ass you gotta make it last what fuck me together holding hands you out there spending grands and making family plans say it make love to me dont have to straighten facts dont want no strings attached just scratches on your back what fuck me exs aint acting right and you so glad to fight dinners by candlelight say it make love to me she got a nigga whipped down to ya fingertips trying that freaky shit what fuck me turn on some babyface just for your ladys sake you call her babycakes say it make love to me know how to mack a broad shes on your sack and balls you call her jabberjaws what fuck meim bout to throw some game they both one and the same cupids the one to blame say it make love to me im bout to shed some light cause each and every night you gotta do it right what fuck meim bout to throw some game they both one and the same cupids the one to blame say it make love to me im bout to shed some light cause each and every night you gotta do it right what fuck meyou bout to buy a ring she needs the finer things gucci designer frames say it make love to me purchase a nasty flick wrap up and tie her quick know how to drive a stick what fuck me you both unite as one you the moon and shes your sun your hearts a beating drum say it make love to me you better not of came she want to feel the pain then hear her scream your name what fuck me follow this dicktionary youre both some visionaries then do it missionary say it make love to me i hear em call the wild and do it all the while doggy and froggy style what fuck me you in between the sheets licking and eating sweets and what you find you keep say it make love to me you do it standing up orgasms hand em up yall just dont give a fuck what fuck meim bout to throw some game they both one and the same cupids the one to blame say it make love to me im bout to shed some light cause each and every night you gotta do it right what fuck meim bout to throw some game they both one and the same cupids the one to blame say it make love to me im bout to shed some light cause each and every night you gotta do it right what fuck meyou wanna tell the world cause shes your favorite girl your diamond and your pearl say it make love to me nobody has to know just keep it on the low and meet em right at for what fuck me nothing but fights and fussing plus theres a lot of cussing just grab a hold of something say it make love to me yall do that bad stuff she like it rammed up ropes and handcuffs what fuck meim bout to throw some game they both one and the same cupids the one to blame say it make love to me im bout to shed some light cause each and every night you gotta do it right what fuck meim bout to throw some game they both one and the same cupids the one to blame say it make love to me im bout to shed some light cause each and every night you gotta do it right what fuck me ",1
43,"jesus walks","kanye west",2004," order huh yo we at war we at war with terrorism racism but most of all we at war with ourselvesjesus walks god show me the way because the devils tryin to break me down jesus walks with me with me with me with me with meyou know what the midwest is young and restless where restless niggas might snatch ya necklace and next these niggas might jack ya lexus somebody tell these niggas who kanye west is i walk through the valley of chi where death is top floor of the view alone will leave you breathless try to catch it its kinda hard getting choked by detectives yeah yeah now check the method they be asking us questions harass and arrest us saying we eat pieces of shit like you for breakfast huh yall eat pieces of shit whats the basis we aint goin nowhere but got suits and cases a trunk full of coke rental car from avis my mama used to say only jesus can save us well mama i know i act a fool but ill be gone til november i got packs to move i hopejesus walks god show me the way because the devils tryin to break me down jesus walks with me the only thing that i pray is that my feet dont fail me now i want jesus jesus walks and i dont think there is nothing i can do now to right my wrongs jesus walks with me i want to talk to god but im afraid because we aint spoke in so long i want jesus god show me the way because the devils tryin to break me down the only thing that i pray is that my feet dont fail me now and i dont think there is nothing i can do now to right my wrongs i want to talk to god but im afraid because we aint spoke in so long so longso long jesus walks with meto the hustlers killers murderers drug dealers even the strippers jesus walks for them to the victims of welfare for we living in hell here hell yeah jesus walks for them now hear ye hear ye want to see thee more clearly i know he hear me when my feet get weary cause were the almost nearly extinct we rappers are role models we rap we dont think i aint here to argue about his facial features or here to convert atheists into believers im just trying to say the way school need teachers the way kathie lee needed regis thats the way i need jesus so here go my single dog radio needs this they said you can rap about anything except for jesus that means guns sex lies video tape but if i talk about god my record wont get played huh well let this take away from my spins which will probably take away from my ends then i hope this take away from my sins and bring the day that im dreaming about next time im in the club everybody screaming outjesus walks god show me the way because the devil trying to break me down jesus walks with me with me with me the only thing that i pray is that me feet dont fail me now ",1
44,"locked up","akon featuring styles p",2004," im steady tryna find a motive motive why i do what i do freedom aint gettin no closer closer no matter how far i gomy car is stolen stolen no registration registration cops patrolin patrolin and now they dont stop me and i get locked upthey wont let me out they wont let me out im locked up they wont let me out no they wont let me out im locked up they wont let me out they wont let me out im locked up they wont let me out no they wont let me outheadin uptown to reup reup back with a couple keys keys corner blocks on fire fire under covers dressed as fiends fiendsmakin so much money money ride up smooth and fast fast put away the stash and as i sold the last bag fucked around and got locked upthey wont let me out they wont let me out my nigga im locked up they wont let me out no they wont let me out i got locked up they wont let me out they wont let me out baby girl im locked up they wont let me out no they wont let me outcuz visitation no longer comes by comes by seems like they forgot about me about me commissary is getting empty emptymy cell mates getting food without me without me cant wait to get out and move forward with my life move on with my life got a family that loves me and wants me to do right but instead im here locked upthey wont let me out they wont let me out oh im locked up they wont let me out no they wont let me out my nigga im locked up they wont let me out they wont let me out oh oh oh baby im locked up they wont let me out no they wont let me outmaybe a visit they wont let me out send me some magazines they wont let me out send me some money orders they wont let me out nomaybe a visit baby they wont let me out cuz im locked up they wont let me out wheres my lawyer they wont let me outim locked up they wont let me out no get me out of here they wont let me out im locked up they wont let me out they wont let me outbaby im locked up they wont let me out no wheres my niggaz on the lockdown they wont let me out damn im locked up they wont let me outim locked up they wont let me out oh they wont let me out can you please accept my phone calls they wont let me out cuz im locked up locked up locked up ",1
45,"stand up","ludacris featuring shawnna",2004," stand up stand up stand up stand upwhen i move you move just like that when i move you move just like that when i move you move just like that hell yeah hey dj bring that back when i move you move just like that when i move you move just like that when i move you move just like that hell yeah hey dj bring that backhow you aint gon fuck bitch out me im the god damn reason you in vip ceo you dont have to see id im young wild and strapped like chiali blow we aint got nothing to worry about whoop ass let security carry em out watch out for the medallion my diamonds are wreckless feels like a midget is hanging from my neckless i pulled up wit a million trucks looking smelling feeling like a million bucksahh pass the bottles the heat is on we in the huddle all smoking that cheech  chong whats wrong the club and moon is full and im looking for a thick young lady to pull one sure shot way to get em outta them pants take note to the brand new dance like thiswhen i move you move just like that when i move you move just like that when i move you move just like that hell yeah hey dj bring that back when i move you move just like that when i move you move just like that when i move you move just like that hell yeah hey dj bring that backgo on wit ya big ass lemme see something tell ya little friend he can quit mean mugging im lit and i dont care what no one thinks but where the fuck is the waitress at wit my drinks my people outside and they cant get in we gon rush the back door and break em in the owner already pissed cause we sorta late but our time and our clothes gotta coordinate most girls lookin right some looking a mess thats why they spilling drinks all over ya dress but louie vuitton bras all over your breasts got me wanting to put hickies all over ya chest cmon we going party tonight yall use mouth to mouth bring the party to life dont be scurred show another part of your life the more drinks in your system the harder to fightwhen i move you move just like that when i move you move just like that when i move you move just like that hell yeah hey dj bring that back when i move you move just like that when i move you move just like that when i move you move just like that hell yeah hey dj bring that back stand up stand up stand up stand updamn right the fire marshall wanna shut us down get us out so someone can gun us down we was two songs away from getting some cutta now we one song away from tearing the club up move over luda got something to say do it now cause tomorrow aint promised today work wit me lets become one with the beat and dont worry bout me stepping all over ya feetwhen i move you move just like that when i move you move just like that when i move you move just like that hell yeah hey dj bring that back when i move you move just like that when i move you move just like that when i move you move just like that hell yeah hey dj bring that backstand up stand up stand up stand up stand up just like that stand up just like that stand up stand up ",1
46,"suga suga","baby bash featuring frankie j",2004," so tight so fly you got me lifted you got me liftedyou got me lifted shifted higher than a ceilin and ooh wee its the ultimate feelin you got me lifted feeling so giftedsugar how you get so fly suga suga how you get so fly suga suga how you get so fly suga suga how you get so fly suga suga how you get so flyyou know its leather when we ride wood grain and raw hide doing what we do watching screens getting high girl you keep it so fly with you sweet honey buns you was there when the money was gone youll be there when the money comes off top i cant lie i love to get blowed you my lil sugar im yo little chulo and every time we kick it its off to the groovy treat you like my sticky icky or my sweet ooy gooy fa real thoughyou got me lifted shifted higher than a ceiling and ooh wee its the ultimate feeling you got me lifted feeling so giftedsugar how you get so fly suga suga how you get so fly suga suga how you get so fly suga suga how you get so fly suga suga how you get so flynow i aint worried about a thang cause i just hit me a lick i got a fat sack and a super fly chick there aint nothing you can say to a playa cause doowop she fly like the planes in the air thats right shes full grown settin the wrong tone im diggin the energy and im lovin the ozone so fly like a dove so fly like a raven quick to politic with some fly conversation in a natural mood then im a natural dude and we some natural fools blowin out by the pool she like my sexy cool mama with blades on her beretta rockin dolce gabbana italian with highdrows and an iguanayou got me lifted shifted higher than a ceiling and ooh wee its the ultimate feeling you got me lifted feeling so giftedsugar how you get so fly suga suga how you get so fly suga suga how you get so fly suga suga how you get so fly suga suga how you get so flyyou know its leather when we ride wood grain and raw hide doing what we do watching screens getting high girl you keep it so fly with you sweet honey buns you was there when the money was gone youll be there when the money comesyou know its leather when we ride wood grain and raw hide doing what we do watching screens getting high girl you keep it so fly with you sweet honey buns you was there when the money was gone youll be there when the money comes fa real thoughyou got me lifted shifted higher than a ceiling and ooh wee its the ultimate feeling you got me lifted feeling so giftedsugar how you get so fly suga suga how you get so fly suga suga how you get so fly suga suga how you get so fly suga suga how you get so flyso high like im a star so high like im a star so high like im a star so high like im a star ",1
47,"all falls down","kanye west featuring syleena johnson",2004," oh when it all it all falls down im telling you oh it all falls down oh when it all it all falls down im telling you oh it all falls downman i promise shes so self conscious she has no idea what shes doing in college that major that she majored in dont make no money but she wont drop out her parents will look at her funny now tell me that aint insecure the concept of school seems so secure sophomore three years aint picked a career she like fuck it ill just stay down here and do hair cause thats enough money to buy her a few pairs of new airs cause her baby daddy dont really care shes so precious with the peer pressure couldnt afford a car so she named her daughter alexus she had hair so long that it looked like weave then she cut it all off now she look like eve and she be dealing with some issues that you cant believe single black female addicted to retail and welloh when it all it all falls down im telling you oh it all falls downman i promise im so self conscious thats why you always see me with at least one of my watches rollies and pashas done drove me crazy i cant even pronounce nothing pass that versace then i spent 400 bucks on this just to be like nigga you aint up on this and i cant even go to the grocery store without some ones thats clean and a shirt with a team it seems we living the american dream but the people highest up got the lowest self esteem the prettiest people do the ugliest things for the road to riches and diamond rings we shine because they hate us floss cause they degrade us we trying to buy back our 40 acres and for that paper look how low we astoop even if you in a benz you still a nigga in a coopcoupeoh when it all it all falls down im telling you oh it all falls downi say fuck the police thats how i treat em we buy our way out of jail but we cant buy freedom well buy a lot of clothes when we dont really need em things we buy to cover up whats inside cause they make us hate ourself and love they wealth thats why shortys hollering where the ballas at drug dealer buy jordans crackhead buy crack and a white man get paid off of all of that but i aint even goin act holier than thou cause fuck it i went to jacob with 25 thou before i had a house and id do it again cause i wanna be on 106 and park pushing a benz i wanna act ballerific like its all terrific i got a couple past due bills i wont get specific i got a problem with spending before i get it we all self conscious im just the first to admit itoh when it all it all falls down im telling you oh it all falls down oh when it all it all falls down im telling you oh it all falls down ",1
48,"toxic","britney spears",2004," baby cant you see im calling a guy like you should wear a warning its dangerous im fallingtheres no escape i cant wait i need a hit baby give me it youre dangerous im loving ittoo high cant come down losin my head spinnin round and round do you feel me nowoh the taste of your lips im on a ride youre toxic im slippin under with a taste of a poison paradiseim addicted to you dont you know that youre toxic and i love what you do dont you know that youre toxicits getting late to give you up i took a sip from my devils cup slowly its taking over metoo high cant come down its in the air and its all around can you feel me nowoh taste of your lips im on a ride youre toxic im slippin under with the taste of a poison paradiseim addicted to you dont you know that youre toxic and i love what you do dont you know that youre toxic dont you know that youre toxicoh ohtaste of your lips im on a ride youre toxic im slippin under with a taste of a poison paradiseim addicted to you dont you know that youre toxicwith the taste of your lips im on a ride youre toxic im slippin under with a taste of the poison paradiseim addicted to you dont you know that youre toxicintoxicate me now with your lovin now i think im ready now i think im ready nowintoxicate me now with your lovin now i think im ready now ",1
49,"salt shaker","ying yang twins featuring lil jon  the east side boyz",2004," shawty crunk on the floor wide open speak so much they call her billy ocean row like eighteen wheeler that hoe find but this hoe killer she leakin shes soak and wet she leakin soak and wet shake it like a salt shaker shake it like a salt shaker shake it like a salt shaker shake it like a salt shakerp poppin till you percolate first booty on duty no time to wait make it work with your wet tshirt bitch you gotta shake it till your camel starts to hurt say the heals on your feet or the strap around your ankle call that big bow jangle juicy like fruit or dosh like coup deville used to get loose on the goose for realfive dollars get your ass a table dance if you got ten then bring a friend hoe shake your ass to the song then if you aint with it then we gone then we aint no boys we grown men if you aint gone dance then dont then why you wanna waste a niggaz song then see your ass down doin nothinshawty crunk on the floor wide open speak so much they call her billy ocean row like eighteen wheeler that hoe find but this hoe killer she leakin shes soak and wet she leakin soak and wet shake it like a salt shaker shake it like a salt shaker shake it like a salt shaker shake it like a salt shakerface the wall shawty put your hands on it bounce that ass up and down make a nigga want it face the wall shawty put your hands on it bounce that ass up and down make a nigga want it roll that ass round and round like a motherfuckin wheel shake that shit this aint no motherfuckin drill roll that ass round and round like a motherfuckin wheel shake that shit this aint no motherfuckin drill get crunk with it get loose with it like short said let bruce bruce hit it get crunk with it get loose with it like short said let bruce bruce hit it shake that ass real fast then stop aaww shit shake that ass real fast then stop aaww shit shake that ass real fast then stop aaww shit shake that ass real fast then stop aaww shitshawty crunk on the floor wide open speak so much they call her billy ocean row like eighteen wheeler that hoe find but this hoe killer she leakin shes soak and wet she leakin soak and wet shake it like a salt shaker shake it like a salt shaker shake it like a salt shaker shake it like a salt shakershake it like a dollar five or ten but what would you do for a twenty twen get on the stage shake that ass then get on the pole do a back ban i like that do it again heres another ten bitch do it again work like a game that you playin to win make that pussy fart for the ying yang twins sixteen bitches in thongs in one club the home of the fifth rate bones and butts  bitches splittin all over the floor hornafy cant deny certified pro on the poll upside down this shit for real sixtynine plenty time will pay a bill at day she a clerk but night she turn stripper youre not even dated your just tryin to tip hershawty crunk on the floor wide open speak so much they call her billy ocean row like eighteen wheeler that hoe find but this hoe killer she leakin shes soak and wet she leakin soak and wet shake it like a salt shaker shake it like a salt shaker shake it like a salt shaker shake it like a salt shaker ",1
50,"with you","jessica simpson",2004," the real me is a southern girl with her levis on and an open heart wish i could say the save the world like i was super girl the real me is to laugh all night lying in the grass just talking about love but lately ive been jaded life got so complicatedim still thinking about it almost forgot what it was like do you know what it feels like cause with you i can let my hair down i can say anything crazy i know youll catch me right before i hit the ground with nothing but a tshirt on i never felt so beautiful baby as i do now now that im with you with you now that im with youyou speak and its like a song and just like that all my walls come down its like a private joke just meant for us to know i relate to you naturally everybody else just fades away sometimes its hard to breathe just knowing you found me cause im still thinking about it almost forgot what it was like do you know what it feels like cause with you i can let my hair down i can say anything crazy i know youll catch me right before i hit the ground with nothing but a tshirt on i never felt so beautiful baby as i do now now that im with you with youcome and take me love you save me like nobody else now i can be myself with you ",1
51,"meant to live","switchfoot",2004," fumbling his confidence and wondering why the world has passed him by hoping that hes bent for more than arguments and failed attempts to fly to flywe were meant to live for so much more have we lost ourselves somewhere we live inside somewhere we live inside we were meant to live for so much more have we lost ourselves somewhere we live insidedreaming about providence and whether mice and men have second tries maybe weve been livin with our eyes half open maybe were bent and broken brokenwe were meant to live for so much more have we lost ourselves somewhere we live inside somewhere we live inside we were meant to live for so much more have we lost ourselves somewhere we live insidewe want more than this worlds got to offer we want more than this worlds got to offer we want more than the wars of our fathers and everything inside screams for second lifewe were meant to live for so much more have we lost ourselves we were meant to live for so much more have we lost ourselves we were meant to live for so much more have we lost ourselves we were meant to live we were meant to live ",1
52,"i like that","houston featuring chingy nate dogg and i20",2004," houston bounce yeah i like that chingaling bounce nate dogg i 20 trackstars yeah i like thatwhoa ooh whoa ooh whoa ooh whoa i like that i like that girl twirk that back whoa i like that i like that girl freak that backwhoa ooh whoa ooh whoa ooh whoa i like that i like that thats where the money at whoa i like that i like that girl freak that backhouston bust straight through i see me i see you your bodys callin ima blow yo back out ill show you put ya hands up shake it fast on me im tha pimp you need 10 gs in tha pocket and im ready to roll im on fire like a rocket and im ready to blowdont stop get ready drop turn around and make it pop ahh dont stop girl just dropwhoa ooh whoa ooh whoa ooh whoa i like that i like that girl twirk that back whoa i like that i like that girl freak that backwhoa ooh whoa ooh whoa ooh whoa i like that i like that thats where the money at whoa i like that i like that girl freak that backthe soldiers widin out got me back against tha wall girl i like it i like that while you feelin me grindin in between on fighting temptation comin over me i can feel the vibration gettin off on me whoa ooh whoa ohhdont stop get ready drop turn around and make it pop ahh just dropwhoa ooh whoa ooh whoa ooh whoa i like that i like that girl twirk that back whoa i like that i like that girl freak that backwhoa ooh whoa ooh whoa ooh whoa i like that i like that thats where the money at whoa i like that i like that girl freak that backyeah yeah yeah drop then let me see ya bring it back up top she hot like a boilin pot on tha stove like whoa here we go yeah i got me a reason and a plot tonight and im leavin wit somethin hot tonight she gettn got tonight aightstop you thought i lost ya this 12 inches itll cost ya what i say ya gettn tossed up 24s on tha whip i stay floss up she wanna hang wit tha stars so i showed her my bracelet im gettin yall chicks and rubbin it in ya facesyeah yeah yeah yeah jackpot give it back shouts n broads look at ass drop forward back clap n pause we sweep all the broads and they all for choosin then holla at ya nigga is that problem houstonwhoa ooh whoa ooh whoa ooh whoa i like that i like that girl twirk that back whoa i like that i like that girl freak that backwhoa ooh whoa ooh whoa ooh whoa i like that i like that thats where the money at whoa i like that i like that girl freak that backwhoa turn me all over ya body big nate dogg can jump start a party we aint gonna hurt nobody gimme that gimme that gimme that whoa turn me all over ya body big nate dogg can jump start a party we aint gonna hurt nobody gimme that gimme that gimme thatwhoa ooh whoa ooh whoa ooh oh no i like that i like that girl twirk that back whoa i like that i like that girl freak that backwhoa ooh whoa ooh whoa ooh whoa i like that i like that thats where the money at whoa i like that i like that girl freak that back whoa ooh whoa ooh whoa ooh whoayeah yeah yeah turn around from tha back and uh i like that let me see it from tha front and uh i like that yeah you know how we do turn around let me see it from tha back ",1
53,"sorry 2004","ruben studdard",2004," im sorry im sorryits like i missed a shot its like i dropped the ball damn im sorry its like im on stage and i forgot the words damn im sorryits like building a new house with no roof and no doors damn im sorry its like trying to propose and i aint got the ring ooh damn im sorrybut girl ive apologized a million times before ill apologize a million more so here it comes again for all the wrong ive done girl get ready babe heres one million onegirl this is my sorry for 2004 and i aint gonna mess up no more this year im a take this one chance and make it real clear im sorry for may and im sorry for june for realand sorry for july in case i dont tell you i am august september october november til your december im sorry im sorry 2004its like stayin out at night and way too much to drink damn im sorry its like you change your hair and i dont say a thing damn im sorryits like were fallin fast asleep with no kiss and before we hit damn im sorry its like i forgot your gift on 02 14 03 damn so sorrybut girl ive apologized a million times before ill apologize a million more so here it comes again for all the wrong ive done girl get ready babe heres one million onegirl im sorry for the way that i did you im sorry from the bottom of my heart for how i hurt you girl im sorry on the weekend sorry on the weekday sorry for the things i did sorry for the things i saidsorry for the lies sorry for the times i didnt care what you want i didnt care what you like but all i can do is tell you that im sorry babe im sorry babe sorry im sorryooh woh all them strip clubs all them hot tubs im gonna give them up cause i dont want to lose your lovegirl this is my sorry for 2004 and i aint gonna mess up no more this year im a take this one chance and make it real clear im sorry for may and im sorry for june for realand sorry for july in case i dont tell you i am august september october november til your december im sorry im sorry 2004girl this is my sorry for 2004 sorry 2004 girl this is my sorry for 2004 sorry 2004 ",1
54,"my happy ending","avril lavigne",2004," oh oh so much for my happy ending oh oh so much for my happy ending oh ohohhhlets talk this over its not like were dead was it something i did was it something you saiddont leave me hangin in a city so dead held up so high on such a breakable threadyou were all the things i thought i knew and i thought we could beyou were everything everything that i wantedthat i wanted we were meant to be supposed to be but we lost it we lost it all of the memories so close to me just fade awayall this time you were pretending so much for my happy ending oh oh so much for my happy ending oh ohyouve got your dumb friends i know what they say they say they tell you im difficult but so are they but so are they but they dont know medo they even know you even know you all the things you hide from me all the shit that you do all the shit that you doyou were all the things i thought i knew and i thought we could beyou were everything everything that i wanted that i wanted we were meant to be supposed to be but we lost it we lost it all of the memories so close to me just fade away all this time you were pretending so much for my happy endingits nice to know that you were there thanks for acting like you care and making me feel like i was the only one its nice to know we had it all thanks for watching as i fall and everything that we could behe was everything everything that i wanted we were meant to be supposed to be but we lost it all of the memories so close to me just fade away all this time you were pretending so much for my happy endingyou were everything everything that i wanted that i wanted we were meant to be supposed to be but we lost it all of the memories so close to me just fade away all this time you were pretending so much for my happy endingoh oh oh oh so much for my happy ending oh oh oh oh so much for my happy ending ",1
55,"on fire","lloyd banks",2004," new york city you are now rocking with the best lloyd banks gunitwe on fire up in here its burning hot we on fire shorty take it off if it get too hot up in this spot we on fire tear the roof off this motherfucker light the roof on fire uh nigga what you say we get loose in this motherfucker light the roof on fire fire firenow i aint putting nothing out i smoke when i wanna twentysix inch chrome spokes on the hummer this heat gon last for the whole summer running your bitch faster then the road runner rocks on my wrist rose gold under glocks on my hip those throw thunder im buying diamonds by the pair but when you stop the only thing still spinning is your earyeah im riding with that all black snub raiders cap back all black gloves im 80s man but the boy smack thugs these record sales equal more back rubs not to mention i ball packed clubs his impacts about as raw as crack was now all these new artists getting wrong deals im only twentyone sitting on millswe on fire up in here its burning hot we on fire shorty take it off if it get too hot up in this spot we on fire tear the roof off this motherfucker light the roof on fire uh nigga what you say we get loose in this motherfucker light the roof on fire fire fireif you know anything about me then you know im a baller if i dont hit the first night i aint gon call her im trying to play you trying to have my daughter but i cant blame her for what her momma taught her and i dont care what the next nigga bought her cause i aint putting no baguettes in her abuela i got a diamond about as clear as water and i got bread but i aint spending quartersso cut the games ma lets go in the back matter fact turn your ass round back a nigga down and i aint bias when im riding through the town like em small like em tall like em black like em brown she gotta be able to cum when i need her tight ass pants little wife beater regular chick or rb diva bitch say something i aint a mind readerwe on fire up in here its burning hot we on fire shorty take it off if it get too hot up in this spot we on fire tear the roof off this motherfucker light the roof on fire uh nigga what you say we get loose in this motherfucker light the roof on fire fire fire ",1
56,"roses","outkast",2004," carolinecaroline caroline all the guys would say shes mighty finemighty fine but mighty fine only got you somewhere half the time and the other half either got you cussed out or coming up short yeah now dig this even thougheven though youd need a golden calculator to divideto divide the time it took to look inside and realize that real guys go for real down to mars girls yeahi know youd like to think your shit dont stink but lean a little bit closer see that roses really smell like poopoooo yeah roses really smell like poopooooi know youd like to think your shit dont stink but lean a little bit closer see that roses really smell like poopoooo yeah roses really smell like poopoooocarolinecaroline see shes the reason for the word bitchbitch i hope shes speeding on the way to the club trying to hurry up to get to some baller or singer or somebody like that and try to put on her makeup in the mirror and crash crash craaash into a ditch just playing she needs a golden calculator to divide the time it takes to look inside and realize that real guys go for real down to mars girls yeahi know youd like to think your shit dont stink but lean a little bit closer see that roses really smell like poopoooo yeah roses really smell like poopooooi know youd like to think your shit dont stink but lean a little bit closer see that roses really smell like poopoooo yeah roses really smell like poopoooowell shes got a hottys body but her attitude is potty when i met her at a party she was hardly acting naughty i said shorty would you call me she said pardon me are you ballin i said darling you sound like a prostitute pursing oh so youre one them freaks get geeked at the sight of an atm receipt but game been peeped dropping names shes weak trickin off this bitch is lost must take me for a geek ah quick way to eat ah neat place sleep ah rentacar for a week ah trick for a treatnoo go on the raw sex my aids test is flawless regardless we dont want to get involved without our lawyers and judges just to hold grudges in the courtroom i want to see ya support bra not support youi know youd like to think your shit dont stink but lean a little bit closer see that roses really smell like poopoooo yeah roses really smell like poopooooi know youd like to think your shit dont stink but lean a little bit closer see that roses really smell like poopoooo yeah roses really smell like poopooooi know youd like to think your shit dont stink but lean a little bit closer see that roses really smell like poopoooo yeah roses really smell like poopooooi know youd like to think your shit dont stink but lean a little bit closer see that roses really smell like poopoooo yeah roses really smell like poopoooobetter come back down to mars girl quit chasin cars what happens when the dough get so low bitch you aint that fine no waaayno waaaynoo waaaaaybetter come back down to mars girl quit chasin cars what happens when the dough get so low bitch you aint that fine no waaayno waaaynoo waaaaaycrazy bitchbitch stupid ass bitch old punk ass bitch old dumbass bitch a bitchs bitch just a bitchstupid ass bitch old punk ass bitch old dumbass bitch a bitchs bitch just a bitch ",1
57,"walked outta heaven","jagged edge",2004," im rolling down a lonely highway asking god to please forgive me for messing up the blessing he gave to me i see everything clearer now the nights as black as black as its ever been with out my girl ima lose it and i pray that he just sheds his grace on me i needjust to be back with my baby it feels like ive just walked right out of heaven it feels like ive damn near thrown my life away im scared just like a child thats lost at seven dont know what to do to get back right with youit feels like ive just walked right out of heaven it feels like ive damn near to throw my life away like a child thats lost at seven dont know what to do it feels like i just walked right out of heavensee my mama told me thats if its meant to be shell come back and shell forgive me and the best thing i can do it to just let her let her go i know i dont want to do it but if i continue to push shell just pull away and i know that in my heart its a reality i didnt treat her like she wanted to be treatedand i hope that shes not gone for good no no no it feels like ive just walked right out of heaven it feels like ive damn near thrown my life away im scared just like a child thats lost at seven dont know what to do to get back right with youit feels like ive just walked right out of heaven it feels like ive damn near to throw my life away like a child thats lost at seven dont know what to do it feels like i just walked right out of heavenhey girl waiting for you all the time supposed to move on with my life and girl i tried and i triedi feel like i cant walk i feel like i cant talk girl i dont know what to do get back right with you i feel like i just walked outta heaven babyif you ever loved somebody and if you ever had somebody but you know that you hurt that somebody let me hear you say yeait feels like ive just walked right out of heaven it feels like ive just walked right out of heaven it feels like ive damn near thrown my life away im scared just like a child thats lost at seven dont know what to do to get back right with youit feels like ive just walked right out of heaven it feels like ive damn near to throw my life away like a child thats lost at seven dont know what to do it feels like i just walkedit feels like ive just walked right out of heaven it feels like ive damn near thrown my life away im scared just like a child thats lost at seven dont know what to do to get back right with youit feels like ive just walked right out of heaven it feels like ive damn near thrown my life away like a child thats lost at seven dont know what to do to get back right with you ",1
58,"lose my breath","destinys child",2004," can you keep up baby boy make me lose my breath bring the noise make me lose my breath hit me hard make me lose my hah hah can you keep up baby boy make me lose my breath bring the noise make me lose my breath hit me hard make me lose my breath hah hahooh i put it right there made it easy for you to get to now you want to act like ya dont know what to do after i done everything that you ask me grabbed you grinded you liked you tried you move so fast baby now i cant find youooh im startin to believe that im way too much for you all that talk but it seems like it cant come through all those times if you could satisfy me now i see where believing you got me gave you the wheel but you cant drive mecan you keep up baby boy make me lose my breath bring the noise make me lose my breath hit me hard make me lose my hah hah can you keep up baby boy make me lose my breath bring the noise make me lose my breath hit me hard make me lose my breath hah hahooh two things i dont like when im trying to get my groove is a partner that meets only halfway and just cant prove take me out so deep when you know you cant swim need a lifeguard and i need protection to put it on me deep in the right directionooh you understand the facts that im tryna give to you ya movin so slow like you just dont have a clue didnt mama teach you to give affection learn the difference of a man and an adolescent aint you boo so get to steppingcan you keep up baby boy make me lose my breath bring the noise make me lose my breath hit me hard make me lose my hah hah can you keep up baby boy make me lose my breath bring the noise make me lose my breath hit me hard make me lose my breath hah hahcan you keep up baby boy make me lose my breath bring the noise make me lose my breath hit me hard make me lose my hah hah can you keep up baby boy make me lose my breath bring the noise make me lose my breath hit me hard make me lose my breath hah hahif you cant make me say ooh like the beat of this drum why you askin for some you dont really want none if you cant make me say ooh like the beat of this grooveyou dont have no business in this heres your papers baby you are dismissedcan you keep up baby boy make me lose my breath bring the noise make me lose my breath hit me hard make me lose my hah hah can you keep up baby boy make me lose my breath bring the noise make me lose my breath hit me hard make me lose my breath hah hahcan you keep up baby boy make me lose my breath bring the noise make me lose my breath hit me hard make me lose my hah hah can you keep up baby boy make me lose my breath bring the noise make me lose my breath hit me hard make me lose my breath hah hah ",1
59,"my band","d12",2004," i dont know dude i think everyones all jealous and shit cuz im like the lead singer of a band dude and i think everyones got a fucking problem with me dude and they need to take it up with me after the showbecause these chicks dont even know the name of my band but theyre all on me like they wanna hold hands cuz once i blow they know that ill be the man all because im the lead singer of my bandso i get off stage right and drop the mic walk up to the hot chicks and im all like sup ladies my names slim shady im the lead singer in d12 baby theyre all like oh my god its him becky oh my fuckin god its eminem i swear to fucking god dude you fuckin rock please marshall please let me suck your cock and by now the rest of the fellas get jealous especially when i drop the beat and do my acapellas all the chicks start yellin all the hot babes throw their bras and their shirt and their panties on stage so like every single night they pick a fight with me but when we fight its kinda like sibling rivalry cuz theyre back on stage the next night with me dude i just think youre tryna steal the light from me yesterday kuniva tried to pull a knife on me cause i told him jessica albas my wife to be this rock star shit its the life for me and all the other guys just despise mebecause these chicks dont even know the name of my band but theyre all on me like they wanna hold hands cuz once i blow they know that ill be the man all because im the lead singer of my bandyou just wanna see a nigga backwards dont you hey dad how come we dont rap on protools smash these vocals and do a performance but we in the van and he in a tour bus you dont want my autograph yous a liar and no im swift oh i thought you was kuniva what the hell is wrong with that dressing room cuz my shit is looking smaller than a decimal see i know how to rap see its simple but all i did was read a russell simmons book so im more intact tryna get on the map doin jumping jacks whilin get whipped on my backkuniva and kon artist look at em little punk ass thinkin he the shit yeah i know man find himself taking on a flick hey i thought we had an interview with dj clue em no i had an interview not you two you gonna be late for soundcheck man i aint goin to soundcheck but our mics are screwed up and his always sound best you know what man ima say something hey yo em you got something to say man no i thought you bout to tell him off whats up man ima tell him when i feel like it man shut up and you aint even back me up when we sposed to be crew when i was bout to talk right after you i swear i swear manthese chicks dont even know the name of my band but theyre all on me like they wanna hold hands cuz once i blow they know that ill be the man all because im the lead singer of my bandthey say the lead singers rock but the group does not once we sold out arenas to the amusement park im gonna let the world know that proof is hot i should cut his mic off when the musics starts ready to snap on a dumb ass fan every time i hear hey dude i love your band we aint a band bitch we dont play instruments so why he get 90 and we only get 10 percent and these guys they can find every area code em proof carry my bag bitch carry your own cant make it to the stage security in my way who the fuck are you wheres obie and dregoddammit im sick of this group time for me to go solo and make some loot i told you i made the beats and wrote all the raps till kon artist slipped me some crack lose yourself video i was in the back superman video i was in the back fuck the media i got some suggestions fuck marshall ask us the questions like whos d12 how we get started but what about eminem bitch are you retarded anyway im the popularest guy in the group big ass stomach bitches think im cute hey sexy 50 told me to do situps to get buff i did two and a half and then i couldnt get up fuck d12 im outta this band im gonna start a group with the real roxannegirl why cant you see youre the only one for me and it just tears my ass apart to know that you dont know my namechorus  bizarre these chicks dont even know the name of my band ha ha but theyre all on me like they wanna hold hands fuck marshall cuz once i blow i know that ill be the man all because im the lead singer of my band my band roxanne shatan loves methe hottest boy band in the world d12 eminem as a salsa singer im the lead singer of my band i get all the girls to take off their underpants and the lead singer of my band my salsa makes all the pretty girls wan to dance my salsa look out for my next single its called my salsa my salsa salsa salsa salsa my salsa my salsa makes all the pretty girls wan to dance and take off their underpants my salsa makes all the pretty girls wan to dance and take off their underpants my salsa whered everybody go ",1
60,"im still in love with you","sean paul featuring sasha",2004," well in come a ting dem call a broken heart dis blessed love will neva part it dont know it from da start me tell dem say a duty eh a sean paul and sasha come sing fo dem bebeboy you make me holler and you make me sweat i cant get your tenderness still i cant get you off my mind what is it about you babyjust a naughty naughty loveim still in love with you boy well im a hustler an a player and you know im not a stayer dats da naughty naughty loveim still in love with you boy say girl try to understand dat da man is just a man dats da naughty naughty loveim still in love with you boy blessed loving from da start but you know we had to part dats da way i give my loveim still in love yes im still in love with you but a man gotta do what a man gotta dogirl well a never have to promise and no bling bling fi hold you girl well a just the loving wit me fling fling control you girland make you head swirl and make you body twirl and make you wanna be my one and only baby girlnight after night me give you love fi keep you warm gal you never get dis kinda lovin from your man i know you wan draw card say me just cant performi love you baby a true a get da little lovin and me gone you dont know how to love me i dont have no no time fi no kissin an charmnot even how to kiss me a true me take you little heart by storm i dont know why baby girl baby girl i love you baby a just da naughty naughty loveim still in love with you boy well im a hustler an a player and you know im not a stayer dats da naughty naughty loveim still in love with you boy say girl cant you understand dat da man is just a man dats da naughty naughty loveim still in love with you boy the blessed loving from da start but you know we had to part dats da way i give my loveim still in love yes im still in love with you but a man gotta do what a man gotta do girla true me give her thug love and say bye bye bye me turn around she ask da question why why why when me leaving let me see da gal cry cry cry and it hurts my heart fi tell a lie lie lie so dont cry no more baby girl for sure just remember da good times we had beforei love you babyim still in love with you boy well im a hustler an a player and you know im not a stayer dats da naughty naughty loveim still in love with you boy say girl dont ya understand dat da man is just a man dats the way i give my loveim still in love with you boy ",1
61,"through the wire","kanye west",2004," i drink a boost for breakfast an ensure for dessert somebody ordered pancakes i just sip the sizzurp that right there could drive a sane man berserk not to worry mr htotheizzos back to wizerk how do you console my mom or give her light support telling her her sons on life support and just imagine how my girl feel on the plane scared as hell that her guy look like emmett till she was with me before the deal she been trying to be mine she a delta so she been throwing that dynasty sign no use in me tryin to be lyin i been trying to be signed trying to be a millionaire how i used two lifelines in the same hospital where biggie smalls died the doctor said i had blood clots but i aint jamaican man story on mtv and i aint trying to make a band i swear this right here history in the making manwhat if somebody from the chi that was ill got a deal on the hottest rap label around but he wasnt talking about coke and birds it was more like spoken word except hes really putting it down and he explained the story about how blacks came from glory and what we need to do in the game good dude bad night right place wrong time in the blink of a eye his whole life changed if you could feel how my face felt you would know how mase felt thank god i aint too cool for the safe belt i swear to god driver two wants to sue i got a lawyer for the case to keep whats in my safe safe my dawgs couldnt tell if i looked like tom cruise in vanilla sky it was televised theres been an accident like geico they thought i was burnt up like pepsi did michael i must got a angel cause look how death missed his ass unbreakable what you thought theyd call me mr glass look back on my life like the ghost of christmas past toys r us where i used to spend that christmas cash and i still wont grow up im a grownass kid swear i should be locked up for stupid shit that i did but im a champion so i turned tragedy to triumph make music thats fire spit my soul through the wire ",1
62,"why","jadakiss",2004," yo why is jadakiss as hard as it gets why is the industry designed to keep the artist in debt and why them dudes aint riding if they part of your set and why they never get it popping but they party to death yea and why they gonna give you life for a murder turn around only give you eight months for a burner its going down why they selling niggas cds for under a dime and if its all love daddy why you come with your 9 why my niggas aint get that cake why is a brother up north better than jordan that aint get that break why you dont stack instead of trying to be fly why is ratting at an all time high why are you even alive why they kill 2pac n chris why at the bar you aint take straight shots instead of poppin cris why them bullets have to hit that door why did kobe have to hit that raw whyd he kiss that whore whyall that ive been given is this pain that ive been living they got me in the system why they gotta do me like that tried to make it my way but got sent up on the highway why oh why why they gotta do me like thatwhy do niggas push pounds and powder why did bush knock down the towers why you around them cowards why aaliyah have to take that flight why my nigga d aint pull out his ferrari why he take that bike why they gotta open your package and read your mail why they stop letting niggas get degrees in jail why you gotta do 85 of your time and why do niggas lie in 85 of they rhymes why a nigga always want what he cant have why i cant come through in the pecan jag why did crack have to hit so hard even though its almost over why niggas cant get no jobs why they come up with the witness protection why they let the terminator win the election come on pay attention why i sell in the stores what you could sell in the streets why i say the hottest shit but we sellin the leastall that ive been given is this pain that ive been living they got me in the system why they gotta do me like that tried to make it my way but got sent up on the highway why oh why why they gotta do me like that ",1
63,"fuck it i dont want you back","eamon",2004,NA,NA
64,"read your mind","avant featuring snoop dogg",2004," yes dont close the door listen ive been waitin to tell you this you are more than a man could ever want wait a minute just let me there listeni stepped in a club in your hood i slowly turned left and there you stood you and your friends talkin but then our eyes connect and moved init was just like 2 ways on beam im your king be my queen and what did you wanna do tonight my truck is parked out front so lets ridei can read your mind babe ohh i know what youre thinkin i know what youre thinkin baby its alright with me baby its alright yes ohh yeah i can read your mind babe i can i know what youre thinkin i know what youre thinkin baby its alright with me yeah yeah its alright yesso baby take a ride with me and ill fulfill all your fantasies and when the rain starts pourin down then all the love thats lost will be foundill make your mind loose control over your body thats my goal so baby just come down here just let the gravity pull you neari can read your mind babe i can i know what youre thinkin i know what youre thinkin its alright can you feel me yeah its alright yes ooh babyi can read your mind babe just me and you right now i know what youre thinkin i got an idea babe its alright oh yeah its alright yesi know you wanna rub rub i know you wanna touch touch i know you wanna feel feel so baby keep it reali know you wanna see see i know you wanna be be in my b e d grindin slowlyi know you wanna rub rub i know you wanna touch touch i know you wanna feel feel so baby keep it reali know you wanna see see i know you wanna be be in my b e d grindin slowlyi can read your mind babe i can read it i know what youre thinkin and i know its alright you see i know what you know its alright yeah i can feel it too babyi can read your mind babe just me and you yeah i know what youre thinkin i know yeah its alright oh oh yeah its alright yesi wanna love baby thats what i wanna do to you i wanna feel you if you come if you come i wanna love baby oh yeah i wanna feel you i wanna feel you girli wanna love baby come on and go with me i want you to stay with me i wanna feel you cause its alright with me i wanna love baby listen baby i wanna go with you i want you to stay with me ",1
65,"game over flip","lil flip",2004," ahh game overflip flip flip game over flip flip flip game overflip flip flip game over flip flip flip game overahh shit yall done fucked up and left me in this bitch im just your average hood nigga with dreams of gettin rich but you dont hear me my crib big like a football field football field you might fuck around and think i signed a football dealbut you dont hear me i take 15 minutes to drop a track yeah i take half a minute to load my gat but you dont hear me i make em bounce all across the globe im a pimp i got your hoe takin off her clothesbut you dont hear me a franchise like a houston rocket houston rocket every eight months is when i usually drop it but you dont hear me i got the streets on lock i like my beats with knock you know my heat stay cocked nigganow who they want flip flip flip game over flip flip flipnow who they want flip flip flip game over flip flip flipnow who they want flip flip flip game over flip flip flipnow who they want flip flip flip game overlook im a cristal nigga and you a redwiner you just an opening act but im the headliner but you dont hear me im bout to ship 3 mill off top you got your deal off your man i got my deal off propsbut you dont hear me im connected like dub and mach10 with ice cubes in my watch and dubs on the black benz but you dont hear me im getting paid cause i do all the work its rainy days if we dont move all our work we go berserkbut you dont hear me im on the block fam in the cream drop lam mostly yall cats with deals yall aint hot man but you dont hear me im bout to do it again you bout to lose it again its show and tell motherfucker ima prove it againnow who they want flip flip flip game over flip flip flipnow who they want flip flip flip game over flip flip flipnow who they want flip flip flip game over flip flip flipnow who they want flip flip flip game overthe game over cause shit about to change over its bout time cause hiphop need a make over but you dont hear me most producers want to charge too much but around my way thats how you get fucked upbut you dont hear me you might think we all beats and rhymes but way before this rap shit nigga the streets was mine but you dont hear me i got that hot shit that thug life pac shit that get hot shit that big ready to die shitnow who they want flip flip flip game over flip flip flipnow who they want flip flip flip game over flip flip flipnow who they want flip flip flip game over flip flip flipnow who they want flip flip flip game over flip flip flip  ",1
66,"one thing","finger eleven",2004," restless tonight cause i wasted the light between both these times i drew a really thin lineits nothing i planned and not that i can but you should be mine across that lineif i traded it all if i gave it all away for one thing just for one thing if i sorted it out if i knew all about this one thing wouldnt that be somethingi promise i might not walk on by maybe next time but not this timeeven though i know i dont want to know yeah i guess i know i just hate how it soundsif i traded it all if i gave it all away for one thing just for one thing if i sorted it out if i knew all about this one thing wouldnt that be somethingif i traded it all if i gave it all away for one thing just for one thing if i sorted it out if i knew all about this one thing wouldnt that be somethingeven though i know i dont want to know yeah i guess i know i just hate how it soundseven though i know i dont want to know yeah i guess i know i just hate how it soundsif i traded it all if i gave it all away for one thing just for one thing if i sorted it out if i knew all about this one thing wouldnt that be somethingif i traded it all if i gave it all away for one thing just for one thing if i sorted it out if i knew all about this one thing wouldnt that be somethingif i traded it all if i gave it all away for one thing just for one thing if i sorted it out if i knew all about this one thing wouldnt that be somethingif i traded it all if i gave it all away for one thing just for one thing if i sorted it out if i knew all about this one thing wouldnt that be something ",1
67,"headsprung","ll cool j",2004," they call me big ly big silly big money big billy when im sliding in them all can ya hear me i be sexing with these bars so ya feel me let me grip it up for cause in the back let me grip it get a buzz in ya hat im a tell ya how to cause an attack timbaland ladies love on the tracklovely get the ice pop champagne dont forget i used to ride on the train when i bump it right call my name go crazy in the mall with james dump that not ill like me bring the women in to chill for free let me tell ya girl dont try me you better have id cause we bewhen we be up in the club we be posting the back when we be in the club girl always come to the back everybody get a head sprung everybody get a head sprung everybody get a head sprung everybody get a head sprungwhen we be up in the club we be posting the back when we be in the club girl always come to the back everybody get a head sprung everybody get a head sprung everybody get a head sprung everybody get a head sprunglord have mercy if the broad is thirsty ill have her man reimburse me the part that hurts me is when they try to work me but i could never let ya jerk me steady sticking to the wall give it up sneaking through the back door live it up got the champagne pour me a cup got the girls looking raw in the frontgot a call your mans in town tell the bar another round got all my mans holding me down kinda thick ma lets get down so get wit it im saying what time wanna dip wit it got playas on the grind wanna skip wit it backstage you mine im a spit wit it heywhen we be up in the club we be posting the back when we be in the club girl always come to the back everybody get a head sprung everybody get a head sprung everybody get a head sprung everybody get a head sprungwhen we be up in the club we be posting the back when we be in the club girl always come to the back everybody get a head sprung everybody get a head sprung everybody get a head sprung everybody get a head sprunghey ladies no need to get your hair done i said yo ladies no need to get your hair done im a get your head sprung im a get your head sprung im a get your head sprung im a get your head sprung i said yo fellas no need to throw them ones i said yo fellas no need to throw them ones im a get your head sprung im a get your head sprung im a get your head sprung im a get your head sprunghey when we be up in the club we be posting the back when we be in the club girl always come to the back everybody get a head sprung everybody get a head sprung everybody get a head sprung everybody get a head sprungwhen we be up in the club we be posting the back when we be in the club girl always come to the back everybody get a head sprung everybody get a head sprung everybody get a head sprung everybody get a head sprungyeah keep chillin wit em yeah keep chillin wit em ",1
68,"damn","youngbloodz featuring lil jon",2004," ok ok ok ok ok ok this sean paul lil john jbo youngbloodz you already know how we do it homeboy its atown 105 road for dem hoes its atown east side for dem hoes attic crew you already know lil john eastside boyz and yo boy sean paul let me tell ya like this here boy lets gothey callin me to come back to the streets sean p aka sharp crease said it was necessary these sucka niggaz out here very scary they come from the hole they livin in the month of february ok then put a sissy nigga on display then kick in ya door and have my folk dem bring dem ks in im still attic adouble tisee it aint a hoe out there fo real who dont know bout me bitch im fo sho wit it dont make me pop that trunk to the lac bitch i will go get it and i aint selfish i will let you and your hoe feel it wont catch me sippin on no cris and got a cold billy its youngbloodz atown malt liquor sippin comin straight from the gutter toetag a motherfucker leave em under a cover lil john he drop the beat that make ya bounce like rubber sean paul he tote the heat to make ya mug then slug ya yeahif you dont give a damn we dont give a fuck if you dont give a damn we dont give a fuck if you dont give a damn we dont give a fuck if you dont give a damn we dont give a fuck dont start no shit it wont be no shit dont start no shit it wont be no shit dont start no shit it wont be no shit dont start no shit it wont be no shiti post up get to it drink hand in hand they call me mr herringbone cause thats my right hand man old school straight foolish like no other indeed with lil john its youngbloodz they crunk as can be attic crew 105 thats if you lookin to rumble cock back bust aim now i done got yo number in the club you gone feel it when it drop this summer like rain we gone pour and hit you hard like thunder cause in the dirty we dem boys that drank you under the table where dem niggaz pimp hoes in fly suits and gators in my chevy so super im the one to call just dial 1800430 slash alcohol and dawg im not the one that you really just want to clown im cool in my way but shit still i shut em down and piss on them haters jbo he cuts a fool in the cut bout slizzard somewhere thats how we do yeahif you dont give a damn we dont give a fuck if you dont give a damn we dont give a fuck if you dont give a damn we dont give a fuck if you dont give a damn we dont give a fuck dont start no shit it wont be no shit dont start no shit it wont be no shit dont start no shit it wont be no shit dont start no shit it wont be no shitout of town hard heads get swiss cheesed up and you gon need more than stitches to patch that leak up chump like me up my mouth tbd up with the plush leather guts steady grippin the butt oh you fo sho with it then pull yo pistol show a nigga you aint hoe with it and i aint selfish i will let you and your folk feel it talkin big boy shit me muggin like a motherfucker my hand on my dickcause at a grip we keep it jumpin like it aint nuttin new we started off with shake em off so look up now oh guess who its them boys from the bottom who took you down 85 and hit you with that youway so dont be surprised we buckin blowin chillin and sippin on something good im peepin out the scenery and wishin a nigga would in case it just might pop im bout ready to lock and load to take you through the south to show you how we throw dem bowsif you dont give a damn we dont give a fuck if you dont give a damn we dont give a fuck if you dont give a damn we dont give a fuck if you dont give a damn we dont give a fuck dont start no shit it wont be no shit dont start no shit it wont be no shit dont start no shit it wont be no shit dont start no shit it wont be no shitif you dont give a damn we dont give a fuck if you dont give a damn we dont give a fuck if you dont give a damn we dont give a fuck if you dont give a damn we dont give a fuck dont start no shit it wont be no shit dont start no shit it wont be no shit dont start no shit it wont be no shit dont start no shit it wont be no shit ",1
69,"baby boy","beyonce featuring sean paul",2004,"certified quality a dat da girl dem need and dem not stop cry without apology buck dem da right way dat my policy sean paul alongside beyonce now hear what da man say dutty ya dutty ya dutty ya beyonce sing it now girl baby boy you stay on my mind fulfill my fantasies cmon baby tell me how you feel i think about you all the time i see you in my dreams baby boy not a day goes by without my fantasies cmon baby tell me whats the deal i think about you all the time i see you in my dreams aah oh my babys fly baby oh yes no hurt me so good baby oh im so wrapped up in your love let me go let me breathe stay out my fantasies ya ready gimme da ting dat ya ready get ya live and tell me all about da tings that you will fantasize i know you dig da way me step da way me make my stride follow your feelings baby girl because they cannot be denied come check me ina night and make we get it amplified me have da ting to run da ship cause im go slip and im go slide and in the words of love i got ta get it certified but i give you da toughest longest kinda ride girl baby boy you stay on my mind fulfill my fantasies i think about you all the time i see you in my dreams baby boy not a day goes by without my fantasies i think about you all the time i see you in my dreams picture us dancin real close in a dark dark corner of a basement party every time i close my eyes its like everyone left but you and me in our own little world the music is the sun the dance floor becomes the sea feels like true paradise to me baby boy you stay on my mind fulfill my fantasies i think about you all the time i see you in my dreams baby boy not a day goes by without my fantasies by by by by i think about you all the time i see you in my dreams baby boy you stay on my mind baby boy you are so damn fine baby boy wont you be mine baby boy lets conceive an angel baby boy you stay on my mind baby boy you are so damn fine baby boy wont you be mine baby boy lets conceive an angel top top girl me and you together is a wrap dat girl driving around da town in your drop top girl you no stop shock girl little more da dutty well rock dat world top top girl me and you together is a wrap dat girl driving around da town in your drop top girl you no stop shock girl little more da dutty well rock dat world baby boy you stay on my mind fulfill my fantasies i think about you all the time i see you in my dreams baby boy not a day goes by without my fantasies i think about you all the time i see you in my dreams i know you gonna like it i know you gonna like it so dont you fight it so dont you fight it",3
70,"get low","lil jon  the east side boyz featuring ying yang twins",2004,"3 6 9 standing real fine move it to you suck it to me one mo time get low get low get low get low to the window to the wall to the sweat drop down my balls to all you bitches crawl to all skee skee motherfucker all skee skee got dam to all skee skee motherfucker all skee skee got dam shortie crunk so fresh so clean can she fuck that question been harassing me in the mind this bitch is fine i done came to the club about 50th 11 times now can i play with yo panty line the club owner said i need to calm down security guard go to sweating me now we got drunk then a motherfucker threaten me now she getting crunk in the club i mine she work it ands then i like to see the female twerking taking the clothes off buckey naked atl hoe dont disrespect it pa pop yo pussy like this cause yin yang twins in this bitch lil jon and the east side boys wit me and we all like to see ass and tities now bring yo ass over here hoe and let me see you get low if you want this thug now take it to the floor and if yo ass wanta act you can keep yo ass where you at 3 6 9 standing real fine move it to you suck it to me one mo time get low get low get low get low to the window to the wall to the sweat drop down my balls to all you bitches crawl to all skee skee motherfucker all skee skee got dam to all skee skee motherfucker all skee skee got dam let me see you get low you scared you scared you drop dat ass to the floor you scared you scared you let me see you get low you scared you scared you drop dat ass to the floor you scared you scared you turn dat ass shake it fast ya pop dat ass to the left and the right ya turn dat ass shake it fast ya pop dat ass to the left and the right ya now back back back it up a back back back it up a back back back it up a back back back it up now stop oh then wiggle wit yeah now stop oh then wiggle wit yeah now stop oh then wiggle wit yeah now stop oh then wiggle wit wiggle wit it 3 6 9 standing real fine move it to you suck it to me one mo time get low get low get low get low to the window to the wall to the sweat drop down my balls to all you bitches crawl to all skee skee motherfucker all skee skee got dam to all skee skee motherfucker all skee skee got dam now give me my doe back and go get ya friend stupid bitch standing there while im drinking my hen steady looking at me still asking questions times up nigga pass me another contestant hoe move to the left if you aint bout 50th done talk through 3 or 4 songs already looking at a nigga with yo palm all out bitch i aint even seen you dance twerk something baby work something baby pop yo pussy on the pole do yo thang baby slide down dat bitch wit yo little bit then stop get back on the floor catch yo balance then drop now bring it back up clap yo ass like hands i just wanna see yo ass drity dance ying yang we done again and put it on the map like ann 3 6 9 standing real fine move it to you suck it to me one mo time get low get low get low get low to the window to the wall to the sweat drop down my balls to all you bitches crawl to all skee skee motherfucker all skee skee got dam to all skee skee motherfucker all skee skee got dam got dam ya yall twreking a little bit ladies but ya got to twrek alittle bit harder then dat now right now i need all the ladies dat know they look good tonite we want yall to do this shit like this bend over to the front touch toes back dat ass up and down and get low bend over to the front touch toes back dat ass up and down and get low bend over to the front touch toes back dat ass up and down and get low bend over to the front touch toes back dat ass up and down and get low 3 6 9 standing real fine move it to you suck it to me one mo time get low get low get low get low to the window to the wall to the sweat drop down my balls to all you bitches crawl to all skee skee motherfucker all skee skee got dam to all skee skee motherfucker all skee skee got dam",3
71,"drop it like its hot","snoop dogg featuring pharrell",2004," snooooooooooop snooooooooooopwhen the pimps in the crib ma drop it like its hot drop it like its hot drop it like its hot when the pigs try to get at ya park it like its hot park it like its hot park it like its hot and if a nigga get a attitude pop it like its hot pop it like its hot pop it like its hot i got the rolly on my arm and im pouring chandon and i roll the best weed cause i got it going onuh im a nice dude with some nice dreams see these ice cubes see these ice creams eligible bachelor million dollar boat thats whiter than whats spilling down your throat the phantom exterior like fish eggs the interior like suicide wrist red i can exercise you this can be your phys ed cheat on your man ma thats how you get ahizzead killer wit the beat i know killers in the street wit the steel thatll make you feel like chinchilla in the heat so dont try to run up on my ear talking all that raspy shit trying to ask me shit when my niggaz fill ya vest they aint gon pass me shit you should think about it take a second matter fact you should take four b and think before you fuck wit lil skateboard pwhen the pimps in the crib ma drop it like its hot drop it like its hot drop it like its hot when the pigs try to get at ya park it like its hot park it like its hot park it like its hot and if a nigga get a attitude pop it like its hot pop it like its hot pop it like its hot i got the rolly on my arm and im pouring chandon and i roll the best weed cause i got it going onim a gangsta but yall knew that da big bo dogg yeah i had to do that i keep a blue flag hanging out my backside but only on the left side yeah thats the crip side aint no other way to play the game the way i play i cut so much you thought i was a dj scratches two  one  yep three sn double op do double g i cant fake it just break it and when i take it see i specialize in making all the girls get naked so bring your friends all of yall come inside we got a world premiere right here now get live so dont change the dizzle turn it up a little i got a living room full of fine dime brizzles waiting on the pizzle the dizzle and the shizzle gs to the bizzack now ladies here we gizzowhen the pimps in the crib ma drop it like its hot drop it like its hot drop it like its hot when the pigs try to get at ya park it like its hot park it like its hot park it like its hot and if a nigga get a attitude pop it like its hot pop it like its hot pop it like its hot i got the rolly on my arm and im pouring chandon and i roll the best weed cause i got it going onim a bad boy wit a lotta hos drive my own cars and wear my own clothes i hang out tough im a real bo big snoop dogg yeah hes so sharp on the tv screen and in the magazines if you play me close youre on a red beam oh you got a gun so you wanna pop back ak47 now nigga stop that cement shoes now im on the move youre familys crying now you on the news they cant find you and now they miss you must i remind you im only here to twist you pistol whip you dip you then flip you then dance to this motherfucking music we crip to subscribe nigga get yo issue baby come close let me see how you get loosewhen the pimps in the crib ma drop it like its hot drop it like its hot drop it like its hot when the pigs try to get at ya park it like its hot park it like its hot park it like its hot and if a nigga get a attitude pop it like its hot pop it like its hot pop it like its hot i got the rolly on my arm and im pouring chandon and i roll the best weed cause i got it going onsnooooooooooop snooooooooooop ",1
72,"u shouldve known better","monica",2004," i didnt ask to go with you to mexico i really didnt need the shopping sprees in la on melroseboy if you didnt know it well now you know i didnt need the furs or the jewelry because material things they dont mean much to me and ever since youve been gone ive been holdin us down on my owni never ever cheated i never ever lied so you could stop asking me asking me why why i never left you and why i kept it real and why im still with youu shouldve known better than to think i would leave u shouldve better than to doubt me dear it dont matter if yourematter if youre down either way im gonna be around u shoudve known that i would stay by your side u shouldve known your girl was gonna ride or die and it just dont matter if youre rich or pooroutor in doing 5 to 10 u shouldve known betterwhat makes you think that i would forget about you think about itwho comes to see ya every saturday and monday i was on that reciever me me your girl girl your life life your world world family and friends they just dont understand they say i should leave you alone but i say that they all should just leave us alone dont you get iti never evr cheated i never ever lied so you could stop asking me asking me why why i never left you and why i kept it real and why im still with youu shouldve known better than to think i would leave u shouldve better than to doubt me dear it dont matter if yourematter if youre down either way im gonna be around u shoudve known that i would stay by your side u shouldve known your girl was gonna ride or die and it just dont matter if youre rich or pooroutor in doing 5 to 10 u shouldve known betteru shouldve known better than to think i would leave u shouldve better than to doubt me dear it dont matter if yourematter if youre down either way im gonna be around u shoudve known that i would stay by your side u shouldve known your girl was gonna ride or die and it just dont matter if youre rich or pooroutor in doing 5 to 10 u shouldve known betterno matter what they think about you theres nothing i could do without you ",1
73,"on the way down","ryan cabrera",2004," sick and tired of this world theres no more air trippin over myself goin nowhere waiting suffocating no direction i took a diveand on the way down i saw you and you saved me from myself and i wont forget the way you loved me on the way down i almost fell right through but i held onto youive been wondering why its only me have you always been inside waiting to breathe its alright sunlight on my face i wake up and yeah im alivecause on the way down i saw you and you saved me from myself and i wont forget the way you loved me on the way down i almost fell right through but i held onto youi was so afraid of going under but now the weight of the world feels like nothing no nothindown down down youre all i wanted down down down youre all i needed now down down down youre all i wanted youre all i neededand i wont forget the way you loved me all that i wanted all that i needed nowoh on the way down i saw you and you saved me from myself and i wont forget the way you loved me on the way down i almost fell right through but i held onto youdown down down but i held onto you down down down but i held onto you ",1
74,"breakaway","kelly clarkson",2004," grew up in a small town and when the rain would fall down id just stare out my window dreamin of what could be and if id end up happy i would praytrying hard to reach out but when i tried to speak out felt like no one could hear me wanted to belong here but something felt so wrong here so i pray i could breakawayill spread my wings and ill learn how to fly ill do what it takes till i touch the sky and ill make a wish take a chance make a change and breakaway out of the darkness and into the sun but i wont forget all the ones that i love ill take a risk take a chance make a change and breakawaywant to feel the warm breeze sleep under a palm tree feel the rush of the ocean get on board a fast train travel on a jet plane faraway and breakawayill spread my wings and ill learn how to fly ill do what it takes till i touch the sky and ill make a wish take a chance make a change and breakaway out of the darkness and into the sun i wont forget all the ones that i love i gotta take a risk take a chance make a change and breakawaybuildings with a hundred floors swinging round revolvin doors maybe i dont know where they take me but gotta keep movin on movin on fly away breakawayill spread my wings and ill learn how to fly though its not easy to tell you goodbye i gotta take a risk take a chance make a change and breakaway out of the darkness and into the sun but i wont forget the place i come from i gotta take a risk take a chance make a change and breakaway breakaway breakaway ",1
75,"why dont you  i","santana featuring alex band",2004,NA,NA
76,"are you gonna be my girl","jet",2004," goso one two three take my hand and come with me because you look so fine that i really wanna make you minei say you look so fine that i really wanna make you mineoh four five six cmon and get your kicks now you dont need that money when you look like that do ya honeybig black boots long blonde hair shes so sweet with her get back starewell i could see you home with me but you were with another man yeah i know we aint got much to say before i let you get away yeah i said are you gonna be my girlwell so one two three take my hand and come with me because you look so fine that i really wanna make you minei say you look so fine that i really wanna make you mineoh four five six cmon and get your kicks now you dont need that money with a face like that do yabig black boots long brown hair shes so sweet with her get back starewell i could see you home with me but you were with another man yeah i know we aint got much to say before i let you get away yeah i said are you gonna be my girloh yeah oh yeah cmon i could see you home with me but you were with another man yeah i know we aint got much to say before i let you get away yeah uh be my girl be my girl are you gonna be my girl yeah ",1
77,"100 years","five for fighting",2004," im fifteen for a moment caught in between ten and twenty and im just dreaming counting the ways to where you are im twenty two for a moment she feels better than ever and were on fire making our way back from mars fifteen theres still time for you time to buy and time to lose fifteen theres never a wish better than this when you only got hundred years to live im thirty three for a moment still the man but you see im of age a kid on the way a family on my mind im forty five for a moment the sea is high and im heading into a crisis chasing the years of my life fifteen theres still time for you time to buy time to lose yourself within a morning star fifteen im all right with you fifteen theres never a wish better than this when you only got hundred years to live half time goes by suddenly youre wise another blink of an eye sixty seven is gone the sun is getting high were moving on im ninety nine for a moment dying for just another moment and im just dreaming counting the ways to where you are fifteen theres still time for you twenty two i feel her too thirty three youre on your way every days a new day fifteen theres still time for you time to buy and time to choose hey fifteen theres never a wish better than this when you only got hundred years to live ",1
78,"step in the name of love","r kelly",2004," many lovers has come and many lovers have gone similar to an old fashion song a thousand years from now well be still putting it down my babyyou can change the frame but the picture remains the same similar to the sun after the rain a thousand years from now well be still putting it down my babybaby girl in other words for ever more ill be here ill be here cause my whole lifes been full of joy every since you came here girlmy whole world goes around because you spin me yeah spin me and every time were done making love girl you makes me wannasnap in the name of love snap in the name of love snap my fingers clap in the name of love clap in the name of love clap my hands yeah step in the name of love step in the name of love step from side to side groove in the name of love groove in the name of love groove and its alrightsome believes in love and some people dont similar to a story when its told a thousand years from now well be still putting it down my babysome have crossed the finish line and some gave up its like moving a mountain love can be just that tough yeah a thousand years from now well be still putting it down my babybaby girl in other words for ever more ill be here ill be here cause my whole lifes been full of joy every since you came here girlmy whole world goes around because you spin me yeah spin me and every time were done making love girl you makes me wannasnap in the name of love snap in the name of love snap my fingers clap in the name of love clap in the name of love clap both my hands step in the name of love step from side to side step in the name of love groove in the name of love groove in the name of love groove and its alrightsnap in the name of love woo snap in the name of love woo clap in the name of love clap my hands clap in the name of love oh step in the name of love step step step step in the name of love uhhuh you got it groove in the name of love groove in the name groove in the name of love of lovenow we gonna play a little game and this game is for all of those who know how to follow the rules to this game alright listen when i sing i want everybody out there to do what ever i sing alright come on here we gostep step side to side round and round dip it now separate bring it back let me see you do the love slidestep step side to side round and round dip it now separate bring it back let me see you do the love slidesee my whole my whole world goes around all because you spin me yeah spin me yeah and when were done making love baby hey i just wanna get to steppin go out on the town andsnap in the name of love snap snap in the name of love in the name of love clap in the name of love yeah baby clap in the name of love step in the name of love i wanna step woo step in the name of love in the name of love groove in the name of love groove in the name of lovelisten love brought us together so keep on steppin because loves gonna last foreverclap in the name of love lets step out hit the club d js rockin that song for us if anybody ask why were steppin tell them that we did it for lovededicated to uncle henry love thank you ",1
79,"breaking the habit","linkin park",2004," memories consume like opening the wounds im picking me apart again you all assume im safe here in my room unless i try to start again i dont want to be the one the battles always choose cause inside i realize that im the one confusedi dont know whats worth fighting for or why i have to scream i dont know why i instigate and say what i dont mean i dont know how i got this way i know its not alright so im breaking the habit im breaking the habit tonightclutching my cure i tightly lock the door i try to catch my breath again i hurt much more than any time before i have no options left again i dont want to be the one the battles always choose cause inside i realize that im the one confusedi dont know whats worth fighting for or why i have to scream i dont know why i instigate and say what i dont mean i dont know how i got this way ill never be alright so im breaking the habit im breaking the habit tonightill paint it on the walls cause im the one at fault ill never fight again and this is how it endsi dont know whats worth fighting for or why i have to scream but now i have some clarity to show you what i mean i dont know how i got this way ill never be alright so im breaking the habit im breaking the habit im breaking the habit tonight ",1
80,"gigolo","nick cannon featuring r kelly",2004," oh oh oh oh oh oh oh oh oh oh we in the club singing this for money haim a gigolo spending lots a dough you can tell the way widebody sitting on fours how im shining wit the fresh fresh clothes always surrounded by so many im a gigolo always on the go every time i turn around i got another show in the club hit about three in a row drop in the six cause i love themshorty i only got one night in town tell me baby where you down bushes we wont beat around bushes we just eat em now feeling yo masqueno blouse seven jean black and lebanese head to her knees please if you ever need a bachelor remember me just rock to the melody i got you in bed wit me i thought you would never leave you wanna name melike amerie know the chain freeze wrist be the same degrees tryna get lil mami in that thang of reese only getting in for free if you came wit mecause ima grown man not b2k if i need a girlfriend it wont be today no im not tryna be ya man pimp bones in my body rock them bodyhotty rock them like ladidadi me and kels on ducatis wanna see you drop it shawty oh tryna leave the club wit a groupieim a gigolo spending lots a dough you can tell the way widebody sitting on fours how im shining wit the fresh fresh clothes always surrounded by so many im a gigolo always on the go every time i turn around i got another show in the club hit about three in a row drop in the six cause i love themma im busy on tour ma you busy on the floor ma im feeling yo heels them christian diors im like david beckham keep a mean shoe game but like my favorite records keep spinning new thangs let my hair grow cause i was looking for a change shorty call me the scare crow im looking for some brain in the wiz there it go here it is where the show cause through yo dress i can see yo drawlsso shorty just shake it make a round of applause if you outta hypnotic nother round at the bar and when we parking lot pimping they surrounding the car no im not tryna be ya man pimp bones in my body rock them bodyhotty rock them like ladidadi me and kels on ducatis wanna see you drop it shawty oh weee tryna leave the club wit a groupie wit a groupieim a gigolo spending lots a dough you can tell the way widebody sitting on fours how im shining wit the fresh fresh clothes always surrounded by so many im a gigolo always on the go every time i turn around i got another show in the club hit about three in a row drop in the six cause i love themmami when we leave the club leave wit us you dont need ya car keys we gon fair in the bus and the way you wear ya jeans is means to cuss so damn how you get them on damn big secrets on her throwback chick hotter than ms vic damone this the type of im on not picking up the phone unless you unblock ya joint then put on ya coat know when to hit when nick get in the boothcome through in something new wit the invisible roof oh the settings on my necklace them invisible too when we do what we do we cant be visible boo the last thing i need is lawsuits all i did is call you initiated first move shorty that was all you im not tryna be ya man pimp bones in my body rock them bodyhotty rock them like ladidadi me and kels on ducatis wanna see you drop it shawty oh weeeim a gigolo spending lots a dough you can tell the way widebody sitting on fours how im shining wit the fresh fresh clothes always surrounded by so many im a gigolo always on the go every time i turn around i got another show in the club hit about three in a row drop in the six cause i love them ",1
81,"live like you were dying","tim mcgraw",2004," he said i was in my early forties with a lot of life before me when a moment came that stopped me on a dimei spent most of the next days looking at the xrays talking bout the options and talking bout sweet timei asked him when it sank in that this might really be the real end hows it hit cha when you get that kind of news man whatd ya do and he saidi went skydiving i went rocky mountain climbing i went two point seven seconds on a bull named fu man chu and i loved deeper and i spoke sweeter and i gave forgiveness id been denyinand he said someday i hope you get the chance to live like you were dyinhe said i was finally the husband that most the time i wasnt and i became a friend a friend would like to haveand all of a sudden goin fishin wasnt such an imposition and i went three times that year i lost my dad well i i finally read the good book and i took a good long hard look at what id do if i could do it all again and theni went skydiving i went rocky mountain climbing i went two point seven seconds on a bull named fu man chu and i loved deeper and i spoke sweeter and i gave forgiveness id been denyinand he said someday i hope you get the chance to live like you were dyinlike tomorrow was a gift and ya got eternity to think about what to do with it what did you do with it what did i do with it what would i do with itskydiving i went rocky mountain climbing i went two point seven seconds on a bull named fu man chu and i loved deeper and i spoke sweeter and i watched an eagle as it was flyinand he said someday i hope you get the chance to live like you were dyinto live like you were dyin to live like you were dyin to live like you were dyin to live like you were dyin ",1
82,"remember when","alan jackson",2004," remember when i was young and so were you and time stood still and love was all we knew you were the first so was i we made love and then you cried remember whenremember when we vowed the vows and walked the walk gave our hearts made the start it was hard we lived and learned life threw curves there was joy there was hurt remember whenremember when old ones died and new were born and life was changed disassembled rearranged we came together fell apart and broke each others hearts remember whenremember when the sound of little feet was the music we danced to week to week brought back the love we found trust vowed wed never give it up remember whenremember when thirty seemed so old now lookin back its just a steppin stone to where we are where weve been said wed do it all again remember whenremember when we said when we turned gray when the children grow up and move away we wont be sad well be glad for all the life weve had and well remember whenremember when remember when ",1
83,"everytime","britney spears",2004," notice me take my hand why are we strangers when our love is strong why carry on without meeverytime i try to fly i fall without my wings i feel so small i guess i need you baby and everytime i see you in my dreams i see your face its haunting me i guess i need you babyi makebelieve that you are here its the only way i see clear what have i done you seem to move on easyand everytime i try to fly i fall without my wings i feel so small i guess i need you baby and everytime i see you in my dreams i see your face your haunting me i guess i need you babyi may have made it rain please forgive me my weakness caused you pain and this songs my sorryat night i pray that soon your face will fade awayand everytime i try to fly i fall without my wings i feel so small i guess i need you baby and everytime i see you in my dreams i see your face your haunting me i guess i need you baby ",1
84,"southside","lloyd featuring ashanti",2004," tell ya daddy stop his hating cause i be wearing braids and rockin jerseys daily but that dont mean im thuggin no he dont want me with ya but i aint tryna hear it though not tryna hear it thoughbut i know that if he knew yeah he would understand yeah know that your my man and he would never hurt me no let me come and see you so that we can be alone alonebaby i know a place that we can go and be alone as long as you make sure that you safely get me home dont worry babymeet me at the southside get you home by midnite make sure that your daddy just dont know daddy just dont know i got you in the hood but i know what im doin cause thats why we be meeting on the low meeting on the lowmeet me at the southside baby we can go hide knowin that my boys goin have my back yeaheehyeah only at the southside girl southside eheeheh southsidegirl ill know that we can make it cause we wont let him break it i dont care whose wit it its you and me against the world tell me those three words that lets me know youre still my girl oh baby yeahoh i swear ill never leave you why give all i have to ya but by your side ill show ya the way a girl needs to roll you dont need a lot of money im ready come pick me up pick me up baby i know a place that we can go to be alone yeah long as you make sure that you safely get me home dont worry babymeet me at the southside get you home by midnight midnight make sure that your daddy just dont know oh nonono i got you in the hood but i know what im doin cause thats why we be meeting on the low meeting on the low ohmeet me at the southside baby we can go hide knowin that my boys goin have my back we can go hide babe only at the southside girl yeaheehyeah southside southside girl southside southsidebaby we can baby we can baby we can aright yeah baby yeah baby heh meet me at the southside girl ooh cause all i want to do is ride to the south wit you ooh atl georgia what do we do for yameet me at the southside you can come and meet me yeah get you home by midnight make sure that your daddy just dont know oh baby i got you in the hood but meet me at the southside yeah i know what im do cause thats why we be meeting on the low meet me at the southside yeahmeet me at the southside southside baby we can go hide knowin that my boys goin have my back only at the southside girl gotchu in tha hood got me in tha hood southside but its all good we goin chillatl georgia what do we do for ya bulldoggin like we georgetown hoyas can you pick me up tonight take me anywhere you like shorty lets ride in my cadillac cadillac tilt yo seat back and everythingll be coo yeah side girl yeah alright ooh so what you wan do we goin kick it tonight yeah oh only at the southside i know it that you aint used to this country boys but ill show ya show me aint nothin but a thang yeahyeahyeah chicken wings on strings baby baby baby thats how a boy hang only at the southside southside southside ",1
85,"dude","beenie man",2004," you want a proper fix call me you want to get your kicks call me you want your gs fixed call me me have the remix call me from the odda day its like a play some boy a play me hear the girls callin me hear the girls bawlin me hear the girls cryin out she seh beeniei want a dude with the wickedest slam i need a one two three holla man i want a dude who will tie me to the fan a thug that can handle his biz like a mani want a dude with the wickedest slam i need a one two three holla man i want a dude who will do me in his van a thug that can handle his biz like a mangal if you love holla at me one time holla at me if you want the wickedest wine i know its been awhile but baby never mind cause tonight tonight me a give you the whole nineyo satisfaction a every girl dream me love fi put it on when them wiggle and scream well me get a call from sexy maxine she left a message pon me answering machine she seh beeniei want a dude with the wickedest slam i need a one two three holla man i want a dude who will tie me to the fan a thug that can handle his biz like a mani want a dude with the wickedest slam i need a one two three holla man i want a dude who will do me in his van a thug that can handle his biz like a manshe wants a man fi put her in a trance a man who know fi turn her round and make she belly dance rude boy lovin with a little romance she want to get wild but she never had a chancewhen she she she never had it so deep so right now im the man she definitely wanna keep her exboyfriend use to come and drop asleep thats why when me pager start beep she seh beeniei want a dude with the wickedest slam i need a one two three holla man i want a dude who will tie me to the fan a thug that can handle his biz like a mani want a dude with the wickedest slam i need a one two three holla man i want a dude who will do me in his van a thug that can handle his biz like a manyou heard what she preferred she want a man where make she fly like a bird she want a real man she dont want nuh nerd she want you give her it good mark me wordim not a perv but me make she serve she want the rockula well until it curve her exboyfriend aint got the nerve have her a wait and she nah get served so she she saidi want a dude with the wickedest slam i need a one two three holla man i want a dude who will tie me to the fan a thug that can handle his biz like a mani want a dude with the wickedest slam i need a one two three holla man i want a dude who will do me in his van a thug that can handle his biz like a mangal if you love holla at me one time holla at me if you want the wickedest wine i know its been awhile but baby never mind cause tonight tonight me a give you the whole nineyo satisfaction a every girl dream me love fi put it on when them wiggle and scream well me get a call from sexy maxine she left a message pon me answering machine she seh beeniei want a dude with the wickedest slam i need a one two three holla man i want a dude who will tie me to the fan a thug that can handle his biz like a mani want a dude with the wickedest slam i need a one two three holla man i want a dude who will do me in his van a thug that can handle his biz like a manshe want a man fi put her in a trance a man who know fi tun her round and make she belly dance rude boy lovin with a little romance she want to get wild but she never had a chancewhen she she she never had it so deep so right now im the man she definitely wanna keep her exboyfriend use to come and drop asleep thats why when me pager start beep she seh beeniei want a dude with the wickedest slam i need a one two three holla man i want a dude who will tie me to the fan a thug that can handle his biz like a mani want a dude with the wickedest slam i need a one two three holla man i want a dude who will do me in his van a thug that can handle his biz like a man ",1
86,"wanna get to know you","gunit featuring joe",2004," i wanna get to know you i really wanna fuck you baby one dose of your lovin i really wanna to drive you crazyi wanna be your lover i wanna get to know you baby one dose of your lovin im simply going to drive you  crazyim lovin how you look in my eyes swingin them hips when you pass im visualizin my name tattooed on that ass baby jump on this harley lets go smoke some of that bob marley sip some bacardi then go pull up at the after party i think we make a perfect couple but you think im trouble maybe thats the reason you gave me the wrong number she got me feelin like maybe she the wrong woman think ima be chasin the chicken head you on somethin your toes painted half fixed all the time and your gucci boots the same color as mine if you read between the lines you can see that i want you i betcha i have you doin what you said that you wont do make the decision shorty good things dont last long your girlfriend keep showin me that thong before i head home ima stop at your house and blow the horn if you come outside you know its on holla at yo boyi wanna get to know you i really wanna fuck you baby one dose of your lovin i really wanna to drive you crazyi wanna be your lover i wanna get to know you baby one dose of your lovin im simply going to drive you crazybitches be frustrated with the baller wonder why i dont call her maybe because im busy and she needs someone to spoil her it gets annoyin from time to time i gotta ignore her in order to let her know well be friends and nothing more she loves it when im in town hate it when im not around i get her and wear her down next door neighbors hear the sound pictures hittin the ground just enough to hold us down im stickin n moving cruisin after the third round just lay back baby and let me drive you crazy i can make a forty year old feel like a young lady i admit i fell in love with her frame and to make her feel special i let her call me by my governor name her panties wet over fame fall in love with my chain i wonder if i wasnt an entertainer would she remain surrounding me hounding me trying to be my only im not your boyfriend im your homiei wanna get to know you i really wanna fuck you baby one dose of your lovin i really wanna to drive you  crazyi wanna be your lover i wanna get to know you baby one dose of your lovin im simply going to drive you  crazyyeah now what would fuck me up more watchin her lick her lips or watchin her walk she hypnotize me with her hips man i sweet talk her if she like cause all she really want is a nigga to treat her right right look im legit now used to break laws now you can reap the benefits of world tours big house big benz girl its yours mink coats italian shoes stones with no flaws you aint go to look like a model for me to adore you all you gotta do is love me and be loyal dont indulge in my past fuck what happened before you cause there be some honeys gonna hate you that never saw you come here let my touch on you i let you touch on me put my tongue on you you put your tongue on me let me ride on you and you can ride on we can do it all the night we can have a balla nighti wanna get to know you i really wanna fuck you baby one dose of your lovin i really wanna to drive you  crazyi wanna be your lover i wanna get to know you baby one dose of your lovin im simply going to drive you  crazyi wanna get to know you i really wanna fuck you baby one dose of your lovin i really wanna to drive you  crazyi wanna be your lover i wanna get to know you baby one dose of your lovin im simply going to drive you  crazyi wanna be your lover i will understand you baby i wanna be your lover i will understand you baby ",1
87,"holidae in","chingy featuring ludacris and snoop dogg",2004," bomb ass pussy bomb oh you got that bomb know you got it bomb oh you got some bombass pussy bomb i know you got that bomb bomb pussychorus x 2 what you doin nothing chillin at the holiday inn who you wit me and my peeps wont you bring four of your friends what we gon do feel on each other and sip on some hen one thing leading to another let the party beginchingy peeps call me up said its a hotel party just bring the liquor theres already eight shawties im on my way way let me stop by the store get a twelve pack of corona plus a ounce of dro ya know now im on highway 27 need a natural graze road im already blowed hit third im a be be blowed some mo pulled up stop parked rims still spinning valet lookin like he in the game and must be winning to room fournineo im headed on my way up theres three girls on the elevator like wassup i told em follow me they knew i had it cracking b one said aint you that boy that be on bet yeah thats me chingaling equipped wit much dingaling knock on the door im on the scene of things busted in henny bottle to the face fuck it then feel like my head a toxic waste theres some pretty girls in here i heard em whispering talking bout thats that dude that sing right thurr he glistening i aint come to talk talk i aint come to sit sit what i came for was to find out who im gon hit aww shitchorus x 2chingy ma showed up like whats the hold up man know what get them wraps and roll up i took a chick in the bathroom seeing whats poppin you know whats on my mind shirts off and panties dropping niggas knocking on the door drunk actin silly the girl said can i be in yo video im like yeah oh really now she naked strip teasing me im just cheesing she gave me a reason to be a damn heathen handled that told ol g bring the camera then i thought about no footage while i ram her walked out the bathroom smiling cats still whiling sharing the next room wit some girls lookin like they from an islandchorus x 2ludacris stop drop kaboom baby rub on ya nipples some call me ludacris some call me mr wiggles far from little make ya mammary glands giggle got em under control the bowl of tender vittles doctor giggles i cant stop until it tickles just play a little d and ill make ya mouth dribble bits and kibbles got em all after the pickle i swing it like a bat but these balls are not whiffle hit em in triples wit no strikes stripes or whistles i aint felt this good since my wood lived off a thistle sippin some ripple i got quarters dimes and nickels for shizzle dizzle im on a track with the big snoop dizzle let the henny trickle down the beat wit a ghetto tempo i done blazed the instrumental laid it plain and simple getting brain in the rental i done did it again my eyes chinky im wit chingy at the holiday innchorus x 2snoop dogg yeah let the party begin bitch chingalingling all the way in st louis my nigga chingy disturbing tha peace luda luda going hard on you hos yeah bitch bring four of ya friends meet me at the holiday inn bring a gang of that hen some dsop oh wee and light that sticky icky and we gon do the damn thing know what im talking bout we gon disturb the peace right now yeah we aint doing nothing but chillin we chillin and nuttin know what im talking bout so push the button you know whats happenin fa shizzle uhhuh yeah bitch trying to run from this pimpin you cant out run the pimpin bitch i done told you ",1
88,"lets get it started","the black eyed peas",2004," and the bass keeps runnin runnin and runnin runnin and runnin runnin and runnin runnin and runnin runnin and runnin runnin and runnin runnin and runnin runnin andin this context theres no disrespect so when i bust my rhyme you break yo necks we got 5 minutes for this to disconnect from all intellect and let the rhythm effectapt to lose this inhibition follow your intuition free your inner soul and break away from traditioncause when we be out girl its gonna be that you wouldnt believe how wow shit out burnin till its burned out turn it till its turned out act up from north west east southeverybody yeah everybody yeah lets get into it yeah get stupid come onget started come onget started yeah get startedlets get started in hah lets get started in here lets get started in hah lets get started in here lets get started in hah lets get started in here lets get started in hah lets get started in herelose control all body all soul dont move to fast people just take it slow dont get ahead just jump into it yall hit a body the peasll do itget started get stupid dont worry bout it people well walk you through it step by step like if youre in for new kid inch by inch with the new solution transmit hits with no delusion the feelings irresistible and thats how we move itcmoneverybody yeah everybody yeah lets get into it yeah get stupid come onget started come onget started yeah get startedlets get started in hah lets get started in here lets get started in hah lets get started in here lets get started in hah lets get started in here lets get started in hah lets get started in hereyeah runnin runnin and runnin runnincmon yall lets get cuckoo uh huh lets get cuckoo in here right now get cuckoo uh huh lets get cuckoo in here right now get cuckoo uh huh lets get cuckoo in hereo o o ya ya ya ya ya ya ya ya ya ya ya ya ya ya ya ya ya yalets get ill thats the deal apt the gade and well bring the butt doc drill just lose your mind this is the time yall guessed this drill just to bang your spinejust bob that head like epilepsy up inside your club or in your bentley get messy ah this sick yall mind faster than another head trip so come now yall dont correct it lets get ignant lets get happyyeah everybody yeah everybody yeah lets get into yeah and get stoopid come on get started come on get started get startedlets get started in hah lets get started in here lets get started in hah lets get started in here lets get started in hah lets get started in here lets get started in hah lets get started in herelets get cuckoo uh huh we cuckoo in here lets get cuckoo uh huh we cuckoo in here we cuckoo uh huh we cuckoo in hereoh oh oh lets ya ya ya ya ya ya ya ya ya ya ya ya ya ya ya ya and runnin runnin and runnin runnin ",1
89,"when the sun goes down","kenny chesney featuring uncle kracker",2004," suntanned toes ticklin the sand cold drink chillin in my right handwatchin you sleep in the evenin light restin up for a long long nightcuz when the sun goes down well be groovin when the sun goes down be feelin alright when the sun sinks down over the water everything gets hotter when the sun goes down yeahall day long just takin it easy layin in a hammock where its nice and breezy and sleepin off the night before cuz when the sun goes down well be back for morewhen the sun goes down well be groovin when the sun goes down well be feelin alright when the sun sinks down over the water everything gets hotter when the sun goes downthis old guitar and my dark sunglasses this sweet concoction is smooth as molasses nothing to do but breathe all day until the big moon rises and its time to playwhen the sun goes down well be groovin when the sun goes down well be feelin alright when the sun sinks down over the water sun sinks down everything gets hotter when the sun goes down when the sun goes downwhen the sun goes down well be groovin when the sun goes down well be feelin alright when the sun sinks down over the water everything gets hotter when the sun goes down yeahwhen the sun goes down well be groovin when the sun goes down well be feelin alright when the sun sinks down over the water everything gets hotter when the sun goes downwhen the sun goes down well be groovin when the sun goes down well be feelin alright when the sun sinks down over the water she thinks crackers sexy when the sun goes downumm umm umm well be feelin alright when the sun sinks down over the water uncle kennys hotter when the sun goes down when the sun goes down well be groovin when the sun goes down hey uncle kenny when the sun goes down over the water everything is hotter when the sun goes down when the sun ",1
90,"american soldier","toby keith",2004," im just trying to be a father raise a daughter and a son be a lover to their mother everything to everyone up and at em bright and early im all business in my suit yeah im dressed up for success from my head down to my bootsi dont do it for the money theres bills that i cant pay i dont do it for the glory i just do it anyway providing for our futures my responsibility yeah im real good under pressure being all that i can beand i cant call in sick on mondays when the weekends been too strong i just work straight through the holidays and sometimes all night long you can bet that i stand ready when the wolf growls at the door hey im solid hey im steady hey im true down to the coreand i will always do my duty no matter what the price ive counted up the cost i know the sacrifice oh and i dont want to die for you but if dyins asked of me ill bear that cross with honor cause freedom dont come freeim an american soldier an american beside my brothers and my sisters i will proudly take a stand when libertys in jeopardy i will always do whats right im out here on the front line sleep in peace tonight american soldier im an american soldieryeah an american soldier an american beside my brothers and my sisters i will proudly take a stand when libertys in jeopardy i will always do whats right im out here on the front line so sleep in peace tonight american soldier im an american an american an american soldier ",1
91,"change clothes","jayz",2004," yeah ma your dude is back made back roof is back tell the whole world the truth is back you aint got to argue about who could rap cause the proof is back just go through my rap new york new york yeah where my troopers at where my hustlers where my boosters at i dont care what you do for stacks i know the world glued you back to the wall you gotta brawl to that i been through that been shot at shoot back gotta keep it peace like a buddhist i aint a new jack nobody goin wesley snipe me its less than likely move back let i breathe jedi knight the more space i get the better i write oh never i write but if ever i write i need the space to say whatever i like now justchange clothes and go you know i stay fresh to death i brought you from the projects and im a take you to the top of the globe so lets go change numbers and go uh huh yeah uh now girl i promise you no substitute its just meand i goin tell you again lets get ghost in the phantom you could bring your friend we could make this a tandem you could come by yourself and you could stand him best believe i sweat out weaves give afro puffs like rage you get if you could move it back it on up like a you haul truck then run and tell them thugs you heard hov knew he and the boy for real make beautiful music he is to the east coast what snoop is to the west coast what face is to houston young hov in the house its so necessary no bra with the blouse its so necessary no panties and jeans thats so necessary now why you fronting on me is that necessary do i to you look like a lame who dont understand a bra with a mean shoe game whose up on dot dot dot and vera wang ma are you insane lets just what you want me to dochange clothes and go you know i stay fresh to death i brought you from the projects and im a take you to the top of the globe so lets go change numbers and go uh huh yeah uh now girl i promise you no substitute its just meuh uh sexy sexy woo uh huh sexy sexy its so necessary right uh huh woo sexy sexy thats right its a groove uh huh its a groove sexy sexy bring it backyoung hov in the house its so necessary no bra with that blouse its so necessary no panties and jeans its so necessary why you fronting on me lets go to my hotel cause this dont go well with those s dots gotta to stay fresh ma ma i dont shop what the rest by oh no ma please respect ma jiggy this is probably purple label or that bbc or its probably tailored but yall niggas acting way to tough throw on a suit get it tapered up and lets justchange clothes and go you know i stay fresh to death i brought you from the projects and im a take you to the top of the globe so lets go change numbers and go uh huh yeah uh now girl i promise you no substitute its just meuh uh sexy sexy sing along yeah uh sexy sexy turn your radio up woo sexy sexy put your hands in the air if your in the car uh snap your fingers now sexy sexy woo uh uh uh your boy is back uh huh uh uh uh the bounce is back uh uh woo uh hov is back peace ",1
92,"dont tell me","avril lavigne",2004," you held my hand and walked me homei know while you gave me that kiss you were something like this it made me go ooh ooh you wiped my tears got rid of all my fears why did you have to go guess it wasnt enough to take up some of my love guys are so hard to trustdid i not tell you that im not like that girl the one who gives it all awaydid you think that i was gonna give it up to you this time did you think that it was somethin i was gonna doand cry dont try to tell me what to do dont try to tell me what to say youre better off that waydont think that your charm and the fact that your arm is now around my neck will get you in my pants ill have to kick your ass and make you never forget im gonna ask you to stop thought i liked you a lot but im really upset really upset get outta my head get off of my bed yeah thats what i saiddid i not tell you that im not like that girl the one who throws it all awaydid you think that i was gonna give it up to you this time did you think that it was somethin i was gonna do and cry dont try to tell me what to do dont try to tell me what to say youre better off that waythis guilt trip that you put me on wont mess me up ive done no wrong any thoughts of you and me have gone awaydid you think that i was gonna give it up to you this time did you think that it was somethin i was gonna do and cry dont try to tell me what to do dont try to tell me what to say youre better off that waybetter off that way im better off alone anyway ",1
93,"youll think of me","keith urban",2004," i woke up early this morning around four am with the moon shining bright as headlights on the interstate i pulled the covers over my head and tried to catch some sleep but thoughts of us kept keeping me awake ever since you found yourself in someone elses arms ive been tryin my best to get along but thats okay theres nothing left to say buttake your records take your freedom take your memories i dont need em take your space and take your reasons but youll think of me and take your cap and leave my sweater cause we have nothing left to weather in fact ill feel a whole lot better but youll think of me youll think of mei went out driving trying to clear my head i tried to sweep out all the ruins that my emotions left i guess im feeling just a little tired of this and all the baggage that seems to still exist it seems the only blessing i have left to my name is not knowing what we could have been what we should have been sotake your records take your freedom take your memories i dont need em take your space and take your reasons but youll think of me and take your cap and leave my sweater cause we have nothing left to weather in fact ill feel a whole lot better but youll think of mesomeday im gonna run across your mind dont worry ill be fine im gonna be alright while youre sleeping with your pride wishin i could hold you tight ill be over you and on with my lifeso take your records take your freedom take your memories i dont need em and take your cap and leave my sweater cause we have nothing left to weather in fact ill feel a whole lot better but youll think of meso take your records take your freedom take your memories i dont need em take your space and all your reasons but youll think of me and take your cap and leave my sweater cause we got nothing left to weather in fact ill feel a whole lot better but youll think of me youll think of me yeahand youre gonna think of me oh someday baby someday ",1
94,"happy people","r kelly",2004," ladies and gentlemen this here is another one for the steppers dj wayne williams put the record onwhoa oh whoa oh whoa oh whoa yeah whoa yeah whoa oh whoa oh whoa oh whoa yeah whoa whoatell me what do we do when the djs playing our favorite groove we step to when the whole night through and what do we do when were all dressed up and in the mood we step to what a steppers groove where do we go soon as the weekend gets here the club why to party and have some fun what is it that can come and take away all your stress tell me music no further questions you have passed my testhappy people yeah yeah yeah yeah keep the world turning turning oh i believe that happy people yeah yeah yeah yeah keep us all dancing dancing dancing happy people yeah yeah yeah yeah keep us all stepping keep us stepping stepping happy people yeah yeah yeah yeah keeps the music grooving groovingtell me now what do you do when a feeling has come over you you let go and what let it take control let it what do you say when a gentleman asks you to dance you say yes and then get on the dance floor even when it seems were goin through some hard times what do we do keep smiling cause we know were gonna make it through now what is it that can come and take away all your stress tell me music no further questions you have passed my testhappy people yeah yeah yeah yeah keep the world turning turning oh i believe that happy people yeah yeah yeah yeah keep us all dancing dancing dancing happy people yeah yeah yeah yeah keep us all stepping keep us stepping stepping happy people yeah yeah yeah yeah keeps the music grooving groovingi just want to get dressed and go out yeah i wanna get dressed i wanna go out can you tell me where the spot is well were partying all night and everybody is having a good time i wanna get nice i wanna get live can you tell me where the spot is come on and take me to that place where there aint nothing but happy happy happy happyhappy people yeah yeah yeah yeah they keep the world turning turning turning im talking about happy people yeah yeah yeah yeah they keep the world dancing dancing dancing happy people yeah yeah yeah yeah keep the world stepping stepping stepping nothing but happy people yeah yeah yeah yeah keeps the world grooving groovinguh uh uh alright uh huh now if you want to step you gotta play it by the rules you gotta do what i do when i do what i do if you want to step you gotta play it by the rules you gotta do what i do when i do what i do nowstep to the left step to the right spin around and bring it down tonight bring it on up move in close let me see you and your partner strollstep to the left step to the right spin around and bring it down tonight bring it on up move in close let me see you and your partner strollstep to the left step to the right spin around and bring it down tonight bring it on up move in close let me see you and your partner strollbreak it down yall break it down all the way to the ground happy people baby happy people happy people baby happy peoplenow bring it up bring it up until youre all standing up happy people baby happy people happy people baby happy peoplewayne williams keep the groove right there baby we gon have some fun chocolate factory my people now we all know no matter how much i sing about happy people and love and all of those good things theres still gonna be somebody out there with attitude right right but thats ok because this album we gon change things with this album baby because i know in my heart that theres way more people out there lovin than it is hatin aint that right huh well this is what we gon do i want all of the people out there with love in they hearts thats positive that feels real good about themselves loves themselves i want yall to repeat after me and maybe those few haters theyll tag along aight yall ready come on one two threenow first of all love god love god love myself love myself love on another love one another no matter what the color no matter what the color respect that woman respect that woman respect that man respect that man you see a person down you see a person down then give them a hand then give them a hand hit the health club hit the health club every now and then every now and then put a smile on your face put a smile on your face and make a friend and make a friend stop that hatin stop that hatin and negativity and negativity love your neighbor love your neighbor said the powers that be said the powers that be you goin through something you goin through something dont take it out one me dont take it out on me just ask god to fix it just ask god to fix it now be happy now be happy ",1
95,"hey mama","the black eyed peas",2004," la la la la la hey mama its that shit that makes you move mama get on the floor and move your booty mama we the blast masters blastin up the jamma rewind cutie cutie make sure you move your booty shake that thing like we in the city of sin and hey shorty i know you wanna party the way your body look really make me feel naughty cutie cutie make sure you move your booty shake that thing like we in the city of sin and hey shorty i know you wanna party the way your body look really make me feel naughtyi got a naughty naughty style and a naughty naughty crew but everything i do i do just for you im a little bit of or and a bigger bit of nu the true niggers know that the peas come through we never ceaseno we never die no we never diseaseno we multiply like we mathematics then we drop bombs like we in the middle east the bomb bombas the base move dramas naw yall knaw who we are yall knaw we the stars steady rockin on yalls boulevards and lookin hot without body guards i do what i can yall come through william and still i stand with still mic in hand so come on mama dance to the drumahey mama this that sht that make you groove mama heyget on the floor and move your booty mama yawwe the blast mastas blastin up the jamma heyso shake your bambama come on now mama hey mama this that shit that make you groove mama heyget on the floor and move your booty mama yawwe the blast mastas blastin up the jamma la la la la lawe the big town stumpas and and big sound pumpas the beat bump bumpas in your trunk trunkas the girlies in the club with the big plump plumpas and when im makin love my hip hump humps it never quitsno we need to carry 9mm clipsno dont wanna squize trigger just wanna squeeze tits lubalubacause we the show stoppas and the chief rockas number one chief rockas naw yall knaw who we are yall knaw we the stars steady rockin on yalls boulevards how we rockin it girl without body guards now she be fergie from the crew bep come and take heed as we take the lead so come on bubba dance to the drumahey mama this that shit that make you groove mama yawget on the floor and move your booty mama wuhwe the blast mastas blastin up the jamma naw naw cutie cutie make sure you move your booty shake that thing like we in the city of sin and hey shorty i know you wanna party the way your body look really make me feel naughtybut the race is not for the swiss but who really can take control of it and tippa irie and the black eyed peas will be there til infiniti til infiniti til infiniti til infiniti tippa is ouuuuuutnosa dima shock nosa dima ting every time you sit there i hear bling bling o wata ting hear blacka sing grinding and winding and the madda be moving in a perfect timing and we dance and dance to the end of the thing and were really to nice it finga akin like rice and peas and chicken and blinghey mama this that sht that make you groove mama heyget on the floor and move your booty mama yawwe the blast mastas blastin up the jamma heyso shake your bambama come on now mama hey mama this that shit that make you groove mama heyget on the floor and move your booty mama yawwe the blast mastas blastin up the jamma la la la la la ",1
96,"over and over","nelly featuring tim mcgraw",2004," cause its all in my head i think about it over and over again and i cant keep picturing you with him and it hurts so bad yeah cause its all in my head i think about it over and over again i replay it over and over again and i cant take it yeahi cant shake it noi cant wait to see you want to see if you still got that look in your eye that one you had for me before we said our goodbyes and its a shame that we gotta spend our time being mad about the same things over and over again about the same thing over and over againoh but i think shes leaving on and shes leaving here and i dont know what else to do cant go on not loving youcause its all in my head i think about it over and over again and i cant keep picturing you with him and it hurts so bad yeah cause its all in my head i think about it over and over again i replay it over and over again and i cant take it i cant shake it noi remember the day you left i remember the last breath you took right in front of me when you said that you would leave i was too damn stubborn to try to stop you or say anything but i see clearly now and this choice i made keeps playing in my head over and over again it play in my head over and over againoh but i think shes leaving on and shes leaving here and i dont know what else to do cant go on not loving youcause its all in my head i think about it over and over again and i cant keep picturing you with him and it hurts so bad yeah cause its all in my head i think about it over and over again i replay it over and over again and i cant take it i cant shake it nonow that i realize that im going down from all this pain you put me through every time i close my eyes i lock it down oh i cant go on not loving youcause its all in my head i think about it over and over again and i cant keep picturing you with him and it hurts so bad yeah cause its all in my head i think about it over and over again i replay it over and over again and i cant take it i cant shake it nocause its all in my head i think about it over and over again and i cant keep picturing you with him and it hurts so bad yeah cause its all in my head i think about it over and over again i replay it over and over again and i cant take it i cant shake it no ",1
97,"redneck woman","gretchen wilson",2004," well i aint never been barbie doll type no i cant swig that sweet champagne id rather drink beer all night in a tavern or in a honky tonk or on a fourwheel drive tailgate ive got posters on my wall of skynyrd kid and straitsome people look down on me but i dont give a rip ill stand barefooted in my own front yard with a baby on my hipcause im a redneck woman i aint no high class broad im just a product of my raising i say hey yall and yeehaw and i keep my christmas lights on on my front porch all year long and i know all the words to every charlie daniels song so heres to all my sisters out there keeping it country let me get a big hell yeah from the redneck girls like me hell yeahvictorias secret well their stuffs real nice oh but i can buy the same damn thing on a walmart shelf half price still look sexy just as sexy as those models on tv no i dont need no designer tag to make my man want mewell you might think im trashy a little too hardcore but in my neck of the woods im just the girl next doorhey im a redneck woman i aint no high class broad im just a product of my raising i say hey yall and yeehaw and i keep my christmas lights on on my front porch all year long and i know all the words to every tanya tucker song so heres to all my sisters out there keeping it country let me get a big hell yeah from the redneck girls like me hell yeahim a redneck woman i aint no high class broad im just a product of my raising i say hey yall and yeehaw and i keep my christmas lights on on my front porch all year long and i know all the words to every ol bocephus song so heres to all my sisters out there keeping it country let me get a big hell yeah from the redneck girls like me hell yeah hell yeah i said hell yeah ",1
98,"just lose it","eminem",2004," okay guess whos back back again shadys back tell a friend now everyone report to the dance floor to the dance floor to the dance floor now everyone report to the dance floor alright stop pajama timecome here little kiddies on my lap guess whos back with a brand new rap and i dont mean rap as in a new case of child molestation accusates ah ah ah ah ah no worries papas got a new bag of toys what else could i possibly do to make noise ive done touched on everything but little boysnow thats not a stab at michael thats just a metaphor im just psycho i go a little bit crazy sometimes i get a little bit out of control with my rhymes good god dip do a little slide bend down touch your toes and just glide to the center of the dance floor like tp for my bung hole and its cool if you let one gonobodys gonna know whod hear it give a little poot poot its okay oops my cd just skipped and everyone just heard you let one ripnow im gonna make you dance its your chance yeah boy shake that thang whoops i mean girl girl girl girl girl you know youre my world alright now lose it ah ah ah ah ah just lose it ah ah ah ah ah go crazy ah ah ah ah ah oh baby ah ah oh baby ah ahits friday and its my day used to party all the way to sunday maybe til monday i dont know what day everydays just a holiday cruisin on the freeway feelin kind of breezy let the top down and my hair blow i dont know where im goin all i know is when i get there someones gonna touch my bodyexcuse me miss i dont mean to sound like a jerk but im feelin just a little stressed out from work would you punch me in the stomach and pull my hair spit on me maybe gouge my eyes out yeah now whats ya name girl whats ya sign man you must be up out yo mind dre ah ah beer goggles blind im just tryin to unwind now imnow im gonna make you dance its your chance yeah boy shake that ass whoops i mean girl girl girl girl girl you know youre my world alright now lose it ah ah ah ah ah just lose it ah ah ah ah ah go crazy ah ah ah ah ah oh baby ah ah oh baby ah ahits tuesday and im locked up im in jail and i dont know what happened they say i was runnin butt naked down the street screamin ah ah ah ah well im sorry i dont remember all i know is this much im not guilty they said save it boy we got you on tape yellin at an old lady touch my bodynow this is the part where the rap breaks down its real intense no one makes a sound everything looks like its 8 mile now the beat comes back and everybody lose themselves now snap back to reality look its b rabbit oh you signed me up to battle im a grown man tubba tubba tubba tubba tubba tubba tubba i dont have any lines to go right here so tubbatellytubby fellas what fellas what grab your left nut make your right one jealous what black girls white girls skinny girls fat girls tall girls small girls im callin all girls everyone report to the dance floor its your chance for a little romance or butt squeezin its the season just go ah ah ah ah its so appeasinnow im gonna make you dance its your chance yeah boy shake that ass whoops i mean girl girl girl girl girl you know youre my world alright now lose it ah ah ah ah ah just lose it ah ah ah ah ah go crazy ah ah ah ah ah oh baby ah ah oh baby baby ah ahtouch my body touch my body oh boy just touch my body i mean girl just touch my body ",1
99,"letters from home","john michael montgomery",2004," my dearest son its almost june i hope this letter catches up to you and finds you well its been dry but theyre calling for rain and every things the same old same in johnson ville your stubborn old daddy aint said too much but im sure you know he sends his love and she goes on in a letter from homei hold it up and show my buddies like we aint scared and our boots aint muddy and they all laugh like theres something funny about the way i talk when i say mama sends her best yall i fold it up and put it in my shirt pick up my gun and get back to work and it keeps me driving me on waiting on letters from homemy dearest love its almost dawn ive been lying here all night long wondering where you might be i saw your mama and i showed her the ring man on the television said something so i couldnt sleep but ill be all right im just missing you and this is me kissing you xs and os in a letter from homei hold it up and show my buddies like we aint scared and our boots aint muddy and they all laugh cause she calls me honey but they take it hard cause i dont read the good parts i fold it up and put it in my shirt pick up my gun and get back to work and it keeps me driving on waiting on letters from homedear son i know i aint written sitting here tonight alone in the kitchen it occurs to me i might not have said so ill say it now son you make me proudi hold it up and show my buddies like we aint scared and our boots aint muddy but no one laughs cause there aint nothing funny when a soldier cries and i just wipe me eyes i fold it up and put it in my shirt pick up my gun and get back to work and it keeps me driving me on waiting on letters from home ",1
100,"i go back","kenny chesney",2004," jack and diane painted a picture of my life and my dreams suddenly this crazy world made more sense to me well i heard it today and i couldnt help but sing along cause every time i hear that songan i go back to a two toned short bed chevy drivin my first love out to the levy livin life with no sense of time an i go back to the feel of a fifty yard line a blanket a girl some raspberry wine wishin time would stop right in its tracksevery time i hear that song i go back i go backi used to rock all night long to keep on rockin me baby frat parties college bars just tryin to impress the ladies well i heard it today and i couldnt help but sing along cause every time i hear that songan i go back to the smell of an old gym floor the taste of salt on the carolina shore after graduation and drinkin goodbye to friends and i go back to watchin summer fade to fall growin up too fast and i do recall wishin time would stop right in its tracksevery time i hear that song i go back i go backwe all have a song that somehow stamped our lives takes us to another place and timeso i go back to a pew preacher and a choir singin bout god brimstone and fire and the smell of sunday chicken after church and i go back to the loss of a real good friend and the sixteen summers i shared with him now only the good die young stops me in my tracksevery time i hear that song i go back i go backto the feel of a fifty yard line a blanket a girl some raspberry wine i go back i go backto watchin summer fade to fall growin up too fast and i do recall i go back i go backto the loss of a real good friend and the sixteen summers i shared with him i go back i go backi go back i go back ",1
1,"we belong together","mariah carey",2005," ooh ooh sweet love yeahi didnt mean it when i said i didnt love you so i should have held on tight i never shoulda let you go i didnt know nothing i was stupid i was foolish i was lying to myself i could not fathom that i would ever be without your love never imagined id be sitting here beside myself cause i didnt know you cause i didnt know me but i thought i knew everything i never feltthe feeling that im feeling now that i dont hear your voice or have your touch and kiss your lips cause i dont have a choice oh what i wouldnt give to have you lying by my side right here cause baby we belong together    meaning  byamandah   editor    talking with live nation tv mariah revealed the bobby womack lyric sample almost never came to be due to the cost they went with it anyways and now we    see all   when you left i lost a part of me its still so hard to believe come back baby please cause we belong togetherwho else am i gon lean on when times get rough whos gonna talk to me on the phone till the sun comes up whos gonna take your place there aint nobody better oh baby baby we belong togetheri cant sleep at night when you are on my mind bobby womacks on the radio saying to me if you think youre lonely now wait a minute this is too deep too deep i gotta change the station so i turn the dial trying to catch a break and then i hear babyface i only think of you and its breaking my heart im trying to keep it together but im falling apartim feeling all out of my element im throwing things crying trying to figure out where the hell i went wrong the pain reflected in this song it aint even half of what im feeling inside i need you need you back in my life babywhen you left i lost a part of me its still so hard to believe come back baby please cause we belong togetherwho else am i gon lean on when times get rough whos gonna talk to me on the phone till the sun comes up whos gonna take your place there aint nobody better oh baby baby we belong together babywhen you left i lost a part of me its still so hard to believe come back baby please cause we belong togetherwho am i gonna lean on when times get rough whos gonna talk to me till the sun comes up whos gonna take your place there aint nobody better oh baby baby we belong together ",1
2,"hollaback girl","gwen stefani",2005," ooh this my shit all the girls stamp your feet like thisfew times ive been around that track so its not just gonna happen like that cause i aint no hollaback girl i aint no hollaback girlfew times ive been around that track so its not just gonna happen like that cause i aint no hollaback girl i aint no hollaback girlthis my shit this my shit this my shit this my shit this my shit this my shit this my shit this my shiti heard that you were talking shit and you didnt think that i would hear it people hear you talking like that getting everybody fired up so im ready to attack gonna lead the pack gonna get a touchdown gonna take you out thats right put your pompoms down getting everybody fired upfew times ive been around that track so its not just gonna happen like that cause i aint no hollaback girl i aint no hollaback girlfew times ive been around that track so its not just gonna happen like that cause i aint no hollaback girl i aint no hollaback girlthis my shit this my shit this my shit this my shit this my shit this my shit this my shit this my shitso thats right dude meet me at the bleachers no principals no studentteachers both of us wanna be the winner but there can only be one so im gonna fight gonna give it my all gonna make you fall gonna sock it to ya thats right im the last one standing and another one bites the dustfew times ive been around that track so its not just gonna happen like that cause i aint no hollaback girl i aint no hollaback girlfew times ive been around that track so its not just gonna happen like that cause i aint no hollaback girl i aint no hollaback girlthis my shit this my shit this my shit this my shit this my shit this my shit this my shit this my shitlet me hear you say this shit is bananas bananas this shit is bananas bananas again this shit is bananas bananas this shit is bananas bananasfew times ive been around that track so its not just gonna happen like that cause i aint no hollaback girl i aint no hollaback girlfew times ive been around that track so its not just gonna happen like that cause i aint no hollaback girl i aint no hollaback girlthis my shit this my shit this my shit this my shit this my shit this my shit this my shit this my shit ",1
3,"let me love you","mario",2005," mm mm yeah mm yeah yeah yeah mm uh yeah mm yeah yeahbaby i just dont get it do you enjoy being hurt i know you smelled the perfume the makeup on his shirt you dont believe his stories you know that theyre all lies bad as you are you stick around and i just dont know whyif i was ya man baby youd never worry bout what i do id be coming home back to you every night doin you right youre the type of woman deserves good things fist full of diamonds hand full of rings baby youre a star i just want to show you you areyou should let me love you let me be the one to give you everything you want and need baby good love and protection make me your selection show you the way loves supposed to be baby you should let me love you love you love you love you yeahlisten your true beautys description looks so good that it hurts youre a dime plus ninetynine and its a shame dont even know what youre worth everywhere you go they stop and stare cause youre bad and it shows from your head to your toes out of control baby you knowif i was ya man baby youd never worry bout what i do id be coming home back to you every night doin you right youre the type of woman deserves good things fist full of diamonds a hand full of rings baby youre a star i just want to show you you areyou should let me love you let me be the one to give you everything you want and need ooh baby good love and protection make me your selection show you the way loves supposed to be baby you should let meyou deserve better girl you know you deserve better we should be together girl baby with me and you its whatever girl hey so can we make this thing oursyou should let me love you let me be the one to give you everything you want and need good love and protection make me your selection show you the way loves supposed to beyou should let me love you let me be the one to give you everything you want and need good love and protection make me your selection show you the way loves supposed to beyou should let me love you let me be the one to give you everything you want and need good love and protection make me your selection show you the way loves supposed to be yeah let me love youthats all you need baby ",1
4,"since u been gone","kelly clarkson",2005," heres the thing we started out friends it was cool but it was all pretend yeah yeah since you been goneyoure dedicated you took the time wasnt long till i called you mine yeah yeah since you been goneand all youd ever hear me say is how i picture me with you thats all youd ever hear me saybut since you been gone i can breathe for the first time im so moving on yeah yeah thanks to you now i get what i want since you been gonehow can i put it you put me on i even fell for that stupid love song yeah yeah since you been gonehow come ive never heard you say i just want to be with you guess you never felt that waybut since you been gone i can breathe for the first time im so moving on yeah yeah thanks to you now i get what i want since you been goneyou had your chance you blew it out of sight out of mind shut your mouth i just cant take it again and again and again and againsince you been gone since you been gone i can breathe for the first time im so moving on yeah yeah thanks to you thanks to you now i get i get what i wanti can breathe for the first time im so moving on yeah yeah thanks to you thanks to you now i get i get you should know you should know that i get i get what i want since you been gone since you been gone since you been gone ",1
5,"1 2 step","ciara and missy elliott",2005," ladies and gentleman ladies and gentleman this is a jazze phizal jazze phizal productshizzle missy missy the princess is here shes here ciarathis beat is automatic supersonic hypnotic funky fresh work my body so melodic this beat flows right through my chesteverybody ma and poppy came to party grab somebody work your body work your body let me see you 12 steprock it dont stop it everybody get on the floor wake the party up we about to get it onlet me see ya 12 step i love it when ya 12 step everybody 12 step we about to get it on this beat isoutrageous so contagious make you crave it jazze made it so retarded top charted ever since the day i startedstrut my stuff and yes i flaunt it goodies make the boys jump on it no i cant control myself now let me do my 12 step cmonrock it dont stop it everybody get on the floor wake the party up we about to get it onlet me see ya 12 step i love it when ya 12 step everybody 12 step we about to get it on we goin to step it like this ooh weeit dont matter to me we can dance slow ladies and gentleman whichever way the beat drop our bodies will go i like thisso swing it over here mr dj hey hey and we will we will rock youit dont matter to me we can dance slow dance slow yeah whichever way the beat drop our bodies will goso swing it over here mr dj ladies and gentleman and we will we will rock you lets shakei shake it like jello and make the boys say hello cause they know im rockin the beat rocking the beati know you heard about a lot of great mcs but they aint got nothing on me nothing on me because im 5 foot 2 i wanna dance with you and im sophisticated funi eat filet mignon and im nice and young best believe im number one woorock it dont stop it everybody get on the floor wake the party up we about to get it on cmonlet me see ya 12 step i love it when ya 12 step everybody 12 step we about to get it onrock it dont stop it everybody get on the floor wake the party up we about to get it onlet me see ya 12 step i love it when ya 12 step everybody 12 step we about to get it onthis is for the hearing impaired a jazze pha production ooh wee ooh wee ",1
6,"gold digger","kanye west featuring jamie foxx",2005," she take my money when im in need yea shes a trifling friend indeed oh shes a gold digger way over town that digs on menow i aint saying she a gold digger but she aint messing with no broke niggas now i aint saying she a gold digger but she aint messing wit no broke niggas get down girl go head get down get down girl go head get down get down girl go head get down get down girl go headcutie the bomb met her at a beauty salon with a baby louis vuitton under her underarm she said i can tell you roc i can tell by ya charm far as girls you got a flock i can tell by ya charm and ya arm but im looking for the one have you seen her my psychic told me she have a ass like serena trina jennifer lopez four kids an i gotta take all they bad ass to showbiz ok get ya kids but then they got their friends i pulled up in the benz they all got up in we all went to den and then i had to pay if you fucking with this girl then you betta be payed you know why it take too much to touch her from what i heard she got a baby by busta my best friend say she use to fuck wit usher i dont care what none of yall say i still love hernow i aint saying she a gold digger but she aint messing with no broke niggas now i aint saying she a gold digger but she aint messing wit no broke niggas get down girl go head get down get down girl go head get down get down girl go head get down get down girl go headeighteen years eighteen years she got one of yo kids got you for 18 years i know somebody paying child support for one of his kids his baby mommas car and crib is bigger than his you will see him on tv any given sunday win the superbowl and drive off in a hyundai she was spose to buy ya shorty tyco with ya money she went to the doctor got lipo with ya money she walking around looking like micheal with ya money should of got that insured got geico for ya money if you aint no punk holla we want prenup we want prenup yeah its something that you need to have cause when she leave yo ass she gone leave with half eighteen years eighteen years and on her eighteenth birthday he found out it wasnt hisnow i aint saying she a gold digger but she aint messing with no broke niggas now i aint saying she a gold digger but she aint messing wit no broke niggas get down girl go head get down get down girl go head get down get down girl go head get down get down girl go headnow i aint saying you a gold digger you got needs you dont want ya dude to smoke but he cant buy weed you got out to eat and he cant pay yall cant leave theres dishes in the back he gotta roll up his sleeves but why yall washing watch him he gone make it into a benz out of that datson he got that ambition baby look in his eyes this week he mopping floors next week its the fries so stick by his side i know his dudes balling but yea thats nice and they gone keep calling and trying but you stay right girl but when you get on he leave yo ass for a white girlget down girl go head get down get down girl go head get down get down girl go head get down get down girl go head ",1
7,"boulevard of broken dreams","green day",2005," i walk a lonely road the only one that i have ever known dont know where it goes but its home to me and i walk alonei walk this empty street on the boulevard of broken dreams where the city sleeps and im the only one and i walk alonei walk alone i walk alonei walk alone i walk amy shadows only one that walks beside me my shallow hearts the only thing thats beating sometimes i wish someone out there will find me till then i walk aloneahah ahah ahah aahah ahah ahah ahahim walking down the line that divides me somewhere in my mind on the border line of the edge and where i walk aloneread between the lines whats fucked up and everythings all right check my vital signs to know im still alive and i walk alonei walk alone i walk alonei walk alone i walk amy shadows only one that walks beside me my shallow hearts the only thing thats beating sometimes i wish someone out there will find me till then i walk aloneahah ahah ahah aahah ahah ahahi walk alone i walk ai walk this empty street on the boulevard of broken dreams where the city sleeps and im the only one and i walk amy shadows only one that walks beside me my shallow hearts the only thing thats beating sometimes i wish someone out there will find me till then i walk alone ",1
8,"candy shop","50 cent featuring olivia",2005," yeah uhhuh so seductiveill take you to the candy shop ill let you lick the lollipop go head girl dont you stop keep going til you hit the spot whoaill take you to the candy shop yeah boy one taste of what i got uhhuh ill have you spending all you got come on keep going til you hit the spot whoayou could have it your way how do you want it you gon back that thing up or should i push up on it temperature rising okay lets go to the next level dance floor jampacked hot as a tea kettlei break it down for you now baby its simple if you be a nympho ill be a nympho in the hotel or in the back of the rental on the beach or in the park its whatever you intogot the magic stick im the love doctor i aint finished teaching you bout how sprung i got ya wanna show me how you work it baby no problem get on top then get your bounce around like a little riderim seasoned vet when it come to this shit after you work up a sweat you can play with this stick im trying to explain baby the best way i can i melt in your mouth girl not in your hands hahaill take you to the candy shop ill let you lick the lollypop go head girl dont you stop keep going til you hit the spot whoaill take you to the candy shop boy one taste of what i got ill have you spending all you got keep going til you hit the spot whoagirl what we do what we do and where we do and where we do the things we do things we do are just between me and you yeah oh yeahgive it to me baby nice and slow climb on the top ride like you in a rodeo you aint never heard a sound like this before cause i aint never put it down like thisas soon as i come through the door she get to pulling on my zipper its like its a race who could get undressed quicker isnt it ironic how erotic it is to watch em in thongs had me thinking bout that ass after im gonei touch the right spot at the right time lights on or lights off she like it from behind so seductive you should see the way she whine her hips in slow mo on the floor when we grindlong as she aint stopping homie i aint stopping dripping wet with sweat man its on and popping all my champagne campaign bottle after bottle its on and we gon sip til every bubble in every bottle is goneill take you to the candy shop ill let you lick the lollipop go head girl dont you stop keep going til you hit the spot whoaill take you to the candy shop boy one taste of what i got ill have you spending all you got keep going til you hit the spot whoaill take you to the candy shop ill let you lick the lollypop go head girl dont you stop keep going til you hit the spot whoaill take you to the candy shop boy one taste of what i got ill have you spending all you got keep going til you hit the spot whoa ",1
9,"dont cha","the pussycat dolls featuring busta rhymes",2005,"the pussycat dolls miscellaneous dont cha i know you like me  i know you do thats why whenever i come around shes all over you i know you want it its easy to see and in the back of your mind i know you should be all with me chorusdont cha wish your girlfriend was hot like me dont cha wish your girlfriend was a freak like me dont cha dont cha wish your girlfriend was wrong like me dont cha wish your girlfriend was fun like me dont cha  fight the feeling leave it alone  cuz if it aint love it just aing enough to leave a happy home lets keep it friendly you have to play see i dont care but i know she aint gon wanna share dont cha wish your girlfriend was hot like me dont cha wish your girlfriend was a freak like me dont cha dont cha wish your girlfriend was wrong like me dont cha wish your girlfriend was fun like me dont cha  i know im on your mind i know wed have a good time im your friend im fun and im fine i aint lyin look at me you aint lyin repeat chorus",3
10,"behind these hazel eyes","kelly clarkson",2005," seems like just yesterday you were a part of me i used to stand so tall i used to be so strong your arms around me tight everything it felt so right unbreakable like nothing could go wrongnow i cant breathe no i cant sleep im barely hanging onhere i am once again im torn into pieces cant deny it cant pretend just thought you were the one broken up deep inside but you wont get to see the tears i cry behind these hazel eyesi told you everything opened up and let you in you made me feel alright for once in my life now all thats left of me is what i pretend to be so together but so broken up insidecause i cant breathe no i cant sleep im barely hanging onhere i am once again im torn into pieces cant deny it cant pretend just thought you were the one broken up deep inside but you wont get to see the tears i cry behind these hazel eyesswallow me then spit me out for hating you i blame myself just seeing you it kills me now now i dont cry on the outside anymorehere i am once again im torn into pieces cant deny it cant pretend just thought you were the one broken up deep inside but you wont get to see the tears i cry behind these hazel eyeshere i am once again im torn into pieces cant deny it cant pretend just thought you were the one broken up deep inside but you wont get to see the tears i cry behind these hazel eyes ",1
11,"disco inferno","50 cent",2005," lil momma show me how you move it go head put ya back into it do ya thing like they aint nothing to it shake sha sha shake that ass girl lil momma show me how you move it go head put ya back into it do ya thing like they aint nothing to it shake sha sha shake that ass girlgo go go 50 in the house bounce yall already know what im about the flows sick over dre drums nigga i aint stupid i say doc then doe come quicker whoa shortys hips is hypnotic she move so sure erotic i watch her im like bounce that ass girl i get it crunk in here i make it jump in here front in here well thump in here oh so gutter so ghetto so hood so gully so grimey whats good outside the benzo on dubs im in the club wit the snubs dont start nothin wont be nothin uhlil momma show me how you move it better yet put ya back into it do ya thing like they aint nothing to it shake sha sha shake that ass girl lil momma show me how you move it better yet put ya back into it do ya thing like they aint nothing to it shake sha sha shake that ass girllets party everybody stand up everybody put ya hands up lets party everybody bounce to me sip champagne and burn a lil greenery its hot disco inferno lets go your now rocking wit a pro i get doe to flip doe to get mo fo sho get my drink on then get on the dance floor look homie i dont dance all i do is this its the same two step wit a lil twist listen punk i aint new to dis im true to dis pay attention boy ill teach you how to do the shit you mix a lil cris wit a lil don perion and a lil hennessy you know we fittin to carry on hollering at these shawtys in the club trying to get right we gonn be up in this bitch til we break daylightlil momma show me how you move it go head put ya back into it do ya thing like they aint nothing to it shake sha sha shake that ass girl lil momma show me how you move it go head put ya back into it do ya thing like they aint nothing to it shake sha sha shake that ass girlya see me shining lit up wit diamonds cause i stay grinding homie you can catch me swooping bentley coupin switching lanes you see me rolling you know im holding about my paper yeah nigga im serious i aint playing ill imbed it in ya brain im off the chain gunit next level now turn it up a notch em and dre sent me to tear up the spot front on me oh no you know im loco hands up on the dance floor okay lets golil momma show me how you move it go head put ya back into it do ya thing like they aint nothing to it shake sha sha shake that ass girl lil momma show me how you move it go head put ya back into it do ya thing like they aint nothing to it shake sha sha shake that ass girl ",1
12,"you and me","lifehouse",2005," what day is it and in what month this clock never seemed so alive i cant keep up and i cant back down ive been losing so much timecause its you and me and all of the people with nothing to do nothing to lose and its you and me and all of the people and i dont know why i cant keep my eyes off of youall of the things that i want to say just arent coming out right im tripping on words you got my head spinning i dont know where to go from herecause its you and me and all of the people with nothing to do nothing to prove and its you and me and all of the people and i dont know why i cant keep my eyes off of yousomething about you now i cant quite figure out everything she does is beautiful everything she does is rightcause its you and me and all of the people with nothing to do nothing to lose and its you and me and all of the people and i dont know why i cant keep my eyes off ofyou and me and all of the people with nothing to do and nothing to prove and its you and me and all of the people and i dont know why i cant keep my eyes off of youwhat day is it and in what month this clock never seemed so alive ",1
13,"dont phunk with my heart","the black eyed peas",2005," no no no no dont phunk with my heart yeah no no no no dont phunk with my hearti wonder if i take you home would you still be in love baby in love baby i wonder if i take you home would you still be in love baby in love babygirl you know you got me got me with your pistol shot me shot me and im here helplessly in love and nothing can stop me you cant stop me cause once i start it cant return me once you bought it im coming baby dont got it dont make me wait so lets be about itno no no no dont phunk with my heartbaby have some trustin trustin when i come in lustin lustin cause i bring you that comfort i aint only here cause i want ya body i want your mind too interestins what i find you and im interested in the long haul come on girl yeehawcome oni wonder if i take you home would you still be in love baby in love baby i wonder if i take you home would you still be in love baby in love babyno no no no dont phunk with my heartgirl you had me once you kissed me my love for you is not iffy i always want you with me ill play bobby and youll play whitney if you smoke ill smoke too thats how much im in love with you crazy is what crazy do crazy in love im a crazy foolno no no no dont phunk with my heartwhy are you so insecure when you got passion and love her you always claimin im a cheater think id up and go leave ya for another se̱orita you forgot that i need ya you mustve caught amnesia thats why you dont believeuh yeah check it outdont you worry about a thing baby cause you know you got me by a string baby dont you worry about a thing baby cause you know you got me by a string babybaby girl you make me feel you know you make me feel so real i love you more than sex appeal cause yourethattha that tha thattha that girl thattha that tha thattha that girl thattha that tha thattha that girl thattha that tha thattha that girl thattha that tha thattha that girl thattha that tha thattha that girlno no no no dont phunk with my heart no no no no dont phunk with my hearti wonder if i take you home would you still be in love baby in love baby i wonder if i take you home would you still be in love baby in love baby i wonder if i take you home would you still be in love baby in love baby i wonder if i take you home would you still be in love baby in love babydont you worry about a thing baby cause you know you got me by a string baby dont you worry about a thing baby cause you know you got me by a string baby ",1
14,"lose control","missy elliott featuring ciara and fatman scoop",2005," music make you lose control music make you lose controllets go yeah yeah yeah yeah yeah yeah here we go now here we go now here we go now here we go now watch out now music make you lose control misdemeanors in the house ciaras in the house misdemeanors in the house fat man scoop man scoop man scoopive got a cute face chubby waist thick legs n shape rump shaking both ways make you do a double take plan rocker show stopper flo fropper head knocker beat staller tail dropper do ma thing motherfuckers ma rolls royce lamborghini blue madina always beaming rag top chrome pipes blue lights outta sight no me sow it n set it n sow it n make that money tho it n booty bouncing goin hiteverybody here get it outta control get yo backs off tha wall cause misdemeanor said so everybody everybody everybodyeverybodywell ma name iz ciara 4 all you fly fellaz no 1 can do it bettashell sing on acapellaboy the music makes me lose controlwe goin make you lose control and let it go four you kno you goin hit the floi rok to the beat till im tired tired walk n the club its fiyafiya get it krunk and wired wave ya hands scream louda if you smoke den fire it up bring da roof down den holla if you tipsy stand up dj turn it louda take somebody by da waist den uh now tho it in dey face like uh hypnotic robotic this here will rok yo bodies take somebody by da waist den uh now tho it in dey face like uh systematica static this hit be automaticwork wait work work work wait work work work wait work work work wait do it righthit the floor hit the floor hit the floor hit the floor hit the floor hit the floor hit the flooreverybody here get it outta control get yo backs off tha wall cause misdemeanor said so everybody everybody everybodyeverybodylets goeverybody here get it outta controlget yo backs off the wall missy elliot cause misdemeanor saidso everybody everybody everybodyeverybody get looseput yo back on tha wall put yo back on tha wall putyo back on tha wall put yo back on tha wallmisdemeanors in da house ciaras in da house misdemeanors in tha house music make you lose control we on fire we on fire we on fire we on fire now tho it girl tho it girl tho it girl tho it girl yeah now move yo arm to the left girl now move yo arm to the left girl now move yo arm to the right girl now move yo arm to the right girl lets go now lets go now lets go now woo lets go should i bring it back right now now bring it back now woo oh i see you see now ima iam do it like see did now shake it gurl cum on and just shake it girl cum on and just shake it girl cum on and just shake it girl cum on and let it pop right girl cum on and let it pop right girl cum on and let it pop right girl now back it up girl back it up girl back it up girl back it up girl wo woo woo go go bring it to the front girl go go bring it to the front girl go go bring it to the front girl go go bring it to the front girl lets go lets go lets go woo ",1
15,"shake it off","mariah carey",2005," i gotta shake you off cause the loving aint the same and you keep on playing games like you know im here to stay i gotta shake it off just like the calgon commercial i really gotta get up outta here and go somewhere i gotta shake it off gotta make that move find somebody who appreciates all the love i give boy i gotta shake it off gotta do whats best for me baby and that means i gotta shake you offby the time you get this message its gonna be too late so dont bother paging me cause ill be on my way see i grabbed all my diamonds and clothes just ask your momma she knows youre gonna miss me baby hate to say i told you so well at first i didnt know but now its clear to me you would cheat with all your freaks and lie compulsively so i packed up my louis vuitton jumped in your ride and took off youll never ever find a girl who loves you more than mei gotta shake you off cause the loving aint the same and you keep on playing games like you know im here to stay i gotta shake it off just like the calgon commercial i really gotta get up outta here and go somewhere i gotta shake it off gotta make that move find somebody who appreciates all the love i give boy i gotta shake it off gotta do whats best for me baby and that means i gotta shake you offi gotta shake shake shake shake shake it off shake shake shake shake shake it gotta shake it off off shake shake shake shake shake it off shake shake shake shakeshake it offi found out about a gang of your dirty little deeds with this one and that one by the pool on the beach in the streets heard yall was hold up my phones breakin up ima hang up and call the machine right back i gotta get this off of my mind you wasnt worth my time so im leaving you behind cause i need a real love in my life save this recording because im never coming back home baby im gone dont cha knowi gotta shake you off cause the loving aint the same and you keep on playing games like you know im here to stay i gotta shake it off just like the calgon commercial i really gotta get up outta here and go somewhere i gotta shake it off gotta make that move find somebody who appreciates all the love i give boy i gotta shake it off gotta do whats best for me baby and that means i gotta shake you offi gotta shake shake shake shake shake it off shake shake shake shake shake it gotta shake it off off shake shake shake shake shake it off shake shake shake shakeshake it offi gotta shake you off cause the loving aint the same and you keep on playing games like you know im here to stay i gotta shake it off just like the calgon commercial i really gotta get up outta here and go somewhere i gotta shake it off gotta make that move find somebody who appreciates all the love i give boy i gotta shake it off gotta do whats best for me baby and that means i gotta shake you off ",1
16,"mr brightside","the killers",2005," coming out of my cage and ive been doing just fine gotta gotta be down because i want it all it started out with a kiss how did it end up like this it was only a kiss it was only a kiss now im falling asleep and shes calling a cab while hes having a smoke and shes taking a drag now theyre going to bed and my stomach is sick and its all in my head but shes touching his chest now he takes off her dress now letting me go    memory  byamandah   editor    have you guys seen this after the passing of an outstanding gent by the name of ger farmer foley in county kerry ireland his friends gathered at a pub and    see all   i just cant look its killing me and taking control jealousy turning saints into the sea swimming through sick lullabies choking on your alibis but its just the price i pay destiny is calling me open up my eager eyes cause im mr brightsideim coming out of my cage and ive been doing just fine gotta gotta be down because i want it all it started out with a kiss how did it end up like this it was only a kiss it was only a kiss now im falling asleep and shes calling a cab while hes having a smoke and shes taking a drag now theyre going to bed and my stomach is sick and its all in my head but shes touching his chest now he takes off her dress now letting me gocause i just cant look its killing me and taking control jealousy turning saints into the sea swimming through sick lullabies choking on your alibi but its just the price i pay destiny is calling me open up my eager eyes cause im mr brightside i never i never i never i never ",1
17,"just a lil bit","50 cent",2005," yeah shady aftermath gunitdamn baby all i need is a lil bit a lil bit of this a lil bit of that get it crackin in the club when you hear the shit drop it like its hot get to whippin that backgirl shake that thing yeah work that thing let me see it go up and down rotate that thang i wanna touch that thang when you make it go round and roundi step up in the club im like who you wit gunit in the house yeah thats my click yeah im young but a nigga from the old school on the dance floor a nigga doin old movesi dont give a fuck i do what i wan do i hit your ass up boy i done warned you better listen when i talk nigga dont trip yo heat in the car mines in this bitchi aint tryin to beef im tryin to get my drink on and my diamonds my fitted and my mink on ima kick it at the bar til its time to go then ima get in shorty ear and ima let her knowall a nigga really need is a lil bit not a lot baby girl just a lil bit we can head to the crib in a lil bit i can show you how i live in a lil biti wanna unbutton your pants just a lil bit take em off and pull em down just a lil bit get to kissin and touchin a lil bit get to lickin and fuckin a lil bitthis is 50 comin out your stereo its hard to tell though cause i switched the flow eyes a lil low cause i twist the dro pockets on swoll cause i move the osmy neck my wrist my ears is froze come get your bitch she on me dawg she must ta heard about the dough now captain cmon and save a hoei get it crunk in the club im off the chain number 1 on the chart all the time mayne when the kid in the house i turn it out keep the dance floor packed thats without a doubtbut shorty shake that thang like a pro man she backed it up on me im like oh man i got close enough to her so i know she could hear system thumpin party jumpin i said loud and clearall a nigga really need is a lil bit not a lot baby girl just a lil bit we can head to the crib in a lil bit i can show you how i live in a lil biti wanna unbutton your pants just a lil bit take em off and pull em down just a lil bit get to kissin and touchin a lil bit get to lickin and fuckin a lil bitbaby you got me feelin right you heard me my momma gone you can spend the night you heard me i aint playin im tryin to fuck tonight you heard me clothes off face down ass up cmonall a nigga really need is a lil bit not a lot baby girl just a lil bit we can head to the crib in a lil bit i can show you how i live in a lil biti wanna unbutton your pants just a lil bit take em off and pull em down just a lil bit get to kissin and touchin a lil bit get to lickin and fuckin a lil bitall a nigga really need is a lil bit not a lot baby girl just a lil bit we can head to the crib in a lil bit i can show you how i live in a lil biti wanna unbutton your pants just a lil bit take em off and pull em down just a lil bit get to kissin and touchin a lil bit get to lickin and fuckin a lil bit ",1
18,"pon de replay","rihanna",2005," come mr dj song pon de replay come mr dj wont you turn the music up all the gyal pon the dance floor wantin some more what come mr dj wont you turn the music upcome mr dj song pon de replay come mr dj wont you turn the music up all the gyal pon the dance floor wantin some more what come mr dj wont you turn the music upit goes one by one even two by two everybody on the floor let me show you how we do lets go dip it low then you bring it up slow wind it up 1 time wind it back once morerun run run run everybody move run lemme see you move and rock it til the grooves doneshake it til the moon becomes the sun sun everybody in the club give me a run run if you ready to move say it yeah yeah one time for your mind say it yeah yeahwell im ready for ya come let me show ya you want to groove ima show you how to move come comecome mr dj song pon de replay come mr dj wont you turn the music up all the gyal pon the dance floor wantin some more what come mr dj wont you turn the music upcome mr dj song pon de replay come mr dj wont you turn the music up all the gyal pon the dance floor wantin some more what come mr dj wont you turn the music uphey mr please mr dj tell me if you hear me turn the music uphey mr please mr dj tell me if you hear me turn the music upit goes one by one even two by two everybody in the club goin be rockin when im through let the bass from the speakers run through ya sneakers move both ya feet and run to the beatrun run run run everybody move run lemme see you move and rock it til the grooves doneshake it til the moon becomes the sun sun everybody in the club give me a run run if you ready to move say it yeah yeah one time for your mind say it yeah yeahwell im ready for ya come let me show ya you want to groove im a show you how to move come comecome mr dj song pon de replay come mr dj wont you turn the music up all the gyal pon the dance floor wantin some more what come mr dj wont you turn the music upcome mr dj song pon de replay come mr dj wont you turn the music up all the gyal pon the dance floor wantin some more what come mr dj wont you turn the music uphey mr please mr dj tell me if you hear me turn the music uphey mr please mr dj tell me if you hear me turn the music upokay everybody get down if you feel me put your hands up to the ceilingeverybody get down if you feel me come and put your hands up to the ceilingokay everybody get down if you feel me put your hands up to the ceilingokay everybody get down if you feel me come and put your hands up to the ceilingcome mr dj song pon de replay come mr dj wont you turn the music up all the gyal pon the dance floor wantin some more what come mr dj wont you turn the music upcome mr dj song pon de replay come mr dj wont you turn the music up all the gyal pon the dance floor wantin some more what come mr dj wont you turn the music up ",1
19,"how we do","the game featuring 50 cent",2005," dj steveaw yeah lets take a trip just sit back and light a spliff with this and dont slip on a funky dope track jump back strapped with the fat buddha sac and a 78 lacoh clean gangsta lean i got green bud i serve dubs like it aint no thang i hang with og playas dont set trip or you might get what we call a rat packi dont slack when it come to streets i get real g funk to a gangsta beat its so sweet when you got money to spend i got a proper big tilt n a fly big benz i make endsspend my dough oh no fo thats how it is and thats how it go act like you know when i creep real slow givin love to the playas that i know is realever since a nigga was a seed only thing promised to me was the penitentiary still ballin ridin on these niggaz cause they lame in a 61 chevy still heavy in this game can you feel meblame it on my momma im a thug nigga up before the sun rise quicker than the drug dealers tell me if its on nigga then we first to bomb bust on these bitch made niggaz hit em upwestside aint nobody love me as a broke nigga finger on the trigger lord forgive me if i smoke niggaz i love my females strapped love fuckin from the back i get my currency in stacks californias where im at ridinpassed by while these niggaz wonder why i got shot and didnt die let em see whos next to try did i cry hell nah nigga tear shedfor all my homies in the pen many peers dead niggaz still ballinthis is how we do we make a move and act a fool while we up in the club this is how we do nobody do it like we do it so show us some lovethis is how we do we make a move and act a fool while we up in the club this is how we do nobody do it like we do it so show us some lovenow everybody wanna see us dead two murdered on the front page shot to death bullets to the headniggaz holla out my name and its similar to rain mothafuckas know im comin so they runnin to they graveswatch swoop down with my nigga from the pound dont give a fuck would you coward niggaz now blastkeep pumpin aint worried bout nuttin busters thought we was frontin so reload and keep dumpindump on fools with a quickness and they got no cure for this sickness i get payed for the way that i kick this like a gsta an ogsta a whos data real playa named eazy and i live my life straight crazy dont need no punk fools payin me and broke groupies and hoochies dont faze mei take two steps back and release myself to put platinum and gold on a record shelf i dont brag but i tell em like it straight up is before you do a record partna handle the biznessand dont get caught slippin on the under or you might wonda whats up on them ends g i call a spade a spade and get payed g showed the way so i give love to emi put gold daytonas on that cherry 64 white walls so clean looks like im ridin on blobs hit one switch mayne that ass so low cali got niggas in new york ridin on hundred spokestouch me tease me kiss me please me i give it to ya just how you like it girl your now rockin with the best fo pound on my hip gold chain on my chest ah50 uh bentley uh em came n gotta nigga fresh out the slum automatic gun fuck em one on one we wrap up ya punk ass stunt ya done homie its game timeready here i come call lloyd banks and get this motherfucker crunk it took two months but fifty got it done signed with gunit had niggas like huhdont try to front ill leave yo ass slumped thinkin im a punk get your fucking head lumped fifty got a gunready here he come gotta sick vendetta to get this chedda wit my beretta the dramasettasip amaretto my flow sounds betta than average on tracks im a savage i damage any nigga tryin to front on my clique gunit ",1
20,"beverly hills","weezer",2005," where i come from isnt all that great my automobile is a piece of crap my fashion sense is a little whack and my friends are just as screwy as mei didnt go to boarding schools preppie girls never looked at me why should they i aint nobody got nothing in my pocketbeverly hills thats where i want to be livin in beverly hills beverly hills rollin like a celebrity livin in beverly hillslook at all those movie stars theyre all so beautiful and clean when the housemaids scrub the floors they get the spaces in betweeni wanna live a life like that i wanna be just like a king take my picture by the pool cause im the next big thingbeverly hills thats where i want to be livin in beverly hills beverly hills rollin like a celebrity livin in beverly hillsthe truth is i dont stand a chance its something that youre born into and i just dont belongno i dont im just a no class beat down fool and i will always be that way i might as well enjoy my life and watch the stars playbeverly hills thats where i want to be livin in beverly hills beverly hills rollin like a celebrity livin in beverly hillsbeverly hills beverly hills beverly hills beverly hills livin in beverly hills ",1
21,"oh","ciara featuring ludacris",2005," this is where they stay crunk throw it up dubs on the cadillac white tees nikes gangstas dont know how to act adamsville bankhead college park carver homes hummers floating on chrome chokin on that homegrown they got that southern cookin they got them fellas lookin thinkin i was easy i can see it thats when i say no what fo shawty cant handle this ciara got that fire likeoh round here we ridin slow we keep it ghetto you should know gettin crunk off in the club we gets low oh oh oh all my ladies to the flo handle it ladies back it up getting crunk up in the club we gets low ohbuddy take a new whip paint strip into a bowlin ball steel spoke honey spoke woodgrainarmor all lightskinned thick chicks fellas call em red bones close cuts braids long gangstas love em all they got that southern cookin they got them fellas lookin wishin i was easy i can see it thats when i say no what fo shawty cant handle this ciara got that fire likeoh round here we ridin slow we keep it ghetto you should know gettin crunk off in the club we gets low oh oh oh all my ladies to the flo handle it ladies back it up getting crunk up in the club we gets low ohsouthernstyle get wild old skools comin down in a different color whip whip whip picture perfect you might want to take a flick flick flick flick flick call up jazze tell him pop up the bottles cause we got another hit hit hit want to go platinum im who you should get get get get get ludacris on the track get back trick switch on the lac im flexing steel same price every time hot song jumped on cause ciara got sex appeal and i keep the meanest cleanest baddest spinning on stainless wheels could care less about your genus i bump ya status i keep the stainless steel trunkrattlin whats happenin huh i dont even think i need to speed basstravelin facecrackilin huh turn it up and make the speakers bleed dirty south we ballin dog and never think about fallin dog ghetto harmonizing surprising running back cause the song is calledoh round here we ridin slow we keep it ghetto you should know gettin crunk off in the club we gets low oh oh oh all my ladies to the flo handle it ladies back it up getting crunk up in the club we gets low ohoh round here we ridin slow we keep it ghetto you should know gettin crunk off in the club we gets low oh oh oh all my ladies to the flo handle it ladies back it up getting crunk up in the club we gets low oh ",1
22,"lonely no more","rob thomas",2005," now it seems to me that you know just what to say but words are only words can you show me something elsecan you swear to me that youll always be this way show me how you feel more than ever babyi dont wanna be lonely no more i dont wanna have to pay for this i dont want to know the lover at my door is just another heartache on my listand i dont wanna be angry no more you know i could never stand for this so when you tell me that you love me know for sure i dont want to be lonely anymorenow its hard for me with my heart still on the mend open up to me like you do your girlfriendsand you sing to me and its harmony girl what you do to me is everything make me say anything just to get you back again why cant we just tryi dont wanna be lonely no more i dont wanna have to pay for this i dont want to know the lover at my door is just another heartache on my listi dont wanna be angry no more you know i could never stand for this so when you tell me that you love me know for sure i dont want to be lonely anymorewhat if i was good to you what if you were good to me what if i could hold you till i feel you move inside of me what if it was paradise and what if we were symphonies what if i gave all my life to find some way to stand beside youi dont wanna be lonely no more i dont wanna have to pay for this i dont want to know the lover at my door is just another heartache on my listi dont wanna be angry no more but you know i could never stand for this so when you tell me that you love me know for sure i dont want to be lonely anymorei dont wanna be lonely anymore i dont wanna be lonely no more i dont wanna be lonely no more i dont wanna be lonely anymore ",1
23,"drop it like its hot","snoop dogg featuring pharrell",2005," snooooooooooop snooooooooooopwhen the pimps in the crib ma drop it like its hot drop it like its hot drop it like its hot when the pigs try to get at ya park it like its hot park it like its hot park it like its hot and if a nigga get a attitude pop it like its hot pop it like its hot pop it like its hot i got the rolly on my arm and im pouring chandon and i roll the best weed cause i got it going onuh im a nice dude with some nice dreams see these ice cubes see these ice creams eligible bachelor million dollar boat thats whiter than whats spilling down your throat the phantom exterior like fish eggs the interior like suicide wrist red i can exercise you this can be your phys ed cheat on your man ma thats how you get ahizzead killer wit the beat i know killers in the street wit the steel thatll make you feel like chinchilla in the heat so dont try to run up on my ear talking all that raspy shit trying to ask me shit when my niggaz fill ya vest they aint gon pass me shit you should think about it take a second matter fact you should take four b and think before you fuck wit lil skateboard pwhen the pimps in the crib ma drop it like its hot drop it like its hot drop it like its hot when the pigs try to get at ya park it like its hot park it like its hot park it like its hot and if a nigga get a attitude pop it like its hot pop it like its hot pop it like its hot i got the rolly on my arm and im pouring chandon and i roll the best weed cause i got it going onim a gangsta but yall knew that da big bo dogg yeah i had to do that i keep a blue flag hanging out my backside but only on the left side yeah thats the crip side aint no other way to play the game the way i play i cut so much you thought i was a dj scratches two  one  yep three sn double op do double g i cant fake it just break it and when i take it see i specialize in making all the girls get naked so bring your friends all of yall come inside we got a world premiere right here now get live so dont change the dizzle turn it up a little i got a living room full of fine dime brizzles waiting on the pizzle the dizzle and the shizzle gs to the bizzack now ladies here we gizzowhen the pimps in the crib ma drop it like its hot drop it like its hot drop it like its hot when the pigs try to get at ya park it like its hot park it like its hot park it like its hot and if a nigga get a attitude pop it like its hot pop it like its hot pop it like its hot i got the rolly on my arm and im pouring chandon and i roll the best weed cause i got it going onim a bad boy wit a lotta hos drive my own cars and wear my own clothes i hang out tough im a real bo big snoop dogg yeah hes so sharp on the tv screen and in the magazines if you play me close youre on a red beam oh you got a gun so you wanna pop back ak47 now nigga stop that cement shoes now im on the move youre familys crying now you on the news they cant find you and now they miss you must i remind you im only here to twist you pistol whip you dip you then flip you then dance to this motherfucking music we crip to subscribe nigga get yo issue baby come close let me see how you get loosewhen the pimps in the crib ma drop it like its hot drop it like its hot drop it like its hot when the pigs try to get at ya park it like its hot park it like its hot park it like its hot and if a nigga get a attitude pop it like its hot pop it like its hot pop it like its hot i got the rolly on my arm and im pouring chandon and i roll the best weed cause i got it going onsnooooooooooop snooooooooooop ",1
24,"hate it or love it","the game featuring 50 cent",2005,"ya lets take em back uh huh comin up i was confused my mommy kissin a girl confusion occurs comin up in the cold world daddy aint around probably out committin felonies my favorite rapper used to sing check check out my melody i wanna live good so shit i sell dope fo a four finger ring one of them gold ropes nana told me if i pass could get a sheep skin coat if i can move a few packs and get the hat now thatd be dope tossed and turned in my sleep that night woke up the next morning niggas had stole my bike different day same shit aint nothin good in the hood id run away from this bitch and never come back if i could hate it or love it the underdogs on top and im gonna shine homie until my heart stop go ahead envy me im raps mvp and i aint goin nowhere so you can get to know me hate it or love it the underdogs on top and im gonna shine homie until my heart stop go ahead envy me im raps mvp and i aint goin nowhere so you can get to know me on the grill of my lowrider guns on both sides right above the gold wires ill fofive em kill a nigga on my song and really do it thats the true meanin of a ghost rider ten gs will take ya daughter out of air forces believe you me homie i know all bout losses im from compton wear the wrong colors be cautious one phone callll have ya body dumped in marshes i stay strapped like car seats been bangin since my lil nigga rob got killed for his barkleys thats ten years i told pooh in ninetyfive ill kill you if you try me for my air max 95s told banks when i met him ima ride and if i gotta die id rather a homicide i aint have fifty cent when my grandmomma died now im goin back to cali with my jacob boy see how time fly hate it or love it the underdogs on top and im gonna shine homie until my heart stop go ahead envy me im raps mvp and i aint goin nowhere so you can get to know me hate it or love it the underdogs on top and im gonna shine homie until my heart stop go ahead envy me im raps mvp and i aint goin nowhere so you can get to know me from the beginnin to the end losers lose winners win this is real we aint got to pretend the cold world that we in is full of pressure and pain enough of me nigga now listen to game used to see fiveoh throw the crack by the bench now im fuckin with fiveoh its all startin to make sense my mas happy she aint gotta pay the rent and she got a red bow on that brand new benz waitin on shop money to lamp sittin in the range thinkin how they spent 30 million dollars on airplanes when theres kids starvin pac is gone and brenda still throwin babies in the garbage i wanna know whats goin on like i hear marvin no schoolbooks they used that wood to build coffins whenever im in the booth and i get exhausted i think what if marie bank had got that abortion i love you ma hate it or love it the underdogs on top and im gonna shine homie until my heart stop go ahead envy me im raps mvp and i aint goin nowhere so you can get to know me hate it or love it the underdogs on top and im gonna shine homie until my heart stop go ahead envy me im raps mvp and i aint goin nowhere so you can get to know me",3
25,"lovers  friends","lil jon featuring usher and ludacris",2005,"intro  lil jon usher lil jon ludacris usher with lil jon yeah man once again its on its on you know we had to do it again right lil jon we had to do it again boy want you to sing to these ladies man usher with vocalizing ohhohohohh aight so im up first aight lemme have it ohhohohohh lets do it 1st verse  usher baby how ya doin hope that cha fine wanna know what you got in mind and im got me fiendin like jodeci girl i cant leave you alone take a shot of this here petrone and its gon be on vip done got way too crowded im about to end up callin it a night you should holla at cha girl tell her you shake it the scene pull off beepbeep shotgun in the gt with me she said ohhhohhh im ready to ride yeah cause once you get inside you cant change your mind dont mean to sound impatient but you gotta promise baby ohh chorus  usher tell me again tell me again my baby that well be lovers and friends ohh i gotta know baby aw yeah tell me again make sho you right ohh before we leave that well be lovers and friends ohh its a good look baby 2nd verse  ludacris sometimes wanna be your lover sometimes wanna be your friend sometimes wanna hug ya hold hands slowdance while the record spins opened up your heart cause you said i made you feel so comfortable used to play back then now you all grownup like rudy huxtable i could be your bud you could beat me up playfight in the dark then we both make love id do anything just to feel your butt why you got me so messed up i dont know but you gotta stop trippin be a good girl now turn around and get these whippings you know you like it like that you dont have to fight back heres a pillow  bitethat and ill be settin seperate plays so on all these separate days your legs can go they separateways chorus  usher tell me again tell me again my baby that well be lovers and friends ohh its a good look baby tell me again tell me overandoverandover again that well be lovers and friends make sho you right before you choose 3rd verse  lil jon is been know you fo a long time shawty but fuckin never crossed my mind shawty but tonight i seen sumthin in ya shawty that made me wanna get wit cha shawty but you aint been nuttin but a friend to me shawty and a nigga never ever dreamed to be shawty up in here kissin huggin squeezin touchin shawty up in the bathtub rubadubbin shawty are you sure you wanna go this route shawty let a nigga know before i pull it out shawty i would never ever cross the line shawty shawty let me hear ya tell me one mo timeone mo time chorus  usher tell me again tell me again my baby that well be lovers and friends ohh its a good look baby tell me again make sho you right ohh before we leave that well be lovers and friends tell me overandoverandover again outro  usher ohohhoo ohohhoo ohohhooohhhhyeaaah ludacris with lil jon please tell your lovers and friends that usher jon and luda had to do it again hey hey please tell your lovers and friends that usher jon and luda had to do it again thats right hey hey please tell your lovers and friends that usher jon and luda had to do it again hey hey",3
26,"soldier","destinys child featuring ti and lil wayne",2005," hey i want a soldier the way you got it im the hottest around theyll know it when they see you rollin impalas around i got a soldier with the top down feeling the sounds quakin and vibratin your thighs ridin harder than guys wit the chrome wheels at the bottom white leather inside when them lames be spittin at you tell em dont even try it to shot it wit chelle and kick it wit kelly or holla at be ya gotta be gs you way outta your leaguewe like dem boys that be in them lacs leanin leanin open their mouth their grill gleamin gleamin candy paint keep that whip clean and clean and they always be talkin that country slang we like they keep that beat that be in the back beatin beatin eyes be so low from there chiefin chiefin i love how he keep my body screamin screamin a rude boy thats good to me with street credibilityif his status aint hood i aint checkin for him betta be street if he lookin at me i need a soldier that aint scared to stand up for me known to carry big things if you know what i mean if his status aint hood i aint checkin for him betta be street if he looking at me i need a soldier that aint scared to stand up for me gotta know to get dough and he betta be streetwe like them boys up top from the bk bk know how to flip that money three ways three ways always ridin big on the freeway freeway with that east coast slang that us country girls we like low cut ceasers wit the deep waves deep waves so quick to snatch up your beyonce beyonce always comin down poppin our way our way tellin us that country girls the kinda girl they likeif his status aint hood i aint checkin for him betta be street if he lookin at me i need a soldier that aint scared to stand up for me known to carry big things if you know what i mean if his status aint hood i aint checkin for him betta be street if he looking at me i need a soldier that aint scared to stand up for me gotta know to get dough and he betta be streeti know some soldiers in here where they at where they at they want to take care of me where they at i know some soldiers in here where they at where they at dont mind takin one for me where they at i know some soldiers in here where they at where they at they want to spend that on me where they at i know some soldiers in here where they at where they at wouldnt mind puttin that on me where they atnext to the speakers keep a toy in the trunk of the lac a reformed d boy use to run into traps still a soldier do to war if you running your trap about my girls aint no thing to put you under the mapwalk the streets five deep with nothing less than a stack and 80 carats on my chest provides a special attraction 50 gs in my jeans plus the dough from the waller its the reason im the king girl i know what you likeif his status aint hood i aint checkin for him betta be street if he lookin at me i need a soldier that aint scared to stand up for me known to carry big things if you know what i mean if his status aint hood i aint checkin for him betta be street if he looking at me i need a soldier that aint scared to stand up for me gotta know to get dough and he betta be streeti like them boys over there they looking strong tonight strong tonight just might give one the phone tonight phone tonight homey in the dickies in my zone tonight zone tonight he dont know it might be on tonight on tonight ooh he looking good and he talking right talking right he the type that might change my life change my life every time he look at me my girls be like girls be like that one may be the one tonightif his status aint hood i aint checkin for him betta be street if he lookin at me i need a soldier that aint scared to stand up for me known to carry big things if you know what i mean if his status aint hood i aint checkin for him betta be street if he looking at me i need a soldier that aint scared to stand up for me gotta know to get dough and he betta be streethey see cash money is a army im walking with purple hearts on me you talking to the sergeant body marked up like the subway in harlem call him weezy f baby please say the baby if you dont see me on the block i aint trying to hide i blend in wit the hood im camouflage bandanna tied so mommy join my troop now every time she hear my name she salutei know some soldiers in here where they at where they at they wanna take care of me where they at i know some soldiers in here where they at where they at wouldnt mind puttin that on me where they ati know some soldiers in here where they at where they at they wanna take care of me where they at i know some soldiers in here where they at where they at wouldnt mind puttin that on me where they at ",1
27,"breakaway","kelly clarkson",2005," grew up in a small town and when the rain would fall down id just stare out my window dreamin of what could be and if id end up happy i would praytrying hard to reach out but when i tried to speak out felt like no one could hear me wanted to belong here but something felt so wrong here so i pray i could breakawayill spread my wings and ill learn how to fly ill do what it takes till i touch the sky and ill make a wish take a chance make a change and breakaway out of the darkness and into the sun but i wont forget all the ones that i love ill take a risk take a chance make a change and breakawaywant to feel the warm breeze sleep under a palm tree feel the rush of the ocean get on board a fast train travel on a jet plane faraway and breakawayill spread my wings and ill learn how to fly ill do what it takes till i touch the sky and ill make a wish take a chance make a change and breakaway out of the darkness and into the sun i wont forget all the ones that i love i gotta take a risk take a chance make a change and breakawaybuildings with a hundred floors swinging round revolvin doors maybe i dont know where they take me but gotta keep movin on movin on fly away breakawayill spread my wings and ill learn how to fly though its not easy to tell you goodbye i gotta take a risk take a chance make a change and breakaway out of the darkness and into the sun but i wont forget the place i come from i gotta take a risk take a chance make a change and breakaway breakaway breakaway ",1
28,"switch","will smith",2005," yo mic check mic check yeah here you go what nah he he over here yeah i heard he got that hot new thing its called switch lets get it goingswitch hey turn it over and hit it turn around now switch turn it over and hit ithey vibe to vibe a second its a club girl why you arrived neckin hear that how the veteran glide the record but dont download go out and buy the recordhey huh something sexy bout her girl on the floor all her friends around her i mean real clean aint gotta touch or nuttin it aint like i like a chick on chick or sumpinim just a sucker for a hot track gimme a drink and a chick to tell stop that dance is a hop and a clap flip it round now bring it on back break it down now switchhey turn it over and hit it turn around now switch hey turn it over and hit it ooh la la laswitch hey turn it over and hit it turn around now switch turn it over and hit it unh unh unh ooh la la lai gotta question i need to ask somebody why is it that when yall see me at the party yall be looking like ooh he a movie star he aint supposed to be out on the floor with everybodybut oh wait whoa yall forgetting when i was amateur spitting before the scripts were written first one in last one out the club bursting in passing out in the club heyback at it this cat is the wit and the charm taking you higher like a syringe hittin ya arm bringing the fire making your benz ring the alarm let me see you clap spin baby come onswitch hey turn it over and hit it turn around now switch hey turn it over and hit it ooh la la laswitch hey turn it over and hit it turn around now switch turn it over and hit it unh unh unh ooh la la lahey hey oh you just gonna stand there huh what you too cute to dance or you scaredit aint really that hard to do and i aint trying to be in love with you and all i wanted was a moment or two to see if you could do that switcharoo andshut your mouth fool get your crew and the thick body and the rear one too and ill be right here waiting on you to see if yall can do that switcharoohey hey thats what im talking bout do that thing mama thats what im talking bout do that thing mama thats what im talking bout do that thing mama thats what im talking boutswitch hey turn it over and hit it turn around now switch hey turn it over and hit it ooh la la laswitch hey turn it over and hit it turn around now switch turn it over and hit it unh unh unh ooh la la laswitch hey turn it over and hit it turn around now switch hey turn it over and hit it ooh la la la ",1
29,"let me hold you","bow wow featuring omarion",2005," yall know what this is this is what you need to do girl let me hold youi been watching you for a minute come through here so sweet scented in life girl you need me in it im determined to win iti know what you need i know whats wrong i know how to make it tight everythingll be all right if ya let me hold youand introduce you to my world and introduce you to the better side of life that you aint been seein girl ima show you where its at and ima show you how to get it all you got do is be wit it and let me hold youdown like a real mans supposed to i never would have approached you if i aint have intentions on doing good see dude you wit is so fooled to me girl youre so cool and all im asking you to do is let me hold youdown like a best friend and two homies in the game when you cry i wanna feel your pain no secrets no games all excitement nothing plain keep you happy thats my aim and all you gotta do girl is let me hold youin my arms in my mind all the time i wanna keep you right by my side till i die im gonna hold you down and make sure everything is right wit you you can never go wrong if you let me hold youdown like a real friends supposed to im trying to show you the life that somebody like you should be living oh baby baby you could never go wrong never if you let me hold youima keep you up on whats poppin and shake you fresh to death when we hit the mall we can ball till theres no mo lefti know you aint used to it but you gon get used to it cause thats the only way ima do it and let me hold youall the homies think im trippin cause i got you a pad but see they just mad cause they aint get you they aint get youscorpio is your sign and girl youre so fine and i would do whatever in no time no shine let me hold youits what youre coming with but ima change all that rearrange that put you in the range all blackwith the rims to match phone attached tvs in the back how you gon say no to that huh let me hold youniggas look at me like man here you go really bout to blow some dough but aint nobody did it before so why is you so gung hocause i believe this was meant to be i just gotta work at it like a crack addict up in rehabin my arms in my mind all the time i wanna keep you right by my side till i die im gonna hold you down and make sure everything is right wit you you can never go wrong if you let me hold youdown like a real friends supposed to im trying to show you the life that somebody like you should be living oh baby baby you could never go wrong if you let me hold youdown down around atlanta lanta far found and everybody know now what im tryna do i saydown down around atlanta lanta far found im just tryna get you to let me hold youdown down around atlanta lanta far found and everybody know now what im tryna do i saydown down around atlanta lanta far found im just tryna get you to let me hold youin my arms in my mind all the time i wanna keep you right by my side till i die im gonna hold you down and make sure everything is right wit you you can never go wrong if you let me hold youdown like a real friends supposed to im trying to show you the life that somebody like you should be living oh baby baby you could never go wrong if you let me hold you ",1
30,"like you","bow wow featuring ciara",2005," i aint never had nobody show me all the things that you done showed me and the special way i feel when you hold me we gon always be together baby thats what you told me and i believe it cause i aint never had nobody do me like younow i done been with different kind of girls like i done seen em all but aint none of them at all like you and i done seen the best of the best baby still i aint impressed cause aint none of them at all like youif you know how i feel when i chill if im seen with a girl then she gotta be just like you and baby thats the way i feel and i got no choice but for me to keep it realcause when we first got together started hanging out you was skeptical at first had to figure out if i was the kind of guy to try to dog you out but i aint that kind of guy you tried to make me outyou found out when you turned to my baby i showed them other brothers how to treat a lady i let you drive when i ride that mercedes and i aint trippin or actin shady cause baby you knowi aint never had nobody show me all the things that you done showed me and the special way i feel when you hold me we gon always be together baby thats what you told me and i believe it cause i aint never had nobody do me like youand every time i think about you i fly when you ride when you call when you come i ride your love is amazing to me cant wait til i see you i wanna be wit you againand every time youre out on the road i make a trip and whenever im doing a show dont you forget that im your main chick who got that game chick one and the same chick the one you can hang withi aint never had nobody show me all the things that you done showed me and the special way i feel when you hold me we gon always be together baby thats what you told me and i believe it cause i aint never had nobody do me like youokay we hit the mall pop tags spend a few gs in hit the runway to a new season it aint nothin incomprehensible the one i care for feel like i aint doing enough thats when i share morei give you this give you that what you need love you know i got it holler at me if you need love and affection cause ill be your protection kinda hard job but ill do it to perfectionand you can tell that i aint tryna let you go i get with you when i can so thats how i let you know and you be trippin cause sometimes i gotta go but you the first one i holler to right after my showsand i was trippin in a sense i was tense from my body loose around you what ima do without you i gotta get it together say whatever since i met you my life seems so betteri aint never had nobody show me all the things that you done showed me and the special way i feel when you hold me we gon always be together baby thats what you told me and i believe it cause i aint never had nobody do me like youi aint never had nobody show me all the things that you done showed me and the special way i feel when you hold me we gon always be together baby thats what you told me and i believe it cause i aint never had nobody do me like you ",1
31,"rich girl","gwen stefani featuring eve",2005," na na na na na na na na na na na na na na na na na na na na na na na nana na na na na na na na na na na na na na na na na na na na na na na naif i was a rich girl na na see id have all the money in the world if i was a wealthy girl no man could test me impress me my cash flow would never ever end cause id have all the money in the world if i was a wealthy girlthink what that money could bring id buy everything clean out vivienne westwood in my galliano gown no wouldnt just have one hood a hollywood mansion if i could please book me firstclass to my fancy house in london townall the riches baby wont mean anything all the riches baby wont bring what your love can bring all the riches baby wont mean anything dont need no other baby your lovin is better than gold and i knowif i was rich girl na na see id have all the money in the world if i was a wealthy girl no man could test me impress me my cash flow would never ever end cause id have all the money in the world if i was a wealthy girlid get me four harajuku girls to uh huh inspire me and theyd come to my rescue id dress them wicked id give them names yeah love angel music baby hurry up and come and save meall the riches baby wont mean anything all the riches baby wont bring what your love can bring all the riches baby wont mean anything dont need no other baby your lovin is better than gold and i knowcome together all over the world from the hoods of japan harajuku girls what its all love what give it up what shouldnt matter repeat x4 what come together all over the world from the hoods of japan harajuku girls what its all love what give it up what shouldnt matter repeat x4 what happened to my life turned upside down chicks dat blew ya mind ding its the second round original track and ting mmm you know you cant buy these things no see stefani and her lamb i rock the fetish people you know who i amyes maam we got the style thats wicked i hope you can all keep up we climbed all the way from the bottom to the top now we aint gettin nothin but loveif i was rich girl na na see id have all the money in the world if i was a wealthy girl no man could test me impress me my cash flow would never ever end cause id have all the money in the world if i was a wealthy girlna na na na na na na na na na na na na na na na na na na na na na na nana na na na na na na na na na na na na na na na na na na na na na na nana na na na na na na na na na na na na na na na na na na na na na na na ",1
32,"my humps","the black eyed peas",2005,"watchu gon do wit el dat jonk  el dat jonk ensid ur tunk  emma gut gut gut gat eue drank  gat ue lav drank ov ma hoomp my hump my hump my hump my hump my hump my hump my hump my hump my lovely little lumps check it out i drive these brothers crazy i do it on the daily they treat me really nicely they buy me all these icees dolce gabbana fendi and adonna karen they be sharin all their money got me wearin fly gear but i aint askin they say they love my ass ̢n se7en jeans true religion i say no but they keep givin so i keep on takin and no i aint taken we can keep on datin i keep on demonstrating my love my love my love my love you love my lady lumps my hump my hump my hump my humps they got you shes got me spendin oh spendin all your money on me and spendin time on me shes got me spendin oh spendin all your money on me on me on me what you gon do with all that junk all that junk inside that trunk ima get get get get you drunk get you love drunk off my hump what you gon do with all that ass all that ass inside them jeans im a make make make make you scream make you scream make you scream cos of my hump my hump my hump my hump my hump my hump my hump my lovely lady lumps check it out i met a girl down at the disco she said ̢hey hey hey yea lets go̢  i could be your baby you can be my honey and lets spend time not money i mix your milk wit my cocoa puff milky milky cocoa mix your milk with my cocoa puff milky milky right they say im really sexy the boys they wanna sex me they always standing next to me always dancing next to me tryin a feel my hump hump lookin at my lump lump you can look but you cant touch it if you touch it ima start some drama you dont want no drama no no drama no no no no drama so dont pull on my hand boy you aint my man boy im just tryna dance boy and move my hump my hump my hump my hump my hump my hump my hump my hump my hump my hump my hump my lovely lady lumps my lovely lady lumps my lovely lady lumps in the back and in the front my lovin got you shes got me spendin oh spendin all your money on me and spendin time on me shes got me spendin oh spendin all your money on me on me on me what you gon do with all that junk all that junk inside that trunk ima get get get get you drunk get you love drunk off my hump what you gon do with all that ass all that ass inside them jeans im a make make make make you scream make you scream make you scream what you gon do with all that junk all that junk inside that trunk ima get get get get you drunk get you love drunk off this hump what you gon do wit all that breast all that breast inside that shirt ima make make make make you work make you work work make you work shes got me spendin oh spendin all your money on me and spendin time on me shes got me spendin oh spendin all your money on me on me on me so real so real so real",3
33,"obsession no es amor","frankie j featuring baby bash",2005," check check this happened for real baby bashyeahfrankie j obessionwell its early in the morning and my heart is feelin lonely just thinkin bout you baby got me twisted in the head and i dont know how to take it but its driving me so crazy i dont know if its right im tossin turning in my bed its 5 oclock in the morning and i still cant sleep thinkin bout your beauty it makes me weak im feeling hopeless in my home i dont know what to do i think im in love babychorusamorno es amorif this aint love then what am i feeling what am i doing wrong amorno es amorif this aint love is this an illusion that i have in my heartnow i know youre not my lady but im tryin to make this right i dont know what to do im going out of my mind so baby if you let me could kick it wit you then will maybe we could ride together we could do this all night now i dont care if you got a man baby i wish youd understand cause i know he cant love you right quite like i can its 5 oclock in the morning and i still cant sleep thinkin bout your beauty it makes me weak im feeling hopeless at home i dont know what to do i think im in lovechorus amorno es amor if this aint love then what am i feeling what am i doing wrong amorno es amor if this aint love is this an illusion that i have in my heartoooi love the way you freaky like that oooi love the way you freaky like that oooi love the way you freaky like that its an obsessionbaby bash hold up let me dream shorty got me feelin serene youre my candy youre my cream got your boy feel less supreme hold up wait a minute baby you so damn independent love everything your representing got alot of money and i love to spend it and thats whats up and i dont care what people scream youre my blessin when im stressin my superfly beauty queen ima keep it saucy cause my mama know how i do we go rendezvous mi corazon belongs to youchorus amorno es amorif this aint love then what am i feeling what am i doing wrong what am i doin wrong echo amor no es amor if this aint love is this an illusion that i have in my heart amorno es amor if this aint love what am i feelling what am i doing wrong what am i doin so wrong echo amorno es amor if this aint love is this an illusion that i have in my heartamor ",1
34,"caught up","usher",2005," im the kind of brotha who been doin it my way gettin my bread for years in my career and every lover in and out my life i hear love and left the tears without a care until i met this girl who turned the tables around she caught me by surprise i never thought id be the one breaking down i cant figure it out whyim so caught up got me feelin it caught up i dont know what it is but it seems shes got me twisted im so caught up got me feelin it caught up im losin control this girls got a hold on melet me go baby now listen my momma told me be careful who you do cause karma comes back around same ol song but i was so sure that it wouldnt happen to me cause i know how to put it down but i was so wrong this girl was mean she really turned me out her body was so tight im lookin for her in the daytime with a flashlight my homies say this girl is crampin my style and i cant figure it outbut im so caught up got me feelin it caught up i dont know what it is but it seems shes got me twistedim so caught up got me feelin it caught up im losin control this girls got a hold im so caught up really feelin it caught up i dont know what it is but it seems shes got me twistedim so caught up really feelin it caught up im losin control this girls got a hold on meand i think i like it baby oh no oh no ooh yeah oh mythis girl was mean she really turned me out yeah yeah yeah suga my homies say this girl is crampin my style im so caught up caught up dont know what it is but it seems shes got me twisted im so caught up really feelin it caught up im losin control this girls got a hold im so caught up im so caught up i dont know what it is but it seems shes got me twisted im caught up really feelin it caught up im losin control this girls got a hold on me ",1
35,"listen to your heart","dht featuring edmee",2005," i know theres something in the wake of your smile i get a notion from the look in your eyes yea youve built a love but that love falls apart your little piece of heaven turns to darklisten to your heart when hes calling for you listen to your heart theres nothing else you can doi dont know where youre going and i dont know why but listen to your heart before you tell him goodbyesometimes you wonder if this fight is worthwhile the precious moments are all lost in the tide yea theyre swept away and nothing is what is seems the feeling of belonging to your dreamslisten to your heart when hes calling for you listen to your heart theres nothing else you can doi dont know where youre going and i dont know why but listen to your heart before you tell him goodbyeand there are voices that want to be heard so much to mention but you cant find the words the scent of magic the beauty thats been when love was wilder then the windlisten to your heart when hes calling for you listen to your heart theres nothing else you can doi dont know where youre going and i dont know why but listen to your heart before you tell him goodbye listen to your heart oohi dont know where youre going and i dont know why but listen to your heart before you tell him goodbye ",1
36,"scars","papa roach",2005," i tear my heart open i sew myself shut my weakness is that i care too much and my scars remind me that the past is real i tear my heart open just to feelim drunk and im feeling down and i just wanna be alone im pissed cuz you came around why dont you just go homecuz you channelled all your pain and i cant help you fix yourself youre making me insane all i can say isi tear my heart open i sew myself shut and my weakness is that i care too much and our scars remind us that the past is real i tear my heart open just to feeli tried to help you once against my own advice i saw you going down but you never realizedthat youre drowning in the water so i offered you my hand compassions in my nature tonight is our last standi tear my heart open i sew myself shut and my weakness is that i care too much and our scars remind us that the past is real i tear my heart open just to feelim drunk and im feeling down and i just wanna be alone you shouldve never come around why dont you just go homecuz youre drowning in the water and i tried to grab your hand i left my heart open but you didnt understand but you didnt understand go fix yourselfi cant help you fix yourself but at least i can say i tried im sorry but i gotta move on with my own lifei cant help you fix yourself but at least i can say i tried im sorry but i gotta move on with my own lifei tear my heart open i sew myself shut and my weakness is that i care too much and our scars remind us that the past is real i tear my heart open just to feeli tear my heart open i sew myself shut and my weakness is that i care too much and our scars remind us that the past is real i tear my heart open just to feel ",1
37,"feel good inc","gorillaz",2005," citys breaking down on a camels back they just have to go cause they dont know whack so all you fill the streets its appealing to see you wont get out the county cause youre bad and free youve got a new horizon its ephemeral style a melancholy town where we never smile and all i want to hear is the message beep my dreams theyve got to kiss because i dont get sleep nowindmill windmill for the land learn forever hand in hand take it all in on your stride it is stinking falling down love forever love is free lets turn forever you and me windmill windmill for the land is everybody inlaughing gas these hazmats fast cats lining them upa like ass cracks ladies homies at the track its my chocolate attack shit im stepping in the heart of this here care bear bumping in the heart of this here watch me as i gravitate ha ha ha yo we gonna go ghost town this motown with yo sound youre in the place you gonna bite the dust cant fight with us with yo sound you kill the inc so dont stop get it get it until youre cheddar header yo watch the way i navigate ha ha hawindmill windmill for the land turn forever hand in hand take it all in on your stride it is stinking falling down love forever love is free lets turn forever you and me windmill windmill for the land is everybody in ",1
38,"let me go","3 doors down",2005," one more kiss could be the best thing but one more lie could be the worst and all these thoughts are never resting and youre not something i deservein my head theres only you now this world falls on me in this world theres real and make believe and this seems real to meyou love me but you dont know who i am im torn between this life i lead and where i stand and you love me but you dont know who i am so let me go let me goi dream ahead to what i hope for and i turn my back on loving you how can this love be a good thing when i know what im goin throughin my head theres only you now this world falls on me in this world theres real and make believe and this seems real to meyou love me but you dont know who i am im torn between this life i lead and where i stand and you love me but you dont know who i am so let me go let me goand no matter how hard i try i cant escape these things inside i know i know when all the pieces fall apart you will be the only one who knows who knowsyou love me but you dont know who i am im torn between this life i lead and where i stand and you love me but you dont know who i am so let me go let me goand you love me but you dont you love me but you dont you love me but you dont know who i am and you love me but you dont you love me but you dont you love me but you dont know who i am ",1
39,"holiday","green day",2005," hear the sound of the falling rain coming down like an armageddon flame hey a shame the ones who died without a namehear the dogs howlin out of key to a hymn called faith and misery hey and bleed the company lost the war todayi beg to dream and differ from the hollow lies this is the dawning of the rest of our lives on holidayhear the drum pounding out of time another protester has crossed the line hey to find the moneys on the other sidecan i get another amen amen theres a flag wrapped around a score of men hey a gag a plastic bag on a monumenti beg to dream and differ from the hollow lies this is the dawning of the rest of our lives on holidaythe representative from california has the floorsieg heil to the president gasman bombs away is your punishment pulverize the eiffel towers who criticize your government bang bang goes the broken glass and kill all the fags that dont agree trials by fire setting fire is not a way thats meant for me just cause just cause because were outlaws yeahi beg to dream and differ from the hollow lies this is the dawning of the rest of our lives i beg to dream and differ from the hollow lies this is the dawning of the rest of our lives this is our lives on holiday ",1
40,"sugar were goin down","fall out boy",2005," am i more than you bargained for yet ive been dying to tell you anything you want to hear cause thats just who i am this week lie in the grass next to the mausoleum im just a notch in your bedpost but youre just a line in a song a notch in your bedpost but youre just a line in a songdrop a heart break a name were always sleeping in and sleeping for the wrong teamwere going down down in an earlier round and sugar were going down swinging ill be your number one with a bullet a loaded gun complex cock it and pull itwere going down down in an earlier round and sugar were going down swinging ill be your number one with a bullet a loaded gun complex cock it and pull itis this more than you bargained for yet oh dont mind me im watching you two from the closet wishing to be the friction in your jeans isnt it messed up how im just dying to be him im just a notch in your bedpost but youre just a line in a song notch in your bedpost but youre just a line in a songdrop a heart break a name were always sleeping in and sleeping for the wrong teamwere going down down in an earlier round and sugar were going down swinging ill be your number one with a bullet a loaded gun complex cock it and pull itwere going down down in an earlier round and sugar were going down swinging ill be your number one with a bullet a loaded gun complex cock it and pull itdown down in an earlier round and sugar were going down swinging ill be your number one with a bullet a loaded gun complex cock it and pull itwere going down down in an earlier round take aim at myself and sugar were going down swinging take back what you said ill be your number one with a bullet take aim at myself a loaded gun complex cock it and pull itwere going down down down down down down down down were going down down down down a loaded gun complex cock it and pull itwere going down down in an earlier round take aim at myself and sugar were going down swinging take back what you said ill be your number one with a bullet take aim at myself a loaded gun complex cock it and pull it ",1
41,"grind with me","pretty ricky",2005," baby grind on me relax your mind take your time on me let me get deeper shorty ride on me now come and sex me till your body gets weak with slow grindinbaby grind on me slow grind relax your mind take your time on me slow grind let me get deeper shorty ride on me slow grind now come and sex me till your body gets weak slow grind with slow grindin babywhen i hit em i make em say oh sex be my day job i hit em in the back of my car make em ride like a see sawi make em laugh and giggle cuddle a little suckin on the nipple lick the whip cream from the middlegirlfriend ill never go raw i rip off panties and i pop off bras b l u e s t a r ask around the block how freaky we arei drink red bull so i keep stamina run in you belly and bust yo brain whats my name whats my name pretty ricky pretty boy doin pretty good thangsmakin pretty good change gettin good brains from these pretty pretty chicks gettin pretty damn rich pretty ricky ricky ricky and the mavericksbaby grind on me slow grind relax your mind take your time on me slow grind let me get deeper shorty ride on me slow grind now come and sex me till your body gets weak slow grind with slow grindinbaby grind on me slow grind relax your mind take your time on me slow grind let me get deeper shorty ride on me slow grind now come and sex me till your body gets weak slow grind with slow grindin babylay on your back let me rub this cream on ya baby slow motion bout to put this thing on ya baby starin in yo eyes bout to lick them thighs got you hypnotized do you feel the vibeooh ooh ooh ooh starin in yo eyes bout to lick them thighs got you hypnotized do you feel the vibestep one youre kissin on me step two girl im caressin your body step three now im lickin off the whipped cream step four and ooh youre grindin on mebaby grind on me slow grind relax your mind take your time on me slow grind let me get deeper shorty ride on me slow grind now come and sex me till your body gets weak slow grind with slow grindinbaby grind on me slow grind relax your mind take your time on me slow grind let me get deeper shorty ride on me slow grind now come and sex me till your body gets weak slow grind with slow grindin babyslick got mo game than a lil bit baby girl fivefive brown eyes with the thick lips thick thighs with the slim hips sugar honey ice tea baby girl is the shit and a bag of chipsi like to catch her when she comin home lights out with the cherry thong eat her up like a sundae cone but as of mornin you got me openlove john is strokin no jokin coochie swollen the bedroom smokin get some air up in this room girl ah ah ah ahif lovin you is wrong i dont wanna be right so imma take my time and do it right cause we got all night cause we got all night baby girl justbaby grind on me slow grind relax your mind take your time on me slow grind let me get deeper shorty ride on me slow grind now come and sex me till your body gets weak slow grind with slow grindinbaby grind on me slow grind relax your mind take your time on me slow grind let me get deeper shorty ride on me slow grind now come and sex me till your body gets weak slow grind with slow grindin baby ",1
42,"run it","chris brown featuring juelz santana",2005," okay check it check it check it out santana again steppin steppin steppin out one of them brand new big boy toys i do big boy things i make big boy noise cause i know what girls want i know what they like they want to stay up and party all night so bring a friendlet me talk to you tell you how it is i was thinkin when i saw that body gotta get shorty tell her what the young boy goin do damn them chicks with you gotta be okay babe pretty thick with a kick thats sick that need to be hit so tell me what yall goin doi got friends and you got friends they hop out and you hop in i look fly and they jockin the way you drop drop makes me wanna popi got friends and you got friends they hop out and you hop in i look fly and they jockin the way you drop drop makes me wanna popis yo man on the floor if he aint let me know lemme see if you can run it run it girl indeed i can run it run itis yo man on the floor if he aint let me know lemme see if you can run it run it girl indeed i can run it run ityoull see girl i can set you off i dont believe my age gonna slow us down i can definitely show you things to have you saying i cant be 16 once i get in you wont let go and i i have them girls wishin they were you and i i know you heard bout me but guess whats goin down if we leavei got friends and you got friends they hop out and you hop in i look fly and they jockin the way you drop drop makes me wanna popi got friends and you got friends they hop out and you hop in i look fly and they jockin the way you drop drop makes me wanna popis yo man on the floor if he aint let me know lemme see if you can run it run it girl indeed i can run it run itis yo man on the floor if he aint let me know lemme see if you can run it run it girl indeed i can run it run itgirl you feel right make me feel like i wanna do a little somethin aint no thing lets do it fo sho the way that yo wearin them jeans is turnin me on youre the hottest thing thats in these streets so baby wont you rock wit memake it drop honey make it pop honey whip wop tick tock to the clock fo me dont stop doin that and shorty know what i mean when i tell her so she wont stop doin that plus i heard if you can dance you can bump well dance time is up lets go lets goyup we can get it in we can get some friends do it like he ying yang twins start whisperin wait till you see myhey wait till you see myhey let me fall back you aint ready for all that have you sleep late real late yeah takin them long naps you tell yo friends to get wit my friends we can be friends switch and meet friendsswitch we can do it all night long and until the clock hit mornin ya digis yo man on the floor if he aint let me know lemme see if you can run it run it girl indeed i can run it run it ",1
43,"photograph","nickelback",2005," look at this photograph every time i do it makes me laugh how did our eyes get so red and what the hell is on joeys headthis is where i grew up i think the present owner fixed it up i never knew we ever went without the second floor is hard for sneakin outand this is where i went to school most of the time i had better things to do criminal record says i broke in twice i must of done it half a dozen timesi wonder if its too late should i go back and try to graduate lots better now than it was back then if i was them i wouldnt let me in oh whoa whoa whoa god ievery memory of lookin out the back door i have the photo album spread out on my bedroom floor its hard to say it time to say it good bye good bye every memory of walkin out the front door i found the photo of the friend that i was lookin for its hard to say it time to say it good bye good bye good byeremember the old arcade blew every dollar that we ever made the cops hated us hangin out they said somebody went and burnt it downwe use to listen to the radio and sing along with every song we know we said someday wed find out how it feels to sing to more than just a steering wheelkims the first girl i kissed i was so nervous that i nearly missed shes had a couple of kids since then i havent seen her since god knows when oh whoa whoa whoa god ievery memory of lookin out the back door i have the photo album spread out on my bedroom floor its hard to say it time to say it good bye good bye every memory of walkin out the front door i found the photo of the friend that i was lookin for its hard to say it time to say it good bye good bye good byei miss that town i miss their faces you cant erase you cant replace it i miss it now i cant believe it so hard to stay too hard to leave itif i could relive those days i know the one thing that would never changeevery memory of lookin out the back door i have the photo album spread out on my bedroom floor its hard to say it time to say it good bye good bye every memory of walkin out the front door i found the photo of the friend that i was lookin for its hard to say it time to say it good bye good bye good byelook at this photograph every time i do it makes me laugh every time i do it makes me ",1
44,"lonely","akon",2005," lonely im mr lonely i have nobody to call my ownim so lonely im mr lonely i have nobody for my own im so lonelyyo this one here goes out to all my playas out there man you know that got that one good girl lord thats always been there man like took all the bull and then one day she cant take it no more and decide to leaveyeah i woke up in the middle of the night and i noticed my girl wasnt by my side coulda sworn i was dreamin for her i was feenin so i had to take a little ridebacktracking on these few years tryna figure out what i do to make it go bad cuz ever since my girl left me my whole life came crashin an im solonely so lonely im mr lonely mr lonely i have nobody i have nobody to call my own to call my own girli am so lonely so lonely im mr lonely mr lonely i have nobody i have nobody for my own to call my own girl i am so lonelycant believe i had a girl like you and i just let you walk right outta my life after all i put you through you still stuck around and stayed by my sidewhat really hurt me is i broke your heart baby you a good girl and i had no right i really wanna make things right cuz without you in my life girl im solonely so lonely im mr lonely mr lonely i have nobody i have nobody to call my own to call my own girli am so lonely so lonely im mr lonely mr lonely i have nobody i have nobody for my own to call my own girl i am so lonelybeen all about the world aint never met a girl that can take the things that you been through never thought the day would come where youd get up and run and i would be out chasing youcuz aint nowhere in the globe id rather be aint no one in the globe id rather see than the girl of my dreams that made me be so happy but now im so lonelylonely so lonely im mr lonely mr lonely i have nobody i have nobody to call my own to call my own noi am so lonely so lonely im mr lonely mr lonely i have nobody i have nobody for my own to call my own girl i am so lonelynever thought that id be alone be alone i didnt think youd be gone this long gone so long i just want you to call my phone so stop playing girl and come on home come on homebaby girl i didnt mean to shout i want me and you to work it out work it out baby i never wished that i would hurt my baby hurt my baby and its drivin me crazy cuz im solonely so lonely im mr lonely mr lonely i have nobody i have nobody for my own to call my own girli am so lonely so lonely im mr lonely mr lonely i have nobody i have nobody for my own to call my own girl i am so lonelyso lonely lonely so lonely so lonely mr lonely lonelyso lonely so lonely so lonely lonelyso lonely so lonely so lonely mr lonely ",1
45,"collide","howie day",2005," the dawn is breaking a light shining through youre barely waking and im tangled up in you yeahim open youre closed where i follow youll go i worry i wont see your face light up againeven the best fall down sometimes and even the wrong words seem to rhyme out of the doubt that fills your mind i somehow find you and i collidedo do do do do x4im quiet you know you make a first impression ive found im scared to know im always on your mindwell even the best fall down sometimes even the stars refuse to shine out of the back you fall in time i somehow find you and i collidedont stop here i lost my place im close behinddo do do do do x4even the best fall down sometimes even the wrong words seem to rhyme out of the doubt that fills your mind you finally find you and i collidedo do do do do x2you finally find you and i collidedo do do do do x2you finally find you and i collide ",1
46,"wake me up when september ends","green day",2005," summer has come and passed the innocent can never last wake me up when september endslike my fathers come to pass seven years has gone so fast wake me up when september endshere comes the rain again falling from the stars drenched in my pain again becoming who we areas my memory rests but never forgets what i lost wake me up when september endssummer has come and passed the innocent can never last wake me up when september endsring out the bells again like we did when spring began wake me up when september endshere comes the rain again falling from the stars drenched in my pain again becoming who we areas my memory rests but never forgets what i lost wake me up when september endssummer has come and passed the innocent can never last wake me up when september endslike my fathers come to pass twenty years has gone so fast wake me up when september ends wake me up when september ends wake me up when september ends ",1
47,"slow down","bobby valentino",2005," tim and bob bobby valentino i slow it down its the remixi can tell you keep yourself up hair and nails done plus a good job baby i can tell you from a good home youre a leader and your head is strongyoure exclusive not many guys can say they tapped that and i like that put your brake on im writing you a ticket with my name on it plus ten digetsim in your city just for the weekend relaxation is all im seekin this walkin and talkin aint doin it for me so baby wont you please turn aroundand slow down i just wanna know ya slow down i just wanna know ya slow down i just wanna know ya slow down i just wanna know youslow down i just wanna know ya slow down i just wanna know ya slow down i just wanna know ya slow down i just wanna know youmaybe one day we can share a last name take trips over seas just to celebrate whens your birthday im a pisces the right zodiac you can be my wifeyjust imagine dress track and im in a tux and almost cryin we gettin married private ceremony on the beach just like you told yo mamma yeah yeahim in your city just for the weekend relaxation is all im seekin this walkin and talkin aint doin it for me so baby wont you please turn aroundand slow down i just wanna know ya slow down i just wanna know ya slow down i just wanna know ya slow down i just wanna know youslow down i just wanna know ya slow down i just wanna know ya slow down i just wanna know ya slow down i just wanna know youjust a little while talk to me baby im beggin baby im beggin beggin baby just a little while tell me baby im beggin baby im beggin beggin babyjust a little while bless me with your beauty baby im beggin baby im beggin beggin baby just a little while baby baby im beggin baby im beggin beggin babyslow down i just wanna know ya slow down i just wanna know ya slow down i just wanna know ya slow down i just wanna know youslow down i just wanna know ya slow down i just wanna know ya slow down i just wanna know ya slow down i just wanna know youslow down i just wanna know ya slow down i just wanna know ya slow down i just wanna know ya slow down i just wanna know youslow down i just wanna know ya slow down i just wanna know ya slow down i just wanna know ya slow down i just wanna know you ",1
48,"over and over","nelly featuring tim mcgraw",2005," cause its all in my head i think about it over and over again and i cant keep picturing you with him and it hurts so bad yeah cause its all in my head i think about it over and over again i replay it over and over again and i cant take it yeahi cant shake it noi cant wait to see you want to see if you still got that look in your eye that one you had for me before we said our goodbyes and its a shame that we gotta spend our time being mad about the same things over and over again about the same thing over and over againoh but i think shes leaving on and shes leaving here and i dont know what else to do cant go on not loving youcause its all in my head i think about it over and over again and i cant keep picturing you with him and it hurts so bad yeah cause its all in my head i think about it over and over again i replay it over and over again and i cant take it i cant shake it noi remember the day you left i remember the last breath you took right in front of me when you said that you would leave i was too damn stubborn to try to stop you or say anything but i see clearly now and this choice i made keeps playing in my head over and over again it play in my head over and over againoh but i think shes leaving on and shes leaving here and i dont know what else to do cant go on not loving youcause its all in my head i think about it over and over again and i cant keep picturing you with him and it hurts so bad yeah cause its all in my head i think about it over and over again i replay it over and over again and i cant take it i cant shake it nonow that i realize that im going down from all this pain you put me through every time i close my eyes i lock it down oh i cant go on not loving youcause its all in my head i think about it over and over again and i cant keep picturing you with him and it hurts so bad yeah cause its all in my head i think about it over and over again i replay it over and over again and i cant take it i cant shake it nocause its all in my head i think about it over and over again and i cant keep picturing you with him and it hurts so bad yeah cause its all in my head i think about it over and over again i replay it over and over again and i cant take it i cant shake it no ",1
49,"some cut","trillville featuring cutty",2005," what it is hoe ah whats up can a nigga get in them guts cut you up like you aint been cut show your ass how to really catch a nutwell give me your number and ill call and ill follow that ass in the mall take you home let you juggle my balls while im beatin and tearin down your wallsthis your boy mr funkadelic whats the business baby ive been eying you all day in the mall miss lady you looking good i think i seen your ass in the hood with your friends dressed up trying to front if you couldbut anyway gone and drop a number or something so i can call you later on on your phone or something take you home and maybe we could bone or something its no limits to what we do cause tonight we cutting gut bustingim digging in your walls something vicious with your legs to the ceiling catch a nut something serious you delirious or might i say you taste so delicious with your pretty brown skin like almond joys and kissesand you ah certified head doctor number one staller that takes dick in the ass and wont holler bend you over and ill follow you straight to the room where it goes down lovely in the legion of doomwhat it is hoe ah whats up can a nigga get in them guts cut you up like you aint been cut show your ass how to really catch a nutwell give me your number and ill call and ill follow that ass in the mall take you home let you juggle my balls while im beatin and tearin down your wallsshit you know the deal before a nigga even stepped damn that ass hot seems like its gone melt you know i give it to you til you run out of breathe then bust a nut all over yourselfthe first time i called you were juggling on my balls in and out of your jaws i was beating down your walls had your ass breaking laws for a player was the cause and every time you seen a g you was slipping off your drawers i recalli met your ass at the mall in the fall you the one with the dress on let me take you home show your ass how to buss a nut up in the guts cut you up like you aint been cutfrom the back then to the side to the front turn around you down to ride i smack them thighs anyway that you want me so gone see about a pimp and that monkey and thats fo showhat it is hoe ah whats up can a nigga get in them guts cut you up like you aint been cut show your ass how to really catch a nutwell give me your number and ill call and ill follow that ass in the mall take you home let you juggle my balls while im beatin and tearin down your wallswhats the business baby can i get in them drawers i like the way your hands rub against my balls cause you the one a nigga met at south dekalb mall with your pretty brown skin thick thighs and all135 petite and your smell is unique maybe we can exchange numbers and hook up in the week oh you a freak i knew it from the first time i saw you the way you played with your tongue i knew right then i would call youso what it is they call me super don from the ville and ima tell you like this cause a nigga so real and stay trill cause all i wanna do is just drill with that ass in the air and the pussy i killand i feel you love to fuck up on a hill suck dick from behind and take nut in your grill so bitch chill and shut your mouth just for a second while i lay this dick down on you just like im teddywhat it is hoe ah whats up can a nigga get in them guts cut you up like you aint been cut show your ass how to really catch a nutwell give me your number and ill call and ill follow that ass in the mall take you home let you juggle my balls while im beatin and tearin down your walls ",1
50,"get it poppin","fat joe featuring nelly",2005," crack yeah scott storch yall dirty crack cmonits two up in the mornin girl and the dj playin that song now whatchu gon do gonna get get get it poppin boy now whatchu gon do gonna get get get it poppini said its two up in the mornin girl and the dj playin that song now whatchu gon do gonna get get get it poppin boy now whatchu gon do gonna get get get it poppini got that black no limit american express card mami you can get whatever you like plus i got that allblack phantom its tinted on four sides go head kiss it they cant see us insidemami tell me do you like it i know you like it its written all over your face dont fight it you like it more than i like it so put it all over your face dont bite itfrom rags to riches club packed with bitches had to bag them digits her head game was vicious and we can get it poppin in the bathroom dont be selfish ma go ahead and pass it to himthen we can all fuck its like a million on my neck got all of these bitches all awestruck we pissy drunk off of seraphim im up in vip and these bitches are screamin let me inits two up in the mornin girl and the dj playin that song now whatchu gon do gonna get get get it poppin boy now whatchu gon do gonna get get get it poppinits two up in the mornin now and im tryin to go home witchu now whatchu gon do gonna get get get it poppin boy now whatchu gon do gonna get get get it poppinget it poppin go head and drop it its written all over your face dont stop it just drop it more like its hot miss kick in the do with the fofo messin with joenow this chick got an ass so fat in fact i put a drink on it and i came right back she would never talk to a lame like that in my ear screamin how you got a name like crackcrack similar to mike jones say my name enough then im takin you home you know i walk with i talk with i sleep with the chrome one squeeze and youre gonewhat i look like not takin at least three to six women out the club with me now we back to the fuck pad call it the fuck pad cause all these bitches fuckin with me talk to em dirtyits two up in the mornin girl and the dj playin that song now whatchu gon do gonna get get get it poppin boy now whatchu gon do gonna get get get it poppinwell its two up in the mornin and them niggaz tryn hate on your crew nigga whatchu gon do ima get get get it poppin boy yeah whatchu gon do ima get get get it poppinnow when them doors swing open with that awkward motion whatchu call it suicide its a suicide and if them niggaz talk shit cause they drunk off that potion they commitin suicide its a suicidelets get it poppin my niggaz cook yo i got a shotty my niggaz oh lord i feel sorry for your mudda fucker give a fuck what you say spin your head back promote you on a videotapeits two up in the mornin girl and the dj playin that song now whatchu gon do ima get get get it poppin now whatchu gon do ima get get get it poppinits four up in the mornin now and im tryin to go home witchu girl whatchu gon do ima get get get it poppin whatchu gon do ima get get get it poppincmon yeah its crack whatchu gon do cafe incomprehensible all my people in there partyin all the party people across the world ladies things of that nature ",1
51,"play","david banner",2005," cum girl im tryna get your pussy wet work that lemme see you drip sweat cum girl im tryna get your pussy wet work that lemme see you drip sweatgon play with it gon play with it gon play with it gon play with it gon play with it work that clit cum girlfinger fuck your pussy like you want some girl work it like a nigga straight licking on your pearl i wanna see you cum in the middle of the dance floor a nigga cant fuck what you think a friend of me for ima beat that pussy up you get it wet enough i might lick it up lickey lickey lickey like a peppermint swirl lick that clit cum girluh i wanna see your legs shake take you to the crib we can fuck til the bed break uh fuck you til your pussy ache think about the type right now girl mastur uh uh bate for a nigga really freaky in the clubs stop worrying about them other hoes its me in your world work that clit cum girlcum girl im tryna get your pussy wet work that lemme see you drip sweat cum girl im tryna get your pussy wet work that lemme see you drip sweatgon play with it gon play with it gon play with it gon play with it gon play with it work that clit cum girlcum when youre feeling good and lick it all off catch it in your mouth like your last name moss play with the nitty girl stick it on in im feeling real freaky girl bring your friends i can make em bounce like 1 2 3 it aint nothin to a pimp girl play with the gspot make it hot go on get your girl sheryl bring your clique cum girland ima make em all cum beat it like mr calipark on the drum ima beat it like mike when he fucked billie jean work it work it work it til you make that pussy cream move it to the right move your finger to the left work it all around til your ass outta breath i aint trippin on ya baby put some dick in your world work that clit cum girlcum girl im tryna get your pussy wet work that lemme see you drip sweat cum girl im tryna get your pussy wet work that lemme see you drip sweatgon play with it gon play with it gon play with it gon play with it gon play with it work that clit cum girlbend it on over lemme see it from the back work your thumb in it girl i love it like that freaky ass hoes love freaky ass men lemme work ya slow lemme see it going in then you pull it out put your fingers in your mouth you make a nigga wanna fuck your ass on the couch while were still in the club show your pussy love work that clit cum girlgo on and hit the dance floor open up wide lemme show you whats it made for uh like a finger like a donkey lemme see you play funky play with your monkey damn cause your ass so chunky bring it here sweaty cause i love it when its funky ima put some dick in your world work that clit cum girlcum girl im tryna get your pussy wet work that lemme see you drip sweat cum girl im tryna get your pussy wet work that lemme see you drip sweatgon play with it gon play with it gon play with it gon play with it gon play with it work that clit cum girlwork that clit cum girl ",1
52,"soul survivor","young jeezy featuring akon",2005," convict akon and young jeezy tryin to take it easy only way to go and soif you lookin for me ill be on the block with my thang cocked possibly sittin on a drop now cause im a rida yeah yea ima soul survivor yeahcause everybody know the game dont stop tryin to make it to the top for your ass get popped now if you a rida yeah yea ima soul survivor yeahtonight night i cant sleep we livin in hell yeah first they give us the work then they throw us in jail ayywont trip yeah im trafficin in the white please lord dont let me go to jail tonight yeah who me im a soul survivorask about em in the street the boy jeez a rida a hundred grand on my wrist yeah life sucks fuck the club dawg i rather count a million bucks ayyif you lookin for me ill be on the block with my thang cocked possibly sittin on a drop now cause im a rida yeah yea ima soul survivor yeahcause everybody know the game dont stop tryin to make it to the top for your ass get popped now if you a rida yeah yea ima soul survivor yeahanother day another dolla same block same nigga same part same green i guess we got the same dreams ayy or is it the same nightmareswe let the doves do it for us we dont cry tears thats right real niggaz dont budge when mail man got his time he shot birds at the judge yeahim knee deep in the game so when its time to reup im knee deep in the cane damn real talk look im tellin you mayneif you get jammed up dont mention my name no forgive me lord i know i aint livin right gotta feed the block niggaz starvin they got appetites ayyand this is everyday it never gets old thought i was a juvenile stuck to the gcode this aint a rap song nigga this is my life and if the hood was a battlefield then i earned stripes yeahif you lookin for me ill be on the block with my thang cocked possibly sittin on a drop now cause im a rida yeah yea ima soul survivor yeahcause everybody know the game dont stop tryin to make it to the top for your ass get popped now if you a rida yeah yea ima soul survivor yeahgotta watch er move cause them eyes be on you gotta drive real cool when them pies be on you just because we stack paper and we ball outrageous them alphabet boys gotta us under surveillance ayylike animals they lock us in cages the same nigga thats a star when you put em on stages i aint cheat played the hand i was dealt tried to tax the grand pearl when i got it myselflets get it no nuts no glory my biography you damn right the true story yeah set the city on fire and i didnt even try run these streets all day i can sleep when i die ayycause if you lookin for me you can find me on the block disobeyin the law real g thorough bred from the streets pants saggin with my gun in my drawsjust to keep on movin now just to keep on movin now just to keep on movin now just to keep on movin now heyif you lookin for me ill be on the block with my thang cocked possibly sittin on a drop now cause im a rida yeah yea ima soul survivor yeahcause everybody know the game dont stop tryin to make it to the top for your ass get popped now if you a rida yeah yea ima soul survivor yeahif you lookin for me ill be on the block with my thang cocked possibly sittin on a drop now cause im a rida yeah yea ima soul survivor yeahcause everybody know the game dont stop tryin to make it to the top for your ass get popped now if you a rida yeah yea ima soul survivor yeah ",1
53,"pimpin all over the world","ludacris featuring bobby valentino",2005," oh yeahthe fancy cars the women and the caviar you know who we are cause were pimpin all over the world the fancy cars the women and the caviar you know who we are cause were pimpin all over the worldsing it hoes the world the world the worldall over the world baby its only right that i share my experiences with yall cause i been places youd never imagine but im gonna start at home when i see a girl i like i walk straight up to her and im like heyunh hey girl how ya doin you are the woman that im really pursuin and i would like to get to know you can you give me your name and if you jot down your number youll get mine in exchange heysee im the man in this town and i hope you wouldnt mind if i showed you around so when you go to certain places youll be thinkin of me we got people to meet and many places to see heymmm im really diggin your lips but be careful where you walkin when you swingin them hips im kinda concerned youll be causin a crash with your traffic jam booty heads pausin so fast heyi wouldnt trade you for the world i swear it i like your hair in every style that you wear it and how the colors coordinate with your clothes from your manicured nails to your pedicured toes hey whoo oh yeahthe fancy cars the women and the caviar you know who we are cause were pimpin all over the world the fancy cars the women and the caviar you know who we are cause were pimpin all over the worldyou hear the song so dance dont always think im tryin to get in your pants cause see me my pimpins in 3d im takin you places you only see on tv heytryin to show you how you livin is trite how many guys you know can bring the travel channel to life one day we on the autobahn swervin drivin next day we in the sun on the virgin islands heyif you wit me aint no time to sleep specially at wet willys on miami beach but ill drop you off and pay you no attention if i make to atlantas bronner brothers convention heythen jump in the car and just ride for hours makin sure i dont miss the homecoming at howards hawaii to dc theres plenty women to see so if your ass dont show up its more women for me hey oh yeahthe fancy cars the women and the caviar you know who we are cause were pimpin all over the world the fancy cars the women and the caviar you know who we are cause were pimpin all over the worldim in new york at the puerto rican day parade then at night im in new orleans drinkin hand grenades outnumbered by the dozens at the jazzfest then mardi gras all the women tryin to show me their chest heyim in jamaica spendin massive bucks while the ladies all beggin me to mash it up i had sad beginnings when i rapped with no fans now its all happy endings on my lap in japan heyi used to think that it was way too cold til i went to canada and saw some beautiful hoes now i hit the caribana every year in toronto then fly to illinois and get a taste of chicago heyunh oh yet and still you wouldnt believe your eyes if you went to brazil but where the best at aint no need in even askin bro the best women all reside in africa and thats real hey whoo oh yeahthe fancy cars the women and the caviar you know who we are cause were pimpin all over the world the fancy cars the women and the caviar you know who we are cause were pimpin all over the worldsing it hoes the world the world the world heypimpin pimpin pimpin ladies and gentlemen as we ride out could we have all the real pimps please put both your pinky fingers high in the airnow ladies look around with me lets see if we cant weed some of these niggas out cause it aint no way that all these niggas could be pimpinnow if happen to see a nigga with two sweat patches up under his arm look like he been swimmin in shoulder height water please tell that nigga put yo hands downif you smell like you been at work all day and drakkar please put your hands down now look up at the pinky fingers that are still in the airif you see em ashy around the knuckles like the nigga washed half his hands and lotioned three quarters of his body please say put yo hands downif youre spinning rims spin counter clockwise you are not pimpin if you are dancin on the dance floor and you look to your left and your right and there is not a woman in sight guess what you guessed it you are not pimpinif your vodka and cranberry is really really dark like blood thats because you didnt order vodka buddy and thats why its three dollars a glass oh put your hands downnow look down look down now i need i need everybody just to pull up your pants leg one time ok you see the nigga with the white socks not pimpin sorry unless youre part of the beat it entourageif your shoes have a buckle on em not pimpin ",1
54,"my boo","usher and alicia keys",2005," theres always that one person that will always have your heart youll never see it coming cause youre blinded from the start know that youre that one for me its clear for everyone to see oh baby ooh youll always be my booi dont know bout chall but i know about us and uh this is the only way we know how to rock i dont know bout chall but i know about us and uh this is the only way we know how to rockdo you remember girl i was the one who gave you your first kiss cause i remember girl i was the one who said put your lips like this even before all the fame and people screaming your name girl i was there and you were my babyit started when we were younger girl you were mine my boo now another brothers taking over but its still in your eyes my boo even though we used to argue its alright i know we havent seen each other in awhile but you will always be my booi was in love with you when we were younger you were mine my boo and i see it from time to time i still feel like my boo and i can see it no matter how i try to hide my boo even though theres another man whos in my life you will always be my booyes i remember boy cause after we kissed i could only think about your lips yes i remember boy the moment i knew you were the one i could spend my life with even before all the fame and people screaming your name i was there and you were my babyit started when we were younger girl you were mine my boo now another brothers taking over but its still in your eyes my boo even though we used to argue its alright i know we havent seen each other in awhile but you will always be my booi was in love with you when we were younger you were mine my boo and i see it from time to time i still feel like my boo and i can see it no matter how i try to hide my boo even though theres another man in my life you will always be my boomy oh my oh my oh my oh my boo my oh my oh my oh my oh my booit started when we were younger girl you were mine my boo now another brothers taking over but its still in your eyes my boo even though we used to argue its alright i know we havent seen each other in awhile but you will always be my booi dont know bout chall but i know about us and uh this is the only way we know how to rock i dont know bout chall but i know about us and uh this is the only way we know how to rock ",1
55,"sugar gimme some","trick daddy featuring ludacris lil kim and cee lo green",2005,"trick daddy miscellaneous sugar gimme some ceelo uh huh tdubl yeah ceelo aw man i got a sweet tooth can you dig it tdubl after this one you gon need a root canal then ceelo i love sugar all of it tdubl this one for all the clean decent women ceelo lay it on me girl tdubl pay close attention hook ceelo she put that sugar on my tongue shes gonna gimme gimme some she put it right there on my tongue skeet skeet right there on my tongue she turns me on like no other trick daddy and gimme some of your butter pecan  put it right there on tip of my tongue hold it right jeeeah cuz baby if i bite you i bet you like it french vanillas a hell of a flavor for me with strawberries two cherries and whipped cream the best things are the wet dreams and uh the rest is just a flick without a sex scene or lee i speak the truth cuz the blacker the berry the sweeter the juice cuz florida oranges and georgia peaches when they nice and ripe they the best for eatin southern boys we crave for old slice of pie after they main course so if you game for it i came for it i got a thing for ya that i cant ignore hook  2x ludacris she put that sugar on my tongue tongue yippie yippie yum yum goodie goodie gum drop put me in a tongue lock did it till my body went numb numb laid her on her back back turned her round gave her bottom a smack smack shes a woman from the block with the best of weave but i wont stop till im pullin out tracks tracks it was lust at first sight and she couldnt help sayin that she wanted to get with me and my size was just right cuz she wanted a man with a little security said i been around the world twice and my name ring bells from atlanta to sicily said she wanted it all night so put the bubbles in the tub and ludacris and me hook  2x yeah yeah yeah yeeeah yeeeah yeah  yeah yeah trick daddy sweetie you look so incredible so delicious and so damn edible all i need is some honey or syrup with a lil butter to rub down all your curves and no need for the lemonade just a twist of lime and some grape koolaid can i call you caramel cuz im bout to go coocoo to taste your coco puffs one bowl ought to fill me up but that milk gotta be cold enough so supper time thatll hold me up i might choke myself if i dont slow it up but honey you look like a honeydew melon or strawberry with the whipped cream filling of the top part of the peach cobbler but uh the fruit platter ought to do me better hook  2x",3
56,"karma","alicia keys",2005," werent you the one that said that you dont want me anymore and how you need your space and give the keys back to your door and how i cried and tried and tried to make you stay with me but still you said the love was gone and that i had to leavenow you talkin bout a family now you sayin i complete your dream now you sayin im your everything youre confusing me what you say to me dont play with me dont play with me causewhat goes around comes around what goes up must come down now whos cryin desirin to come back to me what goes around comes around what goes up must come down now whos cryin desirin to come backi remember when i was sittin home alone waiting for you til three oclock in the mornand when you came home youd always have some sorry excuse half explaining to me like im just some kind of a fool i sacrificed the things i want just to do things for you but when its time to do for me you never come throughnow you wanna be up under me now you have so much to say to me hey now you want to make time for me what you do to me your confusing me dont play with me dont play with me causewhat goes around comes around what goes up must come down now whos cryin desirin to come back to me what goes around comes around what goes up must come down now whos cryin desirin to come backi remember when i was sittin home alone waiting for you til three oclock in the morn night after night knowing somethin goin on wasnt long before i be gggone lord knows it wasnt easy believe me never thought youd be the one that would deceive me and never do what you supposed to do no need to approach me boo cause im over youwhat goes around comes around what goes up must come down now whos cryin desirin to come back to me what goes around comes around what goes up must come down gotta stop cryin to come back to megoes around comes around what goes up must come down hes cryin cryin my baby and it goes around what goes around comes around what goes up must come down now whos cryin desirin to come back to me ",1
57,"speed of sound","coldplay",2005," how long before i get in before it starts before i begin how long before you decide before i know what it feels like where to where do i go if you never try then youll never know how long do i have to climb up on the side of this mountain of minelook up i look up at night planets are moving at the speed of light climb up up in the trees every chance that you get is a chance you seize how long am i gonna stand with my head stuck under the sand ill start before i can stop before i see things the right way upall that noise and all that sound all those places i have found and birds go flying at the speed of sound to show you how it all began birds came flying from the underground if you could see it then youd understandideas that youll never find all the inventors could never design the buildings that you put up japan and china all lit up the sign that i couldnt read or a light that i couldnt see some things you have to believe but others are puzzles puzzling meall that noise and all that sound all those places i have found and birds go flying at the speed of sound to show you how it all began birds came flying from the underground if you could see it then youd understand ah when you see it then youll understandall those signs i knew what they meant some things you can invent some get made and some get sent oh birds go flying at the speed of sound to show you how it all began birds came flying from the underground if you could see it then youd understand ah when you see it then youll understand ",1
58,"i dont want to be","gavin degraw",2005," i dont need to be anything other than a prison guards son i dont need to be anything other than a specialists son i dont have to be anyone other than the birth of two souls in one part of where im going is knowing where im coming fromi dont want to be anything other than what ive been trying to be lately all i have to do is think of me and i have a peace of mind im tired of looking round rooms wondering what ive got to do or who im supposed to bei dont want to be anything other than me im surrounded by liars everywhere i turn im surrounded by impostors everywhere i turn im surrounded by identity crisis everywhere i turn am i the only one whos noticed i cant be the only one whos learnedi dont want to be anything other than what ive been trying to be lately all i have to do is think of me and i have a peace of mind im tired of looking round rooms wondering what ive got to do or who im supposed to bei dont want to be anything other than me can i have everyones attention please if youre not like this and that youre gonna have to leave i came from the mountain the crust of creation my whole situation made from clay to stone and now im telling everybodyi dont want to be anything other than what ive been trying to be lately all i have to do is think of me and i have a peace of mind im tired of looking round rooms wondering what ive got to do or who im supposed to be i dont want to be anything other than me i dont want to be i dont want to be i dont want to be ",1
59,"mockingbird","eminem",2005," yeah i know sometimes things may not always make sense to you right now but hey what daddy always tell you straighten up little soldier stiffen up that upper lip what you crying about you got mehailie i know you miss your mom and i know you miss your dad well im gone but im trying to give you the life that i never had i can see youre sad even when you smile even when you laugh i can see it in your eyes deep inside you want to cry cause youre scared i aint there daddys with you in your prayers no more crying wipe them tears daddys here no more nightmares we gon pull together through it we gon do it laney uncles crazy aint he yeah but he loves you girl and you better know it were all we got in this world when it spins when it swirls when it whirls when it twirls two little beautiful girls lookin puzzled in a daze i know its confusing you daddys always on the move mamas always on the news i try to keep you sheltered from it but somehow it seems the harder that i try to do that the more it backfires on me all the things growing up his daddy that he had to see daddy dont want you to see but you see just as much as he did we did not plan it to be this way your mother and me but things have gotten so bad between us i dont see us ever being together ever again like we used to be when we were teenagers but then of course everything always happens for a reason i guess it was never meant to be but its just something we have no control over and thats what destiny is but no more worries rest your head and go to sleep maybe one day well wake up and this will all just be a dreamnow hush little baby dont you cry everythings gonna be alright stiffen that upper lip up little lady i told ya daddys here to hold ya through the night i know mommys not here right now and we dont know why we fear how we feel inside it may seem a little crazy pretty baby but i promise mommas gon be alrightits funny i remember back one year when daddy had no money mommy wrapped the christmas presents up and stuck em under the tree and said some of em were from me cause daddy couldnt buy em ill never forget that christmas i sat up the whole night crying cause daddy felt like a bum see daddy had a job but his job was to keep the food on the table for you and mom and at the time every house that we lived in either kept getting broken into and robbed or shot up on the block and your mom was saving money for you in a jar tryna start a piggy bank for you so you could go to college almost had a thousand dollars till someone broke in and stole it and i know it hurt so bad it broke your mommas heart and it seemed like everything was just startin to fall apart mom and dad was arguin a lot so momma moved back on the chalmers in the flat one bedroom apartment and dad moved back to the other side of 8 mile on novara and thats when daddy went to california with his cd and met dr dre and flew you and momma out to see me but daddy had to work you and momma had to leave me then you started seeing daddy on the tv and momma didnt like it and you and laney were to young to understand it papa was a rollin stone momma developed a habit and it all happened too fast for either one of us to grab it im just sorry you were there and had to witness it first hand cause all i ever wanted to do was just make you proud now im sitting in this empty house just reminiscing lookin at your baby pictures it just trips me out to see how much you both have grown its almost like youre sisters now wow guess you pretty much are and daddys still here laney im talkin to you too daddys still here i like the sound of that yeah its got a ring to it dont it shh mommas only gone for the momentnow hush little baby dont you cry everythings gonna be alright stiffen that upper lip up little lady i told ya daddys here to hold ya through the night i know mommys not here right now and we dont know why we fear how we feel inside it may seem a little crazy pretty baby but i promise mommas gon be alrightand if you ask me too daddys gonna buy you a mockingbird imma give you the world imma buy a diamond ring for you imma sing for you ill do anything for you to see you smile and if that mockingbird dont sing and that ring dont shine imma break that birdies neck ill go back to the jeweler who sold it to ya and make him eat every carat dont fuck with dad ha ha ",1
60,"la tortura","shakira featuring alejandro sanz",2005," ay padrita m�_a gu��rdate la poes�_a gu��rdate la alegr�_a pa tidame dame d��melo ohno pido que todos los d�_as sean de sol no pido que todos los viernes sean de fiesta tampoco te pido que vuelvas rogando perd�_n si lloras con los ojos secos y hablando de ellaay amor me duele tanto me duele tanto que te fueras sin decir a donde ay amor fue una tortura perderteyo s̩ que no he sido un santo pero lo puedo arreglar amorno solo de pan vive el hombre y no de excusas vivo yosolo de errores se aprende y hoy se que es tuyo mi coraz�_nmejor te guardas todo eso a otro perro con ese hueso y nos decimos adi�_sesto es otra vez esto es otra vez nono puedo pedir que el invierno perdone a un rosal no puedo pedir a los olmos que entreguen peras no puedo pedirle lo eterno a un simple mortal y andar arrojando a los cerdos miles de perlasay amor me duele tanto me duele tanto que no creas m��s en mis promesas ay amor es una tortura perderteyo se que no he sido un santo pero lo puedo arreglar amorno solo de pan vive el hombre y no de excusas vivo yosolo de errores se aprende y hoy se que es tuyo mi coraz�_nmejor te guardas todo eso a otro perro con ese hueso y nos decimos adi�_sno te bajes no te rajes oye negrita mira no te rajes de lunes a viernes tienes mi amor d̩jame el s��bado a mi que es mejor oye mi negra no me castigues m��s porque all�� afuera sin ti no tengo paz yo solo soy un hombre arrepentido soy como el ave que vuelve a su nidoyo se que no he sido un santo y es que no estoy hecho de cart�_nno solo de pan vive el hombre y no de excusas vivo yosolo de errores se aprende y hoy se que es tuyo mi coraz�_nay ay ay ay ay ay todo lo que he hecho por ti una tortura perderte me duele tanto que sea as�_ sigue llorando perd�_n yo yo no voy a llorar por ti ",1
61,"she will be loved","maroon 5",2005," beauty queen of only eighteen she had some trouble with herself he was always there to help her she always belonged to someone elsei drove for miles and miles and wound up at your door ive had you so many times but somehow i want morei dont mind spendin everyday out on your corner in the pourin rain look for the girl with the broken smile ask her if she wants to stay awhile and she will be loved and she will be loved    meaning  byamandah   editor    selfproclaimed maroon 5 fan mike schiavos audition for 2016s season of the voice ended in a duet with adam levine himself watch them nail she will be    see all   tap on my window knock on my door i want to make you feel beautiful i know i tend to get so insecure it doesnt matter anymoreits not always rainbows and butterflies its compromise that moves us along yeah my heart is full and my doors always open you can come anytime you want yeahi dont mind spendin everyday out on your corner in the pourin rain look for the girl with the broken smile ask her if she wants to stay awhile and she will be loved and she will be loved and she will be loved and she will be lovedi know where you hide alone in your car know all of the things that make you who you are i know that goodbye means nothing at all comes back and makes me catch her every time she fallsyeah tap on my window knock on my door i want to make you feel beautifuli dont mind spendin everyday out on your corner in the pourin rain oh look for the girl with the broken smile ask her if she wants to stay awhile and she will be loved and she will be loved and she will be loved and she will be lovedplease dont try so hard to say goodbye i dont mind spendin everyday out on your corner in the pourin rain please dont try so hard to say goodbye ",1
62,"baby im back","baby bash featuring akon",2005," ooh yeah said anything that you want me to and ill do it tell me what the word is already tell me what the word is already tell me what the word is already tell me what the word is alreadybaby dont look no farther baby im back here im here to cater to you anything that you want me to ill do itcause ill be your lover ill be your lover and ill be your best friend tell me what i gotta do tell me what i gotta do and ill do itnow im back in a flesh feelin so blessed back in your corner suga suga dont stress forget about the rest lets go inside im back in your zone baby im back in your vibenow i cant be denied i can lie im on ya i never ever wanna say sayonara somebody told me that the grass was greener on the other side of lake arribanever really intended on being a cheater what i gotta do to be your keeper these words comin out the speaker true love is off the meterdont look no farther baby im back here im here to cater to you anything that you want me to ill do itcause ill be your lover ill be your lover and ill be your best friend tell me what i gotta do tell me what i gotta do and ill do iti was gone for a minute but now im home please forgive me for being a rolling stone please forgive me let me polish it up like chrome get off the phone till he swears to leave you alonelet me spark your interest now theres no more dating on the internet cause you already know how i get it wet how i keep it so saucy and i get respectyou dont have to look no farther you dealin with the whole enchilada you dont have to look no farther you hotter than a fire starterdont look no farther baby im back here im here to cater to you anything that you want me to ill do itcause ill be your lover ill be your lover and ill be your best friend tell me what i gotta do tell me what i gotta do and ill do iti was gone for a minute i was gone for a minute i was gone for a minute i was gone for a minute now im back let me hit it now im back let me hit it now im back let me hit it now im back let me hit itdont look no farther baby im back here im here to cater to youcause ill be your lover and ill be your best friend tell me what i gotta do do for youdont look no farther baby im back here im here to cater to you anything that you want me to ill do itcause ill be your lover ill be your lover and ill be your best friend tell me what i gotta do tell me what i gotta do and ill do it ",1
63,"wait the whisper song","ying yang twins",2005," hey how you doin lil mama let me whisper in ya ear tell ya somethin that ya might like to hear got a sexy ass body and ya ass look soft mind if i touch it to see if its softnah im just playin lets just say i can and im known to be a real nasty man and they say a closed mouth dont get paid so i dont mind askin fo headya heard what i said we need to make our way to the bed you can start usin ya head ya like to fuck have ya legs open all in the buck do it up slappin ass girl the sex get roughswitch position and let the dick get down to business or you can see what you been missin you might had some but you never had none like this just wait til you see my dickhey bitch wait til you see my dick wait til you see my dick hey bitch wait til you see my dick ima beat that pussy uphey bitch wait til you see my dick wait til you see my dick hey bitch wait til you see my dick ima beat that pussy uplike beyum beyum beyum beyum beyum beyum beyum beyum beyum beyum beyum beyum beyum beyum beyum beyumbeat the pussy up beat the pussy up beat the pussy up beat the pussy up beat the pussy up beat the pussy up beat the pussy up beat the pussy upyou fine but i aint gone sweat ya see i wanna fuck tell me whats up walk around the club with ya thumb in ya mouth put my dick in take ya thumb outthat my be a lil kosher to deal wit wetvac hose chrome cut that dont spill shit i keep a ho hot when im puttin in work ya wanna skeet skeet ya bout to get ya feelins hurtcause i beat that cat with a dog and knock the walls off a broad til she squall like yeah its on like that but it depend on the swing of the baseball batfor it to pitch on the count or make the plates fall back on the floor she aint stealin cause she none so they crack crack crack fuck that bend over im a give ya smack backhey bitch wait til you see my dick wait til you see my dick hey bitch wait til you see my dick ima beat that pussy uphey bitch wait til you see my dick wait til you see my dick hey bitch wait til you see my dick ima beat that pussy uplike beyum beyum beyum beyum beyum beyum beyum beyum beyum beyum beyum beyum beyum beyum beyum beyumbeat the pussy up beat the pussy up beat the pussy up beat the pussy up beat the pussy up beat the pussy up beat the pussy up beat the pussy up ",1
64,"incomplete","backstreet boys",2005," empty spaces fill me up with holes distant faces with no place left to go without you within me i can find no rest where im goin is anybodys guessi tried to go on like i never knew you im awake but my world is half asleep i pray for this heart to be unbroken but without you all im going to be is incompletevoices tell me i should carry on but i am swimming in an ocean all alone baby my baby its written on your face you still wonder if we made a big mistakei tried to go on like i never knew you im awake but my world is half asleep i pray for this heart to be unbroken but without you all im going to be is incompletei dont mean to drag it on but i cant seem to let you go i dont wanna make you face this world alone i want to let you go alonei tried to go on like i never knew you im awake but my world is half asleep i pray for this heart to be unbroken but without you all im going to be is incomplete incomplete ",1
65,"bring em out","ti",2005," bring em out bring em out bring em out bring em out its hard to yell when the barrels in ya mouthbring em out bring em out bring em out bring em out bring em out bring em out bring em out bring em outtip comin live from the vip heard the night life lost life like what i need both the feds and the state wanna see bout me the whole city got bizzerk he got treatanotha nigga got a hit but shawty he not me who set the city on fire as soon as he got freed da king back now hoes dont even know how to act now hit the club strippers getting naked fore i sit downstill ballin money stack tall as shaq now still push a button to let the roof on the lac down im on the road doin shows puttin my mack down mississippi to philly albuquerque to chatt towni got the crowd yellin bring em out bring em out all my hot girls yellin bring em out bring em outall the dope boyz yellin bring em out bring em out from the back they yellin bring em out bring em outyeah what other rap nigga hooder than this i got rich and im still on some hoolagin shit you be rappin bout blow i was movin the shit talkin bout shootin out and i was doin the shitif i hit you in the face you gon be suin and shit and if i catch anotha case i know ill truly be missed so ima keep it cool head stay out of the news headlines and shows other rappers its bedtimeits clear to see that im ahead of my time i copped a chromed out hard top carrerra to shine i got some time it aint shit cause i get better wit time who got a flow and a live show better than minei got a packed house yellin bring em out bring em out all my hot girls yellin bring em out bring em outall the dope boyz yellin bring em out bring em out from the back they yellin bring em out bring em outmic check 12 12 you wanna beef wit the king whats is you gon do will you show up on the scene wit 2 guns drew or you and ya friend play a little two on twoif you knew half of what i knew youd be hittin the deck i got a tool and a vest i can get some respect ima make it hard for a sucka nigga to flex sho em this aint the squad for a nigga to testpimp my nutz too large and we way too fresh work well wit nines aks and techs and quick to check a lame like a game of chess you want beef nigga bring ya best and well be standinin ya front yard yellin bring em out bring em out all my hot girls yellin bring em out bring em outall the dope boyz yellin bring em out bring em out from the back they yellin bring em out bring em outin ya front yard yellin bring em out bring em out all my hot girls yellin bring em out bring em outall the dope boyz yellin bring em out bring em out from the back they yellin bring em out bring em outhands in the air now hands in the air now hands hands in the in the air air now hands in the air nowhands in the air now hands in the air now hands hands in the in the air air now put ya hands in the air nowi cant hear you bring em out bring em out bring em out bring em outi cant hear you bring em out bring em out bring em out bring em outi cant hear you bring em out bring em out bring em out bring em outi cant hear you bring em out bring em out bring em out bring em outbring em out bring em out bring em out bring em out bring em out bring em out bring em out bring em out ",1
66,"cater 2 u","destinys child",2005," baby i see you working hard i want to let you know im proud let you know that i admire what you do the more if i need to reassure you my life would be purposeless without you yeah if i want it got it when i ask you you provide it you inspire me to be better you challenge me for the better sit back and let me pour out my love letterlet me help you take off your shoes untie your shoestrings take off your cufflinks yeah what you want to eat boo yeah let me feed you let me run your bathwater whatever your desire ill supply ya sing you a song turn my game on ill brush your hair help you put your do rag on want a foot rub yeah you want a manicure baby im yours i want to cater to you boylet me cater to you cause baby this is your day do anything for my man baby you blow me away i got your slippers your dinner your dessert and so much more anything you want just let me cater to you inspire me from the heart cant nothing tear us apart youre all i want in a man i put my life in your hands i got your slippers your dinner your dessert and so much more anything you want i want to cater to youbaby im happy youre home let me hold you in my arms i just want to take the stress away from you making sure that im doing my part oh boy is there something you need me to do oh if you want it i got it say the word i i will try it i know whatever im not fulfilling oh no other woman is willing oh im going to fulfill you mind body and spiriti promise you promise you ill keep myself up oh remain the same chick you fell in love withyeah ill keep it tight ill keep my figure right ill keep my hair fixed keep rocking the hottest outfits when you come home late tap me on my shoulder ill roll over baby i heard you im here to serve you im lovin it im lovin it if its love you need to give it is my joy all i want to do is cater to you boylet me cater to you cause baby this is your day do anything for my man baby you blow me away i got your slippers your dinner your dessert and so much more anything you want just let me cater to you inspire me from the heart cant nothing tear us apart youre all i want in a man i put my life in your hands i got your slippers your dinner your dessert and so much more anything you want i want to cater to youi want to give you my life my strength my will to be here thats the least i can do let me cater to you through the good good the bad through the bad the ups and downs ups and downs ill still be here for you let me cater to you cause youre beautifulyoure beautiful i love the way you are you are fulfill your every desire desire your wish is my command command i want to cater to my man your heart your heart so pure your love shines through shines through the darkness well get through so much so much of me is you is you i want to cater to my manlet me cater to you cause baby this is your day do anything for my man baby you blow me away i got your slippers your dinner your dessert and so much more anything you want just let me cater to you inspire me from the heart cant nothing tear us apart youre all i want in a man i put my life in your hands i got your slippers your dinner your dessert and so much more anything you want i want to cater to you ",1
67,"1 thing","amerie",2005," oh been tryin to let it go tryin to keep my eyes closed tryin to keep it just like before the times we never even thought to speakdont wanna tell you what it is oh wee it felt so serious got me thinkin just too much i wanna set it off butits this 1 thing that got me trippin its this 1 thing that got me trippin you did this 1 thing my soul may be feelin its this 1 thing you didits this 1 thing that caught me slippin its this 1 thing i want to admit it you did this 1 thing an i was so with it its this 1 thing you didhey we dont know each other well so why i keep pickin up my cell memories just keep ringin bells ding ding ding ding dinghear voices i dont wanna understand my car keys are jinglin in my hand my high heels are clickin towards your door ding ding ding ding dingits this 1 thing that got me trippin its this 1 thing that got me trippin you did this 1 thing my soul may be feelin its this 1 thing you didits this 1 thing that caught me slippin its this 1 thing i want to admit it you did this 1 thing an i was so with it its this 1 thing you didan maybe i just cant believe it its this one thing you did i cant deny tired of tryin open up the door but i keep on seein you im hopin you can keep a secret for me for me for me did what you did yeahits this 1 thing that got me trippin its this 1 thing that got me trippin you did this 1 thing my soul may be feelin its this 1 thing you didits this 1 thing that caught me slippin its this 1 thing i want to admit it you did this 1 thing an i was so with it its this 1 thing you didits this 1 thing that got me trippin its this 1 thing that got me trippin you did this 1 thing my soul may be feelin its this 1 thing you didits this 1 thing that caught me slippin its this 1 thing i want to admit it you did this 1 thing an i was so with it its this 1 thing you didits this 1 thing that got me trippin its this 1 thing that got me trippin you did this 1 thing my soul may be feelin its this 1 thing you didits this 1 thing that caught me slippin its this 1 thing i want to admit it you did this 1 thing an i was so with it its this 1 thing you didits this 1 thing that got me trippin its this 1 thing that got me trippin you did this 1 thing my soul may be feelin its this 1 thing you didits this 1 thing that caught me slippin its this 1 thing i want to admit it you did this 1 thing an i was so with it its this 1 thing you did ",1
68,"best of you","foo fighters",2005," ive got another confession to make im your fool everyones got their chains to break holdin youwere you born to resist or be abused is someone getting the best the best the best the best of you is someone getting the best the best the best the best of youare you gone and onto someone new i needed somewhere to hang my head without your noose you gave me something that i didnt have but had no use i was too weak to give in too strong to lose my heart is under arrest again but i break loose my head is giving me life or death but i cant choose i swear ill never give in i refuseis someone getting the best the best the best the best of you is someone getting the best the best the best the best of you has someone taken your faith its real the pain you feel you trust you must confess is someone getting the best the best the best the best of you ohoh oh oh ohhas someone taken your faith its real the pain you feel the life the love you die to heal the hope that starts the broken hearts you trust you must confessis someone getting the best the best the best the best of you is someone getting the best the best the best the best of youive got another confession my friend im no fool im getting tired of starting again somewhere newwere you born to resist or be abused i swear ill never give in i refuseis someone getting the best the best the best the best of you is someone getting the best the best the best the best of you has someone taken your faith its real the pain you feel you trust you must confess is someone getting the best the best the best the best of you oh ",1
69,"its like that","mariah carey",2005," dis is the point when i need everybody get to the dance floor its like that yall that yall that yall that yall da da da da i like that yall that yall its like that yall that yall that yall that yall like da da da da i like that yall that yall mci came to have a party open up the bacardi feeling so hot tamale boy i know you watchin me so whats it gonna be purple taking me higher im lifted and i like it boy you got me inspired baby come and get it if youre really feelin mecause its my night no stress no fights im leavin it all behind no tears no time to cry just makin the most of lifeeverybody is livin it up all the fellas keep lookin at us cause me and my girls on the floor like what while the dj keeps on spinnin the cut its like that yall that yall that yall that yall its like da da da da i like that yall that yall its like that yall that yall that yall that yall its like da da da da i like that yall that yallyou like this and you know it caution its so explosive them chickens is ash and im lotion baby come and get it let me give you what you need its a special occasion mimis emancipation a cause for celebration i aint gonna let nobodys drama bother mecause its my night no stress no fights im leavin it all behind no tears no time to cry just makin the most of lifeeverybody is livin it up all the fellas keep lookin at us cause me and my girls on the floor like what while the dj keeps on spinnin the cut its like that yall that yall that yall that yall its like da da da da i like that yall that yall its like that yall that yall that yall that yall its like da da da da i like that yall that yallcause its my night no stress no fights im leavin it all behind no tears no time to cry just makin the most of lifeeverybody is livin it up all the fellas keep lookin at us cause me and my girls on the floor like what while the dj keeps on spinnin the cut its like that yall that yall that yall that yall its like da da da da i like that yall that yall its like that yall that yall that yall that yall its like da da da da i like that yall that yallthis is my nightlets go now what lets go now what here we go now what here we go now what lets go now what lets go now what here we go now what here we go now whatlets go now what lets go now what here we go now what here we go now what lets go now what lets go now what here we go now what here we go now what ",1
70,"goin crazy","natalie",2005," ever since the day you went away and left me lonely and cold my life just hasnt been the same oh baby no when i looked into your eyes the moment that i let you go i just broke downbaby if i ever get the chance to be with you again i would sacrifice cuz the feeling that i feel within no other man would ever make me feel so rightits nice to smile when i get your phone call at night but id rather have you here with me right next to me i miss the way you hold me tighti gotta let you know i feel so weak without your touch i never thought that i could ever love a man so much i gotta let you know i think that we are destiny for you id cross the world for you id do anythingthats right baby im going crazy i need to be your lady ive been thinking lately that you and me yes we can make it just ride with me roll with me im in love with you babythats right baby im going crazy i need to be your lady ive been thinking lately that you and me yes we can make it just ride with me roll with me im in love with you babybreak it down now ill tell you what i feel from the moment that i met you its been so damn real my heart seems to skip another beat every time we speak i cant believe i feel so weaktell me that you really need me and you want me and you miss me and you love me im your lady ill be around waiting for you ill put it down be the woman for youim falling so deep for you crazy over for you im calling calling out to you what am i going to do its true no fronting its you and no other i can no longer go on without you ill just break downi gotta let you know i feel so weak without your touch i never thought that i could ever love a man so much i gotta let you know i think that we are destiny for you id cross the world for you id do anythingthats right baby im going crazy i need to be your lady ive been thinking lately that you and me yes we can make it just ride with me roll with me im in love with you babythats right baby im going crazy i need to be your lady ive been thinking lately that you and me yes we can make it just ride with me roll with me im in love with you babycrazy lady lately babybaby thats right baby im going crazy i need to be your lady ive been thinking lately that you and me yes we can make it just ride with me roll with me im in love with you baby ",1
71,"inside your heaven","carrie underwood",2005," ive been down now im blessed i felt a revelation coming around i guess its right its so amazing every time i see you im alive youre all ive got you lift me up the sun and the moonlight all my dreams are in your eyesand i wanna be inside your heaven take me to the place you cry from where the storm blows your way and i wanna be the earth that holds you every bit of air youre breathin in a soothin wind i wanna be inside your heavenwhen we touch when we love the stars light up the wrong becomes undone naturally my soul surrenders the sun and the moonlight all my dreams are in your eyesand i wanna be inside your heaven take me to the place you cry from where the storm blows your way and i wanna be the earth that holds you every bit of air youre breathin in a soothin wind i wanna be inside your heavenwhen minutes turn to days and years if mountains fall ill still be here holdin you until the day i diei wanna be inside your heaven take me to the place you cry from where the storm blows your wayi wanna be inside your heaven wanna be inside where the storm blows your way i wanna be inside your heaven take me to the place you cry from where the storm blows your way and i wanna be the earth that holds you every bit of air youre breathin in a soothin wind i wanna be inside your heaven ",1
72,"because of you","kelly clarkson",2005," i will not make the same mistakes that you did i will not let myself cause my heart so much misery i will not break the way you did you fell so hard ive learned the hard way to never let it get that farbecause of you i never stray too far from the sidewalk because of you i learned to play on the safe side so i dont get hurt because of you i find it hard to trust not only me but everyone around me because of you i am afraidi lose my way and its not too long before you point it out i cannot cry because i know thats weakness in your eyes im forced to fake a smile a laugh everyday of my life my heart cant possibly break when it wasnt even whole to start withbecause of you i never stray too far from the sidewalk because of you i learned to play on the safe side so i dont get hurt because of you i find it hard to trust not only me but everyone around me because of you i am afraidi watched you die i heard you cry every night in your sleep i was so young you should have known better than to lean on me you never thought of anyone else you just saw your pain and now i cry in the middle of the night for the same damn thingbecause of you i never stray too far from the sidewalk because of you i learned to play on the safe side so i dont get hurt because of you i try my hardest just to forget everything because of you i dont know how to let anyone else in because of you im ashamed of my life because its empty because of you i am afraidbecause of you because of you ",1
73,"truth is","fantasia",2005," ran into an old friend yesterday caught me by surprise when he called my name he was a familiar face from a chapter in my pasttalked for a while asked him how hes been said that he was seeing somebody and told me this was gonna last showing me her photographand all the feelings i thought were gone came rushing back to me at once tried to smile and hide the way i felt but i was thinking to myselftruth is i never got over you truth is wish i was standing in her shoes truth is and when its all said and done guess im still in love with youtruth is i never should have let you go truth is and its killing me cause now i know truth is when its all said and done guess im still in love with youwe reminisce on the way things used to be shared a couple laughs and some memories talked about the things that changed some for good and some for badthen he said goodbye and he paid for lunch promised that wed always keep in touch grabbed my bags and grabbed my thoughts walked away and that was thatand all the feelings i thought were gone came rushing back to me at once tried to smile and hide the way i felt but i was thinking to myselftruth is i never got over you truth is wish i was standing in her shoes truth is and when its all said and done guess im still in love with youtruth is i never should have let you go truth is and its killing me cause now i know truth is when its all said and done guess im still in love with younow the truth is it hurts but i know that the faults mine cause i let him gotried to get over it but its messing with my mind because i knowtruth is i never got over you truth is wish i was standing in her shoes truth is and when its all said and done guess im still in love with youtruth is i never should have let you go truth is but its killing me cause now i know truth is but when its all said and done guess im still in love with youtruth is truth is truth is wish i was standing in her shoes truth is when its all said and done guess im still in love with youtruth is i never should have let you go truth is killing me cause now i know truth is but when its all said and done guess im still in love with youi just gotta be honest i guess i i guess im still in love in love ",1
74,"your body","pretty ricky",2005," yes sir yes sir yes sir yes siri got new shoes on the ride yes sir rollin down 95 yes sir and you can see in my eyes yes sir that im lookin for a cutiepie yes sirand we aint gotta make love yes sir and we can just cuddle up yes sir but if she want me to beat it up yes sir then dammit ill beat it up yes sirmy body your body its burnin up my body your body its burnin up my body your body its burnin up my body your body its burnin upi dont know why but the ladies call ol baby blue the sticker they take me and rape me and make me they victim i lick em and freak em if they married i sleek if they look like wifey material then i keep emstuntin through the city tryin to find a lady whos beautiful but she gotta have booty too baby blue gonna let you do what you wanna do you can feel on it if you really want toget a taste of the salami knock knock knock knock you down like a tsunami bust in you like atomic imma ahead of my class gettin head in the jag look in the duffle bag see benjamin heads on the cashi got new shoes on the ride yes sir rollin down 95 yes sir and you can see in my eyes yes sir that im lookin for a cutiepie yes sirand we aint gotta make love yes sir and we can just cuddle up yes sir but if she want me to beat it up yes sir then dammit ill beat it up yes sirmy body your body its burnin up my body your body its burnin up my body your body its burnin up my body your body its burnin uptop down blue star tag ol master bear skin rugs in the jag spectac with the bad chick in the back tryin ta beat it up like an everlast punching baghotter than a bisquick biscuit out the oven your baby mama go on missions to get this lovin we kissin and huggin she never pick her phone up you be lookin for her while we doin the grown upshe complain when she catch back spasms but she love when she get the back to back orgasms yes sir the game is automatic give it to em one time they come back like addictsi got new shoes on the ride yes sir rollin down 95 yes sir and you can see in my eyes yes sir that im lookin for a cutiepie yes sirand we aint gotta make love yes sir and we can just cuddle up yes sir but if she want me to beat it up yes sir then dammit ill beat it up yes sirmy body your body its burnin up my body your body its burnin up my body your body its burnin up my body your body its burnin upwell let me step up in this thang right lookin smellin good lookin good spec and baby blue and pleasure fool thats all we gotlet me drop my top pull up in the parking lot grab a grape soda bag of chips thats all i gotpark outside minglin wit my homeboys faked out fake hugs leave me alone boy plus the candy lookin good enough to eat you can tell by the way the girls actin cross the streetbut on the other hand alfalfa just hit me on my metro say a party in the park hard baby lets go the balla tick no questions asked so i jumped out the white jag smooth like shaq come here girli got new shoes on the ride yes sir rollin down 95 yes sir and you can see in my eyes yes sir that im lookin for a cutiepie yes sirand we aint gotta make love yes sir and we can just cuddle up yes sir but if she want me to beat it up yes sir then dammit ill beat it up yes sirmy body your body its burnin up my body your body its burnin up ",1
75,"beautiful soul","jesse mccartney",2005," i dont want another pretty face i dont want just anyone to hold i dont want my love to go to waste i want you and your beautiful souli know that you are something special to you id be always faithful i want to be what you always needed then i hope youll see the heart in mei dont want another pretty face i dont want just anyone to hold i dont want my love to go to waste i want you and your beautiful soul youre the one i want to chase youre the one i want to hold i wont let another minute go to waste i want you and your beautiful soul your beautiful soul yeahyou might need time to think it over but im just fine moving forward ill ease your mind if you give me the chance i will never make you cry cmon lets tryi dont want another pretty face i dont want just anyone to hold i dont want my love to go to waste i want you and your beautiful soul youre the one i want to chase youre the one i want to hold i wont let another minute go to waste i want you and your beautiful soulam i crazy for wanting you baby do you think you could want me too i dont want to waste your time do you see things the way i do i just want to know that you feel it too there is nothing left to hidei dont want another pretty face i dont want just anyone to hold i dont want my love to go to waste i want you and your beautiful soul youre the one i want to chase youre the one i want to hold i wont let another minute go to waste i want you and your souli dont want another pretty face i dont want just anyone to hold i dont want my love to go to waste i want you and your beautiful soul your beautiful soul yeah oh yeah your beautiful soul yeah ",1
76,"cool","gwen stefani",2005," its hard to remember how it felt before now i found the love of my life passes things get more comfortable everything is going rightand after all the obstacles its good to see you now with someone else and its such a miracle that you and me are still good friends after all that weve been through i know were cool i know were coolwe used to think it was impossible now you call me by my new last name memories seem like so long ago time always kills the painremember harbor boulevard the dreaming days where the mess was made look how all the kids have grown we have changed but were still the same after all that weve been through i know were cool i know were cool yeah i know were cool ",1
77,"get back","ludacris",2005," heads up heads up heres another one and a and another one ohyeek yeek woop woop why you all in my ear talking a whole bunch of shit that i aint trying to hear get back motherfucker you dont know me like that get back motherfucker you dont know me like that yeek yeek woop woop i aint playing around make one false move ill take ya down get back motherfucker you dont know me like that get back motherfucker you dont know me like thatwho ssso cmon cmon dont get swung on swung on its the knick knack paddywhack still ride in cadillacs family off the street made my homies put the baggies back still stacking plaques yep still action packed yep and dough i keep it flipping like acrobats thats why i pack a mac thatll crack em back cause on my waist theres more heat than the shaq attack but i aint speaking about balling balling just thinking about brawling till yall start bawling we all in together now birds of a feather now just bought a plane so we changing the weather now so put your brakes on caps put your capes on or knock off your block get dropped and have your face flown cause ill prove it scratch off the music like hey little stupid dont make me lose ityeek yeek woop woop why you all in my ear talking a whole bunch of shit that i aint trying to hear get back motherfucker you dont know me like that get back motherfucker you dont know me like that yeek yeek woop woop i aint playing around make one false move ill take ya down get back motherfucker you dont know me like that get back motherfucker you dont know me like thati came i came i saw i saw i hit em right dead in the jaw in the jaw i came i came i saw i saw i hit em right dead in the jaw in the jaw i came i came i saw i saw i hit em right dead in the jaw in the jaw i came i came i saw i saw i hit em right dead in the jaw in the jawsee i caught em wit a right hook caught em wit a jab caught em wit an uppercut kicked em in his ass sent him on his way cause i aint for that talk no trips to the county i aint for that walk we split like two pins at the end of a lane well knock out your spotlight and put an end to your vain put a dtp pendant at the end of yo chain then put the booty of a swisha at the end of a flameyeek yeek woop woop why you all in my ear talking a whole bunch of shit that i aint trying to hear get back motherfucker you dont know me like that get back motherfucker you dont know me like that yeek yeek woop woop i aint playing around make one false move ill take ya down get back motherfucker you dont know me like that get back motherfucker you dont know me like thathey you want what wit me im a tell you one time dont fuck with me get down cause i aint got nothing to lose im having a bad day dont make me take it out on you you want what wit me im a tell you one time dont fuck with me get down cause i aint got nothing to lose and im having a bad day dont make me take it out on youman cause i dont want to do that i want to have a good time and enjoy my jack sit back and watch the women get drunk as hell so i can wake up in the morning wit a story to tell i know its been a lil while since i been out the house but now im here you want to stand around running your mouth i cant hear nothing you saying or spitting so whats up dont you see we in the club man shut the fuck upyeek yeek woop woop why you all in my ear talking a whole bunch of shit that i aint trying to hear get back motherfucker you dont know me like that get back motherfucker you dont know me like that yeek yeek woop woop i aint playing around make one false move ill take ya down get back motherfucker you dont know me like that get back motherfucker you dont know me like thatah we in the red light district ah we in the red light district whoo we in the red light district ah we in the red light district whoo we in the red light district whoo the red light district whoo the red light district ah we in the red light district ",1
78,"outta control","50 cent featuring mobb deep",2005," its the infamous mobb m o b b we cant be touched nigga cant you see gunit you do you man cause me im gon do my thang you know i do my thang im a get my drink on and party like its okaytrust me man its okay bounce with me in slow mo when they hear the kid in the house its like oh no 50 got em locin again they open again got em sippin on that juice and ginyou could find me in the background burnin that backwood stylin and stuntin doin my two step frontin now im a tell you what em told me homey just lose the parental discretions advised this is grown folk musicnow blend in with me as i proceed to break it down its always off the chain man when im around i play the block bumpin it was all for the dough i get the club jumpin cause im sick with flowyou know its sold out like wherever i go i jam packed the show man thats fo sho i got the info you already know man i get it poppin in the club everybody show me love lets goyou know i got what it takes to make the club go outta control quit playin turn the music up a little bit bounce with me now shorty lets get into ityou know i got what it takes to make the club go outta control quit playin turn the music up a little bit bounce with me now homey lets get into ityou wanna search me than search me but hurry up cause im thirsty i need that grind in my system p on my side twistin in club today for the chick to go both ways let me see that id just for proof with the drink till the burn is gonehit the dance floor like a scene from soft porn before it pop make me sign a disclaimer try to get me on some pop shit these chicks will frame you but in any event keep fuckin with 50 it make centscents into them dollars the hoes wanna holla but you lookin at a nigga that done came from the squalla now my buddy so gone i can pop ya collar now follow same nothin let me see you swallowin my crib got the coed back the new problem in the club feed them liquor of the wise im starvin so much green gettin twisted like botanical garden lets goyou know i got what it takes to make the club go outta control quit playin turn the music up a little bit bounce with me now shorty lets get into ityou know i got what it takes to make the club go outta control quit playin turn the music up a little bit bounce with me now homey lets get into ityou already know how it go i bang i shine i play i stay im goin for mine im young im black im rich and yes im ghetto than the motherfuckin project stepsim cool im calm you lookin real stressed im strapped im armed kid hold your head im known for gat poppin when i got problems i dont run i just gun you all upbut we aint come here to start no drama we just lookin for our future baby mamas with money with face with style and body i cook i clean i swear that mamijust as long as you dont go off and tell nobody i go down low im lyin im tryin my best to let you know sugar pop get at p the doc beat make it easy to get em in the bed sheetsyou know i got what it takes to make the club go outta control quit playin turn the music up a little bit bounce with me now shorty lets get into ityou know i got what it takes to make the club go outta control quit playin turn the music up a little bit bounce with me now homey lets get into it ",1
79,"u dont know me","ti",2005," ti you dont know me ima tell yall sucka ass niggaz somethin first of all nigga looka hear dawgyou mighta seen me in the streets but nigga you dont know me when you holla when you speak remember you dont know me save all the hatin and the poppin nigga you dont know me quit tellin niggaz you my partna nigga you dont know medont be a groupie keep it movin nigga you dont know me hey i aint trippin pimpin truth is really you dont know me yeah you know they call me ti but you dont know me you be hatin and i see why cause you dont know mei think its time i made a song for niggaz who dont know me i graduated at the streets ima real og i been trappin shootin pistols since i stood four feet so all you niggaz actin bad you gonna have to show me you gonna make me bring this chevy to a real slow creep my niggaz hangin out the window mouth fulla gold teeth when the guns start poppin wonder when its gone cease choppa hit you in the side and create a slow leakwe can end the speculation cuz today we gon see whats the future of a pussy nigga hatin on me i give a fuck about the feds investigation on me i dont care that they at my shows and they waitin on me ima keep on flossin poppin long as toomp is on the beat tell polices i aint stoppin ima keep it in the streets contrary to yo beliefs im as real as you can be fuck ya thoughts and ya feelings nigga you dont know meyou mighta seen me in the streets but nigga you dont know me when you holla when you speak remember you dont know me save all the hatin and the poppin nigga you dont know me quit tellin niggaz you my partna nigga you dont know medont be a groupie keep it movin nigga you dont know me hey i aint trippin pimpin truth is really you dont know me yeah you know they call me ti but you dont know me you be hatin and i see why cause you dont know mehey once again let me remind you nigga you dont know me so dont be walkin up and askin whats the deal ona ki i dont know if you wearin wires you could be the police if i was slangin dope you couldnt get an oz see me at the psc follow thru and tha show deep hommies holdin up the doe cuz they know we toat heat i just wanna wrap a c blow a dro in a flee only playin bout a dozen different bitches in a weeki just wanna chill with country and his daddy freddy g ballin out everytime every stone is but a g wanna ball in the bahamas curtousy at kt fact i only gotta mill as well as a dolla dp ak house on the hill right next to jg everyweek be there for lunch busta blunt and eat free get in day paid lil craig dead meat thats the only shot we got at gettin cap back on the streetsyou mighta seen me in the streets but nigga you dont know me when you holla when you speak remember you dont know me save all the hatin and the poppin nigga you dont know me quit tellin niggaz you my partna nigga you dont know medont be a groupie keep it movin nigga you dont know me hey i aint trippin pimpin truth is really you dont know me yeah you know they call me ti but you dont know me you be hatin and i see why cause you dont know meyou see a nigga hatin on a g ask em whats it gonna be whatcha lookin at pussy nigga you dont know me at the clubin the streets or where ever we should meet its choppa choppin pistols poppin nigga you dont know me you see a nigga hatin on a g ask em whats it gonna be whatcha lookin at pussy nigga you dont know me at the clubin the streets or where ever we should meet its choppa choppin pistols poppin nigga you dont know meyou mighta seen me in the streets but nigga you dont know me when you holla when you speak remember you dont know me save all the hatin and the poppin nigga you dont know me quit tellin niggaz you my partna nigga you dont know medont be a groupie keep it movin nigga you dont know me hey i aint trippin pimpin truth is really you dont know me yeah you know they call me ti but you dont know me you be hatin and i see why cause you dont know me ",1
80,"these words","natasha bedingfield",2005," these words are my ownthrew some chords together the combination def is who i am is what i do and i was gonna lay it down for youi try to focus my attention but i feel so add i need some help some inspiration but its not coming easilytrying to find the magic trying to write a classic dont you know dont you know dont you knowwaste bin full of paper clever rhymes see you laterthese words are my own from my heart flown i love you i love you i love you i love youtheres no other way to better say i love you love you love youread some byron shelley and keats recited it over a hiphop beat im having trouble saying what i mean with dead poets and drum machinesyou know i had some studio time booked but i couldnt find the killer hook now youve gone and raised the bar right up nothing i write is ever good enoughthese words are my own from my heart flown i love you i love you i love you i love youtheres no other way to better say i love you i love you i love youthese words are my own from my heart flown i love you i love you i love you i love youtheres no other way to better say i love you love youim getting off my stage the curtains pull away no hyperbole to hide behind my naked soul exposestrying to find the magic trying to write a classic waste bin full of paper clever rhymes see you laterthese words are my own from my heart flown dont you know i love you i love you i love you i love youtheres no other way to better say i love you love you i love youthese words are my own from my heart flown i love you i love you i love you i love youtheres no other way to better say i love you love you i love youthese words are my own theyre from my heart i love you i love youthats all ive got to say cant think of a better way and thats all ive got to say i love you is that okay ",1
81,"dont lie","the black eyed peas",2005," yeah uh huh la da da da dasorry sorry sorry sorry hey baby my nose is getting big i noticed it be growing when i been telling them fibs now you say your trusts gettin weaker probably cos my lies just started gettin deeper and the reason for my confession is that i learn my lesson and i really think you have to know the truuth because i lied and i cheated and i lied a little more but after i did it i dont know what i did it for i admit that i have been a little immature fucking with your heart like i was the predator in my book of lies i was the editor and the author i forged my signature and now i apologize for what i did to ya cos what you did to me i did to younononono baby nononono dont lie nononono yeah you kno kno kno know you gotta try what you gonna do when it all comes out when i see you  what youre all about nonono babe nononono dont lie yeah you kno kno kno know you gotta tryshe said im leaving cos she cant take the pain its hard to continue this love it aint the same cant forget the things that ive done inside her brain too many lies committed too many games she feeling like a fool getting on the last train tryin to maintain but the feeling wont change im sorry for the things that ive done and what i became caught up in living my life in the fast lane blinded by lights cameras you know the fame i dont know the reason why i did these thingsand i lie and i lie and i lie and i lieand now our emotions are drained cos i lie and i lie and a little lie lie and now your emotions are drainednononono baby nononono dont lie nononono yeah you kno kno kno know you gotta try what you gonna do when it all comes out when i see you  what youre all about nonono babe nononono dont lie yeah you kno kno kno know you gotta tryooh ooh ooh ooh ooh ooh ooh ba da ba da ba da ba da badabadayo im lying to my girl even though i love her and she all in my world i give her all my attention and diamonds  pearls shes the one who makes me feel on top of the world still i lie to my girl i do itand i lie and i lie and i lie til theres no turning back i dont know why and i lie and i lie til i dont know who i amnononono baby nononono dont lie nononono yeah you kno kno kno know you gotta try what you gonna do when it all comes out when i see you  what youre all about nonono babe nononono dont lie yeah you kno kno kno know you gotta try ",1
82,"get right","jennifer lopez",2005," youre lookin just a little too hard at me standin just a little too close to me youre sayin not quite enough to me youre sippin just a little too slow for me no doubt youre playing real cool homie got me thinking what is it you do for me tripping tripping a little more than i should be so let yourself go and get right with meim about to sign you up we can get right before the night is up we can get right we can get right we can get right im about to fill youre cup we can get right before the night is up we can get right tonight we can get rightyoure lips talking bout i play too much cant a woman take advantage of what she wants my hips moving oh so slow so slow bar tab looking like a condo condo all i need is you here right by my side take whatever you want baby lets ride and whatever you wont do let me decide just put youre name on the dotted lineim about to sign you up we can get right before the night is up we can get right we can get right we can get right im about to fill youre cup we can get right before the night is up we can get right tonight we can get rightso much weve got to say but so little time and if tonight aint long enough dont leave love behind dont leave this love behind baby take my hand ill show you whyim about to sign you up we can get right before the night is up we can get right we can get right we can get right im about to fill youre cup we can get right before the night is up we can get right tonight we can get rightim about to sign you up we can get right before the night is up we can get right we can get right we can get right im about to fill youre cup we can get right before the night is up we can get right tonight we can get rightim about to sign you up we can get right before the night is up we can get right we can get right we can get right im about to fill youre cup we can get right before the night is up we can get right we can get right ",1
83,"daughters","john mayer",2005," i know a girl she puts the color inside of my world but shes just like a maze where all of the walls all continually change and ive done all i can to stand on her steps with my heart in my hand now im starting to see maybe its got nothing to do with mefathers be good to your daughters daughters will love like you do girls become lovers who turn into mothers so mothers be good to your daughters toooh you see that skin its the same shes been standing in since the day she saw him walking away now shes left cleaning up the mess he madeso fathers be good to your daughters daughters will love like you do girls become lovers who turn into mothers so mothers be good to your daughters tooboys you can break youll find out how much they can take boys will be strong and boys soldier on but boys would be gone without warmth from a womans good good hearton behalf of every man looking out for every girl you are the god and weight of her worldso fathers be good to your daughters daughters will love like you do girls become lovers who turn into mothers so mothers be good to your daughters too so mothers be good to your daughters too so mothers be good to your daughters too ",1
84,"as good as i once was","toby keith",2005," she said ive seen you in here before i said ive been here a time or two she said hello my name is bobby jo meet my twin sister betty louand were both feeling kinda wild tonight youre the only cowboy in this place and if youre up for a rodeo ill put a big texas smile on your facei said girls i aint as good as i once was i got a few years on me now but there was a time back in my prime when i could really lay it downand if you need some love tonight then i might have just enough i aint as good as i once was but im as good once as i ever wasi still hang out with my best friend dave ive known him since we were kids at school last night he had a few shots got in a tight spot hustlin a game of poolwith a couple of redneck boys one great big fat biker man i heard david yell across the room hey buddy how bout a helping handi said dave i aint as good as i once was my how the years have flown but there was a time back in my prime when i could really hold my ownbut if you wanna fight tonight guess those boys dont look all that tough i aint as good as i once was but im as good once as i ever wasi used to be hell on wheels back when i was a younger man now my body says you cant do this boy but my pride says oh yes you cani aint as good as i once was thats just the cold hard truth i still throw a few back talk a little smack when im feelin bulletproofso dont you double dog dare me now cause id have to call your bluff i aint as good as i once was but im as good once as i ever wasmay not be good as i once was but im as good once as i ever was ",1
85,"girlfight","brooke valentine featuring lil jon and big boi",2005,"featuring lil jon  big boi intro  boy stop  its about to be a girl fight  she really know  brook valentine  uh huh uh huh  big boi  a lil jon  its about to be a what  girl fight   we bout to throw dem bows  we bout to swang dem thangs  theres about to be a what girlfight  chapter i  there she go talkin her mess  all around town makin me stress  i need to get this off my chest  and if her friend want some then shell be next  it really aint that complicated  yall walking round looking all frustrated  want some plex come on lets make it  ya acting real hard but i know ya fakin  know you really dont wanna step to dis  really dont know why you talkin shit  you bout to catch one right in the lip  its about to be a what girlfight  we bout to throw dem bows  we bout to swang dem thangs  its about to be a what girlfight  chapter ii  we on our way to ya neighborhood  the reason why we comin is understood  me and my girls we down to ride  so when you hear us pull up bring ya butt outside  and if you try to call ya cousin and nem  dont forget that i got some of dem  bout to go real hard bout to swang dem thangs  bout to feel elbows all in ya brain  know you really dont wanna step to dis  really dont know why you talkin shit  you bout to catch one right in the lip  its about to be a what girlfight  we bout to throw dem bows  we bout to swang dem thangs  its bout to be a what girlfight  oh i know you dont want me to split yo dome  girl you makin me really mad  oh i know you dont want me to split yo dome  im about to bruise ya face and its sad  big boi  oh snap these bitches they act like cats  in the middle of the dance floor now they preparing to scrap  they takin out their scrunchies and pullin off their pressons  the one on the right is the girlfriend and the one the left is the other woman  someone please call security  these girls too purty  to get down to the nitty titty  i mean the nitty gritty  i mean her tiitty pretty  im trippin  being silly willy  man go on let them hos fight  we bout to throw dem bows  we bout to swang dem thangs  its about to be a what girlfight  dont act like you dont know  we right outside yo door  see you peekin out the window  i know you aint talking noise no more   come outside  dont act like you dont see me  its about to be agirlfight",3
86,"lose my breath","destinys child",2005," can you keep up baby boy make me lose my breath bring the noise make me lose my breath hit me hard make me lose my hah hah can you keep up baby boy make me lose my breath bring the noise make me lose my breath hit me hard make me lose my breath hah hahooh i put it right there made it easy for you to get to now you want to act like ya dont know what to do after i done everything that you ask me grabbed you grinded you liked you tried you move so fast baby now i cant find youooh im startin to believe that im way too much for you all that talk but it seems like it cant come through all those times if you could satisfy me now i see where believing you got me gave you the wheel but you cant drive mecan you keep up baby boy make me lose my breath bring the noise make me lose my breath hit me hard make me lose my hah hah can you keep up baby boy make me lose my breath bring the noise make me lose my breath hit me hard make me lose my breath hah hahooh two things i dont like when im trying to get my groove is a partner that meets only halfway and just cant prove take me out so deep when you know you cant swim need a lifeguard and i need protection to put it on me deep in the right directionooh you understand the facts that im tryna give to you ya movin so slow like you just dont have a clue didnt mama teach you to give affection learn the difference of a man and an adolescent aint you boo so get to steppingcan you keep up baby boy make me lose my breath bring the noise make me lose my breath hit me hard make me lose my hah hah can you keep up baby boy make me lose my breath bring the noise make me lose my breath hit me hard make me lose my breath hah hahcan you keep up baby boy make me lose my breath bring the noise make me lose my breath hit me hard make me lose my hah hah can you keep up baby boy make me lose my breath bring the noise make me lose my breath hit me hard make me lose my breath hah hahif you cant make me say ooh like the beat of this drum why you askin for some you dont really want none if you cant make me say ooh like the beat of this grooveyou dont have no business in this heres your papers baby you are dismissedcan you keep up baby boy make me lose my breath bring the noise make me lose my breath hit me hard make me lose my hah hah can you keep up baby boy make me lose my breath bring the noise make me lose my breath hit me hard make me lose my breath hah hahcan you keep up baby boy make me lose my breath bring the noise make me lose my breath hit me hard make me lose my hah hah can you keep up baby boy make me lose my breath bring the noise make me lose my breath hit me hard make me lose my breath hah hah ",1
87,"ordinary people","john legend",2005," girl im in love with you this aint the honeymoon passed the infatuation phase right in the thick of love at times we get sick of love seems like we argue everydayi know i misbehaved and you made your mistakes and we both still got room left to grow and though love sometimes hurts i still put you first and well make this thing work but i think maybe we should take it slowwere just ordinary people we dont know which way to go cause were ordinary people maybe we should take it slow take it slow ohh this time well take it slow take it slow ohh this time well take it slowthis aint a movie love no fairytale conclusion yall it gets more confusing everyday sometimes its heaven sent then we head back to hell again we kiss then we make up on the wayi hang up you call we rise and we fall and we feel like just walking away as our love advances we take second chances though its not a fantasy i still want you to staywere just ordinary people we dont know which way to go cause were ordinary people maybe we should take it slow take it slow ohh this time well take it slow take it slow ohh this time well take it slowtake it slow maybe well live and learn maybe well crash and burn maybe youll stay maybe youll leave maybe youll return maybe another fight maybe we wont survive but maybe well grow we never know maybe you and iwere just ordinary people we dont know which way to go cause were ordinary people maybe we should take it slowwere just ordinary people we dont know which way to go cause were ordinary people maybe we should take it slowtake it slow ohh this time well take it slow take it slow ohh this time well take it slow take it slow slow this time well take it slow take it slow ohh this time well take it slow ",1
88,"we be burnin","sean paul",2005," just gimme di trees and mek we smoke it yo smoke it yo it dont mek we please so dont provoke it yo voke it yo we nuh need nuh speed so we nuh gon coke it yo coke it yo set we mind at ease we gotta take it slowso when yuh see di sp floatin dont provoke him cau di weed weh we smokin need fi soakin best ting fi di meditation and di best hygrade a jamaicanwhen we a bun a weed we supportin and promotin lau di crack and di coke ting yeah we soakin herb a di healin of di nation legalize it right now we wanna blaze oneeveryday we be burnin not concernin what nobody wanna say we be earnin dollars turning cau we mind deh pon we pay some got gold and oil and diamonds all we got is mary j legalize it time you recognize itthis purple haze it mek mi crazy mek mi write new tune yeah dats what pays me but im not di only occupation goin to get some i give yuh educationwhen a farmer grows it he knows to close it economical benefit help fi those who a fi deh yah pon di hard jugglin cau di system only keep man strugglinstudyin people a use it dont abuse it cau di concentration well reputed dats why herb man dem a di wise one and it found on di grave of king solomonand it good fi di eye sight and di chest sight and it give yuh nuff insight just gimme di light and mek we blaze it we should a neva waste itagain we be burnin not concernin what nobody wanna say we be earnin dollars turnin cau we mind deh pon we pay some got gold and oil and diamonds all we got is mary j legalize it time you recognize itjust gimme di trees and mek we smoke it yo smoke it yo it dont mek we please so dont provoke it yo voke it yo we nuh need nuh speed so we nuh gon coke it yo coke it yo set we mind at ease we gotta take it slowso when yuh see di sp floatin dont provoke him cau di weed weh we smokin need fi soakin best ting fi di meditation and di best hygrade a jamaicancau we know it as a great ting no debatin while dem incarceratin true dem hatin cau dem dont wanna see we a remain calm even though dem condemn incomprehensibleeveryday we be burnin not concernin what nobody wanna say we be earnin dollars turnin cau we mind deh pon we pay some got gold and oil and diamonds all we got is mary j legalize it time you recognize itagain we be burnin not concernin what nobody wanna say we be earnin dollars turnin cau we mind deh pon we pay some got gold and oil and diamonds all we got is mary j legalize it time you recognize itagain we be burnin not concernin what nobody wanna say we be earnin dollars turnin cau we mind deh pon we pay some got gold and oil and diamonds all we got is mary j legalize it time you recognize itjust gimme di trees and mek we smoke it yo smoke it yo it dont mek we please so dont provoke it yo voke it yo we nuh need nuh speed so we nuh gon coke it yo coke it yo set we mind at ease we gotta take it slow ",1
89,"just the girl","the click five",2005,"shes cool and shes cruel but she knows whats shes doin she pushed me in the pool at our last school reunion  she laughs at my dreams but i dream about her laughter strange as it seems shes the one im after chorus   cause shes bittersweet she knocks me off of my feet  and i cant help myself i dont want anyone else shes a mystery shes too much for me but i keep coming back for more shes just the girl im looking for she cant keep a secret for more than an hour she runs on one hundred proof attitude power and the more she ignores me the more i adore her what can i do id do anything for her chorus the way she sees its me on her caller id she wont pick up the phone shed rather be alone but i cant give up just yet cause every word shes ever said still ringing in my head still ringing in my head shes cold and shes cruel but she knows what shes doin knows just what to say so my whole day is ruined chorusx2 just the girl im looking for im looking for im looking for im looking for just the girl im looking for",3
90,"TRUE","ryan cabrera",2005," i wont talk i wont breathe i wont move till you finally see that you belong with me you might think i dont look but deep inside the corner of my mind im attached to you mmmim weak its true cause im afraid to know the answer do you want me too cause my heart keeps falling fasterive waited all my life to cross this line to the only thing thats true so i will not hide its time to try anything to be with you all my life ive waited this is trueyou dont know what you do every time you walk into the room im afraid to move im weak its true im just scared to know the ending do you see me too do you even know you met meive waited all my life to cross this line to the only thing thats true so i will not hide its time to try anything to be with you all my life ive waited this is truei know when i go ill be on my way to you the way thats trueive waited all my life to cross this line to the only thing thats true so i will not hide its time to try anything to be with you all my life ive waited this is true ",1
91,"o","omarion",2005," ooh oh let me tell you girl ohh hey here i go here i goi know you heard me sayin time and time again but they would rock your world and change your life but i cant blameem cuz you make a nigga wanna get involved wanna get them drawlswell im gon put my bid in to get at you no disrespect but i want it bad as they do the only difference is they look out for themselves but im doin it just to hear you yell yeaho thats gonna be the sound girl when its goin down your bodys sayin o dont have to say my name girl im just glad you came so you can sayo in the mornin o in the night you sayin o means o is hittin it right o o o you cant get mad at me im just aimin to please let me hear you scream ogirl come on over and lets get this thing crackin youll be surprised when you see what o is packin cuz im young but im ready tryna get hot and heavy tell you girl if you let me ingirl ima take you somewhere that you never been show you some things thatll make you wanna show your friends have you so weak that you cant even say a thang but thats okay all you gotta sayo thats gonna be the sound girl when its goin down your bodys sayin o dont have to say my name girl im just glad you came so you can sayo in the mornin o in the night you sayin o means o is hittin it right o o o you cant get mad at me im just aimin to please let me hear you scream oo is for that overtime im puttin in well go for hours take a break and go at it again girl i work my way from a all the way to z but just where baby girl o is where you wanna benow believe me when i tell you im not tryna tell you what to do cuz when its said and done the choice aint mine its really up to you just say yes dont fix your mouth to tell me no drop that bottom jaw for and just say oo thats gonna be the sound girl when its goin down your bodys sayin o dont have to say my name girl im just glad you came so you can sayo in the mornin o in the night you sayin o means o is hittin it right o o o you cant get mad at me im just aimin to please let me hear you scream olet me hear you way o when im hittin it let me hear you way o when im hittin it o o o o o let me hear you say o when it comes and go let me hear you say o from the backnow somebody say my name let me hear you say o when the sun goes down let me hear you say o when you cant make another sound now scream baby girl let me hear you scream o baby girl let me hear you scream o o o yeah thats how you do it girl just like that o o ",1
92,"back then","mike jones",2005," back then hoes didnt want me now im hot hoes all on me back then hoes didnt want me now im hot hoes all on me i said back then hoes didnt want me now im hot hoes all on me back then hoes didnt want me now im hot hoes all on me i saidback then hoes didnt want me now im hot hoes all on me back then hoes didnt want me now im hot hoes all on me i said back then hoes didnt want me now im hot hoes all on me back then hoes didnt want me now im hot hoes all on me i saidmike jones befo i came up in the game these hoes didnt show no love they see me in the club and used to treat me like a scrub they wouldnt holla cause my dollars wasnt swoll enough i bet they change they mind when them 80 4s come rolling up they see that im a star now they want to sit in my car now they want to count my cheese smoke my weed and sip my bar now they used to love to me diss me now they rush to hug and kiss me now they telling all they friends when i leave how they miss me now two eight one three three oh eight zero zero fo hit mike jones up on the low cause mike jones about to blow befo the ice was in my grill befo i got my major deal these hoes wouldnt give a damn if i was heah geah befo the ice was in my grill befo i got my major deal these hoes wouldnt give a damn if i was heah geah befo the ice was in my grill befo i got my major deal these hoes wouldnt give a damn if i was heah geah becauseback then hoes didnt want me now im hot hoes all on me back then hoes didnt want me now im hot hoes all on me i said back then hoes didnt want me now im hot hoes all on me back then hoes didnt want me now im hot hoes all on me i saidback then hoes didnt want me now im hot hoes all on me back then hoes didnt want me now im hot hoes all on me i said back then hoes didnt want me now im hot hoes all on me back then hoes didnt want me now im hot hoes all on me i saidi remember back den most of them hoes couldnt stand me but now them same hoes begging me to pull down they panties a couple of em said i was cute but i was just too chubby same size a year later the same hoes want to fuck me because they see me paid pimping pens working my jelly and i aint tripping cause my pockets stick out mo than my belly they know im paid living laid in the shade two slabs in the escalade with fo or five estates they know that i got it made im a motherfucking baller she would want a nigga now but i aint got no time to call her ima stall her like she stalled me now she trying to call me bitch ima dog yo hoe ass like you dogged me im mike jones dont act like you dont know the name aint nothing changed but my change ima stay the same im mike jones dont act like you dont know the name aint nothing changed but my change ima stay the sameback then hoes didnt want me now im hot hoes all on me back then hoes didnt want me now im hot hoes all on me i said back then hoes didnt want me now im hot hoes all on me back then hoes didnt want me now im hot hoes all on me i saidback then hoes didnt want me now im hot hoes all on me back then hoes didnt want me now im hot hoes all on me i said back then hoes didnt want me now im hot hoes all on me back then hoes didnt want me now im hot hoes all on me i saidbefo my paper came befo i got my fame these hoes thats poppin on me now didnt even know my name they said my flow was lame they said i had no game i told em all i was fin to blow they thought i was insane but they my name started blowing up quick now they jumping on my dick cause they see me on the rise and know now my paper thick but they my name started blowing up quick now they jumping on my dick because they see me on the rise and oh now my paper thickback then hoes didnt want me now im hot hoes all on me back then hoes didnt want me now im hot hoes all on me i said back then hoes didnt want me now im hot hoes all on me back then hoes didnt want me now im hot hoes all on me i saidback then hoes didnt want me now im hot hoes all on me back then hoes didnt want me now im hot hoes all on me i said back then hoes didnt want me now im hot hoes all on me back then hoes didnt want me now im hot hoes all on me i said ",1
93,"numbencore","jayz and linkin park",2005,NA,NA
94,"wonderful","ja rule featuring r kelly and ashanti",2005," if it wasnt for the money cars and movie stars and jewels and all these things ive got i wonder hey would you still want me would you still be calling me you be loving mewanna keep you flawed with no dough pimpin aint easy trust me i know when gangstas and hos go go go go go go together like chinchilla and bad weather im good but been better all my bros chedda and glamorous things copped a few cars a crib with a east and west wing cuz this is how im livin and yall women know the secrets of how to get it and keep ithow to prey on my weakness its the power of the p u s s y got a lotta niggaz wonderin it aint just i gotta keep ya cash comin and thats on my life if it wasnt for the money and the things i got shit she probably wouldnt like me but i keep her and irv and jeffrey quite icy sip seraphin who doesnt like me and the murderous i n cif it wasnt for the money cars and movie stars and jewels and all these things ive got i wonder hey would you still want me would you still be calling me you be loving mehow many girls does it take to get to mack status player status pimps that get ya boy half rich before we hit show biz but show biz brought next level chicks pull up them in them hot cars go and buy the whole bar nigga i came from the dirt what you want me to say im at the top of the world and lifes a pussy buffet and thats why i get m i ashut the game down so the bustas cant play hell yeah i splurge money hell yeah i act funny look at you like fuck you all the shit i been through its a wonder why im still here said i was gone but im still here and all you bitches that left me here its mighty strange how you right back hereif it wasnt for the money cars and movie stars and jewels and all these things ive got i wonder hey would you still want me would you still be calling me you be loving mei wonder why love is about money and why wou wanna take it all from me honey my life is dark but its lovely crimes cars cribs aint that right kelly yall bitches dont know money aint a thang mami need a little change girl im pitchin quarters closest to the arches but live in a fortressnew benzes new porsches new cases new lawyers im becoming the infamous notorious rule niggaz couldnt walk a mile in my shoes niggaz dont possess the heart that i do and its a wonder that im still here thought i was gone but im still here and all you bitches that left me here its kinda funny how you right back thereif it wasnt for the money cars and movie stars and jewels and all these things ive got i wonder hey would you still want me would you still be calling me you be loving me ",1
95,"im sprung","tpain",2005,NA,NA
96,"chariot","gavin degraw",2005," staring at a maple leaf leaning on the mother tree i said to myself we all lost touch your favorite fruit is chocolate covered cherries and seedless watermelon ohhhh nothing from the ground is good enough body raised it puts over mechorus oh chariot your golden waves are walking down upon this face oh chariot im singing out loud to guide me give me your strengthremember seeking moons of birth rings made mirrors of the earth the sun was just yellow energy it is a living promise land even over fields of sand seasons fill my mind and cover me from bringing back more than a memorychorusyoull be my vacation away from this place you know what i want holding that cup its pouring over the sides make me want to spread my arms and flychorusyour be my vacation away from this place you know what i want holding that cup its pouring over to the sides make me want to spread my arms and flychorus ",1
97,"u already know","112 featuring foxy brown",2005," ooh baby baby babypapa comin over to give you that raw favorite position is from the back door girl you know the drill dont ask no questions you already knowtonights the night girl yes im tryin to give you that thing to make you say yes from the kitchen floor down to the fireplace yes incense burning your body talkin that shit to me yescancel that phone the only sound im tryin to hear is your moan yes you ride topless no panties on yes and ive been thinkin bout this all day long youre giving me the fire domepapa comin over to give you that raw favorite position is from the back door girl you know the drill dont ask no questions you already knowpapa comin over to give you that raw favorite position is from the back door girl you know the drill dont ask no questions you already knowis your girl janae home yes call her up and tell her its bout to be on yes tell her dont show if it aint heels and thongs yes i can already see it ooh what a feelingjust dont get jealous if i hit that too hard yes you come first you know youre my heart yes cuz itll always be yours girl im bout to turn you outpapa comin over to give you that raw favorite position is from the back door girl you know the drill dont ask no questions you already knowpapa comin over to give you that raw favorite position is from the back door girl you know the drill dont ask no questions you already knowyou know just how i like to see it you know just how i like to see it you know just how i like to beat it you already knowyou know i like to go down and eat it i love it when you go down and eat it and you know i wont stop until you get it you already knowpapa comin over to give you that raw favorite position is from the back door girl you know the drill dont ask no questions you already knowpapa comin over to give you that raw favorite position is from the back door girl you know the drill dont ask no questions you already knowpapa comin over to give you that raw favorite position is from the back door girl you know the drill dont ask no questions you already knowpapa comin over to give you that raw favorite position is from the back door girl you know the drill dont ask no questions you already know ",1
98,"mississippi girl","faith hill",2005," yeahwell its a long way from star mississippi to the big stage im singing on tonight and sometimes the butterflies still get me when im in the spotlightand some people seem to think that ive changed that im different than i was back then but in my soul i know that im the same way that ive really always beencause a mississippi girl dont change her ways just cause everybody knows her name aint big headed from a little bit of fame i still like wearing my old ball cap riding my kids around piggy back they might know me all around the world but yall im still a mississippi girlwoowell i spent a few weeks in california they put my face on the big movie screen but that dont mean ive forgotten where i came from thats just me chasing dreamscause a mississippi girl dont change her ways just cause everybody knows her name aint big headed from a little bit of fame i still like wearing my old ball cap riding my kids around piggy back they might know me all around the world but yall im still a mississippi girlwoocause a mississippi girl dont change her ways just cause everybody knows her name aint big headed from a little bit of fame still like wearing my old ball cap riding my kids around piggy back they might know me all around this world but yall im still a mississippi girlmississippi girl oh oh mississippi girl mississippi girl yeah yeah oh oh oh oh oh oh mississippi girl na na ",1
99,"number one spot","ludacris",2005," im never goin nowhere so dont try me my music sticks in fans veins like an iv flows poison like ivy oh they grimy already offers on my 6th album from labels tryin to sign me respected highly hi mr oreilly hope all is well kiss the plaintiff and the wifey drove through the window the industry super sized me now the girls see me and a rivers what they cry me im on the rise so many people despise me got party ammunition for those tryin to surprise me surprise its a celebration and everyone should invite me roll with the crew or meet the bottom of our nikes blaow explorer like dora these swipers cant swipe me my whole auras so mean in my white tee nobody lightskinded reppin harder since icet you disagree take the tyson approach and bite mewhoa dont slip up or get got why not man im comin for that number one spot alright rappers swearin they on top nuh uh uh uh but im comin for they number one spot alright man scheme scheme plot plot say what im comin for that number one spot woo hey keep it goin it wont stop what you doin man im comin for that number one spotyes indeed ludacris im hotter than nevada ready to break the steerin column on yo impala if i get caught bail out popo i tell em holla in court i never show up like austin powers fazha father father and hey i love gold but can buy anything i want from the records ive sold jacuzzis hot cristal is so cold neighbors catch contacts from the blunts that ive rolled a pig in a blanket a smoke and a pancake drop albums nonstop once a year for my fans sake i crush mics until my hand breaks then shag now and shag later til these women cant stand straight the ludameister got em feelin so randy im doublexl so i call em my eye candy brush my shoulder and i pop my collar cause im worth a million gazillion fafillion dollarswhoa dont slip up or get got why not man im comin for that number one spot alright rappers swearin they on top nuh uh uh uh but im comin for they number one spot alright man scheme scheme plot plot say what im comin for that number one spot woo hey keep it goin it wont stop what you doin man im comin for that number one spotcausin lyrical disasters its the master make music for minimes models and fat bastards these women tryin yo get me out my pelle pelle they strip off my clothes and tell me get in my belly stay on the track hit the ground runnin like flojo sent back in time and ive never lost my mojo ladies and gentlemen ah boys and girls ludacris sent down to take over the whole worldwhoa dont slip up or get got why not man im comin for that number one spot alright rappers swearin they on top nuh uh uh uh but im comin for they number one spot alright man scheme scheme plot plot say what im comin for that number one spot woo hey keep it goin it wont stop what you doin man im comin for that number one spot ",1
100,"give me that","webbie featuring bun b",2005," oh girl give me that oh oh oh girl give me that girl give me that pussyoh oh oh girl give me that girl give me that pussyoh oh oh girl give me that there girl give me that pussy oh oh oh girl give me thatyou know you want it girl dont act like you dont want it girl i want it just as bad as you do and look see i can tell from this lil vibeyou got me feeling that you dig me boo im digging you too you wanna be one of the chosen few then gon jig up in this motherfuckermaybe me and you can do it big up in this motherfucker sit you in a crib where you can chill dont have to move a muscle give you some be good now you be gooddaddy gon hustle come here let me whisper in your ear i gotta tell you something listening to this song kinda make a nigga want somethingdid some daydreaming now im fiending like im on something girl dont hold it from me cause right now ill be don strong on yai aint the type to ruin your life by running game and throwing your dreams get in your brain suit your game ease your pain and show you thingssit you on some leather seats while blowing green and switching lanes girl stop playing games let me beat it out the framegirl give me that pussy girl give me that girl give me girl give me that there girl give me that pussy girl give me that girl give me girl give me that theregirl give me that pussy girl give me that girl give me girl give me that there girl give me that pussy girl give me that girl give me girl give me that thereshe five foot seven a hundred and thirty nine pounds thirty six twenty four thirty eight pretty fine brown bad lil broad i aint seen her in a minute since the allstar game and im still tryin to hit itgot a baby for this nigga that i used to sell things he caught a fed case and he aint leave her no change she sold all his jewels she sold all his cars now she dancing in the shaker club stripping for the starssliding down the pole slow drop it to a split pussy popping on a handstand man she the shit she still looking tight though still built right thoughrun my game right and after the club she might go back to the telly with me shake her jelly with me let my people bust on her face and her belly with me i got lil webbie with me and he aint hating we some players in this bitch so baby stop hesitatinggirl give me that pussy girl give me that girl give me girl give me that there girl give me that pussy girl give me that girl give me girl give me that theregirl give me that pussy girl give me that girl give me girl give me that there girl give me that pussy girl give me that girl give me girl give me that therenow i can tell from your size that that pussy is fire so im here and willing to give you whatever it require for you to lay down on your back and then open your thighs long sharp deep and wide have you rolling your eyesyou a big fine horse i had no choice but to try it look like its worth a couple gs but aint some shit i buy let me whisper in your ear again i aint gon lie i might share a lil meal just dont tell nobodylook you know you want it girl dont act like you dont want it girl you want it just as bad as i do but check this outyou gon be wishing that you been gave me your number by the time i finish rumbling with you wop wop get loose lets take this shit to the room and you just keep yourself excited til we get to the roomcuz ive been rocked up since i met you im ready to give you the blues dont stunt now take off your shoes dont act confused you know what time it isgirl give me that pussy girl give me that girl give me girl give me that there girl give me that pussy girl give me that girl give me girl give me that theregirl give me that pussy girl give me that girl give me girl give me that there girl give me that pussy girl give me that girl give me girl give me that there ",1
1,"bad day","daniel powter",2006," where is the moment when we needed the most you kick up the leaves and the magic is lost they tell me your blue skys faded to gray they tell me your passions gone away and i dont need no carrying onstand in the line just to hit a new low youre faking a smile with the coffee to go you tell me your lifes been way off line youre falling to pieces every time and i dont need no carrying oncause you had a bad day youre taking one down you sing a sad song just to turn it around you say you dont know you tell me dont lie you work at a smile and you go for a ride you had a bad day the camera dont lie youre coming back down and you really dont mind you had a bad day you had a bad daywell you need a blue sky holiday the point is they laugh at what you say and i dont need no carrying onyou had a bad day youre taking one down you sing a sad song just to turn it around you say you dont know you tell me dont lie you work at a smile and you go for a ride you had a bad day the camera dont lie youre coming back down and you really dont mind you had a bad daysometimes the system goes on the blink and the whole thing it turns out wrong you might not make it back and you know that you could be well oh that strong and im not wrongso where is the passion when you need it the most oh you and i you kick up the leaves and the magic is lostcause you had a bad day youre taking one down you sing a sad song just to turn it around you say you dont know you tell me dont lie you work at a smile and you go for a ride you had a bad day you see what you like and how does it feel one more time you had a bad day you had a bad day had a bad day had a bad day had a bad day ",1
2,"temperature","sean paul",2006," the gal dem schillaci sean da paul so me give it to so me give to so me give it to to all girls five million and forty naughty shorty baby girl all my girls all my girls sean da paul seywell woman the way the time cold i wanna be keepin you warm i got the right temperature to shelter you from the storm oh lord gal i got the right tactics to turn you on and girl i wanna be the papa you can be the mom oh ohmake i see the gal them bruk out pon the floor from you dont want no worthless performer from you dont want no man wey cant turn you on gal make i see your hand them up on ya cant tan pon it long naw eat no yam no steam fish nor no green banana but down in jamaica we give it to you hot like a saunawell woman the way the time cold i wanna be keepin you warm i got the right temperature to shelter you from the storm oh lord gal i got the right tactics to turn you on and girl i wanna be the papa you can be the mom oh ohbumper exposed and gal you got your chest out but you no wasters cause gal you impress out and if you des out a me you fi test out cause i got the remedy to make you destress out me haffi flaunt it because me god bless out and girl if you want it you haffi confess out a no lie weh we need set speed a fi test the mattress outwell woman the way the time cold i wanna be keepin you warm i got the right temperature to shelter you from the storm oh lord gal i got the right tactics to turn you on and girl i wanna be the papa you can be the mom oh ohgal dont say me crazy now this strangelove it a no bridgette and flava show time fi a make baby now so stop gwaan like you a act shady yo woman dont play me know cause a no fred sanford nor grady yo my lovin is the way to go my lovin is the way to gowell woman the way the time cold i wanna be keepin you warm i got the right temperature to shelter you from the storm oh lord gal i got the right tactics to turn you on and girl i wanna be the papa you can be the mom oh ohwhen you roll with a player like me with a bredda like me girl there is no other no need to talk it right here just park it right here keep it undercover from me love how you fit inna you blouse and you fat inna you jeans and mi waan discover everything out you baby girl can you hear when me utterwell woman the way the time cold i wanna be keepin you warm i got the right temperature to shelter you from the storm oh lord gal i got the right tactics to turn you on and girl i wanna be the papa you can be the mom oh oh ",1
3,"promiscuous","nelly furtado featuring timbaland",2006," am i throwing you off nope didnt think so how ya doing young lady the feeling that you gave me really drives me crazy you dont have a player on your trunk i was at a loss of words first time that we spokeif your looking for a girl thatll treat you right if you looking for her in the day time in the light you might be the type if i play my cards right ill find out by the end of the nightyou expect me to just let you hit it but will you still respect me if you get itall i can do is try give me one chance whats the problem i dont see no ring on your handill be the first to admit it im curious about you you seem so looseyou wanna get in my world get lost in it boy im tired of running lets walk for a minutepromiscuous girl wherever you are im all alone and its you that i want promiscuous boy you already know that im all yours what you waiting for promiscuous girl youre teasing me you know what i want and i got what you need promiscuous boy lets get to the point cause were on a roll you readyroses are red some diamonds are blue chivalry is dead but youre still kind a cutehey i cant keep my mind off you where you at do you mind if i come tooim out of this world come with me to my planet get you on my level do you think that you can handle itthey call me thomas last name crown recognize game im a lay mines downim a big girl i can handle myself but if i get lonely i may need your help pay attention to me i dont talk for my health i want you on my team so does everybody elsebaby we can keep it on the low let your guard down aint nobody gotta know if you with it girl i know a place we can gowhat kind of girl do you take me forpromiscuous girl wherever you are im all alone and its you that i want promiscuous boy you already know that im all yours what you waiting for promiscuous girl youre teasing me you know what i want and i got what you need promiscuous boy lets get to the point cause were on a roll you readydont be mad dont get mean dont get mad dont be meanhey dont be mad dont get mean dont get mad dont be meanwait i dont mean no harm i can see you with my tshirt oni can see you with nothing on feeling on me before you bring that onbring that on you know what i meangirl im a freak you shouldnt say those thingsim only trying to get inside of your brain to see if you can work me the way you sayits okay its alright i got something that you gon likeis it the truth are you talking trash is your game mvp like steve nashpromiscuous girl wherever you are im all alone and its you that i want promiscuous boy im calling your name but youre driving me crazy the way youre making me wait promiscuous girl youre teasing me you know what i want and i got what you need promiscuous boy were one in the same so we dont gotta play games no more ",1
4,"youre beautiful","james blunt",2006," my life is brilliantmy life is brilliant my love is pure i saw an angel of that im sure she smiled at me on the subway she was with another man but i wont lose no sleep on that cause ive got a planyoure beautiful youre beautiful youre beautiful its true i saw your face in a crowded place and i dont know what to do cause ill never be with youyes she caught my eye as we walked on by she could see from my face that i was fuckin high and i dont think that ill see her again but we shared a moment that will last till the endyoure beautiful youre beautiful youre beautiful its true i saw your face in a crowded place and i dont know what to do cause ill never be with youyoure beautiful youre beautiful youre beautiful its true there must be an angel with a smile on her face when she thought up that i should be with you but its time to face the truth i will never be with you ",1
5,"hips dont lie","shakira featuring wyclef jean",2006," ladies up in here tonight no fighting we got the refugees up in here no fighting no fightingshakira shakirai never really knew that she could dance like this she makes a man wants to speak spanish como se llama si bonita si mi casa shakira shakira su casaoh baby when you talk like that you make a woman go mad so be wise si and keep on si reading the signs of my body uno dos tres cuatroand im on tonight you know my hips dont lie and im starting to feel its right all the attraction the tension dont you see baby this is perfectionhey girl i can see your body moving and its driving me crazy and i didnt have the slightest idea until i saw you dancingand when you walk up on the dance floor nobody cannot ignore the way you move your body girl just move and everything so unexpected the way you right and left it so you can keep on shaking iti never really knew that she could dance like this she makes a man wants to speak spanish como se llama si bonita si mi casa shakira shakira su casaoh baby when you talk like that you make a woman go mad so be wise si and keep on si reading the signs of my body no fightingand im on tonight you know my hips dont lie no fighting and i am starting to feel you boy come on lets go real slow dont you see baby asi es perfectouh i know i am on tonight my hips dont lie and i am starting to feel its right all the attraction the tension dont you see baby this is perfection shakira shakiraoh boy i can see your body moving half animal half man i dont dont really know what im doing but you seem to have a plan my will and self restraint have come to fail now fail now see i am doing what i can but i cant so you know thats a bit too hard to explainbaila en la calle de noche baila en la calle de d�_abaila en la calle de noche baila en la calle de d�_ai never really knew that she could dance like this she makes a man wants to speak spanish como se llama si bonita si mi casa shakira shakira su casaoh baby when you talk like that you know you got me hypnotized so be wise and keep on reading the signs of my bodyse̱orita feel the conga let me see you move like you come from colombiamira en barranquilla se baila as�_ say it en barranquilla se baila as�_yeah shes so sexy every mans fantasy a refugee like me back with the fugees from a 3rd world country i go back like when pac carried crates for humpty humpty we need a whole club dizzy why the cia wanna watch us colombians and haitians i aint guilty its a musical transaction no more do we snatch ropes refugees run the seas cause we own our own boats no fightingim on tonight my hips dont lie and i am starting to feel you boy come on lets go real slow baby like this is perfecto no fightingoh you know i am on tonight my hips dont lie and i am starting to feel its right the attraction the tension baby like this is perfectionno fighting no fighting ",1
6,"unwritten","natasha bedingfield",2006," i am unwritten cant read my mind im undefined im just beginning the pens in my hand ending unplannedstaring at the blank page before you open up the dirty window let the sun illuminate the words that you could not findreaching for something in the distance so close you can almost taste it release your inhibitions feel the rain on your skin no one else can feel it for you only you can let it in no one else no one else can speak the words on your lips drench yourself in words unspoken live your life with arms wide open today is where your book begins the rest is still unwrittenoh oh ohi break tradition sometimes my tries are outside the lines weve been conditioned to not make mistakes but i cant live that waystaring at the blank page before you open up the dirty window let the sun illuminate the words that you could not findreaching for something in the distance so close you can almost taste it release your inhibitions feel the rain on your skin no one else can feel it for you only you can let it in no one else no one else can speak the words on your lips drench yourself in words unspoken live your life with arms wide open today is where your book beginsfeel the rain on your skin no one else can feel it for you only you can let it in no one else no one else can speak the words on your lips drench yourself in words unspoken live your life with arms wide open today is where your book begins the rest is still unwrittenstaring at the blank page before you open up the dirty window let the sun illuminate the words that you could not findreaching for something in the distance so close you can almost taste it release your inhibitions feel the rain on your skin no one else can feel it for you only you can let it in no one else no one else can speak the words on your lips drench yourself in words unspoken live your life with arms wide open today is where your book beginsfeel the rain on your skin no one else can feel it for you only you can let it in no one else no one else can speak the words on your lips drench yourself in words unspoken live your life with arms wide open today is where your book begins the rest is still unwritten the rest is still unwritten the rest is still unwrittenoh yeah yeah ",1
7,"crazy","gnarls barkley",2006," i remember when i remember i remember when i lost my mind there was something so pleasant about that place even your emotions had an echo in so much spaceand when youre out there without care yeah i was out of touch but it wasnt because i didnt know enough i just knew too muchdoes that make me crazy does that make me crazy does that make me crazy possiblyand i hope that you are having the time of your life but think twice thats my only advicecome on now who do you who do you who do you who do you think you are ha ha ha bless your soul you really think youre in controlwell i think youre crazy i think youre crazy i think youre crazy just like memy heroes had the heart to lose their lives out on a limb and all i remember is thinking i want to be like them ever since i was little ever since i was little it looked like fun and its no coincidence ive come and i can die when im donemaybe im crazy maybe youre crazy maybe were crazy probablyuh uh ",1
8,"ridin","chamillionaire featuring krayzie bone",2006," they see me rollin they hatin patrolling they tryin to catch me ridin dirty tryin to catch me ridin dirty tryin to catch me ridin dirty tryin to catch me ridin dirty tryin to catch me ridin dirty my music so loud im swangin they hopin that they gonna catch me ridin dirty tryin to catch me ridin dirty tryin to catch me ridin dirty tryin to catch me ridin dirty tryin to catch me ridin dirtypolice think they can see me lean im tint so it aint easy to be seen when you see me ride by they can see the glean and my shine on the deck and the tv screen ride with a new chick she like hold up next to the playstation controller is a full clip and my pistola turn a jacker into a coma girl you aint know im crazy like krayzie bone just tryin to bone aint tryin to have no babies rock clean as hell so i pull in ladies laws on patrolling you know they hate me music turned all the way up until the maximum i can speak for some niggas tryin to jack for some but we packin somethin that we have and um will have a nigga locked up in the maximum security cell im grippin oak music loud and tippin slow twin steady twistin like hit this dough police pull up right behind and its in his throat windows down gotta stop pollution cds change niggas like who is that producing this the playnskills when we out and cruisin got warrants in every city except houston but im still aint losinthey see me rollin they hatin patrolling they tryin to catch me ridin dirty tryin to catch me ridin dirty tryin to catch me ridin dirty tryin to catch me ridin dirty tryin to catch me ridin dirty my music so loud im swangin they hopin that they gonna catch me ridin dirty tryin to catch me ridin dirty tryin to catch me ridin dirty tryin to catch me ridin dirty tryin to catch me ridin dirtyi been drinkin and smokin holdin shit cause a brother cant focus i gotta get to home fore the po pos scope this big ol excursion swerving all up in the curve man nigga been sippin on that hennessey and the gin again is in again we in the wind doin a hundred while i puff on the blunt and rollin another one up we livin like we aint givin a fuck i got a revolver in my right hand 40 oz on my lap freezing my balls roll a nigga tree green leaves and all comin pretty deep me and my dogs i gotta get back to back streets wanted by the six pound and i got heat glock glock shots to the block we creep creep pop pop hope cops dont see me on a low key with no regards for the law we dodge em like fuck em all but i wont get caught up and brought up on charges for none of yall keep a gun in car and a blunt to spark but well if you want nigga you poppin dark ready or not we bust shots off in the air krayzie bone and chamillionairethey see me rollin they hatin patrolling they tryin to catch me ridin dirty tryin to catch me ridin dirty tryin to catch me ridin dirty tryin to catch me ridin dirty tryin to catch me ridin dirty my music so loud im swangin they hopin that they gonna catch me ridin dirty tryin to catch me ridin dirty tryin to catch me ridin dirty tryin to catch me ridin dirty tryin to catch me ridin dirtydo what you thinkin so i tried to let you go turn up a blink of light and i swang it slower a nigga upset for sure cause they think they know that they catchin me with plenty of the drink and dro so they get behind me tryin to check my tags look at my rearview and they smilin thinkin theyll catch me on the wrong well keep tryin cause they denyin is racial profiling houston tx you can check my tags pull me over try to check my slab glove compartment gotta get my cash cause the crooked cops try to come up fast and been a baller that i am i talk to them giving a damn bout not feeling my attitude when they realize i aint even ridin dirty bet youll be leavin with an even madder mood imma laugh at you then imma have to cruise im in number two on some more dj screw you cant arrest me plus you cant sue this a message to the laws tellin them we hate you i cant be touched or tell em that they shoulda known tippin down sittin crooked on my chrome bookin my phone tryin to find a chick i wanna bone like they couldnt stop me im about to pull up at your home and its onthey see me rollin they hatin patrolling they tryin to catch me ridin dirty tryin to catch me ridin dirty tryin to catch me ridin dirty tryin to catch me ridin dirty tryin to catch me ridin dirty my music so loud im swangin they hopin that they gonna catch me ridin dirty tryin to catch me ridin dirty tryin to catch me ridin dirty tryin to catch me ridin dirty tryin to catch me ridin dirtythey see me rollin they hatin patrolling they tryin to catch me ridin dirty tryin to catch me ridin dirty tryin to catch me ridin dirty tryin to catch me ridin dirty tryin to catch me ridin dirty my music so loud im swangin they hopin that they gonna catch me ridin dirty tryin to catch me ridin dirty tryin to catch me ridin dirty tryin to catch me ridin dirty tryin to catch me ridin dirty ",1
9,"sexyback","justin timberlake featuring timbaland",2006,"im bringin sexy back them other boys dont know how to act i think its special whats behind your back so turn around and ill pick up the slack take em to the bridge dirty babe you see these shackles baby im your slave ill let you whip me if i misbehave its just that no one makes me feel this way take em to the chorus come here girl go head be gone with it come to the back go head be gone with it v i p go head be gone with it drinks on me go head be gone with it let me see what ya tworkin with go head be gone with it look at those hips go head be gone with it you make me smile go head be gone with it come here child go head be gone with it and get your sexy on go head be gone with it get your sexy on go head be gone with it get your sexy on go head be gone with it get your sexy on go head be gone with it get your sexy on go head be gone with it get your sexy on go head be gone with it get your sexy on go head be gone with it get your sexy on im bringin sexy back them motherfuckers dont know how to act girl let me make up for the things you lack cause youre burnin up i gotta get it fast take em to the bridge dirty babe you see these shackles baby im your slave ill let you whip me if i misbehave its just that no one makes me feel this way take em to the chorus come here girl go head be gone with it come to the back go head be gone with it v i p go head be gone with it drinks on me go head be gone with it let me see what ya tworkin with go head be gone with it look at those hips go head be gone with it you make me smile go head be gone with it come here child go head be gone with it and get your sexy on go head be gone with it get your sexy on go head be gone with it get your sexy on go head be gone with it get your sexy on go head be gone with it get your sexy on go head be gone with it get your sexy on go head be gone with it get your sexy on go head be gone with it get your sexy on you ready you ready you ready yeah im bringin sexy back you motherfuckers watch how i attack if thats your girl better watch your back cause shell burning up for me for me and thats a fact take em to the chorus come here girl go head be gone with it come to the back go head be gone with it v i p go head be gone with it drinks on me go head be gone with it let me see what ya tworkin with go head be gone with it look at those hips go head be gone with it you make me smile go head be gone with it come here child go head be gone with it and get your sexy on go head be gone with it get your sexy on go head be gone with it get your sexy on go head be gone with it get your sexy on go head be gone with it get your sexy on go head be gone with it get your sexy on go head be gone with it get your sexy on go head be gone with it get your sexy on you ready yeah you ready yeah yeah",3
10,"check on it","beyonce featuring slim thug",2006," slim thug you need to stop playing round with all them clowns and the wangstas good girls gotta get down with them gangstas go head girl put some back and some neck up on it while i stand up in the background and check up on itchorus ohh boy you looking like you like what you see wont you come over and check up on it im gone let you work up on it ladies let em check up on it watch it while he check up on it dip it pop it twork it stop it check on me tonightif you got it flaunt it boy i know you want it while i turn around you watch me check up on it oohhh you watchin me shake it i see it in ya face ya cant take it its blazin you watch me in amazement you can look at it as long as you dont grab it if you dont go braggin ima let you have it you think that im teasin but i aint got no reason im sure that i can please ya but first i gotta read youchorus ohh boy you looking like you like what you see wont you come over and check up on it im gone let you work up on it ladies let em check up on it watch it while he check up on it dip it pop it twork it stop it check on me tonight x2i can tell you wanna taste it but im gone make you chase it you got to be patient i like my men patient more patience you take might get you in more places you cant be abrasive have to know to pace it if i let you get up on it you gotta make a promise that you gone put it on me like no ones put it on me dont bore me just show me all men talk but dont please i can be a tease but i really wanna please youchorus ohh boy you looking like you like what you see wont you come over and check up on it im gone let you work up on it ladies let em check up on it watch it while he check up on it dip it pop it twork it stop it check on me tonight x2bun b im checking on you boo do what chu do and while dance ima glance at this beautiful view im keep my hands in my pants i need to glue em w glue im in a trance all eyes on you and your crew me and my mans dont dance but to feel yall bump and grind it wont hurt if you gone try one time they all hot but let me see this ones mine its slim thug and dc outta h townchorus ohh boy you looking like you like what you see wont you come over and check up on it im gone let you work up on it ladies let em check up on it watch it while he check up on it dip it pop it twork it stop it check on me tonight x4 ",1
11,"be without you","mary j blige",2006," i wanna be with you gotta be with you need to be with you oh oh oh oh i wanna be with you gotta be with you need to be with you oh oh oh oh ooo oh oh oh oh ooochemistry was crazy from the getgo neither one of us knew why we didnt build nothing overnight cause a love like this takes some time people swore it off as a phase said we cant see that now from top to bottom they see that we did that yes its so true that yes weve been through it yes we got real shit yes see baby we beentoo strong for too long and i cant be without you baby and ill be waiting up until you get home cause i cant sleep without you baby anybody whos ever loved ya know just what i feel too hard to fake it nothing can replace it call the radio if you just cant be without your babyi got a question for ya see i already know the answer but still i wanna ask you would you lie no make me cry no do somethin behind my back and then try to cover it up well neither would i baby my love is only your love yes ill be faithful yes im for real yes and with us youll always know the deal weve beentoo strong for too long and i cant be without you baby and ill be waiting up until you get home cause i cant sleep without you baby anybody whos ever loved ya know just what i feel too hard to fake it nothing can replace it call the radio if you just cant be without your babysee this is real talk im a always stay no matter what good or bad thick and thin right or wrong all day everyday now if youre down on love or dont believe this aint for you no this aint for you and if you got it deep in your heart and deep down you know that its true come on come on come on well let me see you put your hands up hands up fellas tell your lady shes the one fellas tell your lady shes the one oh put your hands up hands up ladies let him know hes got your love look him right in his eyes and tell him weve beentoo strong for too long and i cant be without you baby and ill be waiting up until you get home cause i cant sleep without you baby anybody whos ever loved ya know just what i feel too hard to fake it nothing can replace it call the radio if you just cant be without your babyi wanna be with you gotta be with you need to be with you i wanna be with you gotta be with you need to be with you i wanna be with you gotta be with you need to be with you i wanna be with you gotta be with you need to be with you i wanna be with you gotta be with you need to be with you ",1
12,"grillz","nelly paul wall and ali  gipp",2006,"robbed a jewelry store and tell ̢em make me a grill yeah da whole top diamonds and da bottom rows gold yo we ̢bout to start an epidemic wit dis one yall know what dis is so so def got 30 down at da bottom 30 mo at da top all invisible set in little ice cube blocks if they could call it a drink call it a smile on da rocks if they could call out a price lets say i call out a lot i got like platinum and white golds traditional gold im changin grillz erday like jay change clothes i might be grilled out nicely in my white tee on south beach in my wife b vive ustedes you can tell when they cut it you see my grandmama hate it but my lil mama love it ̢cuz when i open up ya mouth ya grill gleamin eyes stay low from da chiefin i got a grill i call ̢penny candy you know what dat mean it look like now an laters gum drops jelly beans i wouldnt leave it fo nutin only a crazy man would so if ya catch me in ya city somewhere out in ya hood just say smile fo me daddy what you lookin at let me see ya grill let me see my what ya ya grill ya ya ya grill robbed a jewelry store and tell em make me a grill she said smile fo me daddy what you lookin at i want to see your grill you wanna see my what ya ya grill ya ya ya grill yeah the whole top diamonds and da bottom rows gold what it do baby its da ice man powwow i got my mouth lookin somethin like a disco ball i got da diamonds and da ice all hand set i might cause a cold front if i take a deep breath my teeth gleamin like im chewin on aluminum foil smilin showin off my diamonds sippin on some potent oil i put my money where my mouth is and bought a grill 20 carrots 30 stacks let ̢em know im so fo real my motivation is them 30 pointers vvs the furniture in my mouthpiece simply symbolize success i got da wrist wear and neck wear dats captivatin but its my smile dat got these onlookers spectatin my mouthpiece simply certified a total package open up my mouth and you see mo carrots than a salad my teeth are mind blowin givin everybody chillz call me george foreman ̢cuz im sellin everybody grillz smile fo me daddy what you lookin at let me see ya grill let ya see my what ya ya grill ya ya ya grill robbed a jewelry store and tell em make me a grill she said smile fo me daddy what you lookin at i want to see your grill you wanna see my what ya ya grill ya ya ya grill yeah the whole top diamonds and da bottom rows gold gipp got dem yellows got dem purples got dem reds lights gon head and make you woozy in ya head you can catch me in my too short drop mob got colors like a fruit loop box dis what it do when it lou ice grill country grammar where da hustlas move bricks and da gangstas bang hammas where i got ̢em you can spot ̢em on da top in da bottom got a bill in my mouth like im hillary rodham i aint dissin nobody but lets bring it to da light yeah was da first wit my mouth bright white yeah  cant focus ̢cuz they eyesight blurry tippin on some fos you can see my mouth jeelry i got fo different sets its a fabolous thang 1 white 1 yellow like fabolous chain and da otha set is same got my name in da mold yeah da whole top diamonds and da bottom rows gold smile fo me daddy what you lookin at let me see ya grill let ya see my what ya ya grill ya ya ya grill robbed a jewelry store and tell em make me a grill she said smile fo me daddy what you lookin at i want to see your grill you wanna see my what ya ya grill ya ya ya grill yeah the whole top diamonds and da bottom rows gold boy how youd get your grill that way and how much did you pay every time i see you the first thing i wan say is smile fo me daddy what you lookin at let me see ya grill let ya see my what ya ya grill ya ya ya grill robbed a jewelry store and tell em make me a grill she said smile fo me daddy what you lookin at i want to see your grill you wanna see my what ya ya grill ya ya ya grill yeah the whole top diamonds and da bottom rows gold cmon",3
13,"over my head cable car","the fray",2006,"i never knew i never knew that everything was falling through that everyone i knew was waiting on a queue to turn and run when all i needed was the truth but thats how its got to be its coming down to nothing more than apathy id rather run the other way than stay and see the smoke and whos still standing when it clears and everyone knows im in over my head over my head eight seconds left in overtime shes on your mind shes on your mind lets rearrange i wish you were a stranger i could disengage to say that we agree and then never change soften a bit until we all just get along but thats disregard find another friend and you discard as you lose the argument in a cable car hanging above as the canyon comes between and everyone knows im in over my head over my head with eight seconds left in overtime shes on your mind shes on your mind everyone knows im in over my head over my head with eight seconds left in overtime shes on your mind shes on oh and suddenly i become a part of your past im becoming the part that dont last im losing you and its effortless without a sound we lose sight of the ground in the throw around never thought that you wanted to bring it down i wont let it go down till we torch it ourselves and everyone knows im in over my head over my head with eight seconds left in overtime shes on your mind shes on your mind everyone knows shes on your mind everyone knows im in over my head im in over my head im over my everyone knows im in over my head over my head with eight seconds left in overtime shes on your mind shes on your mind",3
14,"me  u","cassie",2006,"youve been waiting so long im here to answer your call i know that i shouldnt have had you waiting at all ive been so busy but ive been thinking bout what i wanna do wit you i know them other guys theyve been talking bout the way i do what i do they heard i was good they wanna see if its true they know youre the one i wanna give it to i can see you want me too now its me u its me u now ive been waiting waitin think im gonna make that move now baby tell me if you like it tell me if you like it its me u now ive been waitin think im gonna make that move now baby tell me how you like it i was waitin for you to tell me you were ready i know what to do if only you would let me as long as youre cool with it ill treat ya right here is where you wanna be i know them other guys theyve been talkin bout the way i do what i do they heard i was good they wanna see if its true they know youre the one i wanna give it to i can see you want me too and now its me u its me u now baby its ive been waitin me u think im gonna make that move now im thinkin bout making that move baby tell me if you like it tell me if you like it its me u now uh huh hey ive been waitin think im gonna make that move now gonna make a move baby tell me how you like it baby ill love you all the way down get you right where you like it i promise youll like it i swear just relax and let me make that move its our secret babe well keep it between me u its me u now oh yeah yeah ive been waitin think im gonna make that move now move now baby tell me if you like it tell me if you like it its me u now ive been waitin think im gonna make that move now gonna make a move now baby tell me how you like it its me u now me u ive been waitin its just me u think im gonna make that move now its just us two baby tell me if you like it its just me and you now its me u now ive been waitin ive been waitin think im gonna make that move now gonna make a move now baby tell me how you like it",3
15,"buttons","pussycat dolls featuring snoop dogg",2006," im telling you loosen up my buttons baby uh huh but you keep fronting uh saying what you going to do to me uh huh but i aint seen nothing uh im telling you loosen up my buttons baby uh huh but you keep fronting uh saying what you going to do to me uh huh but i aint seen nothing uhtypical hardly the type i fall for i like when the physical dont leave me asking for more im a sexy mama mama who knows just how to get what i want and want and what i want to do is spring this on you on you back up all of the things that i told you told youyou been saying all the right things all night long but i cant seem to get you over here to help take this off baby cant you see how these clothes are fitting on me and the heat coming from this beat im about to blow i dont think you knowim telling you loosen up my buttons baby uh huh but you keep fronting uh saying what you going to do to me uh huh but i aint seen nothing uh im telling you loosen up my buttons baby uh huh but you keep fronting uh saying what you going to do to me uh huh but i aint seen nothing uhyou say youre a big boy but i cant agree cause the love you said you had aint been put on me i wonder if im just too much for you wonder if my kiss dont make you just wonder what i got next for you what you want to do dotake a chance to recognize that this could be yours i can see just like most guys that your game dont please baby cant you see how these clothes are fitting on me and the heat coming from this beat im about to blow i dont think you knowim telling you loosen up my buttons baby uh huh but you keep fronting uh saying what you going to do to me uh huh but i aint seen nothing uh im telling you loosen up my buttons baby uh huh but you keep fronting uh saying what you going to do to me uh huh but i aint seen nothing uhcome on baby loosen up my buttons babe loosen up my buttons babe baby wont you loosen up my buttons babe loosen up my buttons babecome on baby loosen up my buttons babe loosen up my buttons babe baby wont you loosen up my buttons babe loosen up my buttons babeim telling you loosen up my buttons baby uh huh but you keep fronting uh saying what you going to do to me uh huh but i aint seen nothing uh im telling you loosen up my buttons baby uh huh but you keep fronting uh saying what you going to do to me uh huh but i aint seen nothing uhim telling you loosen up my buttons baby uh huh but you keep fronting uh saying what you going to do to me uh huh but i aint seen nothing uh im telling you loosen up my buttons baby uh huh but you keep fronting uh saying what you going to do to me uh huh but i aint seen nothing uh ",1
16,"run it","chris brown featuring juelz santana",2006," okay check it check it check it out santana again steppin steppin steppin out one of them brand new big boy toys i do big boy things i make big boy noise cause i know what girls want i know what they like they want to stay up and party all night so bring a friendlet me talk to you tell you how it is i was thinkin when i saw that body gotta get shorty tell her what the young boy goin do damn them chicks with you gotta be okay babe pretty thick with a kick thats sick that need to be hit so tell me what yall goin doi got friends and you got friends they hop out and you hop in i look fly and they jockin the way you drop drop makes me wanna popi got friends and you got friends they hop out and you hop in i look fly and they jockin the way you drop drop makes me wanna popis yo man on the floor if he aint let me know lemme see if you can run it run it girl indeed i can run it run itis yo man on the floor if he aint let me know lemme see if you can run it run it girl indeed i can run it run ityoull see girl i can set you off i dont believe my age gonna slow us down i can definitely show you things to have you saying i cant be 16 once i get in you wont let go and i i have them girls wishin they were you and i i know you heard bout me but guess whats goin down if we leavei got friends and you got friends they hop out and you hop in i look fly and they jockin the way you drop drop makes me wanna popi got friends and you got friends they hop out and you hop in i look fly and they jockin the way you drop drop makes me wanna popis yo man on the floor if he aint let me know lemme see if you can run it run it girl indeed i can run it run itis yo man on the floor if he aint let me know lemme see if you can run it run it girl indeed i can run it run itgirl you feel right make me feel like i wanna do a little somethin aint no thing lets do it fo sho the way that yo wearin them jeans is turnin me on youre the hottest thing thats in these streets so baby wont you rock wit memake it drop honey make it pop honey whip wop tick tock to the clock fo me dont stop doin that and shorty know what i mean when i tell her so she wont stop doin that plus i heard if you can dance you can bump well dance time is up lets go lets goyup we can get it in we can get some friends do it like he ying yang twins start whisperin wait till you see myhey wait till you see myhey let me fall back you aint ready for all that have you sleep late real late yeah takin them long naps you tell yo friends to get wit my friends we can be friends switch and meet friendsswitch we can do it all night long and until the clock hit mornin ya digis yo man on the floor if he aint let me know lemme see if you can run it run it girl indeed i can run it run it ",1
17,"so sick","neyo",2006," gotta change my answering machine now that im alone cause right now it says that we cant come to the phone and i know it makes no sense cause you walked out the door but its the only way i hear your voice anymoreits ridiculous its been months and for some reason i just cant get over us and im stronger than thisenough is enough no more walking round with my head down im so over being blue crying over youand im so sick of love songs so tired of tears so done with wishing you were still here said im so sick of love songs so sad and slow so why cant i turn off the radiogotta fix that calendar i have thats marked july 15th because since theres no more you theres no more anniversary im so fed up with my thoughts of you and your memory and now every song reminds me of what used to bethats the reason im so sick of love songs so tired of tears so done with wishing you were still here said im so sick of love songs so sad and slow so why cant i turn off the radioleave me alone leave me alone stupid love songs dont make me think about her smile or having my first child let it go turning off the radiocause im so sick of love songs so tired of tears so done with wishing she was still here said im so sick of love songs so sad and slow so why cant i turn off the radiosaid im so sick of love songs so tired of tears so done with wishing she was still here said im so sick of love songs so sad and slow why cant i turn off the radio why cant i turn off the radioand im so sick of love songs so tired of tears so done with wishing you were still here said im so sick of love songs so sad and slow why cant i turn off the radio why cant i turn off the radio why cant i turn off the radio ",1
18,"its goin down","yung joc featuring nitti",2006," this a nitty beat boinghere we go again ghetto ville usa uh oh you know i got by the name nitty right uh huh i gotta introduce you to another motherfucker out my squad right who dis nigga man dis nigga go by the name of joc joc he resides in college park college park but for right now what we gotta do for yall what we gonna do we gotta give yall a hit huhniggaz in my face damn near er day askin a million questions like joc where ya stay tell em college park where they chop cars eat twenty grand spend a grand at the bar just bought a zone jays on my feet im on that patron so get like me 69 cutlass wit the bucket seats beat in my trunk bought it just for the freaks catch me in the hood posted at the sto pistol in my lap on the phone countin dough if a girl choose let her do her thang just like her mama and i aint sayin the name brain erybody love me im so fly niggaz throw the duces erytime i ride by i know ya wonder why im so cool dont ask me just do what cha do okaychorus x2 meet me in the trap its goin down meet me in the mall its goin down meet me in the club its goin down anywhere ya meet me guaranteed to go downverse numba two do the damn thang cubes on my neck pockets full of ben franks when im in the mall hoes just pause i pop a few tags give me that on the wall time to flip the work make the block bump boys in the hood call me black donald trump dope boy magic seven days a week numba one record long as nitty on the beat oh i think they like me betta yet i know lights camera action when i walk through the door niggaz know my crew we certified stars valet in the front bout thirtyfive cars bitches in the back black beamer coups girls like girls time to recruit if ya got a problem say it to my face we can knuckle up any time any placechorus x2time to set it off let these niggas know have ya every seen a chevy wit the butterfly doors i ride real slow no need to speed gotta make sure ya see the buckets on my feet feds on my trail but they dont think i know i keep my hands clean cause i never touch dope every time i see em look em in the eye ask me how i know its me suprise put it in the air rep where ya stay take a step back blow the kush in they face stuntin is a habit let em see the karats im a make it rain nigga i aint scared to share itchorus x2yung joc nitty strikes again this a nitty beat playmaker ",1
19,"sos","rihanna",2006," la la la la la la la la la la la oh you know i never felt like this before la la la la la la la la la la la oh this feels like so unrealim obsessive when just one thought of you comes up im aggressive just one thought of closing up you got me stressing incessantly pressing the issue da very moment gone you know i miss you im the question and youre of course the answer just hold me close boy cause im your tiny dancer you make me shaken up never mistaken but i cant control myself got me calling out for helpsos please someone help me its not healthy for me to feel this you are making this hard i cant take it see it dont feel right sos please someone help me its not healthy for me to feel this you are making this hard you got me tossin and turnin cant sleep at nightthis time please someone come and rescue me cause you on my mind got me losing it im lost you got me lookin for the rest of me just testing me but still im losing it this time please someone come and rescue me cause you on my mind got me losing it im lost you got me looking for the rest of me got the best of me so now im losing itjust your presence and i second guess my sanity yes its a lesson and its based on my vanity my tummys up in knots as i see you i get so hot common sense is out the door cant seem to find a lot take a minute you know inside you feel it right take me home i put desire in your arms tonight im out with you ya got me head over heels boy you keep me hanging on the way you make me feelsos please someone help me its not healthy for me to feel this you are making this hard you got me tossin and turnin cant sleep at nightthis time please someone come and rescue me cause you on my mind got me losing it im lost you got me lookin for the rest of me just testing me but still im losing it this time please someone come and rescue me cause you on my mind got me losing it im lost you got me looking for the rest of me got the best of me so now im losing itboy you know you got me feeling open and boy your loves enough with words unspoken i said boy im telling you you got me open i dont know what to do its true im going crazy over you im beggingsos please someone help me its not healthy for me to feel this you are making this hard you got me tossin and turnin cant sleep at nightthis time please someone come and rescue me cause you on my mind got me losing it im lost you got me lookin for the rest of me just testing me but still im losing it this time please someone come and rescue me cause you on my mind got me losing it im lost you got me looking for the rest of me got the best of me so now im losing itla la la la la la la la oh oh oh la la la la la la la la oh oh ",1
20,"i write sins not tragedies","panic at the disco",2006," oh well imagine as im pacing the pews in a church corridor and i cant help but to hear no i cant help but to hear an exchanging of wordswhat a beautiful wedding what a beautiful wedding says a bridesmaid to a waiter and yes but what a shame what a shame the poor grooms bride is a whorei chime in with a havent you ever heard of closing a goddamn door no its much better to face these kinds of things with a sense of poise and rationalityi chime in havent you ever heard of closing a goddamn door no its much better to face these kinds of things with a sense ofoh well in fact well ill look at it this way i mean technically our marriage is saved well this calls for a toast so pour the champagneoh well in fact well ill look at it this way i mean technically our marriage is saved well this calls for a toast so pour the champagne pour the champagnei chime in with a havent you ever heard of closing a goddamn door no its much better to face these kinds of things with a sense of poise and rationalityi chime in havent you people ever heard of closing a goddamn door no its much better to face these kinds of things with a sense of poise and rationalityagaini chime in havent you people ever heard of closing a goddamn door no its much better to face these kinds of things with a sense of poise and rationalityi chime in havent you people ever heard of closing a goddamn door no its much better to face these kinds of things with a sense of poise and rationalityagain ",1
21,"move along","the allamerican rejects",2006,NA,NA
22,"london bridge","fergie",2006," oh shit oh shit oh shit oh shit oh shit oh shit oh shit oh shit oh shit are you ready for this oh shit oh shit oh shit oh its me fergie the p polow fergie ferg whats up babywhen i come to the club step aside oh shit pop the seats dont be hating me in the line oh shit vip cause you know i gotta shine oh shit im fergie ferg and me love you long time oh shitall my girls get down on the floor oh shit back to back drop it down real low oh shit im such a lady but im dancing like a ho oh shit cause you know i dont give a fuck so here we go oh shithow come every time you come around my london london bridge wanna go down like london london london wanna go down like london london london be going down likehow come every time you come around my london london bridge wanna go down like london london london wanna go down like london london london be going down likethe drinks start pouring and my speech starts slurring everybody start looking real goodthe gray goose got your girl feeling loose now im wishing that i didnt wear these shoes i hate heels it like every time i get up on the dude paparazzi put my business in the news better get up out my face oh shit before i turn around and spray your ass with mace oh shit my lips make you wanna have a taste oh shit you got that ive got the basshow come every time you come around my london london bridge wanna go down like london london london wanna go down like london london london be going down likehow come every time you come around my london london bridge wanna go down like london london london wanna go down like london london london be going down likehey london atl cali collabo fergie and polowhen i come to the club step aside oh shit pop the seats dont be hating me in the line oh shit vip cause you know ive gotta shine oh shit im fergie ferg and me love you long time oh shitall my girls get down on the floor oh shit back to back drop it down real low oh shit im such a lady but im dancing like a ho oh shit cause you know i dont give a fuck so here we go oh shithow come every time you come around my london london bridge wanna go down like london london london wanna go down like london london london be going down likehow come every time you come around my london london bridge wanna go down like london london london wanna go down like london london london be going down likefuck you bitches ",1
23,"dani california","red hot chili peppers",2006," gettin born in the state of mississippi papa was a copper and her mama was a hippie in alabama she was swinging hammer price you gotta pay when you pick the panorama she never knew that there was anything more than poor what in the world what does your company take me forblack bandana sweet louisiana robbin on a bank in the state of indiana shes a runner rebel and a stunner hunt em everywhere saying baby whatcha gonna lookin down the barrel of a hot metal 45 just another way to survivecalifornia rest in peace simultaneous release california show your teeth shes my priestess im your priest yeah yeahshes a lover baby and a fighter shouldve seen her coming when it got a little brighter with a name like dani california day was gonna come when i was gonna mourn ya a little loaded she was stealing another breath i love my baby to deathcalifornia rest in peace simultaneous release california show your teeth shes my priestess im your priest yeah yeahwho knew the other side of you who knew what others died to prove too true to say goodbye to you too true too say say saypush the fader gifted animator one for the now and eleven for the later never made it up to minnesota north dakota man was a gunnin for the quota down in the badlands she was saving the best for last it only hurts when i laugh gone too fastcalifornia rest in peace simultaneous release california show your teeth shes my priestess im your priest yeah yeahcalifornia rest in peace simultaneous release california show your teeth shes my priestess im your priest yeah yeah ",1
24,"snap yo fingers","lil jon featuring e40 and sean paul",2006," whats happenin dis ya boy lil jon bme clik whats up 40 whats happenin whats up sean paul whats happenin hey now ladies and gentlemen its about dat time to turn this thang on out now let me see everybody do this hey lets gosnap ya fingers do ya step you can do it all by yo self let me see you do it ay let me see you do it aysnap ya fingers do ya step you can do it all by yo self let me see you do it ay let me see you do it aysnap ya fingers and then rock wit it do it do it do it do it gon drop wit it do a step wit it put ya hips wit it all my ladies let me see ya put a twist wit it you cant do like me im by myself i do it so good i dont need nobody else whats happenin whats up got da purk fired up whats happenin whats up got patron in my cup i pop i drank im on patron and purk i cant thank im blowed to tha do dont know how tha hell im gettin homesnap ya fingers do ya step you can do it all by yo self let me see you do it ay let me see you do it aysnap ya fingers do ya step you can do it all by yo self let me see you do it ay let me see you do it aystraight from da bay posted in tha a bout to hit tha club we been mobbin all day drinkin some rusty dyinoff patron vip status strapped wit my chrome look around tha club what do i see everybody rockin from side to side to tha beat snappin they fingers bouncin to tha groove all by they self thats tha new move nigga where im from we like to go dumb im soakin up tha game im seein how its done i ask shawty what they call it she said tha pool palace straight from bank head i said you good at it do what cha do you and ya crew they even got playas and thugs doin it too the mo that i drank tha more its lookin smooth its nothin to a boss i can do tha shit toosnap ya fingers do ya step you can do it all by yo self let me see you do it ay let me see you do it aysnap ya fingers do ya step you can do it all by yo self let me see you do it ay let me see you do it aychillin in tha bip yeah we get crunk niggas poppin bottles and these bitches gettin drunk rollin up tha kush put it in tha air im throwin up tha es to let em know we in here brand new shoes brand new tool pull out tha ol school cause im feelin real cool yeah im from tha a so im leanin and rockin snappin my fingers then reachin for my glock bitch reppin my block bitch straight from tha deck when you snap ya fingers shawty gotta jerk ya neck smokin on tha best we dont fuck wit dat mess i bet you cant do it do it do it like this yeah im back to tha track back to tha snap one two step then you gotta lean back dis is how we do it in tha a town and if you aint know this how it goes downsnap ya fingers do ya step you can do it all by yo self let me see you do it ay let me see you do it aysnap ya fingers do ya step you can do it all by yo self let me see you do it ay let me see you do it ay hey hey ",1
25,"lean wit it rock wit it","dem franchize boyz",2006," lean wit it rock wit it lean wit it rock wit it lean wit it rock wit it lean wit it rock wit itlean wit it rock wit it lean wit it rock wit it lean wit it rock wit it lean wit it rock wit iti bounce in the club so the  call me rocky posted in the cut and im lookin for a blockhead yup in my white tee i break a  back and i keep a big bank oh i think dey like datbefore i leave the house im slizzard on the goose and im  than a plane so a  really loose and i can lean wit it and i can rock wit it and if you got a friend she gotta suck a  wit itay gon an rock wit it gon an lean wit it rock so damn hard you break your spleen wit it pull up ya jeans wit it smoke some  wit it an da spot aint crunk  if we aint in itif you dont wanna do it then ill make ya dance perfect example watch me make your face beat up my hands when you see me hit the spot betta watch dat boy chalay from the road wit dem franchize boyzlean wit it rock wit it lean wit it rock wit it lean wit it rock wit it lean wit it rock wit itlean wit it rock wit it lean wit it rock wit it lean wit it rock wit it lean wit it rock wit itim too clean to wanna pop lock from left to right a  lean vibin to the beat check my feet yeen got deez i rock then ben my knees every time the beat drop lean wit it rock wit me freeze befo yo fingers poppurple lean purple   in my sock what the  you mean yeen seen buddy on the block they call me doctor doc i prescribe what a  need make em lean and rock old school people pat cha feet im pimpin in the club til the  start to act up cuz they see my chain and a  throwin them stacks up i keep a full  and my  in my pants im in the middle of the flo they screamin  do yo danceyou can roll yo arms roll yo arms and just put em in rotation rotation go side to side and snap yo fingers like dem temptationsdawg im all out of state doin a dance they neva seen dat i aint fat joe but snap yo fingers then you lean backlean wit it rock wit it lean wit it rock wit it lean wit it rock wit it lean wit it rock wit itlean wit it rock wit it lean wit it rock wit it lean wit it rock wit it lean wit it rock wit itrock left then snap ya fingers rock right then snap ya fingers ay whats hannenin lean wit me rock wit me gotta  pop wit me gon take a shot wit me call me teddy i got  dont hate  shop wit medfb so so def hell yeah we on  franchize aint got no money sh hold on hold on  hey rock left rock right you can get dat sh lean back like fat joe and snap yo wrist backgangstas dont dance they lean wit it rock wit it  wit me pop quickly gangstas gon rock wit it 1 2 pop and bring it cross the chest wit it get nasty flashy gon flex wit itdo it how ya wanna slow it up do the matrix play wit it straight hit it get all in they face wit it dis dance for the  the  the cutthroats ya already know the chillen the grown folklean wit it rock wit it lean wit it rock wit it lean wit it rock wit it lean wit it rock wit itlean wit it rock wit it lean wit it rock wit it lean wit it rock wit it lean wit it rock wit it ",1
26,"what hurts the most","rascal flatts",2006," i can take the rain on the roof of this empty house that dont bother me i can take a few tears now and then and just let em out im not afraid to cry every once in a while even though goin on with you gone still upsets me there are days every now and again i pretend im okay but thats not what gets mewhat hurts the most was being so close and havin so much to say and watchin you walk away and never knowin what couldve been and not seein that lovin you is what i was trying to doits hard to deal with the pain of losin you everywhere i go but im doing it its hard to force that smile when i see our old friends and im alone still harder gettin up gettin dressed livin with this regret but i know if i could do it over i would trade give away all the words that i saved in my heart that i left unspokenwhat hurts the most was being so close and havin so much to say and watchin you walk away and never knowin what couldve been and not seein that lovin you is what i was trying to do ohwhat hurts the most was being so close and havin so much to say and watchin you walk away and never knowin what couldve been and not seein that lovin you is what i was trying to donot seeing that lovin you thats what i was trying to do ooh ",1
27,"how to save a life","the fray",2006,"step one you say we need to talk he walks you say sit down its just a talk he smiles politely back at you you stare politely right on through some sort of window to your right as he goes left and you stay right between the lines of fear and blame you begin to wonder why you came where did i go wrong i lost a friend somewhere along in the bitterness and i would have stayed up with you all night had i known how to save a life let him know that you know best cause after all you do know best try to slip past his defense without granting innocence lay down a list of what is wrong the things youve told him all along and pray to god he hears you and pray to god he hears you and where did i go wrong i lost a friend somewhere along in the bitterness and i would have stayed up with you all night had i known how to save a life as he begins to raise his voice you lower yours and grant him one last choice drive until you lose the road or break with the ones youve followed he will do one of two things he will admit to everything or hell say hes just not the same and youll begin to wonder why you came where did i go wrong i lost a friend somewhere along in the bitterness and i would have stayed up with you all night had i known how to save a life where did i go wrong i lost a friend somewhere along in the bitterness and i would have stayed up with you all night had i known how to save a life how to save a life how to save a life where did i go wrong i lost a friend somewhere along in the bitterness and i would have stayed up with you all night had i known how to save a life where did i go wrong i lost a friend somewhere along in the bitterness and i would have stayed up with you all night had i known how to save a life how to save a life how to save a life",3
28,"unfaithful","rihanna",2006," story of my life searching for the right but it keeps avoiding me sorrow in my soul cause it seems that wrong really loves my companyhes more than a man and this is more than love the reason that the sky is blue the clouds are rolling in because im gone again and to him i just cant be trueand i know that he knows im unfaithful and it kills him inside to know that i am happy with some other guy i can see him dyingi dont wanna do this anymore i dont wanna be the reason why every time i walk out the door i see him die a little more inside i dont wanna hurt him anymore i dont wanna take away his life i dont wanna be a murdereri feel it in the air as im doing my hair preparing for another date a kiss upon my cheek as he reluctantly asks if im gonna be out late i say i wont be long just hanging with the girls a lie i didnt have to tell because we both know where im about to go and we know it very wellcause i know that he knows im unfaithful and it kills him inside to know that i am happy with some other guy i can see him dyingi dont wanna do this anymore i dont wanna be the reason why every time i walk out the door i see him die a little more inside i dont wanna hurt him anymore i dont wanna take away his life i dont wanna be a murdererour love his trust i might as well take a gun and put it to his head get it over with i dont wanna do this anymore uh anymoreand i dont wanna do this anymore i dont wanna be the reason why and every time i walk out the door i see him die a little more inside and i dont wanna hurt him anymore i dont wanna take away his life i dont wanna be a murderer a murderer no no no noyeah yeah yeah yeah ",1
29,"chasing cars","snow patrol",2006," well do it all everything on our ownwe dont need anything or anyoneif i lay here if i just lay here would you lie with me and just forget the worldi dont quite know how to say how i feel    meaning  byamandah   editor    this was the first thing gary lightbody wrote that was a true love song its the purest love song that ive ever written theres no knifeintheback twist    see all   those three words are said too much theyre not enoughif i lay here if i just lay here would you lie with me and just forget the worldforget what were told before we get too old show me a garden thats bursting into lifelets waste time chasing cars around our headsi need your grace to remind me to find my ownif i lay here if i just lay here would you lie with me and just forget the worldforget what were told before we get too old show me a garden thats bursting into lifeall that i am all that i ever was is here in your perfect eyes theyre all i can seei dont know where confused about how as well just know that these things will never change for us at allif i lay here if i just lay here would you lie with me and just forget the world ",1
30,"lips of an angel","hinder",2006," honey why are you calling me so late its kinda hard to talk right now honey why are you crying is everything okay i gotta whisper cause i cant be too loudwell my girls in the next room sometimes i wish she was you i guess we never really moved on its really good to hear your voice saying my name it sounds so sweet coming from the lips of an angel hearing those words  it makes me weak and i never wanna say goodbye but girl you make it hard to be faithful with the lips of an angelits funny that youre calling me tonight and yes ive dreamt of you too and does he know youre talking to me will it start a fight no i dont think she has a cluewell my girls in the next room sometimes i wish she was you i guess we never really moved on its really good to hear your voice saying my name it sounds so sweet coming from the lips of an angel hearing those words  it makes me weak and i never wanna say goodbye but girl you make it hard to be faithful with the lips of an angelits really good to hear your voice saying my name it sounds so sweet coming from the lips of an angel hearing those words  it makes me weak and i never wanna say goodbye but girl you make it hard to be faithful with the lips of an angel and i never wanna say goodbye but girl you make it so hard to be faithful with the lips of an angelhoney why are you calling me so late ",1
31,"everytime we touch","cascada",2006," i still hear your voice when you sleep next to me i still feel your touch in my dreams forgive me my weakness but i dont know why without you its hard to survivecause every time we touch i get this feeling and every time we kiss i swear i could fly cant you feel my heart beat fast i want this to last need you by my sidecause every time we touch i feel the static and every time we kiss i reach for the sky cant you hear my heart beat so i cant let you go want you in my lifeyour arms are my castle your heart is my sky they wipe away tears that i cry the good and the bad times weve been through them all you make me rise when i fallcause every time we touch i get this feeling and every time we kiss i swear i could fly cant you feel my heart beat fast i want this to last need you by my sidecause every time we touch i feel the static and every time we kiss i reach for the sky cant you hear my heart beat so i cant let you go want you in my lifecause every time we touch i get this feeling and every time we kiss i swear i could fly cant you feel my heart beat fast i want this to last need you by my side ",1
32,"aint no other man","christina aguilera",2006," hey do your thang honeyi could feel it from the start couldnt stand to be apart something bout ya caught my eye something moved me deep inside dont know what ya did boy but you had it and ive been hooked ever since told my mother my brother my sister and my friends told the others my lovers both past and present tense that every time i see you everything starts making sensedo your thang honeyaint no other man that can stand up next to you aint no other man on the planet does what you do youre the kinda guy a girl finds in a blue moon you got soul you got class you got style youre bad ass aint no other man its true alright aint no other man but younever thought id be alright no no no till you came and changed my life yeah yeah yeah what was cloudy now is clear yeah yeah youre the light that i needed yeah uh you got what i want boy and i want it so keep on giving it up so tell your mother your brother your sister and your friends tell the others your lovers better not be present tense cause i want everyone to know that you are mine and no one elses oh oh ahaint no other man that can stand up next to you aint no other man on the planet does what you do youre the kinda guy a girl finds in a blue moon you got soul you got class you got style youre bad ass aint no other man its true alright aint no other man but youaint no other aint aint no other other aint no other aint aint no other lover aint no other i i i need no other aint no other man but you ohyou are there when im a mess talk me down from every ledge give me strength boy youre the best youre the only one whos ever passed every testaint no other man that can stand up next to you aint no other man on the planet does what you do youre the kinda guy a girl finds in a blue moon you got soul you got class you got style youre bad ass aint no other man its true alright aint no other man but youaint no other man that can stand up next to you aint no other man on the planet does what you do youre the kinda guy a girl finds in a blue moon you got soul you got class you got style youre bad ass aint no other man its true alright aint no other man but you ",1
33,"dance dance","fall out boy",2006," she says shes no good with words but im worse barely stuttered out a joke of a romantical stuck to my tongueweighed down with words too overdramatic tonight its a cant get much worse and a no one should ever feel likeim two quarters and a heart down and i dont want to forget how your voice sounds these words are all i have so ill write them so you need them just to get bydance dance were falling apart to half time dance dance and these are the lives youd love to lead dance this is the way theyd love if they knew how misery loved meyou always fold just before youre found out drink up its last call last resort but only the first mistake andim two quarters and a heart down and i dont want to forget how your voice sounds these words are all i have so ill write them so you need them just to get bywhy dont you show me the little bit of spine youve been saving for his mattress lovedance dance were falling apart to half time dance dance and these are the lives youd love to lead dance this is the way theyd love if they knew how misery loved mewhy dont you show me the little bit of spine youve been saving for his mattress mattress mattress i only want sympathy in the form of you crawling into bed with medance dance were falling apart to half time dance dance and these are the lives youd love to leaddance this is the way theyd love way theyd love dance this is the way theyd love way theyd love dance this is the way theyd love if they knew how misery loved medance dance dance dance dance dance dance dance ",1
34,"gold digger","kanye west featuring jamie foxx",2006," she take my money when im in need yea shes a trifling friend indeed oh shes a gold digger way over town that digs on menow i aint saying she a gold digger but she aint messing with no broke niggas now i aint saying she a gold digger but she aint messing wit no broke niggas get down girl go head get down get down girl go head get down get down girl go head get down get down girl go headcutie the bomb met her at a beauty salon with a baby louis vuitton under her underarm she said i can tell you roc i can tell by ya charm far as girls you got a flock i can tell by ya charm and ya arm but im looking for the one have you seen her my psychic told me she have a ass like serena trina jennifer lopez four kids an i gotta take all they bad ass to showbiz ok get ya kids but then they got their friends i pulled up in the benz they all got up in we all went to den and then i had to pay if you fucking with this girl then you betta be payed you know why it take too much to touch her from what i heard she got a baby by busta my best friend say she use to fuck wit usher i dont care what none of yall say i still love hernow i aint saying she a gold digger but she aint messing with no broke niggas now i aint saying she a gold digger but she aint messing wit no broke niggas get down girl go head get down get down girl go head get down get down girl go head get down get down girl go headeighteen years eighteen years she got one of yo kids got you for 18 years i know somebody paying child support for one of his kids his baby mommas car and crib is bigger than his you will see him on tv any given sunday win the superbowl and drive off in a hyundai she was spose to buy ya shorty tyco with ya money she went to the doctor got lipo with ya money she walking around looking like micheal with ya money should of got that insured got geico for ya money if you aint no punk holla we want prenup we want prenup yeah its something that you need to have cause when she leave yo ass she gone leave with half eighteen years eighteen years and on her eighteenth birthday he found out it wasnt hisnow i aint saying she a gold digger but she aint messing with no broke niggas now i aint saying she a gold digger but she aint messing wit no broke niggas get down girl go head get down get down girl go head get down get down girl go head get down get down girl go headnow i aint saying you a gold digger you got needs you dont want ya dude to smoke but he cant buy weed you got out to eat and he cant pay yall cant leave theres dishes in the back he gotta roll up his sleeves but why yall washing watch him he gone make it into a benz out of that datson he got that ambition baby look in his eyes this week he mopping floors next week its the fries so stick by his side i know his dudes balling but yea thats nice and they gone keep calling and trying but you stay right girl but when you get on he leave yo ass for a white girlget down girl go head get down get down girl go head get down get down girl go head get down get down girl go head ",1
35,"money maker","ludacris featuring pharrell",2006," shake your money maker like somebody bout to pay ya i see you on my radar dont you act like you afraid of shityou know i got it if you want it come get it stand next to this money like eh eh ehshake your money maker like somebody bout to pay ya dont worry about them haters keep your nose up in the airyou know i got it if you want it come get it stand next to this money like eh eh ehshake shake shake your money maker like you were shakin it for some paper took your mama nine months to make ya might as well shake what ya mama gave ya you you lookin good in them jeans i bet you look even better with me in between i keep my mind on my money money on my mind but yous a hell of a distraction when you shake your behind i got on my right side pourin some cups my whole hood is to my left and they aint giving a fuck so feel free to get lose and get carried away so by tomorrow you forgot what you was sayin today but dont forget about this feeling that im making you get and all the calories you burn from me making you sweat the mile high points you earn when we taking my jet and how everywhere you turn ill be making you wetshake your money maker like somebody bout to pay ya i see you on my radar dont you act like you afraid of shityou know i got it if you want it come get it stand next to this money like eh eh ehshake your money maker like somebody bout to pay ya dont worry about them haters keep your nose up in the airyou know i got it if you want it come get it stand next to this money like eh eh ehswitch switch switch it from right to left and switch it till you running right out of breath and take a break until you ready again and you can invite over as many friends as ya want to but i really want you just be thankful that pharrell gave you somethin to bump to hey luda im at the top of my game you want my hands from the bottom to the top of your frame and i just wanna take a lil ride on your curves and get erotic giving your body just what it deserves and let me give you some swimming lessons on the penis backstroke breaststroke stroke of a genius yup call me the renaissance man get up and i stay harder than a cinder block man hey im just a bedroom gangster and i been meanin to tell ya that i really must thank ya when yashake your money maker like somebody bout to pay ya i see you on my radar dont you act like you afraid of shityou know i got it if you want it come get it stand next to this money like eh eh ehshake your money maker like somebody bout to pay ya dont worry about them haters keep your nose up in the airyou know i got it if you want it come get it stand next to this money like eh eh ehrock rock rock it and make it work girl please dont stop it until it hurt girl you you been lookin a little tipsy so if you could jus shake it a little this way see im a member of the bbc the original bread winna of dtp and you the center of attention thats distracting the squad cause everybody in the camp is like oh my god she couldshake your money maker like somebody bout to pay ya i see you on my radar dont you act like you afraid of shityou know i got it if you want it come get it stand next to this money like eh eh ehshake your money maker like somebody bout to pay ya dont worry about them haters keep your nose up in the airyou know i got it if you want it come get it stand next to this money like eh eh eh ",1
36,"ms new booty","bubba sparxxx featuring ying yang twins",2006," colipark bubba sparxxxbooty booty booty booty rockin everywhere booty booty booty booty rockin everywhere booty booty booty booty rockin everywhere rockin everywhere rockin everywherei found you ms new booty get it together and bring it back to me hit the playas club for about month or 2 put his hand on it then see what it doi found you ms new booty get it together and bring it back to me hit the playas club for about month or 2 put his hand on it then see what it doget it ripe get it right get it tightget it ripe get it right get it tightget it ripe get it right get it tightget it ripe get it right get it tightgirl i dont need you but you need me take it off let if flop shake it freely and i dont tell stories i let em tell theyself and you aint gotta sell sex girl it sells itself like nothing else yeah im a country boy but that big city bottom fill me up with joy aint life grand lifes grand livin up daddy here go da whisper song baby this is us ready put it on me enthusiastically what ever it is that you do you do it admirably and i aint choose it that thang chose me its bubba and ying yang all the way in this thangbooty booty booty booty rockin everywhere booty booty booty booty rockin everywhere booty booty booty booty rockin everywhere rockin everywhere rockin everywherei found you ms new booty get it together and bring it back to me hit the playas club for about month or 2 put his hand on it then see what it doi found you ms new booty get it together and bring it back to me hit the playas club for about month or 2 put his hand on it then see what it doget it ripe get it right get it tightget it ripe get it right get it tightget it ripe get it right get it tightget it ripe get it right get it tightquarter to twelve and we just getting in bubba gon make ya spark wit da ying yang twins sippin on patron blong blong blong shawdy in a thong whom whom whom ass get to jiggling mother fucking wiggling keep that thang shakin like she frost bit shivering ass be delivering all type of flashes cashes got these hoes shaking that molasses shh let me whisper in your ear get your self together go and buy some new gear do something with your hair den hit da club shake ya ass and da brothers gonna sho some love do that move ya did just a minute ago i guarantee youll make all da dough so go on do ya thing baby work what you got to get what you want make that money dont let it make youbooty booty booty booty rockin everywhere booty booty booty booty rockin everywhere booty booty booty booty rockin everywhere rockin everywhere rockin everywherei found you ms new booty get it together and bring it back to me hit the playas club for about month or 2 put his hand on it then see what it doi found you ms new booty get it together and bring it back to me hit the playas club for about month or 2 put his hand on it then see what it doget it ripe get it right get it tightget it ripe get it right get it tightget it ripe get it right get it tightget it ripe get it right get it tighthi there how are things i once was a breast man now it seems ever since i had the pleasure of getting you together your chest is just whatever i found the buried treasure yes maam heres the plan meet me over yonder ok dont play ill bring the whip whoop you bring your cook book and im a fix that stuff up everything is good goodbooty booty booty booty rockin everywhere booty booty booty booty rockin everywhere booty booty booty booty rockin everywhere rockin everywhere rockin everywherei found you ms new booty get it together and bring it back to me hit the playas club for about month or 2 put his hand on it then see what it doi found you ms new booty get it together and bring it back to me hit the playas club for about month or 2 put his hand on it then see what it do ",1
37,"when you gonna give it up to me","sean paul featuring keyshia cole",2006,"sean paul miscellaneous when you gonna give it up to me intro get out my head and into the bed girl cause you done know plottin out the fantasy hey baby girl and its you a the keyyome go so then chorus from you look inna me eye gal i see she you want me when you gonna give it up to me because you body enticing you makin me horny when you gonna give it up to me well if a no today girl then a must be tomorrow when you fulfill my fantasy because you know i give you lovin straight like an arrow when you gonna give it up to me verse 1 so back it up dehso pack it up yeah cause i wanna be the man thats really gonna have it up and mack it up and slap it up yeahso what is up yeahyou know you got the sinting inna me pants a develop and a swell up and double up yeahso gimmie the work yeah cause if you no gimme the work the blue balls a erupt yeah so rev it up deh gal gwaan try you luck deh cause when you stir it up you know me haffi measure up yeah chorus verse 2 hey pretty girlsay me love fi see you walk you no habla ingles but just listen me when me a talk this ya one yeah from me heart woman you got me caught you ever inna me thoughts and no left me inna the dark inna the first place gal thats where you belong so just let me flip the switch woman i can turn it on and gimme the passion from dusk till dawntell me if you want it fi gwaanmy girl chorus verse 3 so why cant you seewe ought to betogether girl dont front on me i just wanna be near so dont have no fear and lemme see you bring your body right over here because you should share itgirl ill care itand im gonna give you love so clear it gonna make you shine and once you are minewe be rockin it until the end of time chorus verse 1 repeat chorus",3
38,"photograph","nickelback",2006," look at this photograph every time i do it makes me laugh how did our eyes get so red and what the hell is on joeys headthis is where i grew up i think the present owner fixed it up i never knew we ever went without the second floor is hard for sneakin outand this is where i went to school most of the time i had better things to do criminal record says i broke in twice i must of done it half a dozen timesi wonder if its too late should i go back and try to graduate lots better now than it was back then if i was them i wouldnt let me in oh whoa whoa whoa god ievery memory of lookin out the back door i have the photo album spread out on my bedroom floor its hard to say it time to say it good bye good bye every memory of walkin out the front door i found the photo of the friend that i was lookin for its hard to say it time to say it good bye good bye good byeremember the old arcade blew every dollar that we ever made the cops hated us hangin out they said somebody went and burnt it downwe use to listen to the radio and sing along with every song we know we said someday wed find out how it feels to sing to more than just a steering wheelkims the first girl i kissed i was so nervous that i nearly missed shes had a couple of kids since then i havent seen her since god knows when oh whoa whoa whoa god ievery memory of lookin out the back door i have the photo album spread out on my bedroom floor its hard to say it time to say it good bye good bye every memory of walkin out the front door i found the photo of the friend that i was lookin for its hard to say it time to say it good bye good bye good byei miss that town i miss their faces you cant erase you cant replace it i miss it now i cant believe it so hard to stay too hard to leave itif i could relive those days i know the one thing that would never changeevery memory of lookin out the back door i have the photo album spread out on my bedroom floor its hard to say it time to say it good bye good bye every memory of walkin out the front door i found the photo of the friend that i was lookin for its hard to say it time to say it good bye good bye good byelook at this photograph every time i do it makes me laugh every time i do it makes me ",1
39,"because of you","kelly clarkson",2006," i will not make the same mistakes that you did i will not let myself cause my heart so much misery i will not break the way you did you fell so hard ive learned the hard way to never let it get that farbecause of you i never stray too far from the sidewalk because of you i learned to play on the safe side so i dont get hurt because of you i find it hard to trust not only me but everyone around me because of you i am afraidi lose my way and its not too long before you point it out i cannot cry because i know thats weakness in your eyes im forced to fake a smile a laugh everyday of my life my heart cant possibly break when it wasnt even whole to start withbecause of you i never stray too far from the sidewalk because of you i learned to play on the safe side so i dont get hurt because of you i find it hard to trust not only me but everyone around me because of you i am afraidi watched you die i heard you cry every night in your sleep i was so young you should have known better than to lean on me you never thought of anyone else you just saw your pain and now i cry in the middle of the night for the same damn thingbecause of you i never stray too far from the sidewalk because of you i learned to play on the safe side so i dont get hurt because of you i try my hardest just to forget everything because of you i dont know how to let anyone else in because of you im ashamed of my life because its empty because of you i am afraidbecause of you because of you ",1
40,"stickwitu","pussycat dolls",2006," hm cmoni dont want to go another day so im telling you exactly what is on my mind seems as like everybody is breaking up and throwing their love away but i know i got a good thing right here thats why i say heynobody gonna love me better im gon stick wit you forever nobody gonna take me higher im gon stick wit you you know how to appreciate me im gon stick wit you my baby nobody ever made me feel this way ima stick wit youi dont want to go another day so im telling you exactly what is on my mind see the way we ride in our private lives aint nobody gettin in between i want you to know that your the only one for menobody gonna love me better im gon stick wit you forever nobody gonna take me higher im gon stick wit you you know how to appreciate me im gon stick wit you my baby nobody ever made me feel this way ima stick wit youand now aint nothing else i can need and now im singing cause your so so into me i got you well be making love endlessly im with you baby youre with meso dont ya worry about people hanging around they aint bring us down i know you and you know me and thats all that counts so dont ya worry about people hanging around they aint bring us down i know you and you know me and thats why thats why i saynobody gonna love me better im gon stick wit you forever nobody gonna take me higher im gon stick wit you you know how to appreciate me im gon stick wit you my baby nobody ever made me feel this way ima stick wit younobody gonna love me better im gon stick wit you forever nobody gonna take me higher im gon stick wit you you know how to appreciate me im gon stick wit you my baby nobody ever made me feel this way ima stick wit you ",1
41,"im n luv wit a stripper","tpain featuring mike jones",2006,NA,NA
42,"my humps","the black eyed peas",2006,"watchu gon do wit el dat jonk  el dat jonk ensid ur tunk  emma gut gut gut gat eue drank  gat ue lav drank ov ma hoomp my hump my hump my hump my hump my hump my hump my hump my hump my lovely little lumps check it out i drive these brothers crazy i do it on the daily they treat me really nicely they buy me all these icees dolce gabbana fendi and adonna karen they be sharin all their money got me wearin fly gear but i aint askin they say they love my ass ̢n se7en jeans true religion i say no but they keep givin so i keep on takin and no i aint taken we can keep on datin i keep on demonstrating my love my love my love my love you love my lady lumps my hump my hump my hump my humps they got you shes got me spendin oh spendin all your money on me and spendin time on me shes got me spendin oh spendin all your money on me on me on me what you gon do with all that junk all that junk inside that trunk ima get get get get you drunk get you love drunk off my hump what you gon do with all that ass all that ass inside them jeans im a make make make make you scream make you scream make you scream cos of my hump my hump my hump my hump my hump my hump my hump my lovely lady lumps check it out i met a girl down at the disco she said ̢hey hey hey yea lets go̢  i could be your baby you can be my honey and lets spend time not money i mix your milk wit my cocoa puff milky milky cocoa mix your milk with my cocoa puff milky milky right they say im really sexy the boys they wanna sex me they always standing next to me always dancing next to me tryin a feel my hump hump lookin at my lump lump you can look but you cant touch it if you touch it ima start some drama you dont want no drama no no drama no no no no drama so dont pull on my hand boy you aint my man boy im just tryna dance boy and move my hump my hump my hump my hump my hump my hump my hump my hump my hump my hump my hump my lovely lady lumps my lovely lady lumps my lovely lady lumps in the back and in the front my lovin got you shes got me spendin oh spendin all your money on me and spendin time on me shes got me spendin oh spendin all your money on me on me on me what you gon do with all that junk all that junk inside that trunk ima get get get get you drunk get you love drunk off my hump what you gon do with all that ass all that ass inside them jeans im a make make make make you scream make you scream make you scream what you gon do with all that junk all that junk inside that trunk ima get get get get you drunk get you love drunk off this hump what you gon do wit all that breast all that breast inside that shirt ima make make make make you work make you work work make you work shes got me spendin oh spendin all your money on me and spendin time on me shes got me spendin oh spendin all your money on me on me on me so real so real so real",3
43,"whered you go","fort minor featuring holly brook and jonah matranga",2006," whered you go i miss you so seems like its been forever that youve been goneshe said some days i feel like shit some days i wanna quit and just be normal for a bit i dont understand why you have to always be gone i get along but the trips always feel so long and i find myself tryna stay by the phone cause your voice always helps me when i feel so alone but i feel like an idiot workin my day around the call but when i pick up i dont have much to say so i want you to know its a little fucked up that im stuck here waitin at times debatin tellin you that ive had it with you and your career me and the rest of the family here singing whered you goi miss you so seems like its been forever that youve been gone whered you go i miss you so seems like its been forever that youve been gone please come back homeyou know the place where you used to live used to barbeque up burgers and ribs used to have a little party every halloween with candy by the pile but now you only stop by every once in a while shit i find myself just fillin my time anything to keep the thought of you from my mind im doin fine i plan to keep it that way you can call me if you find you have somethin to say and ill tell you i want you to know its a little fucked up that im stuck here waitin at times debatin tellin you that ive had it with you and your career me and the rest of the family here singing whered you goi miss you so seems like its been forever that youve been gone whered you go i miss you so seems like its been forever that youve been gone please come back homei want you to know its a little fucked up that im stuck here waitin no longer debatin tired of sittin and hatin and makin these excuses for while youre not around and feeling so useless it seems one thing has been true all along you dont really know what you got til its gone i guess ive had it with you and your career when you come back i wont be here and youll can sing itwhered you go i miss you so seems like its been forever that youve been gone whered you go i miss you so seems like its been forever that youve been goneplease come back home please come back home please come back home please come back home please come back home ",1
44,"yo excuse me miss","chris brown",2006," whoa whoa do do do do do yeah yeahyo tell me fellas have you seen her seen her it was about five minutes ago when i seen the hottest chick that youngn never seen beforei said yo tell her girls i want to meet her meet her on a second thought that aint the way to go i got give her game proper spit it so shell get it there she is i got to stop heror should i talk about her smile its been said before or what about her style too obvious im out of time shes out the door i got to go for minei think ill sayyo i dont know your name but excuse me miss i saw you from across the room and i got to admit that you got my attention youre making me want to say yoi know youre tryin to leave but excuse me miss i saved the last dance for you how i love to keep you here with me oh babynow shorty grab hold of my hand and lets pretend the floor is ours you say you dont really dancedont worry about it well just one two step one two stepnow if the music is moving too fast too fast grab my hand a little tighter tighter dont be afraid to move a little closer girl there is something about you that makes me want to sayyo i dont know your name but excuse me miss i saw you from across the room and i got to admit that you got my attention youre making me want to say yo i know youre trying to leave but excuse me miss i saved the last dance for you how i love to keep you here with me oh baby i think ill say yo i dont know your name but excuse me miss i saw you from across the room and i got to admit that you got my attention youre making me want to say yo i know youre trying to leave but excuse me miss i saved the last dance for you how i love to keep you here with me oh babyi want to be where you are aint nothin wrong with dancin baby youre so romantic baby i can be in your heart so many things i want to tell you i think that i should start by saying yoi dont know your name but excuse me miss i saw you from across the roomi got to give her game proper spit it so she get it there she is i got to stop heri know your trying to leave but excuse me miss i saved the last dance for you how i love to keep you here with me oh babynow everybody just clap your hands like thislike this just clap your hands like thiswhoo like this and if your shorty in the house tonight just grab her by the hand homie make her understand yall was made to dance like thislike this yall was made to bounce like thiswhoa like this just let her know she was made for you and you want to do everything she want to manwhoo ",1
45,"walk away","kelly clarkson",2006," youve got your mother and your brother every other undercover tellin you what to say you think im stupid but the truth is that its cupid baby lovin you has made me this way so before you point your finger get your hands off of my trigger oh yeah you need to know this situations getting old and now the more you talk the less i can say ohim looking for attention not another question should you stay or should you go well if you dont have the answer why you still standin here hey hey hey hey just walk away just walk away just walk awayi waited here for you like a kid waiting after school so tell me how come you never showed i gave you everything and never asked for anything and look at me im all alone so before you start defendin baby stop all your pretendin i know you know i know so whats the point in being slow lets get the show on the road today heyim looking for attention not another question should you stay or should you go well if you dont have the answer why you still standin here hey hey hey hey just walk away just walk away just walk awayi want to love i want a fire to feel the burn my desires i want to man by my side not a boy who runs and hides are you gonna fight for me die for me live and breathe for me do you care for me cause if you dont then just leaveim looking for attention not another question should you stay or should you go well if you dont have the answer why you still standin here hey hey hey hey just walk awayif you dont have the answer walk away just walk away then just leave yeah yeah walk away walk away walk away ",1
46,"laffy taffy","d4l",2006," candy girl girl shake dat laffy taffy that laffy taffy shake that laffy taffy that laffy taffy girl shake that laffy taffy that laffy taffy that laffy taffy candy girl that laffy taffyim lookin for mrs bubble gum im mr chikostick i wanna dun dun duntoh cause you so thick girls call me jolly rancher cause i stay so hard you can suck me for a long time oh my god girl this aint no dance flo this a candy sto and im really geeked up and i got mo dro i wop i roll its all i do its the summer time but yo laffy taffy got me cold oh gone get loose oh gone get low oh dont be shy ho im faybo oh i know you wanna ride you a star and it shows well tell em damn whassup whassup lets go lets go lets gogirl shake dat laffy taffy that laffy taffy shake that laffy taffy that laffy taffy girl shake that laffy taffy that laffy taffy that laffy taffy candy girl that laffy taffygirl shake dat laffy taffy that laffy taffy shake that laffy taffy that laffy taffy girl shake that laffy taffy that laffy taffy that laffy taffy candy girl that laffy taffycmon trick cmon trick here go mr chocolate i like the way you break it down waddle stop you watchin me laffy taffy im likin this big ole ass you shakin bitch close yo mouth and dont say shit bend on ova and hit a split work that pole and work it well stacks on deck yo ankles swell girl lemme touch ya i will neva tell security guard dont scare nobody damn right i touched that ho all the money just hit the flo d4l im ready to go ho cant even shake no mo they tired out lets ride out bitch you wanna go then she can go she get in my car i aint playin no mo start movin on my faybo bitch she probably already know lemme see that laffy taffy dun dun duntgirl shake dat laffy taffy that laffy taffy shake that laffy taffy that laffy taffy girl shake that laffy taffy that laffy taffy that laffy taffy candy girl that laffy taffygirl shake dat laffy taffy that laffy taffy shake that laffy taffy that laffy taffy girl shake that laffy taffy that laffy taffy that laffy taffy candy girl that laffy taffysay baby girl ay what you gon do i got a hundred ones i wanna po on you just keep that ass shakin and i keep tippin you while i sit back like a playa and sip that grey goose feelin all loose cause girl you on yo job you got my dick hard the way you touch them toes workin them micros on the stilletos you made it skeet skeet skeet like a water hose candy girl got me goin in my pocket pullin out mo dough let the waitress know i need to order five hundred mo you best believe later on we headed to the mo so gone and pack them bags and lets motherfuckin go im waitin on yo fine ass at the front do girl you dont know imma toss the laffy taffy toss it flip it and slap it bust a couple of nuts and get right back at itgirl shake dat laffy taffy that laffy taffy shake that laffy taffy that laffy taffy girl shake that laffy taffy that laffy taffy that laffy taffy candy girl that laffy taffygirl shake dat laffy taffy that laffy taffy shake that laffy taffy that laffy taffy girl shake that laffy taffy that laffy taffy that laffy taffy candy girl that laffy taffy ",1
47,"what you know","ti",2006," aye aye aye aye aye what you know about that what you know about that what you know about thataye dont you know i got key by the three when i chirp shawty chirp back louis napsack where i holdin all tha work atwhat you know about that what you know about that what you know about that hey i know all about thatloaded 44 on the low where the cheese at fresh off the jet to the jects where the gs atwhat you know about that what you know about that hey what you know about that hey i know all about thatsee me in ya city sittin pretty know im shining dawg ridin wid a couple latin broads and a china dolland you know how we ball ridin in shiny cars walk in designer malls buy everything we sawyou know about me dogg dont talk about me dogg and if you doubt me dogg you better out me doggim throwed off slightly bro dont wanna fight me bro im fast as lightning bro ya better use ya nikes broknow you dont like me cause yo bitch most likely does she see me on them dubs in front of every clubi be on dro im buzzed gave every ho a hug niggaz dont show me mugs cause you dont know me cuzaye dont you know i got key by the three when i chirp shawty chirp back louis napsack where i holdin all tha work atwhat you know about that what you know about that what you know about that hey i know all about thatloaded 44 on the low where the cheese at fresh off the jet to the jects where the gs atwhat you know about that what you know about that hey what you know about that hey i know all about thatcandy on the 64 leather guts and fishbowl 50 on the pinky ring just to make my fist glowya bitches get low because i get dough so what im rich ho i still would pull a kickdowhat you talking shit fo and gotta run and hit fo got you a yellin i thought you pulled out a gun and hit fobut yous a scary dude believed by very few just keep it very cool or we will bury yousee all that attitudes unnecessary dude you never carry tools not even square he cubeyou got these people fooled who see you on the tube whatever try the crew theyll see you on the newsaye dont you know i got key by the three when i chirp shawty chirp back louis napsack where i holdin all tha work atwhat you know about that what you know about that what you know about that hey i know all about thatloaded 44 on the low where the cheese at fresh off the jet to the jects where the gs atwhat you know about that what you know about that hey what you know about that hey i know all about thatfresh off the jet to the block burn a rubber with the top pop ill pop and bust a shot and tell em stop and make the block hotya label got got cuz you are not hot i got the top spot and it will not stopa video or not that will bust it to the glock stop drag ya out that bentley coupe and take it to the chop shoppartner we not yall if it may pop off ill answer the question will i get ya block knocked offand what it is bro look i will kill bro im in your hood if you a gangsta what you hid forsomebody better get bro for he get sent for you say you wanna squash me what you still talkin shit foraye dont you know i got key by the three when i chirp shawty chirp back louis napsack where i holdin all tha work atwhat you know about that what you know about that what you know about that hey i know all about thatloaded 44 on the low where the cheese at fresh off the jet to the jects where the gs atwhat you know about that what you know about that hey what you know about that hey i know all about that ",1
48,"dirty little secret","the allamerican rejects",2006,NA,NA
49,"savin me","nickelback",2006," prison gates wont open up for me on these hands and knees im crawlin oh i reach for you well im terrified of these four walls these iron bars cant hold my soul in all i need is you come please im callin and oh i scream for you hurry im fallin im fallinshow me what its like to be the last one standing and teach me wrong from right and ill show you what i can be say it for me say it to me and ill leave this life behind me say it if its worth saving meheavens gates wont open up for me with these broken wings im fallin and all i see is you these city walls aint got no love for me im on the ledge of the eighteenth story and oh i scream for you come please im callin and all i need from you hurry im fallin im fallinshow me what its like to be the last one standing and teach me wrong from right and ill show you what i can be say it for me say it to me and ill leave this life behind me say it if its worth saving mehurry im fallin and all i need is you come please im callin and oh i scream for you hurry im fallin im fallin im fallinshow me what its like to be the last one standing and teach me wrong from right and ill show you what i can be and say it for me say it to me and ill leave this life behind me say it if its worth saving me hurry im fallinsay it for me say it to me and ill leave this life behind me say it if its worth saving me ",1
50,"dont forget about us","mariah carey",2006," dont forget about us dont baby dont baby dont let it go no baby no baby no baby no dont baby dont baby dont let it go my baby boyjust let it die with no goodbyes details dont matter we both paid the price tears in my eyes you know sometimes itd be like that babynow every time i see you i pretend im fine when i wanna reach out to you but i turn and i walk and i let it ride baby i must confess we were bigger than anything remember us at our best and dont forget aboutlate nights playin in the dark and wakin up inside my arms boy youll always be in my heart and i can see it in your eyes you still want it so dont forget about us im just speaking from experience nothing can compare to your first true love so i hope this will remind you when its for real its forever so dont forget about usoh they say that youre in a new relationship but we both know nothing comes close to what we had it perseveres that we both cant forget it how good we used to get ittheres only one me and you and how we used to shine no matter what you go through we are one thats a fact that you cant deny so baby we just cant let the fire pass us by forever wed both regret so dont forget aboutlate nights playin in the dark and wakin up inside my arms boy youll always be in my heart and i can see it in your eyes you still want it so dont forget about us im just speaking from experience nothing can compare to your first true love so i hope this will remind you when its for real its forever so dont forget about usand if shes got your head all messed up now thats the trickery shell wanna have like you know how this lovin used to be i bet she cant do like me shell never be mcbaby dont you dont you forget about us late nights playin in the dark and wakin up inside my arms boy youll always be in my heart and i can see it in your eyes you still want it so dont forget about us im just speaking from experience nothing can compare to your first true love so i hope this will remind you when its for real its forever so dont forget about uslate nights playin in the dark and wakin up inside my arms boy youll always be in my heart and i can see it in your eyes you still want it so dont forget about us im just speaking from experience nothing can compare to your first true love so i hope this will remind you when its for real its forever so dont forget about usdont baby dont baby dont let it go no baby no baby no baby no dont baby dont baby dont let it gowhen its for real its forever so dont forget about us ",1
51,"sexy love","neyo",2006," my sexy love so sexyshe makes the hairs on the back of my neck stand up just one touch and i erupt like a volcano and cover her with my love baby girl u make me say oohoohooh and just cant think of anything else i rather do than to hear you sing sing my name the way you do oh when we do our thing when we do the things we do mmmm baby girl u make me say oohoohoohsexy love girl the things u do oh baby baby keep me sprung keep me running back to u ooh baby i ooh i love making love to u baby girl u know your my sexy loveim so addicted to her shes the sweetest drug just enoughstill too much say that im slippin im sprung on all the above i cant help she makes me say oohoohooh and just cant think of anything else i rather do than to hear u sing sing my name the way you do baby when we do our thing when we do the things we do oh baby girl u make me say oohoohooh my sexy lovesexy love girl the things u do oh baby baby keep me sprung ooh oh keep me running back to u ooh baby i ooh i love oh oh making love to u see baby girl u know your my sexy loveoh baby what we doin makes the sun come up keep on lovin til it goes back down and i dont know what id do if i would lose your touch thats why im always keepin u around my sexy lovesexy love girl the things u do ooh baby baby keep me sprung keep me running back to u keep me running back to u ooh i love i love making love to u see baby girl u know your my sexy lovesexy love girl the things u do ooh baby baby keep me sprung oh ooh keep me running back to u running back to u ooh i love making love to u u baby girl know your my sexy love my sexy loveshe makes the hairs on the back of my neck stand up just one touch ",1
52,"u and dat","e40 featuring tpain and kandi girl",2006," girl i been shaking sticking and moving tryna to get to you and that booty tryna to get to you and that booty tryna to get to you and that bootygirl i been shaking and acting a donkey tryna to get to you and that m tryna to get to you and that m tryna to get to you and that mgirl he simpin simpin i walk up in the club with a limp and limp and god listen what you gonna do with this pimpin what you gonna do with this pimpingirl im a call ya call ya later on tonight or tomorrow morrow now follow what you gonna do with this baller what you gonna do with this ballerwhat you gonna do when i bend the block bend the block pull up on that  in a brand new drop brand new drop speakers on blast with tremendous knock mendous knocktvs in the dash rims just wont stop you need to be down with a pimp like me i aint turning down nothing but my collar you see im a leave you with my number you should holler at me cuz im a baller cant nobody hustle harder than me oohgirl i been shaking sticking and moving tryna to get to you and that booty tryna to get to you and that booty tryna to get to you and that bootygirl i been shaking and acting a donkey tryna to get to you and that m tryna to get to you and that m tryna to get to you and that mooh your  is right i aint tryna let that pass me tonight ima put my bid in and tell you something slick whisper in your ear while im holding my oohi dont mean no harm its the hood in me hood in me sipping on that richard hennessy hennessy psychedelic colors in my jewelry jewelry suckers hella jealous cuz you digging me ooh digging menow what you gonna do mama im tryna dip later on me and you mama i like the way that you groove and you move mama you know the women love me im the 40 water 40 waterpopping my ps cuz im laced with game nuthin but the  flowing through my vein she wear miss sixty cant fit in the gucci cuz her  big enough to sit a cup on her booty goodnessgirl i been shaking sticking and moving tryna to get to you and that booty tryna to get to you and that booty tryna to get to you and that bootygirl i been shaking and acting a donkey tryna to get to you and that m tryna to get to you and that m tryna to get to you and that myeah i see you looking looking but my  in these jeans got you shook and shook and i dont think you know what to do with this what you gonna do with this yeah i know you want this want this tryna chase me through the club for this good  good  but i dont think you can handle this what you gonna do with thisyou looking like you got that good gooshy gooshy  around with me i beat the brakes off that have your  ing like a porn star movie tell your friends and i bet they all wanna do me hoes know me im e40 e40 they recognize pimping when i step in the door step in the door higher than a satellite full of that d full of that d holla at a playa when you ready to go oohgirl i been shaking sticking and moving tryna to get to you and that booty tryna to get to you and that booty tryna to get to you and that bootygirl i been shaking and acting a donkey tryna to get to you and that m tryna to get to you and that m tryna to get to you and that m ",1
53,"far away","nickelback",2006," this time this place misused mistakes too long too late who was i to make you wait just one chance just one breath just in case theres just one left cause you know you know you knowthat i love you ive loved you all along and i miss you been far away for far too long i keep dreaming youll be with me and youll never go stop breathing if i dont see you anymoreon my knees ill ask last chance for one last dance cause with you id withstand all of hell to hold your hand id give it all id give for us give anything but i wont give up cause you know you know you knowthat i love you ive loved you all along and i miss you been far away for far too long i keep dreaming youll be with me and youll never go stop breathing if i dont see you anymoreso far away so far away been far away for far too long so far away so far away been far away for far too long but you know you know you knowi wanted i wanted you to stay cause i needed i need to hear you say that i love you ive loved you all along and i forgive you for being away for far too long so keep breathing cause im not leaving you anymore believe it hold on to me and never let me go keep breathing keep breathing cause im not leaving you anymore believe it hold on to me and never let me go keep breathing hold on to me and never let me go keep breathing hold on to me and never let me go ",1
54,"whats left of me","nick lachey",2006," watch my life pass me by in the rear view mirror pictures frozen in time are becoming cleareri dont wanna waste another day stuck in the shadow of my mistakes yeahcause i want you and i feel you crawling underneath my skin like a hunger like a burning to find a place ive never beennow im broken and im fading im half the man i thought i would be but you can have whats left of meive been dying inside little by little no where to go but going out of my mind in endless circlesrunning from myself until you gave me a reason for standing stilland i want you and i feel you crawling underneath my skin like a hunger like a burning to find a place ive never beennow im broken and im fading im half the man i thought i would be but you can have whats left of mefalling faster barely breathing give me something to believe in tell me its not all in my headtake whats left of this man make me whole once againcause i want you and i feel you crawling underneath my skin a hunger like a burning to find a place ive never beennow im broken and im fading im half the man i thought i would be you can have all thats left yeah yeah yeah whats left of meive been dying inside you see im going outta my outta my mind im just running in circles all the timewill you take whats left will you take whats left will you take whats left of me just running in circles in my mindwill you take whats left will you take whats left will you take whats left of me take whats left of me ",1
55,"so what","field mob featuring ciara",2006," ladies and gentlemen jazze pha field mob ciara superstar djs here we gothey say he do a little of this he do a little of that hes always in trouble and i heard he aint nothin but a pimp hes got a lot of chicks hes always in the cluband they say he think hes slick hes got a lot of chips hes so messed up i heard hes been locked up find somebody else he aint nothing but a thugso what so what so what so whatand they say im a im a im a freak i got a different girl every day of the week you too smart youd be a dummy to believe that stuff that you heard that they say about methey said i done this they said i done that but all of its fiction none of its facts but you dont be hearin that about your love you let it go in one ear and out the otherthe he say she say they say i heard the beef aint we cant let it get on our nerves she miserable she just want you to be like her misery needs companyso dont listen to that vine of grapes there nothing but liars hatin i bet they wouldnt mind tradin places with you by my side in my mercedesthey say he do a little of this he do a little of that hes always in trouble and i heard he aint nothin but a pimp hes got a lot of chicks hes always in the cluband they say he think hes slick hes got a lot of chips hes so messed up i heard hes been locked up find somebody else he aint nothing but a thugso what so what so what so whatmo money mo problems life of a legend haters throw salt like rice at a weddin so what thats your cousin that dont mean nuthin her like missin is a type of affection you getyou just blind to the facts see the lies just as obvious as cries for attention yield to the blindness apply your suspicion but listen say you love me gotta trust mewhy you stress this high school mess break up never they just jealous drama from your momma mean mug from your brothers im that author of the book they can judge from the coveri i been to jail im grindin for real im a positive talkin negative pimp they hate to see you doin better than them sothey say he do a little of this he do a little of that hes always in trouble and i heard he aint nothin but a pimp hes got a lot of chicks hes always in the cluband they say he think hes slick hes got a lot of chips hes so messed up i heard hes been locked up find somebody else he aint nothing but a thugso what so what so what so whatladies and gentlemen ciarasome people dont like it cause you hang out in the streets but youre my boyfriend youve always been here for me this love is serious no matter what people think im gon be here for you and i dont care what they saysome people dont like it cause you hang out in the streets but youre my boyfriend youve always been here for me i like the thug in you no matter what people think im gon be here for you and i dont care what they sayhe do a little of this he do a little of that hes always in trouble and i heard he aint nothin but a pimp hes got a lot of chicks hes always in the cluband they say he think hes slick hes got a lot of chips hes so messed up i heard hes been locked up find somebody else he aint nothing but a thugso what so what so what so what ",1
56,"do it to it","cherish featuring sean p",2006," a a a a a a aaaa yea a town yea a a a a a a aaaa sean paul wit them young bloodz wit my homegirls cherish a a a a a a aaaa yea a town yea a a a a a a aaaa hey yo vito we got you one here playastep out the caddy ya feel its on a base of steel them boys checkin us out know when we dress to killstrut in the club its dark but still got my shades on i hear the dj mixing young buck to that whisper songwe from the city that make it ok to turn that clubbin in year round holiday so if ya feelin right grab the kryptonite if this ya song tonite then its on tonitebounce wit it drop wit it lean wit it rock wit it snap wit it all my ladies pop yo backs wit itdo it do it do it do it you know the world be rockin to it to it so do it do it do it to itbounce wit it drop wit it lean wit it rock wit it snap wit it all my fellas tip yo hats wit itdo it do it do it do it you know the world be rockin to it to it so do it do it do it to itno need to ask where im from you already know i represent the a from my head and to my toes step on the dance floor watch and learn cuz here i go i throw my hands up and work my body to the flowe from the city that make it ok to turn that clubbin in year round holiday so if ya feelin right grab the kryptonite if this ya song tonite then its on tonitebounce wit it drop wit it lean wit it rock wit it snap wit it all my ladies pop yo backs wit itdo it do it do it do it you know the world be rockin to it to it so do it do it do it to itbounce wit it drop wit it lean wit it rock wit it snap wit it all my fellas tip yo hats wit itdo it do it do it do it you know the world be rockin to it to it so do it do it do it to itwhats up coco whats up 44 i lean i rock i drink i smoke might snap my fingers might clap my hands dont get it twisted pimpin this a hood dancethrow up ya hood man hold up some good man they hang cuz they cant do it do it do it manim riding good man you grippin wood man im in da club 10 grand in the rubber banddamn right im crunk damn right im clean they got that rock we got that leanwe make a pool palace i make ya shoulder lean and ima show it you nah meanbounce wit it drop wit it lean wit it rock wit it snap wit it all my ladies pop yo backs wit itdo it do it do it do it you know the world be rockin to it to it so do it do it do it to itbounce wit it drop wit it lean wit it rock wit it snap wit it all my fellas tip yo hats wit itdo it do it do it do it you know the world be rockin to it to it so do it do it do it to itbounce wit it drop wit it lean wit it rock wit it snap wit it all my ladies pop yo backs wit itdo it do it do it do it you know the world be rockin to it to it so do it do it do it to itbounce wit it drop wit it lean wit it rock wit it snap wit it all my fellas tip yo hats wit itdo it do it do it do it you know the world be rockin to it to it so do it do it do it to it come ona a a a a a aaaa a a a a a a aaaa a a a a a a aaaa a a a a a a aaaa ",1
57,"black horse and the cherry tree","kt tunstall",2006," woo hoo woo hoo woo hoo woo hoowell my heart knows me better than i know myself so im gonna let it do all the talking woo hoo woo hooi came across a place in the middle of nowhere with a big black horse and a cherry tree woo hoo woo hooi felt a little fear upon my back i said dont look back just keep on walking woo hoo woo hoowell the big black horse said look this way he said hey lil lady will you marry me woo hoo woo hoobut i said no no no no no no i said no no youre not the one for me no no no no no no i said no no youre not the one for me ooo woo hooand my heart had a problem in the early hours so i stopped it dead for a beat or two woo hoo woo hoobut i cut some cord and i shouldnt have done it and it wont forgive me after all these years woo hoo woo hooso i sent her to a place in the middle of nowhere with a big black horse and a cherry tree woo hoo woo hoonow it wont come back cause its oh so happy and now ive got a hole for the world to see yeah woo hoo woo hooand it said no no no no no no said no no youre not the one for me no no no no no no said no no youre not the one for me ooo woo hoo not the one for me yeah ooo woo hoosaid no no no no no no no no no youre not the one for me woo hoo no no no no woo hoo woo hoo no no no no no youre not the one for mebig black horse and a cherry tree no no no no no no i cant quite get there cause my hearts forsaken me yeah yeah yeah no no big black horse and a cherry tree no no no no no no i cant quite get there cause my hearts forsaken me no no ",1
58,"there it go the whistle song","juelz santana",2006," santana ayeits dipset bitchthere it go baby dont stop now there it go baby dont stop nowthere it go damn shorty look good and im thinkin bout gettin at her okay time to whistle at her aye girl you make my whistle blowthere it go bring it here baby there it go bring it here babytop down and im at it again its hot now and im at it to win you heard me who want it with me nobody wanna it with me oh im so fly oh mami come n get me sit it down back up bring it on back up move it till you feel something hard on your back ughthere it go if you want it come and get it i aint kiddin im wit it here it go go so girl let me see you get low there it go yea just like that move your thang like a boomerang and come right back there it go i dont need to ask i proceed to grab a chiks up my gd up swaggerthere it go damn shorty look good and im thinkin bout gettin at her okay time to whistle at her aye girl you make my whistle blowthere it go bring it here baby cmon there it go bring it here baby cmonaye girl let me see you get low there it go set it down baby there it go set it down babythere it go its dipset ohh there it go aye aye aye there it go its dipset ohh there it go aye aye ayei got to get it im so hot terrific so not fair to the other guyz to sin it i know not unlimit theres no skys a limit till then imma do imma do imma do ma thang so baby keep moving ya moving ya moving ya thing and thatll keep you n you n you in the ring or maybe notaye girl you make me want to know you do it like a pro lil lady if so bring it here let it show lil lady there it go lets go lil lady to the crib to the tele you kno lil ladyrun yes girl uhm yes you can have a confess girl to the sunset girl girl but first i gotta get ya undressd girl so take off dem clothes and get undressd girlthere it go damn shorty look good and im thinkin bout gettin at her okay time to whistle at her aye girl you make my whistle blowthere it go bring it here baby cmon there it go bring it here baby cmonaye girl let me see you get low there it go set it down baby there it go set it down baby ",1
59,"shoulder lean","young dro featuring ti",2006," let me see you bounce right to left and let your shoulder lean let your shoulder lean just let your shoulder lean ay get it right two step and let your shoulder lean let your shoulder lean just let your shoulder leanlet me see you bounce right to left and let your shoulder lean let your shoulder lean just let your shoulder lean ay get it right two step and let your shoulder lean let your shoulder lean just let your shoulder leandro im clean in this b now im finna shoulder lean in this b n buck carbon 15 in this b this grand hustle team of kings is gettin richi lean and get lit lima bean 6 i take breath the opposite of primatene mist i ride 26 and let my 9 screens flip dro be watchin oprah mac 9 up in a cliptriple black phantom n nah it aint tip with lucky charms diamonds man but nah it aint flip cant bounce okay then i let my shoulder lean and i bet my car talk and i bet my motor cleansuicide doors brown rover look like pork an beans everybody know me in the club cause they smokin me dro h scopin me ice come from boca raton hundred carats have em froze for an eonred black and white chevy now im ridin deion put them lights off in my rims now im ridin neon our cars look like crayon h know im the man though i can shoulder lean i dont know how to dance thoughlet me see you bounce right to left and let your shoulder lean let your shoulder lean just let your shoulder lean ay get it right two step and let your shoulder lean let your shoulder lean just let your shoulder leanlet me see you bounce right to left and let your shoulder lean let your shoulder lean just let your shoulder lean ay get it right two step and let your shoulder lean let your shoulder lean just let your shoulder leanfirst i let my wheels spin then i let my screen fall then i let my trunk beat at greenbriar mall tall how can i pimp a foe take that chick to berlin my chick break triggers after that we say they girlfriendmy girl got a girlfriend chevy blue like whirlwind name its a drought on that boy so i got that girl in pearl benz cockin hammer arm and hammer propaganda many think im pimpin in linen and salamander sandalsdirty south hot cause atlanta show killers with ammo we ride phantom holla shawty for grammar yep now i be on tv bet out the channel hood playa from bankhead i stay by grandma nanai lay by my banana dumpin and punkin monkeys dont nobody live with my mom but a bunch of junkies donut dunkin shawty i ride glazed on the haze gator green chevy gator guts alligator jslet me see you bounce right to left and let your shoulder lean let your shoulder lean just let your shoulder lean ay get it right two step and let your shoulder lean let your shoulder lean just let your shoulder leanlet me see you bounce right to left and let your shoulder lean let your shoulder lean just let your shoulder lean ay get it right two step and let your shoulder lean let your shoulder lean just let your shoulder leanlean lean lean lean lean lean lean lean lean lean lean lean lean lean get ya shoulder shawty lean lean lean lean lean lean lean lean lean lean lean lean lean lean get ya shoulder shawtylet me see you bounce right to left and let your shoulder lean let your shoulder lean just let your shoulder lean ay get it right two step and let your shoulder lean let your shoulder lean just let your shoulder leanlet me see you bounce right to left and let your shoulder lean let your shoulder lean just let your shoulder lean ay get it right two step and let your shoulder lean just let your shoulder lean just let your shoulder lean ay ",1
60,"unpredictable","jamie foxx featuring ludacris",2006," yeah ladies i know you tired of the same old thing things have become so mundane i mean your bedroom is just so cold its so cold but im here to tell you i got a strategy we bout to heat it up oh i like thatgirl get comfortable we bout to do something you never done before baby not the usual tonight we gettin unpredictable so try to roll with me baby baby im a make you feel like you never felt girl all because you let me get unpredictablebaby one plus one aint two when you with me c aint after a and b when you with me it dont make sense right now but it will later on when you see how i make you feel regular aint in my vocabulary when it comes to love makin neither is missionary positions girl pick one better yet some never mind that we tryin all of em sogirl get comfortable we bout to do something you never done before baby not the usual tonight we gettin unpredictable so try to roll with me baby baby im a make you feel like you never felt girl all because you let me get unpredictable yeahi know youre used to dinner and a movie why not be my dinner while makin a movie do you get it get it do you got it got it good good good girl i knew you would see what i got over a lot of fellas is that im more creative and soon you will see what i mean what i mean sogirl get comfortable we bout to do something you never done before baby not the usual tonight we gettin unpredictable so try to roll with me baby baby im a make you feel like you never felt girl all because you let me get unpredictableall aboard the spontaneous express never the less always the more from the pool table to the kitchen floor next stops the g spot luda ha ha ha i like this i like it too babylet me put a little bit of excitement up in yo lifestyle you gotta know the times of the essence im talkin right now i can get get rid of that headache what you doin tonight some say that sex is overrated but they just aint doin it right i keeps it interestin baby just take them clothes off ill be yo tylenol just take me till you doze off wake you up in the middle of the night and take you to another world youll wake up in the mornin feelin like another girlgirl get comfortable we bout to do something you never done before baby not the usual tonight we gettin unpredictable so try so try so come and baby im a make you feel like you never felt girl all because you let me get unpredictable ",1
61,"my love","justin timberlake featuring ti",2006," if i wrote you a symphony just to say how much you mean to me what would you do if i told you you were beautiful would you date me on the regular tell me would you well baby ive been around the world but i aint seen myself another girl like you this ring here represents my heart but theres just one thing i need from you saying i dobecause i can see us holding hands walking on the beach our toes in the sand i can see us on the country side sitting in the grass laying side by side you can be my baby let me make you my lady girl you amaze me aint gotta do nothin crazy see all i want you to do is be my love so dont give away my love so dont give away my love so dont give away aint another woman that could take your spot my love so dont give away my love so dont give away my love so dont give away aint another woman that could take your spot my love my love my love my lovenow if i wrote you a love note and made you smile with every word i wrote what would you do would that make you wanna change your scene and wanna be the one on my team tell me would you see whats the point in waiting anymore cause girl ive never been more sure that baby its you this ring here represents my heart and everything that you been waiting for just saying i dobecause i can see us holding hands walking on the beach our toes in the sand i can see us on the country side sitting in the grass laying side by side you can be my baby let me make you my lady girl you amaze me aint gotta do nothin crazy see all i want you to do is be my love so dont give away my love so dont give away my love so dont give away aint another woman that could take your spot my love so dont give away my love so dont give away my love so dont give away aint another woman that could take your spot my love my love my love my loveits time to get it jt i dont what she hesitatin for manshorty cool as a fan on the move once again but he still has fam from peru to japan listen baby i dont wanna ruin your plan but if you got a man try to lose him if you can cause the girls really wild throw they hands up high when you wanna come kick it wit a stand up guy you dont really wanna let the chance go by cause you aint seen wit a man so fly friends so fly i can go fly private cause i handle mine bi they call me candle guy simply cause i am on fire i hate to have to cancel my vacation so you cant deny im patient but i aint gonna try you dont come i aint gonna die hold up what you mean you cant go why me and your boyfriend we aint no tie you say you wanna kick it when i aint so high baby its obvious that i aint your guy aint gonna lie i feel your space but forget your face i swear i will same mark same bullet anywhere i chill just bring wit me any pair i willbecause i can see us holding hands walking on the beach our toes in the sand i can see us on the country side sitting in the grass laying side by side you can be my baby let me make you my lady girl you amaze me aint gotta do nothin crazy see all i want you to do is be my love so dont give away my love so dont give away my love so dont give away aint another woman that could take your spot my love so dont give away my love so dont give away my love so dont give away aint another woman that could take your spot my love my love my love my love ",1
62,"shake that","eminem featuring nate dogg",2006," shady aftermath there she goes shaking that ass on the floor bumpin and grindin that pole the way shes grindin that pole i think im losing controlget buzzed get drunk get crunked get fucked up hit the strip club dont forget once get your dick rubbed get fucked get sucked get wasted shit faceted pasted blasted puke drink up get a new drink hit the bathroom sink throw up wipe your shoe clean got a routine knowin still got a few chunks on your shoestring knowin i was dehydrated till the beat vibrated i was revibed as soon as this bitch is gyrated and hips and licked them lips and that was it i had to get nate dogg and his sing some shittwo to the one from the one to the three i like good pussy and i like good trees smoke so much weed you wouldnt believe and i get more ass than a toilet seat three to the one from the one to the three i met a bad bitch last night in the d let me tell you how i made her leave with me conversation and hennessey ive been to the muthafuckin mountain top heard muthafuckers talk seen and dropped if i aint got a weapon im a pick up a rock and when i bust yo ass im a continue to rock getcha ass of the wall with your two left feet its real easy just follow the beat dont let that fine girl pass you by look real close cause strobe lights liewe bout to have a party turn the music up lets get it started go head shake your butt im lookin for a girl with a body and a sexy strut wanna get it poppin baby step right up some girls they act retarded some girls are bout it bout it im lookin for a girl that will do whatever the fuck i say everyday she be givin it upshake that ass for me shake that ass for me come on girl shake that ass for me shake that ass for me oh girl shake that ass for me shake that ass for me come on girl shake that ass for me shake that ass for meim a menace a dentist an oral hygienist open your mouth for about four or five minutes take a little bit of this fluoride with it swish but dont spit it swallow and ill finish yeah me and nate do double g looking for a couple bitches with some double ds pop a little champagne and a couple es slip it in her bubbuly we finna finna have a partywe bout to have a party turn the music up lets get it started go head shake your butt im lookin for a girl i can fuck in my hummer truck apple bottom jeans and a big ol slut some girls they act retarded some girls are bout it bout it i want a bitch that sit at the crib with no panties on knows that she can say no but she wont say no now look at this lady all in front of me sexy as can be tonight i want a slut will you be mine i heard you was freaky from a friend of minenow i hope you dont get mad at me but i told nate you was a freak he said he wants a slut hope you dont mind i told him that you like it from behindnow shake that ass for me shake that ass for me cmon girl shake that ass for me shake that ass for me oh girl shake that ass for me shake that ass for me cmon girl shake that ass for me shake that ass for me we bout to have a party turn the music up lets get it started go ahead shake that butt im lookin for a girl with a body and a sexy strut wanna get it poppin baby step right up some girls they act retarded some girls are bout it bout it im lookin for a girl that will do whatever the fuck i say everyday she be givin it upthere she goes shaking that ass on the floor bumpin and grindin that pole the way shes grindin that pole i think im losing controlgod come one i aint leavin without you bitch youre coming home with me and my boy and his boy and his boy and his girlha ha nate dogg ",1
63,"pullin me back","chingy featuring tyrese",2006," every time i try to leave something keeps pullin me back me back tellin me i need you in my life every time i try to go something keeps tellin me that me that everything gon be all rightevery time i try to leave something keeps pullin me back me back tellin me i need you in my life it was meant to be you were meant for me so that means we gotta make it workit was all good at first spendin money goin shoppin eatin at the finest restaurants and if im club hoppin she was right thurr wit me bottle poppin livin that life she just didnt understand my lifestyle and that i aint likewe didnt have a worry in the world gotcha diamonds gotcha pearls but i cant help it if chingaling be attractin all the girls say what baby ima superstar and that come wit it gotta good nigga on your side you betta run wit iteven though im on the road doin shows i made time for me and hurr relationship to grow they tell me dont trust a woman in this industry but she not any woman more like a sacred friend to mecuz when im outta town always think of hurr might conversate wit some chicks but no one come above hurr i thought i was ya man guess you aint understand and now im sittin here lookin crazy like damnevery time i try to leave something keeps pullin me back me back tellin me i need you in my life every time i try to go something keeps tellin me that me that everything gon be all rightevery time i try to leave something keeps pullin me back me back tellin me i need you in my life it was meant to be you were meant for me so that means we gotta make it workwalk in the house wit hard work my head hurt instead of arguin can i have dinner wit some dessert uh uh she talkin bout this phone number she found aint gimme time to put my bags down she straight up clowninbefore we end up fightin let me leave im exhausted and this here i dont need now im wit the fellaz ridin and drinkin she blowin my twoway up but i need some time for thinkinyeah i wanna go back but sumthin sayin naw lemme give her some space and the next day i might call what should i do look lemme ask yall should i stand tall or let this relationship falli aint down wit havin my feelings crushed but it happens sometimes either love it or give it up i thought i was your man guess you aint understand and now im sittin here lookin crazy like damnevery time i try to leave something keeps pullin me back me back tellin me i need you in my life every time i try to go something keeps tellin me that me that everything gon be all rightevery time i try to leave something keeps pullin me back me back tellin me i need you in my life it was meant to be you were meant for me so that means we gotta make it workto all the fellaz know you feel me you ever had a woman good times led to bad times and you aint see it comin tried your best to make her happy but it wasnt enough cuz mama told me in relationships the road get roughand i aint the one to have my head down weepin stressed out as bad as it hurts i gotta move to the next route yes i thought i was her man guess she aint understand and now she sittin thurr lookin crazy like damnevery time i try to leave something keeps pullin me back me back tellin me i need you in my life every time i try to go something keeps tellin me that me that everything gon be all rightevery time i try to leave something keeps pullin me back me back tellin me i need you in my life it was meant to be you were meant for me so that means we gotta make it work said we gotta make it work baby ",1
64,"bossy","kelis featuring too short",2006," a yo you dont have to love me you dont even have to like me but you will respect me you know why cause im a bossuh uh uh watch the beat go uh uh uh watch the beat go uh uh uh watch the beat go uh uh watch the beat goim bossy im the first girl to scream on a track i switched up the beat of the drum thats right i brought all the boys to the yard and thats right im the one thats tattooed on his armim bossy im the bitch yall love to hate im the chick thats raised the stakes i told young stanley he should switch to bape im back wit an 808 cause im bossyooh let me slow it down so you can catch the flow catch the flow screw it up make it go extra slow extra slow real girls get down on the floor on the floor get down on the floorooh i gave you a taste you want some more touch down on me throw it up like a pro i ride the beat like a bicycle an icicleooh from the 64 hoppers up in crenshaw to the money makin playas up in harlem dont want no problems we gon keep it bumpin while the 808 is jumpindiamonds on my neck ddiamonds on my grill diamonds on my neck ddiamonds on my grillim bossy im the first girl to scream on a track i switched up the beat of the drum thats right i brought all the boys to the yard and thats right im the one thats tattooed on his armim bossy im the bitch yall love to hate im the chick thats raised the stakes i told young stanley he should switch to bape im back wit an 808 cause im bossyooh i bet i bet i bet betcha never heard it like this before this before me and my baby be closin the phantom doors phantom doors bar poppin shit that you cant afford cant affordooh im chokin lost in the clouds its all smokin all the while im all open me and my girls we stay fly and i love to stay highooh from the 64 hoppers up in crenshaw to the money makin playas up in harlem dont want no problems we gon keep it bumpin while the 808 is jumpindiamonds on my neck ddiamonds on my grill diamonds on my neck ddiamonds on my grillim bossy im the first girl to scream on a track i switched up the beat of the drum thats right i brought all the boys to the yard and thats right im the one thats tattooed on his armim bossy im the bitch yall love to hate im the chick thats raised the stakes i told young stanley he should switch to bape im back wit an 808 cause im bossyits bout time that she get wit me cant stop starin shes fine and shes pretty damn girl dont hurt em if niggaz dont back back you gon work emput your mack down i know your background what you want girl you gettin that now thats how you do it huh well im the coolest one them bad bitches in the back bring em to the frontbitch tell dat man yous a boss bitch make some noise raise your hand if yous a boss bitch i dont think he understands yous a boss bitch get some help if you can cause he lost itaint no refunds she spent the cash man in yo benz wit her friends in the fast lane flossin he said how much she cost me about a million dollars playa shes bossyim bossy im the first girl to scream on a track i switched up the beat of the drum thats right i brought all the boys to the yard and thats right im the one thats tattooed on his armim bossy im the bitch yall love to hate im the chick thats raised the stakes i told young stanley he should switch to bape im back wit an 808 cause im bossyuh uh uh watch the beat go uh uh uh watch the beat go uh uh uh watch the beat go uh uh watch the beat gouh uh uh watch the beat go uh uh uh watch the beat go uh uh uh watch the beat go uh uh uh watch the beat go uh uh ",1
65,"chain hang low","jibbs",2006," do yo chain hang low do it wobble to da flo do it shine in da light iz it platinum iz it gold could you throw it ova ya shoulda if you hot it make you cold do yo chain hang lowiz that yo chain bout 24 inches iz how low i let it hang hop out the ride and let the diamonds smoke off the rangejust bought a chain you can tell that big kid do his thang you know the nameiz that yo chain bout 24 inches iz how low i let it hang hop out the ride and let the diamonds smoke off the rangejust bought a chain you can tell that big kid do his thang im off the chainyea yea yea yeah im hot kid chain so low you would think that diamonds never stopped itand its funny cuz you could never stopped it a bunch of rocks on my hand and i aint even on the block yetchrome white gold sorta golden like my tims and my chain hang 24 inches like the rimsdiamonds all blown up sorta like a pimp so when the light hit the ice it starts glistenin off the timsmy chain hang all it do iz blang blang half blue half red like my diamonds gang bangand i dont even think we even on the same page charms so heavy they couldnt lift it till the crane camedo yo chain hang low do it wobble to da flo do it shine in da light iz it platinum iz it gold could you throw it ova ya shoulda if you hot it make you cold do yo chain hang lowdo yo chain hang low do it wobble to da flo do it shine in da light iz it platinum iz it gold could you throw it ova ya shoulda if you hot it make you cold do yo chain hang lowyea yea yea yeah im so icy charms so heavy that my neck dont like meand no no no its not a game kid cause i throw my chain in a crowd like incomprehensiblediamonds iz nothing to me especially when im dressin up its justa button to meand not to mention my teeth cuz dey color coordinated complimenting the teethso check out my swag diamonds red white and blue like the american flag the boy so colorfuland see i got that nice green my money i spend on jewels i call it my ice creammy music give you a black eye cuz of the beating they think i am a mutant they way a boy is beastingi sting and in some time you would call it cheating yeah my boys always around like its a meetingiz that yo chain bout 24 inches iz how low i let it hang hop out the ride and let the diamonds smoke off the rangejust bought a chain you can tell that big kid do his thang you know the nameiz that yo chain bout 24 inches iz how low i let it hang hop out the ride and let the diamonds smoke off the rangejust bought a chain you can tell that big kid do his thang im off the chaindo do do do do do do yo chain hang low do it wobble to da flo do it shine in da light iz it platinum iz it gold could you throw it ova ya shoulda if you hot it make you cold do yo chain hang lowdo yo chain hang low do it wobble to da flo do it shine in da light iz it platinum iz it gold could you throw it ova ya shoulda if you hot it make you cold do yo chain hang low ",1
66,"smack that","akon featuring eminem",2006," shady konvict upfront akon slim shady i see the one cause she be that lady heyi feel you creeping up  i can see it from my shadow wanna jump up in my lamborghini gallardo maybe go to my place and just kick it like ta bo and possibly bend you over look back and watch mesmack that all on the floor smack that give me some more smack that til you get sore smack that oh oohsmack that all on the floor smack that give me some more smack that til you get sore smack that oh oohupfront style ready to attack now pull in the parking lot slow with the lac down konvicts got the whole thing packed now step in the club the wardobe intact nowi feel it don and crack now ooh i see it dont let back now ima call her then i put the mack down money no problem pocket full of that nowi feel you creeping up i can see it from my shadow wanna jump up in my lamborghini gallardo maybe go to my place and just kick it like tae bo and possibly bend you over look back and watch mesmack that all on the floor smack that give me some more smack that til you get sore smack that oh oohsmack that all on the floor smack that give me some more smack that til you get sore smack that oh oohoh looks like another club banger they better hang on when they throw this thing on get a lil drink on they gonna flip for this akon you can bank on itpedicure manicure kittycat claws the way she climbs up and down them poles looking like one of them puttycat dolls trying to hold my back through my drawerssteps upstage didnt think i saw creeps up behind me and shes like youre im like i know lets cut to the chase no time to waste back to my placeplus from the club to the crib its like a mile away or more like a palace shall i say and plus i got pal if your gal is game in fact hes the one singing the song thats playing akoni feel you creeping up i can see it from my shadow wanna jump up in my lamborghini gallardo maybe go to my place and just kick it like tae bo and possibly bend you over look back and watch mesmack that all on the floor smack that give me some more smack that til you get sore smack that oh oohsmack that all on the floor smack that give me some more smack that til you get sore smack that oh ooheminems rollin d an em rollin boo and ol marvelous an them rollin women just holdinbig booty rollin soon i be all in em an throwin dhittin no less than three block wheel style like whee girl i can tell you want me cause latelyi feel you creeping up i can see it from my shadow wanna jump up in my lamborghini gallardo maybe go to my place and just kick it like tae bo and possibly bend you over look back and watch mesmack that all on the floor smack that give me some more smack that til you get sore smack that oh oohsmack that all on the floor smack that give me some more smack that til you get sore smack that oh ooh ",1
67,"one wish","ray j",2006,"can i talk to you for a minute you know i be thinking to myself we had a lot of good times together come on baby come on darlin darlin we did everything together yeah we would wake up early in the morning all i need all i need all i need is a chance to make it right and just get in the car and just ride on out just one chance remember that all i need all i need is just one wish use to watch the sunrise one wish one wish use to watch the sunset all i need all i need all i need is a chance to make it right we was everything to each other you know just one chance all i need all i need is just one wish damn i miss those days one wish one wish  all i need all i need all i need is a chance to make it right if i could if i could just hold you in my arms you know what i mean all i need all i need is just one wish one wish it just feels so good one wish one little itty bitty wish if i could just have one wish damn baby just dont understand where we went wrong i gave you my heart i gave you my soul i gave you as a matter of fact i was the one who said i loved you first it was about eight years ago dont act like you dont know we were sittin at home in your mamas livin room ̢cause we couldnt be alone see your mama knew i was something else she knew how i felt back then we were in school and thats your favorite excuse growin up i was a fool and i cant lie im missing you listen and dont trip i think i need a bottle with a genie in it heres my wish list first one i would create a heart changing love second one ill take yours and fill it all up third one but i dont need a lot of wishes ̢cause ill be okay if i get one if i had one wish we would be best friends love would never end it would just begin if i had one wish you would be my boo promise to love you trust me ill trust you if i had one wish we would run away making love all day have us a baby if i had one wish id make you my whole life and youd be my wife make it right this time if i had one wish one wish one wish one wish one wish one wish one wish one wish one wish one wish one wish one wish one wish now tell me is this the only way i can get you right back in if so then searchin ill go then i can have you for sho then youll be loving me holding me kissing me so girl dont tell me what im feeling is make believe i swear if i lose a second chance with you i wouldnt know what to do id probably check myself into some kind of clinic i couldnt be alone because without you im sick heres my wish list first one i would create a heart changing love second one ill take yours and fill it all the way up third one but i dont need a lot of wishes ̢cause ill be okay if i get one if i had one wish we would be best friends love would never end it would just begin if i had one wish you would be my boo promise to love you trust me ill trust you if i had one wish we would run away making love all day have us a baby if i had one wish id make you my whole life and youd be my wife make it right this time if i had one wish i dont even know how we ended upon this road and even though we are grown girl i just want you to know if i had one wish we would be best friends love would never end it would just begin if i had one wish you would be my boo promise to love you trust me ill trust you if i had one wish we would run away making love all day have us a baby if i had one wish id make you my whole life and youd be my wife make it right this time if i had one wish we would be best friends love would never end it would just begin if i had one wish you would be my boo promise to love you trust me ill trust you if i had one wish we would run away making love all day have us a baby if i had one wish id make you my whole life and youd be my wife make it right this time if i had one wish one wish one wish one wish one wish one wish one wish one wish one wish one wish one wish one wish one wish",3
68,"sugar were goin down","fall out boy",2006," am i more than you bargained for yet ive been dying to tell you anything you want to hear cause thats just who i am this week lie in the grass next to the mausoleum im just a notch in your bedpost but youre just a line in a song a notch in your bedpost but youre just a line in a songdrop a heart break a name were always sleeping in and sleeping for the wrong teamwere going down down in an earlier round and sugar were going down swinging ill be your number one with a bullet a loaded gun complex cock it and pull itwere going down down in an earlier round and sugar were going down swinging ill be your number one with a bullet a loaded gun complex cock it and pull itis this more than you bargained for yet oh dont mind me im watching you two from the closet wishing to be the friction in your jeans isnt it messed up how im just dying to be him im just a notch in your bedpost but youre just a line in a song notch in your bedpost but youre just a line in a songdrop a heart break a name were always sleeping in and sleeping for the wrong teamwere going down down in an earlier round and sugar were going down swinging ill be your number one with a bullet a loaded gun complex cock it and pull itwere going down down in an earlier round and sugar were going down swinging ill be your number one with a bullet a loaded gun complex cock it and pull itdown down in an earlier round and sugar were going down swinging ill be your number one with a bullet a loaded gun complex cock it and pull itwere going down down in an earlier round take aim at myself and sugar were going down swinging take back what you said ill be your number one with a bullet take aim at myself a loaded gun complex cock it and pull itwere going down down down down down down down down were going down down down down a loaded gun complex cock it and pull itwere going down down in an earlier round take aim at myself and sugar were going down swinging take back what you said ill be your number one with a bullet take aim at myself a loaded gun complex cock it and pull it ",1
69,"gimme that","chris brown featuring lil wayne",2006," storch oh s dot yeaooh ohhthe dynamic duowow womp womp wompits what your body sayin chris brown is in the buildingthe young boy just turned sixteen and i got six fours and hot bikes that i rock keep three or four sweeties on my clock but all that swinging in that bikini just might convince him slow all the traffic down to a complete stop cause you speaking that slang that i talk that sassy tempo with that walk maybe the reason that all this teenies may never see memomma you may be three years older but you hot gimme that you be talking like you like what i got gimme that i know you like it how i lean in the lac you could be in the back saying gimme gimme gimmemomma you may be three years older but you hot gimme that you be talking like you like what i got gimme that i know you like it how i lean in the lac you could be in the back saying gimme gimme gimmema take a break let me explain to you what ya body got a young boy ready to do if you take a chance to let me put them things on you i could show you why i make them straight as in school im a hustler trust my frame and age got you thinking that im just too young to turn your page i can picture us switching lanes in the coupe with you on the phone screaming my namechrismomma you may be three years older but you hot gimme that you be talking like you like what i got gimme that i know you like it how i lean in the lac you could be in the back saying gimme gimme gimmemomma you may be three years older but you hot gimme that you be talking like you like what i got gimme that i know you like it how i lean in the lac you could be in the back saying gimme gimme gimmewowomp womp wowomp womp wowomp womp wowomp girl you serious and i been watching you wowomp womp wowomp womp wowomp womp wowomp thiss what your bodys saying wowomp womp wowomp womp wowomp womp wowomp yeahhhhh wowomp womp wowomp womp wowomp womp wowomp this what your bodys sayin owwwwmomma you may be three years older but you hot gimme that you be talking like you like what i got gimme that i know you like it how i lean in the lac you could be in the back saying gimme gimme gimmemomma you may be three years older but you hot gimme that you be talking like you like what i got gimme that i know you like it how i lean in the lac you could be in the back saying gimme gimme gimmeva yeah ha yeah ma dont be frontin like you dont know whats goin on aight yeah ",1
70,"i know you see it","yung joc",2006," eenie meeny miney moe how many bitches from the club want go i know you see it i know you see it im like eenie meeny miney moe how many niggaz in the club want go i know you see it i know you see itnow you can call me tip drill they playin my songs throw a couple ones then she throw away her thongs when she bust it open take a picture with my phone she love my cologne call it perk body zonenow she pussy poppin yeah its goin down slap the waitress on the booty tell her get another round and when i make it rain money all over the ground fresh force ones sean john buttoned downand then im like oh boy my click full of stars big fofifth big dick and big cars at the end of the day when its all said and done ima need fo freaks cause i need more than oneeenie meeny miney moe how many bitches from the club want go i know you see it i know you see it im like bim bam i know you want some she chewin on the dick like a piece of bubble yum i know you see it i know you see itim like eenie meeny miney moe how many niggaz in the club want go i know you see it i know you see it then im like bim bam i know you want some you chewin on the pussy like a piece of bubble yum i know you see it i know you see iti aint never been the type to show off in the club real laid back poppin plenty bottles of bub dont smoke but i got much perk get that nigga real high make him slurp it then burpcould you be a groupie i hear you singin my song like i see you lemme feel yo tongue its me ms b nigga let me get you laced take a step back blow the pussy in your facei aint talkin kush nigga talkin the rat race so many to choose from give em all a lil taste got a house full of pussy the madame of hiphop my bitches are superstars so gushy you need a mop yeaheenie meeny miney moe how many bitches from the club want go i know you see it i know you see it im like bim bam i know you want some she chewin on the dick like a piece of bubble yum i know you see it i know you see itim like eenie meeny miney moe how many niggaz in the club want go i know you see it i know you see it then im like bim bam i know you want some you chewin on the pussy like a piece of bubble yum i know you see it i know you see iti got stacks on deck snowflakes on my neck new js on my feet make my outfit complete i know you see it i know you see it i got stacks on deck niggaz love my flow got a mohawk blowin ur forces that glow i know you see it i know you see iteenie meeny miney moe how many bitches from the club want go i know you see it i know you see it im like bim bam i know you want some she chewin on the dick like a piece of bubble yum i know you see it i know you see itim like eenie meeny miney moe how many niggaz in the club want go i know you see it i know you see it ",1
71,"who says you cant go home","bon jovi featuring jennifer nettles",2006," i spent twenty years tryin to get out of this place i was lookin for somethin i couldnt replace i was runnin away from the only thing ive ever knownand like a blind dog without a bone i was a gypsy lost in the twilight zone i hijacked a rainbow and crashed into a pot of goldive been there done that now i aint lookin back and the seeds ive sown savin dimes spendin too much time on the telephone who says you cant go homewho says you cant go home theres only one place that call me one of their own just a hometown boy born a rollin stone who says you cant go homewho says you cant go back been all around the world and as a matter of fact theres only one place left i want to go who says you cant go home its alright its alright its alright its alright its alrighti went as far as i could i tried to find a new face there isnt one of these lines that i would erase i left a million mile of memories on that roadevery step i take i know that im not alone you take the home from the boy but not the boy from his home these are my streets the only life ive ever known who says you cant go homewho says you cant go home theres only one place that call me one of their own just a hometown boy born a rollin stone who says you cant go homewho says you cant go back been all around the world and as a matter of fact theres only one place left i want to go who says you cant go homeits alright its alright its alright its alright its alright who says you cant go home its alright its alright its alright its alright its alright who says you cant go homeive been there done that now i aint lookin back its been a long long road feels like ive never left thats how the story goesit doesnt matter where you are doesnt matter where you go if its a million miles away or just a mile up the road take it in take it with you when you go who says you cant go homewho says you cant go home theres only one place that call me one of their own just a hometown boy born a rollin stone who says you cant go homewho says you cant go back been all around the world and as a matter of fact theres only one place left i want to go who says you cant go homeits alright its alright its alright its alright its alright its alright its alright its alright its alright its alright its alright who says you cant go homeits alright its alright its alright its alright its alright who says you cant go home its alright its alright its alright its alright its alright who says you cant go home ",1
72,"too little too late","jojo",2006," come with me stay the night you say the words but boy it dont feel right what do you expect to me to say you know its just too little too lateyou take my hand and you say youve changed but boy you know your beggin dont fool me because to you its just a game you know its just too little too lateso let me on down cause time has made me strong im starting to move on im gonna say this now your chance has come and gone and you knowits just too little too late a little too wrong and i cant wait you know all the right things to say you know its just too little too lateyou say you dream of my face but you dont like me you just like the chase to be real it doesnt matter anyway you know its just too little too lateits just too little too latei was young and in love i gave you everything but it wasnt enough and now you wanna communicate you know its just too little too latego find someone else im lettin you go im lovin myself you gotta problem but dont come askin me for help cause ya knowits just too little too late a little too wrong and i cant wait you know all the right things to say you know its just too little too lateyou say you dream of my face but you dont like me you just like the chase to be real it doesnt matter anyway you know its just too little too latei can love with all of my heart baby i know i have so much to give i have so much to give with a player like you i dont have a prayer thats no way to live yeah ohits just too little too late yeahits just too little too late a little too wrong and i cant wait you know all the right things to say you know its just too little too lateyou say you dream of my face but you dont like me you just like the chase to be real it doesnt matter anyway you know its just too little too late you know its just too little too latei cant wait its just too little too late a little too wrong and i cant wait you know all the right things to say you know its just too little too lateyou say you dream of my face but you dont like me you just like the chase ",1
73,"touch it","busta rhymes",2006," touch it bring it babe watch it turn it leave it stop format it touch it bring it babe watch it turn it leave it stop format ittouch it bring it babe watch it turn it leave it stop format it touch it bring it babe watch it turn it leave it stop format ittouch it bring it babe watch it turn it leave it stop format it touch it bring it babe watch it turn it leave it stop format itget low buswho be the king of the sound busta bus back to just put a lock on a town lot of my  be comin from miles around see they be comin cause they know how the god get downturn it upnow you know who holdin the throne so gimme the crown  solutin and tryin to give me a pound i dont really  with you  you  is clown makin the  strippin throw they  on the groundget low busnow thats the way that it goes when we up in the spot the  be flooded with hoes see we a make it hot the chicks will come out their clothes thats when you get it mami already know i supposeturn it upshorty wildin and shorty open she beastin it out for the record just a second im freakin it out while she tryin to touch see i was peepin it out she turned around and was tryin to put my  in her mouthi let hertouch it bring it babe watch it turn it leave it stop format it touch it bring it babe watch it turn it leave it stop format ittouch it bring it babe watch it turn it leave it stop format it touch it bring it babe watch it turn it leave it stop format itget low busand as we started got me ringing her bell when i come i be doin it and doin it well then i beat up the  and be makin it swell tryin to hide the smell of the sex spraying on the chanelturn it upthen they tried to walk with a strut so no one could tell how a  got in they  made everything jail now the tickle wild like a nut she blowin my cell cant get enough of the kid i put her under my spellget low busits crowded mami move it along if you know you bout it then get to removin your thong to the whip in back of the truck thats where you belong after the yac see the type of raunchy  they be onturn it upstreet  respect it because my movement is strong cause we consistently reppin see my money is long all my  is with me see how they singin the song plus how we give you the stick and we be  alongi let hertouch it bring it babe watch it turn it leave it stop format it touch it bring it babe watch it turn it leave it stop format ittouch it bring it babe watch it turn it leave it stop format it touch it bring it babe watch it turn it leave it stop format itget low busthe god of the black see that im back every single time that i drop the  is a wrap for the  hatin the kid im close to strap cause all these  wanna come talk to sit on my lapturn it upeverytime i give you bang  to knock in your whip  always do his thing  lockin the strip lot of mamis is dancin and they shakin they hips after that they get low and put the thing on their lipsi let themtouch it bring it babe watch it turn it leave it stop format it touch it bring it babe watch it turn it leave it stop format ittouch it bring it babe watch it turn it leave it stop format it touch it bring it babe watch it turn it leave it stop format ittouch it bring it babe watch it turn it leave it stop format it touch it bring it babe watch it turn it leave it stop format it  ",1
74,"rompe","daddy yankee",2006," na na na na na na na na na you knowlos cacos estan ready las mamis estan ready en la calle estamos ready yeah yeah andamos readylos barrios estan ready one two get ready come on oh oh oh ohrompe rompe rompe bien guillao rompe rompe rompe ese cuerpo ella lo rompe rompe rompe bien guillao are u readyrompe rompe rompe break it down rompe rompe rompe the way she move ella lo rompe rompe rompe break it down lets gomy boo no se limita a la hora de romper su pum pum con curvas ms calientes que el sur right through ensame si tienes la actitud mami dale go dale go dale go gotiempo llego el momento baby de perder el control trabjame ese cuerpo ms que un shot de winstrong sube ese temperamento dame movimiento lento lento ella lorompe rompe rompe bien guillao rompe rompe rompe ese cuerpo ella lo rompe rompe rompe bien guillao are u readyrompe rompe rompe break it down rompe rompe rompe the way she move ella lo rompe rompe rompe break it down go go go govoy chillin tranquilo thats right buscando una gata que cae no escondas todo eso que traes yo baby que es la que hayvoy chillin tranquilo thats right buscando una gata que cae no escondas todo eso que traes que pasa socio que es la que haypinche buey pensastes que esto era un mami no voy a dar break deja ese guille de scarface get out my way usted no vende ni en ebay no das pa na conmigo estas frito laychequea el swing que se le pega a toa las nenas mas que un gstring yo soy la pesadilla de todo los dream team ya se te acabo el magazine conmigo no te guilles pa de listern daddy terompe rompe rompe bien guillao rompe rompe rompe ese cuerpo ella lo rompe rompe rompe bien guillao are u readyrompe rompe rompe break it down rompe rompe rompe the way she move ella lo rompe rompe rompe break it down lets gona na na na na na na na na you knowoh oh en directo oh oh daddy yankee yo con los jedis monserrate y dj urba fish ha ha sufficient daddy yankee cartel records en directo whos this ha ha ha ",1
75,"dej`a vu","beyonce featuring jayz",2006," bassuhhi hatuh808uhjayuh huh ready uh huhlets go get emuh huh come oni used to run base like juan pierre now i run the bass hi hat and the snare i used to bag girls like birken bags now i bag b boy you hurtin that brooklyn bay where they birthed me at now i be everywherethe nerve of rap the audacity to have me whipping curtains back me and b she about to sting stand backbaby seems like everywhere i go i see you from your eyes your smile its like i breathe you helplessly i reminisce dont want to compare nobody to youboy i try to catch myself but im out of control your sexiness is so appealing i cant let it go ohchorus know that i cant get over you cause everything i see is you and i dont want no substitute baby i swear its deja vu know that i cant get over you cause everything i see is you and i dont want no substitute baby i swear its deja vuseeing things that i know cant be am i dreaming when i saw you walking past me almost called your name got a better glimpse and then i looked away feels like im losing itboy i try to catch myself but im out of control your sexiness is so appealing i cant let it go ohchorusyes hovas flow so unusual baby girl you should already know its ho light up the dro cause you gon need help tryin to study my bounce flow blowwhats the difference one you take in vein while the other you sniffin its still doughpopo try to convict him thats a nogo my dough keep the scales tipping like fourfours like im from the houston blow wind so chicago of him is he the best ever thats the argument i dont make the list dont be mad at me i just make the hits like a factory im just onetoone nothin after me no deja vu just me and my ohbaby i cant go anywhere without thinking that youre there seems like youre everywhere its true gotta be having deja vu cause in my mind i want you here get on the next plane i dont care is it because im missing you that im having deja vuboy i try to catch myself but im out of control your sexiness is so appealing i cant let it gochorus x2 ",1
76,"life is a highway","rascal flatts",2006," lifes like a road that you travel on when theres one day here and the next day gone sometimes you bend and sometimes you stand sometimes you turn your back to the windtheres a world outside every darkened door where blues wont haunt you anymore where brave are free and lovers soar come ride with me to the distant shorewe wont hesitate to break down the garden gate theres not much time left todaylife is a highway i wanna ride it all night long if youre going my way i wanna drive it all night longthrough all these cities and all these towns its in my blood and its all around i love you now like i loved you then this is the road and these are the handsfrom mozambique to those memphis nights the khyber pass to vancouvers lights knock me down and back up again youre in my blood im not a lonely mantheres no load i cant hold a road so rough this i know ill be there when the light comes in tell em were survivors life is a highway i wanna ride it all night long if youre going my way i wanna drive it all night long life is a highway i wanna ride it all night long if youre going my way i wanna drive it all night longthere was a distance between you and i a misunderstanding once but now we look in the eyethere aint no load that i cant hold a road so rough this i know ill be there when the light comes in tell em were survivorslife is a highway i wanna ride it all night long if youre going my way i wanna drive it all night long life is a highway i wanna ride it all night long if youre going my way i wanna drive it all night long gimme gimme gimme gimme yeah life is a highway i wanna ride it all night long if youre going my way i wanna drive it all night long ",1
77,"call me when youre sober","evanescence",2006," dont cry to me if you loved me you would be here with me you want me come find me make up your mindshould i let you fall lose it all so maybe you can remember yourself cant keep believing were only deceiving ourselves and im sick of the lie and youre too latedont cry to me if you loved me you would be here with me you want me come find me make up your mindcouldnt take the blame sick with shame must be exhausting to lose your own game selfishly hated no wonder youre jaded you cant play the victim this time and youre too latedont cry to me if you loved me you would be here with me you want me come find me make up your mindyou never call me when youre sober you only want it cause its over its overhow could i have burned paradise how could i you were never mineso dont cry to me if you loved me you would be here with me dont lie to me just get your things ive made up your mind ",1
78,"jesus take the wheel","carrie underwood",2006," she was driving last friday on her way to cincinnati on a snow white christmas eve going home to see her mama and her daddy with the baby in the backseatfifty miles to go and she was running low on faith and gasoline itd been a long hard yearshe had a lot on her mind and she didnt pay attention she was going way too fast before she knew it she was spinning on a thin black sheet of glassshe saw both their lives flash before her eyes she didnt even have time to cry she was so scared she threw her hands up in the airjesus take the wheel take it from my hands cause i cant do this on my ownim letting go so give me one more chance to save me from this road im on jesus take the wheelit was still getting colder when she made it to the shoulder and the car came to a stop she cried when she saw that baby in the backseat sleeping like a rockand for the first time in a long time she bowed her head to pray she said im sorry for the way ive been living my lifei know ive got to change so from now on tonightjesus take the wheel take it from my hands cause i cant do this on my ownim letting go so give me one more chance to save me from this road im onoh jesus take the wheel oh im letting goso give me one more chance save me from this road im on 2x from this road im on jesus take the wheel oh take it take it from me oh oh oh wooh ",1
79,"show stopper","danity kane featuring yung joc",2006," we in the car we ride slow we doin things that the girls dont do the boys stare we smile back all my girls in the rainbow cadillacs yeahshow stoppin at the latest spot the ride shinin with the open top hydraulics make our heads go nod hair blowin in the breeze yo we superstarsput in the keys make that engine purr 3 in the back one in the passenger slow creepin cause we look that fly all the boys tryin taste our candy piewe in the car we ride slow we doin things that the girls dont do the boys stare we smile back all my girls in the rainbow cadillacs yeahbet you aint never seen chicks ridin this clean louis vuitton seats we do it daily that how we keep it poppin make sure that bass knockin so when you see us ridin we call it show stoppinwe show stoppin we show show stoppin we show stoppin we show show stoppin thats how we keep it poppin make sure that bass knockin so when you see us ridin we call it show stoppinwe sittin on 22s plus 2 mink bucket seats neon blue color coordinate with them shoes yeah we divas but we ride like big boys doblack tinted with a white stripe interstate lookin in the mirror at my bad boy fitted yup show stoppin till they lose they breath turn the wheel to the right turn the wheel to the leftwe in the car we ride slow we doin things that the girls dont do the boys stare we smile back all my girls in the rainbow cadillacs yeahbet you aint never seen chicks ridin this clean louis vuitton seats we do it daily that how we keep it poppin make sure that bass knockin so when you see us ridin we call it show stoppinwe show stoppin we show show stoppin we show stoppin we show show stoppin thats how we keep it poppin make sure that bass knockin so when you see us ridin we call it show stoppinthis is for my ladies in the 280s mercedes in the h3 baby ranges bentley coups my escaladies say oh oh oh oh oh oh break em off somethin proper like a real show stopperthis is for my chicas with the beamers a6s 67 chevys maserati or a lexus ay oh oh oh oh oh oh break em off somethin proper like a real show stoppergon jingle them keys gon jingle them keys put em up real high make sure erybody see em one time one time two times two times three times three times fo times fo timesgon jingle them keys gon jingle them keys put em up real high make sure erybody see em one time one time two times two times three times three times fo times fo timeswe in the car we ride slow we doin things that the girls dont do the boys stare we smile back all my girls in the rainbow cadillacs yeahbet you aint never seen chicks ridin this clean louis vuitton seats we do it daily that how we keep it poppin make sure that bass knockin so when you see us ridin we call it show stoppinwe show stoppin we show show stoppin we show stoppin we show show stoppin thats how we keep it poppin make sure that bass knockin so when you see us ridin we call it show stoppin ",1
80,"get up","ciara featuring chamillionaire",2006," he said hi my name is so and so baby can you tell me yours you look like you came to do one thing set it off i started on the left and i had to take him to the right he was out of breath but he kept on dancin all nightyou tryin admit it but you just can fight the feelin inside you know it and i can see it in your eyes you want me you smooth as a mother youre so undercover by the way that you was watchin meooh uh the way you look at me im feelin you uh i just cant help it tryin to keep it cool uh i can feel it in the beat uh when you do those things to me uh dont let nothin stop you move ring the alarm the club is jumpin now so get upi said ciaras on you radio everybody turn it up spicy just like hot sauce careful you might burn it up you can do the pop lock ragtime dont stop thats the way you gotta get get it make ya body rockyou tryin admit it but you just can fight the feelin inside you know it cause i can see it in your eyes you want me you smooth as a mother youre so undercover by the way that you was watchin meooh uh the way you look at me im feelin you uh i just cant help it tryin to keep it cool uh i can feel it in the beat uh when you do those things to me uh dont let nothin stop you move ring the alarm the club is jumpin now so get upooh i love the way you vibe with me dance with me forever we can have a good time follow me to the beat together you and me one on one breakin it down you cant walk away now we got to turn this place outits the kid that stay ridin big the one the police tried to catch ridin dirty in the club before eleven oclock like im tryin to catch it down kinda early look ya thick her hair brown and curly she love the way my ride shinin pearly city boys say she fine and pretty in the country boys say she fine and purrty my pockets thick as green its curvy and the ladies know soon as they see my jewelry if bein fresh to death is a crime i think its time for me to see the juryyou know chamillionaire stay on the grind a hustla like me is hard to find i aint really impressed yes unless its about some dollar signs aint really no need to call you fine i know you be hearin that all the time im watchin you do ya step do ya step yep its goin downooh uh the way you look at me im feelin you uh i just cant help it tryin to keep it cool uh i can feel it in the beat uh when you do those things to me uh dont let nothin stop you move ring the alarm the club is jumpin now so get upooh uh the way you look at me im feelin you uh i just cant help it tryin to keep it cool uh i can feel it in the beat uh when you do those things to me uh dont let nothin stop you move ring the alarm the club is jumpin now so get upi got to have you baby uh i feel it i got to have you baby i got to have you baby uh i feel it i got to have you baby ",1
81,"we be burnin","sean paul",2006," just gimme di trees and mek we smoke it yo smoke it yo it dont mek we please so dont provoke it yo voke it yo we nuh need nuh speed so we nuh gon coke it yo coke it yo set we mind at ease we gotta take it slowso when yuh see di sp floatin dont provoke him cau di weed weh we smokin need fi soakin best ting fi di meditation and di best hygrade a jamaicanwhen we a bun a weed we supportin and promotin lau di crack and di coke ting yeah we soakin herb a di healin of di nation legalize it right now we wanna blaze oneeveryday we be burnin not concernin what nobody wanna say we be earnin dollars turning cau we mind deh pon we pay some got gold and oil and diamonds all we got is mary j legalize it time you recognize itthis purple haze it mek mi crazy mek mi write new tune yeah dats what pays me but im not di only occupation goin to get some i give yuh educationwhen a farmer grows it he knows to close it economical benefit help fi those who a fi deh yah pon di hard jugglin cau di system only keep man strugglinstudyin people a use it dont abuse it cau di concentration well reputed dats why herb man dem a di wise one and it found on di grave of king solomonand it good fi di eye sight and di chest sight and it give yuh nuff insight just gimme di light and mek we blaze it we should a neva waste itagain we be burnin not concernin what nobody wanna say we be earnin dollars turnin cau we mind deh pon we pay some got gold and oil and diamonds all we got is mary j legalize it time you recognize itjust gimme di trees and mek we smoke it yo smoke it yo it dont mek we please so dont provoke it yo voke it yo we nuh need nuh speed so we nuh gon coke it yo coke it yo set we mind at ease we gotta take it slowso when yuh see di sp floatin dont provoke him cau di weed weh we smokin need fi soakin best ting fi di meditation and di best hygrade a jamaicancau we know it as a great ting no debatin while dem incarceratin true dem hatin cau dem dont wanna see we a remain calm even though dem condemn incomprehensibleeveryday we be burnin not concernin what nobody wanna say we be earnin dollars turnin cau we mind deh pon we pay some got gold and oil and diamonds all we got is mary j legalize it time you recognize itagain we be burnin not concernin what nobody wanna say we be earnin dollars turnin cau we mind deh pon we pay some got gold and oil and diamonds all we got is mary j legalize it time you recognize itagain we be burnin not concernin what nobody wanna say we be earnin dollars turnin cau we mind deh pon we pay some got gold and oil and diamonds all we got is mary j legalize it time you recognize itjust gimme di trees and mek we smoke it yo smoke it yo it dont mek we please so dont provoke it yo voke it yo we nuh need nuh speed so we nuh gon coke it yo coke it yo set we mind at ease we gotta take it slow ",1
82,"hate me","blue october",2006," i have to block out thoughts of you so i dont lose my head theyre crawling like a cockroach leaving babies in my bed dropping little reels of tape to remind me that im alone playing movies in my head that make a porno feel like home theres a burning in my pride a nervous bleeding in my brain an ounce of peace is all i want for you will you never call again and will you never say that you love me just to put it in my face and will you never try to reach me it is i that wanted spacehate me today hate me tomorrow hate me for all the things i didnt do for youhate me in ways yeah ways hard to swallow hate me so you can finally see whats good for youim sober now for three whole months its one accomplishment that you helped me with the one thing that always tore us apart is the one thing i wont touch again in a sick way i want to thank you for holding my head up late at night while i was busy waging wars on myself you were trying to stop the fight you never doubted my warped opinions on things like suicidal hate you made me compliment myself when it was way too hard to take so ill drive so fucking far away that i never cross your mind and do whatever it takes in your heart to leave me behindhate me today hate me tomorrow hate me for all the things i didnt do for youhate me in ways yeah ways hard to swallow hate me so you can finally see whats good for youand with a sad heart i say bye to you and wave kicking shadows on the street for every mistake that i had made and like a baby boy i never was a man until i saw your blue eyes crying and i held your face in my hand and then i fell down yelling make it go away just make a smile come back and shine just like it used to be and then she whispered how can you do this to mehate me today hate me tomorrow hate me for all the things i didnt do for youhate me in ways yeah ways hard to swallow hate me so you can finally see whats good for you for you for you for you ",1
83,"you and me","lifehouse",2006," what day is it and in what month this clock never seemed so alive i cant keep up and i cant back down ive been losing so much timecause its you and me and all of the people with nothing to do nothing to lose and its you and me and all of the people and i dont know why i cant keep my eyes off of youall of the things that i want to say just arent coming out right im tripping on words you got my head spinning i dont know where to go from herecause its you and me and all of the people with nothing to do nothing to prove and its you and me and all of the people and i dont know why i cant keep my eyes off of yousomething about you now i cant quite figure out everything she does is beautiful everything she does is rightcause its you and me and all of the people with nothing to do nothing to lose and its you and me and all of the people and i dont know why i cant keep my eyes off ofyou and me and all of the people with nothing to do and nothing to prove and its you and me and all of the people and i dont know why i cant keep my eyes off of youwhat day is it and in what month this clock never seemed so alive ",1
84,"beep","pussycat dolls featuring william",2006," ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha haits funny how a man only thinks about the you got a real big heart but im looking at your you got real big brains but im looking at your girl there aint no pain in me looking at youri dont give a keep looking at my cause it dont mean a thing if youre looking at my ha ima do my thing while youre playing with your ha ha ha ha ha ha haevery boys the same since i been in the seventh grade theyve been trying to get with me trying to ha ha ha ha ha hathey always got a plan to be my one and only man want to hold me with their hands want to ha ha ha ha ha hai keep turning em down but they always come around asking me to go around thats not the way its going downcause they only want only want my ha ha ha ha ha ha only want what they want but na ah ah na ah ahits funny how a man only thinks about the you got a real big heart but im looking at your you got real big brains but im looking at your girl there aint no pain in me looking at youri dont give a keep looking at my cause it dont mean a thing if youre looking at my ha ima do my thing while youre playing with your ha ha ha ha ha ha hado you know that no dont mean yes it means no so just hold up wait a minute let me put my two cents in itone just be patient dont be rushing like youre anxious and two youre just too aggressive trying to get your ahhdo you know that i know and i dont want to go therethey only want only want my ha ha ha ha ha ha only want what they want but na ah ah na ah ahits funny how a man only thinks about the you got a real big heart but im looking at your you got real big brains but im looking at your girl there aint no pain in me looking at youri dont give a keep looking at my cause it dont mean a thing if youre looking at my ha ima do my thing while youre playing with your ha ha ha ha ha haooh youve got it bad i can tell you want it bad but oh well what you got for me is something i something i dont need heyits funny how a man only thinks about the you got a real big heart but im looking at your you got real big brains but im looking at your girl there aint no pain in me looking at youri dont give a keep looking at my cause it dont mean a thang if youre looking at my ha ima do my thang while youre playing with your ha ha ha ha ha ha haits funny how a man only thinks about the you got a real big heart but im looking at your you got real big brains but im looking at your girl there aint no pain in me looking at youri dont give a keep looking at my cause it dont mean a thing if youre looking at my ha ima do my thing while youre playing with your ha ha ha ha ha ha ha ",1
85,"i think they like me","dem franchize boyz featuring jermaine dupri da brat and bow wow",2006," in background yup scratch 1 2 3 as this is plain to see i go by the name of jermaine dupri dopeman fresh in the place to be and uhhchorus ohh i think they like me x16jd oh i think they like me when they heard me on the other one so its only right that i hit you with another one repeat 2xverse 1 yea these niggaz like me haters want to fight me yea these niggaz mad cuz i came up over night b yea i switched it up i got 9 kuffed tightly so you betta do the right thing like spike lee yep im superclean rock jeans wit a white tee niggaz round here soft but like niggaz want to bite me if you had some figures you would be just like me yea these niggaz mad cuz i shining like a light b niggaz talking bout yep in there muthafuckin throwback it aint real you know dats muhammadz where dey sold that we stepping on these niggaz like a muthafuckin door mat when i hit the scene they take pictures call me kodak these hoes goin crazy like think they need some prozac we the hottest thing in tha market and you no dat yo bitch chose us and she dont want to go back we stackin big faces cuz we still spending throwbacksjd now when i do it its something like thrilla and manilla man known as a killa man fresh from the dealer man so so niggas aint no crew illa than 10 acres of land and i got about a million dollars worth of cars in my front yard im from a place in atl where young niggas stomp hard ooo i think they like me when they heard me on the other one so its only right that i hit you with another one remix we get busy over here no sleep niggas stay up on they grizzie over here we young young we fly fly and we gon stay flashy till the day that we diechorusverse 2 they dont want 2 fight me im snatching ya ass up first nigga act up first nigga get bust majestic gettin shredded while im twirlin n switchin up tshirt stravaganza franchize the white tee boyz self made self paid we lounge around in our white tee ashy black shirt well get down in ya brown tee muhammed throwback whod sport a jersey by ali and if he make one hell naw dat dont excite me im all about my cash ride around wit a nice peace ear piece icy they straight up like me you heard pimpin playa they shine so brightly dont stand so close vision blurs when ice blings respect my whole squad kno you cant even touch us cuz role out the red carpet high 5 and show us love carry barretas count cheddar we transedda im a franchize niggga have a mil or bettada brat check it out 60644694 blow dro with the windows up on duece fours purple candy paint brand new think i aint same chick same click mo bricks in the bank no now no hoe rounds no down like brat it aint no showdown for no crown im holding that face all over vh paid great till this day been in love with the mic since run dmc walk this way talk this way cause im gangsta a chitowns legend im not ordinary people its a star in yo presents so icy that my earlobes hurt but what its worth dont test me i got the four fitfth under the skirt thick in the thighs can tuck that i stay on my grind i buss back if i must act i empty the sack its b to the rat trust that im crazy jd pays me im such acting ladybow wow im bow weezy prince of the otown just got the wheels clean so im riding slow now im in a fast car something like a nascar if you wanna know how much it cost you should ask pa as far as the rocks in chain i dropped some change its easy for me to copped them thangs and i dont stop i got rocks in rings you know the same size as a boxing ring swimming pool in the front and the back yard i aint got to act hard im under 21 with a black card yea i know that was kind of a low blow but the dough for the so so dont come slowchorusjd oh i think they like me when they heard me on the other one so its only right that i hit you with another one repeat 2x ",1
86,"say goodbye","chris brown",2006," look we gotta talk dang i know i know but its its just some things i gotta get off chest alrightyeah woo ooo woo ooo woo ooo listenbaby come here and sit down lets talk i got alot to say so i guess ill start by sayin that i love you but you know this thing aint been a walk in the park for us i swear itll only take a minute youll understand when i finish yeah and i dont want to see you cry but i dont want to be the one to tell you a lie sohow do you let go when you you just dont know whats on the other side of the door when youre walking out talk about it and everything i tried to remember to say just went out my head so im a do the best i can to get you to understand cause i knowtheres never a right time to say goodbye but i gotta make the first move cause if i dont you gonna start hating me cause i really dont feel the way i once felt about you girl its not you its me i i gotta gotta figure out what i need oh theres never a right time to say goodbye but we know that we gotta go our separate ways and i know its hard but we gotta do it its kind of killing me cause theres never a right time a right time to say goodbyegirl i know your heart is breaking and a thousand times i found myself asking why why why am i taking so long to say this but trust me girl i never meant to crush your world and i never thought i would see the day wed grow apart and i wanna knowhow do you let go when you you just dont know whats on the other side of the door when youre walking out talk about girl i hope you understand what im tryna say we just cant go on pretending that we get along girl how you not gonna see that im hurttheres never a right time to say goodbye but i gotta make the first move cause if i dont you gonna start hating me cause i really dont feel the way i once felt about you girl its not you its me i i gotta gotta figure out what i need oh theres never a right time to say goodbye but we know that we gotta go our separate ways and i know its hard but we gotta do it its kind of killing me cause theres never a right time a right time to say goodbyelisten to your heart girl you know we should be apart baby i i just cant do it i i just cant do it listen to your heart girl you know we should be apart baby i i just cant do it and sometimes it makes me wanna cry oh oh oh oh oh oh oh oh oh oh oh oh oh do you hear me crying oh oh oh oh oh oh oh oh oh oh ohtheres never a right time to say goodbye but i gotta make the first move cause if i dont you gonna start hating me cause i really dont feel the way i once felt about you girl its not you its me i i gotta gotta figure out what i need oh theres never a right time to say goodbye but we know that we gotta go our separate ways and i know its hard but we gotta do it its kind of killing me cause theres never a right time a right time to say goodbyetheres never a right time to say goodbye but i gotta make the first move cause if i dont you gonna start hating me cause i really dont feel the way i once felt about you girl its not you its me i i gotta gotta figure out what i need oh theres never a right time to say goodbye but we know that we gotta go our separate ways and i know its hard but we gotta do it its kind of killing me cause theres never a right time a right time to say goodbye ",1
87,"waiting on the world to change","john mayer",2006," one two one two threeme and all my friends were all misunderstood they say we stand for nothing and theres no way we ever could now we see everything thats going wrong with the world and those who lead it we just feel like we dont have the means to rise above and beat itso we keep waiting waiting waiting on the world to change we keep on waiting waiting waiting on the world to changeits hard to beat the system when were standing at a distance so we keep waiting waiting waiting on the world to changenow if we had the power to bring our neighbors home from war they would have never missed a christmas no more ribbons on their door and when you trust your television what you get is what you got cause when they own the information oh they can bend it all they wantthats why were waiting waiting waiting on the world to change we keep on waiting waiting waiting on the world to changeits not that we dont care we just know that the fight aint fair so we keep on waiting waiting waiting on the world to changeand were still waiting waiting waiting on the world to change we keep on waiting waiting waiting on the world to changeone day our generation is gonna rule the population so we keep on waiting waiting waiting on the world to change no we keep on waiting waiting waiting on the world to change we keep on waiting waiting waiting on the world to change waiting on the world to change waiting on the world to change waiting on the world to change ",1
88,"soul survivor","young jeezy featuring akon",2006," convict akon and young jeezy tryin to take it easy only way to go and soif you lookin for me ill be on the block with my thang cocked possibly sittin on a drop now cause im a rida yeah yea ima soul survivor yeahcause everybody know the game dont stop tryin to make it to the top for your ass get popped now if you a rida yeah yea ima soul survivor yeahtonight night i cant sleep we livin in hell yeah first they give us the work then they throw us in jail ayywont trip yeah im trafficin in the white please lord dont let me go to jail tonight yeah who me im a soul survivorask about em in the street the boy jeez a rida a hundred grand on my wrist yeah life sucks fuck the club dawg i rather count a million bucks ayyif you lookin for me ill be on the block with my thang cocked possibly sittin on a drop now cause im a rida yeah yea ima soul survivor yeahcause everybody know the game dont stop tryin to make it to the top for your ass get popped now if you a rida yeah yea ima soul survivor yeahanother day another dolla same block same nigga same part same green i guess we got the same dreams ayy or is it the same nightmareswe let the doves do it for us we dont cry tears thats right real niggaz dont budge when mail man got his time he shot birds at the judge yeahim knee deep in the game so when its time to reup im knee deep in the cane damn real talk look im tellin you mayneif you get jammed up dont mention my name no forgive me lord i know i aint livin right gotta feed the block niggaz starvin they got appetites ayyand this is everyday it never gets old thought i was a juvenile stuck to the gcode this aint a rap song nigga this is my life and if the hood was a battlefield then i earned stripes yeahif you lookin for me ill be on the block with my thang cocked possibly sittin on a drop now cause im a rida yeah yea ima soul survivor yeahcause everybody know the game dont stop tryin to make it to the top for your ass get popped now if you a rida yeah yea ima soul survivor yeahgotta watch er move cause them eyes be on you gotta drive real cool when them pies be on you just because we stack paper and we ball outrageous them alphabet boys gotta us under surveillance ayylike animals they lock us in cages the same nigga thats a star when you put em on stages i aint cheat played the hand i was dealt tried to tax the grand pearl when i got it myselflets get it no nuts no glory my biography you damn right the true story yeah set the city on fire and i didnt even try run these streets all day i can sleep when i die ayycause if you lookin for me you can find me on the block disobeyin the law real g thorough bred from the streets pants saggin with my gun in my drawsjust to keep on movin now just to keep on movin now just to keep on movin now just to keep on movin now heyif you lookin for me ill be on the block with my thang cocked possibly sittin on a drop now cause im a rida yeah yea ima soul survivor yeahcause everybody know the game dont stop tryin to make it to the top for your ass get popped now if you a rida yeah yea ima soul survivor yeahif you lookin for me ill be on the block with my thang cocked possibly sittin on a drop now cause im a rida yeah yea ima soul survivor yeahcause everybody know the game dont stop tryin to make it to the top for your ass get popped now if you a rida yeah yea ima soul survivor yeah ",1
89,"pump it","the black eyed peas",2006,"ha ha haabr  pump itbr  ha ha haabr  br  and pump it louderbr  pump it louderbr  pump it louderbr  pump it louderbr  br  turn up the radiobr  blast your stereo rightbr  br  niggas wanna hate on usbr  whobr  niggas be enviousbr  whobr  and i know why they hating on usbr  whybr  cause our styles so fabulousbr  whatbr  br  ima be real on usbr  cmonbr  nobody got nothin on usbr  nobr  girls be all on usbr  from london back down to the usbr  s sbr  br  we rockin thisbr  contagiousbr  monkey businessbr  outrageousbr  just confessbr  your girl admits that we the shitbr  br  fresh we freshbr  def thats right we def rockbr  we definitebr  bep we reppin it sobr  br  turn it upbr  turn it upbr  turn it upbr  turn it upbr  turn it upbr  br  come on baby justbr  pump it louderbr  pump it louderbr  pump it louderbr  pump it louderbr  br  pump it louderbr  pump it louderbr  and say oh oh oh ohbr  say oh oh oh ohbr  br  yo yo turn up the radiobr  blast your stereo right nowbr  this joint is fizzlingbr  its sizzling rightbr  br  check this out right herebr  br  dude wanna hate on usbr  dudebr  dude need to ease on upbr  dudebr  dude wanna act on upbr  but dude get shut like flavorbr  shut downbr  br  chick say she aint downbr  but chick backstage when we in townbr  habr  she like man on drumbr  ohhbr  she wanna hit n runbr  br  yeah thats the schemebr  thats what we do thats who we bebr  black eyed p to the ebr  br  then the a to the sbr  when we play you shake your assbr  shake it shake itbr  shake it girlbr  make sure you dont break it girlbr  coz we gonnabr  br  turn it upbr  turn it upbr  turn it upbr  turn it upbr  turn it upbr  br  come on baby justbr  pump it louderbr  pump it louderbr  pump it louderbr  pump it louderbr  br  pump it louderbr  pump it louderbr  and say oh oh oh ohbr  say oh oh oh ohbr  br  yo yo turn up the radiobr  blast your stereo right nowbr  this joint is fizzlingbr  its sizzling rightbr  br  damnbr  damnbr  damnbr  damnbr  damnbr  damnbr  damnbr  damnbr  damnbr  damnbr  br  apldeap from the philippinesbr  live and direct rocking this scenebr  breaking on down for the bboysbr  and bgirls waiting to do they thingbr  br  pump it louder come onbr  dont stop and keep it goingbr  do it lets get it onbr  move it come on baby do itbr  br  ladadidadadidybr  on the stereereereereobr  let those speakers blow your mindbr  blow my mind babybr  just let it go let it go here we gobr  br  ladadidadadidybr  on the radiadiadiadiobr  the systems got me feel so fiiiiinebr  br  pump it louderbr  pump it louderbr  pump it louderbr  pump it louderbr  pump it louderbr  pump it louderbr  and say oh oh oh ohbr  say oh oh oh ohbr  br  yo yo turn up the radiobr  blast your stereo right nowbr  this joint is fizzlingbr  its sizzling right",3
90,"when im gone","eminem",2006," yo its my life my own words i guesshave you ever loved someone so much youd give an arm for not the expression no literally give an arm for when they know theyre your heart and you know you are their armor and you will destroy anyone who would try to harm her but what happens when karma turns right around and bites you and everything you stand for turns on you to spite you what happens when you become the main source of her pain daddy look what i made dads gotta go catch a plane daddy wheres mommy i cant find mommy where is she i dont know go play hailie baby your daddys busy daddys writing a song this song aint gon write itself i give you one underdog and you gotta swing by yourself then turn right around in that song and tell her you love her and put hands on her mother whos the spittin image of her thats slim shady yeah baby slim shadys crazy shady made me but tonight shadys rockabye babyand when im gone just carry on dont mourn rejoice every time you hear the sound of my voice just know that im lookin down on you smilin and i didnt feel a thing so baby dont feel no pain just smile backand when im gone just carry on dont mourn rejoice every time you hear the sound of my voice just know that im lookin down on you smilin and i didnt feel a thing so baby dont feel no pain just smile backi keep havin this dream im pushin hailie on a swing she keeps screamin she dont want me to sing youre makin mommy cry why why is mommy cryin baby daddy aint leavin no more daddy youre lyin you always say that you always say this is the last time but you aint leavin no more daddy youre mine shes pilin boxes in front of the door tryin to block it daddy please daddy dont leave daddy no stop it goes in her pocket pulls out a tiny necklace locket its got a picture this will keep you safe daddy take it with ya i look up its just me standin in the mirror these fuckin walls must be talkin cause man i can hear em theyre sayin you got one more chance to do right and its tonight now go out and show em that you love em before its too late and just as i go to walk out of my bedroom door it turns to a stage theyre gone and the spotlight is on and im singinand when im gone just carry on dont mourn rejoice every time you hear the sound of my voice just know that im lookin down on you smilin and i didnt feel a thing so baby dont feel no pain just smile backand when im gone just carry on dont mourn rejoice every time you hear the sound of my voice just know that im lookin down on you smilin and i didnt feel a thing so baby dont feel no pain just smile backsixty thousand people all jumpin out their seat the curtain closes theyre throwin roses at my feet i take a bow and thank you all for comin out theyre screamin so loud i take one last look at the crowd i glance down i dont believe what im seein daddy its me help mommy her wrists are bleedin but baby were in sweden how did you get to sweden i followed you daddy you told me that you werent leavin you lied to me dad and now you made mommy sad and i bought you this coin it says number one dad thats all i wanted i just want to give you this coin i get the point fine me and mommy are goin but baby wait its too late dad you made your choice now go out there and show em that you love em more than us thats what they want they want you marshall they keep screamin your name its no wonder you cant go to sleep just take another pill yeah i bet you you will you rap about it yeah word kid keep it real i hear a applause all this time i couldnt see how could it be that the curtain is closin on me i turn around find a gun on the ground cock it put it to my brain scream die shady and pop it the sky darkens my life flashes the plane that i was supposed to be on crashes and burns to ashes thats when i wake up alarm clocks ringing theres birds singin its spring and hailies outside swingin i walk right up to kim and kiss her tell her i miss her hailie just smiles and winks at her little sister almost as if to sayand when im gone just carry on dont mourn rejoice every time you hear the sound of my voice just know that im lookin down on you smilin and i didnt feel a thing so baby dont feel no pain just smile backand when im gone just carry on dont mourn rejoice every time you hear the sound of my voice just know that im lookin down on you smilin and i didnt feel a thing so baby dont feel no pain just smile back ",1
91,"hung up","madonna",2006," time goes by so slowly time goes by so slowly time goes by so slowly time goes by so slowly time goes by so slowly time goes by so slowlyevery little thing that you say or do im hung up im hung up on you waiting for your call baby night and day im fed up im tired of waiting on youtime goes by so slowly for those who wait no time to hesitate those who run seem to have all the funim caught up i dont know what to do time goes by so slowly time goes by so slowly time goes by so slowly i dont know what to doevery little thing that you say or do im hung up im hung up on you waiting for your call baby night and day im fed up im tired of waiting on youevery little thing that you say or do im hung up im hung up on you waiting for your call baby night and day im fed up im tired of waiting on youring ring ring goes the telephone the lights are on but theres noone home tick tick tock its a quarter to two and im done im hanging up on youi cant keep on waiting for you i know that youre still hesitating dont cry for me cause ill find my way youll wake up one day but itll be too lateevery little thing that you say or do im hung up im hung up on you waiting for your call baby night and day im fed up im tired of waiting on youevery little thing that you say or do im hung up im hung up on you waiting for your call baby night and day im fed up im tired of waiting on youevery little thing every little thing im hung up im hung up on you waiting for your call waiting for your call im fed up im tired of waiting on youtime goes by so slowly time goes by so slowly time goes by so slowly time goes by so slowlyso slowly so slowly so slowly so slowly so slowly so slowly so slowly so slowly so slowly so slowly so slowly so slowly so slowlyi dont know what to doevery little thing that you say or do im hung up im hung up on you waiting for your call baby night and day im fed up im tired of waiting on youevery little thing that you say or do im hung up im hung up on you waiting for your call baby night and day im fed up im tired of waiting on youevery little thing every little thing im hung up im hung up on you waiting for your call waiting for your call im fed up im tired of waiting on you ",1
92,"stay fly","three 6 mafia featuring young buck and 8ball  mjg",2006," i gotta stay fly until i die i gotta stay fly until i die i gotta stay fly until i die i gotta stay fly until i diecall me the juice and you know im a stunt ride in the car with some bump in the trunk tone in my lap and you know its the pump breakin down the good weed rollin the blunt ghetto pimp tight girls say im the man ice on the wrist with the ice in the chains ridin through the hood got me grippin the grain and im sippin the same while im changin the lanes eyes real tight cause im chokin the creep vision messed up cause im drinkin the lean messing with d boys riding them big toys make your main gal wanna get on my team she gotta give it up before she get in my car i aint denzel but i know im a star cause when im in the club i be back in the far in the vip part everybody in the bardj paul is a dog one you do not trust you leave your green around me nigga your green gonna get lit up you leave your drink around me believe your drink gonna get drunk up you leave your girl around me and she bad she gonna get stuffed these niggas is spies we living it live keep them nice tires ridin around what they like make a couple of nuns a couple of dimes its purple purp purple purp purple and swallow it down with the yurple yip yurple yip yurples its goin downi gotta stay fly until i die i gotta stay fly until i diepuff puff pass nigga roll that blunt lets get high nigga smoke us one car pull out the phantom niggas cant stand it but them hoes gon come out just really wanna smoke my weed fuck these hoes and stack my cheesestop at the light and pause on 3 hit the mall and it be all on me but gotta keep one eye out for the popo close the window when i roll the indo know they mad cause i roll the benzo its that purple not pretendo three 6 mafia and they my kin folks so when im in memphis tenakey i just might not bring my own cause them niggas still let me smoke for freewhats up mary how you doin mary jane stanky nigga since i have met you girl you ruined my brain ruined my brain you stole my heart you stole my heart right from the start right from the start so i broke you down lil mama and hit you in the dark hit you in the darki gotta stay fly until i die i gotta stay fly until i diefront row full of that dro leave the club full of rolls 8 mo yo girlfriend wanna ride with me in the car wit a pimp where she supposed ta be you aint met no dudes spittin cold as me with a bag of kush that cost sixfifty have a nigga who smoke reggie miller coughin and choking constantly tastes like fruit when you hit it gotta have bread to get it smoke all night sleep all day that should be the american way roll that shit light that shit hit that shit hold that shit blow that shit out slow then pass it to me bromj gonna sprinkle in some of that super incredible leave a nigga runnin back where the nigga really good sticky number at cuttin through the cigarillo like a lumberjack in the morning what i need is to breath again a whole lot of weed but maybe somebody can give me what i need when i want no less than the best of the trees dj paul and juicy j 8ball and mjg and young buck we dont give a fuck we must represent this tennessee we drink a whole lot of hennessey nigga got a little hair on his chest and we be like bill clinton girl take it out ya mouth well shoot it down right on yo chesti gotta stay fly ",1
93,"love","keyshia cole",2006," i used to think that i wasnt fine enough and i used to think i wasnt wild enough but i wont waste my time tryin to figure out why you playin games whats this all aboutand i cant believe youre hurting me i met your girl what a difference what you seen in her you aint seen in me but i guess it was all just make believeoh love never knew what i was missin but i knew once we start kissin i found love never knew what i was missin but i knew once we start kissin i found found younow youre goin what am i gonna do so empty my heart my soul cant go on go on without you my rainy days fade away when you come around please tell me baby why you go so far away why you golove never knew what i was missin but i knew once we start kissin i found love never knew what i was missin but i knew once we start kissin i found i found you who would have known id find younow youre goin what am i gonna do so empty my heart my soul cant go on go on baby without you rainy days fade away when you come around say youre here to stay with me boy i dont want you to leave me i i need youlove never knew what i was missin but i knew once we start kissin i found love never knew what i was missin but i knew once we start kissin i foundlove never knew what i was missin but i knew once we start kissin i found ",1
94,"when youre mad","neyo",2006," its just the cutest thing when you get to fussing cussing yelling and throwing things i just wanna eat you upi dont mean no disrespect when i start staring knowing that it makes you mad im sorry that seeing you mad is so sexycould it be the little wrinkle over your nose when you make your angry face that makes me wanna just take off all your clothes and sex you all over the place yeahcould it be the little way that you storm around that makes me wanna tear you down baby i aint sure but one thing that i do know isevery time you scream at me i wanna kiss you when you put your hands on me i wanna touch youwhen we get to arguing just gotta kiss you baby i dont know why its like that but youre just so damn sexy when youre madbaby dont think i dont take you seriously but i just cant help the fact yo attitude excites me so exciting and you know aint nothing better then when we get mad together and have angry sex oh ill blow you out then we forget what we were mad aboutcould it be the little wrinkle over your nose when you make your angry face that makes me wanna just take off all your clothes and sex you all over the placecould it be the little way that you storm around that makes me wanna tear you down baby im not sure but one thing that i do know isevery time you scream at me i wanna kiss you baby when you put your hands on me i wanna touch youand when we get to arguing just gotta kiss you baby i dont know why its like that but youre just so damn sexyand every time you scream at me i wanna kiss you baby when you put your hands on me i wanna touch youand when we get to arguing just gotta kiss you baby i dont know why its like that but youre just so damn sexy when youre mad ",1
95,"why you wanna","ti",2006," tip pimpin ay shawty why u gotta act like that im sayin im jus tryna be nice to yago and tell a nigga no wit an ass so fat hey why u wanna go and do that love huh hey hey why u wanna go and do that do dat huh do dat hey hey why u wanna go and do dat dat datin the relationship been faithful to a nigga so wack hey why u wanna go and do that love huh hey hey why u wanna go and do that do dat huh do dat hey hey why u wanna go and do dat dat datcant help but notice how ya glowin i can see in ya face now i jus wonder if he know he close to bein replaced swear i treat u like a queen u put me in his place so you could give back his ring and the key to his placetell tha nigga one thing that u need ya space tell the niggas one thing u dont need to chase i wanna kiss u everywhere between ya knees and waist hear the sounds that u make and get ya knees to shakeholla at me in tha a u feel u need to escape got a mansion and a gate you wit me and you safe theres a phantom and a truck wit 23s to skate 600 gs in the safe how much cheese it takethis a chance u need to take it aint no need to wait say the word we could leave today its somethin special and it feel like fate hate 2 make a mistake how the same thing makin ya sad makin ya staygo and tell a nigga no wit an ass so fat hey why u wanna go and do that love huh hey hey why u wanna go and do that do dat huh do dat hey hey why u wanna go and do dat dat datin the relationship been faithful to a nigga so wack hey why u wanna go and do that love huh hey hey why u wanna go and do that do dat huh do dat hey hey why u wanna go and do dat dat datcan he touch it like that and make it feel like this how he left and came back and its still like this do he hit it from the back and make u feel it in ya chest take advantage of what u concealin in ya dresswhat he think he too fresh to show u that u the best compliment u on ya intellect and treat u wit respect make u sex till u sweat tongue kissin on ya neck its been a while since u got it like this i betand i can tell u aint jus anotha bitch i met aint nobody got me open like this not yet know u confused aint decided which way u should go yet so how u keep sayin no when ya panties so wetgo and tell a nigga no wit an ass so fat hey why u wanna go and do that love huh hey hey why u wanna go and do that do dat huh do dat hey hey why u wanna go and do dat dat datin the relationship been faithful to a nigga so wack hey why u wanna go and do that love huh hey hey why u wanna go and do that do dat huh do dat hey hey why u wanna go and do dat dat datay this nigga playin mind games man i think the time came that ya mind changed ya undastand life is like a chess move u need to make ya next move ya best move keep it pimpin ya undastandhey i mean you know im sayin im jus showin u how i feel you know what im sayin i put myself all the way out there you know ball in your court man but i jus got a question for u is u happygo and tell a nigga no wit an ass so fat hey why u wanna go and do that love huh hey hey why u wanna go and do that do dat huh do dat hey hey why u wanna go and do dat dat datin the relationship been faithful to a nigga so wack hey why u wanna go and do that love huh hey hey why u wanna go and do that do dat huh do dat hey hey why u wanna go and do dat dat dat aygo and tell a nigga no wit an ass so fat hey why u wanna go and do that love huh hey hey why u wanna go and do that do dat huh do dat hey hey why u wanna go and do dat dat datin the relationship been faithful to a nigga so wack hey why u wanna go and do that love huh hey hey why u wanna go and do that do dat huh do dat hey hey why u wanna go and do dat dat dat ay ay ",1
96,"stupid girls","pink",2006," stupid girl stupid girls stupid girlmaybe if i act like that that guy will call me back want a paparazzi girl i dont wanna be a stupid girlgo to fred segal youll find them there laughin loud so all the little people stare lookin for a daddy to pay for the champagne drop a namewhat happened to the dream of a girl president shes dancin in the video next to 50 cent they travel in packs of 2 or 3 with their itsy bitsy doggies and their teenie weenie teeswhere oh where have the smart people gone oh where oh where could they bemaybe if i act like that that guy will call me back want a paparazzi girl i dont wanna be a stupid girlmaybe if i act like that flippin my blonde hair back push up my bra like that i dont wanna be a stupid girlthe disease is growing its epidemic im scared that there aint a cure the world believes it and im going crazy i cannot take anymoreim so glad that ill never fit in that will never be me outcasts and girls with ambition thats what i wanna seedisasters all around disasters all around a world of despair a world of despair their only concern will it eat up my hairmaybe if i act like that that guy will call me back want a paparazzi girl i dont wanna be a stupid girlmaybe if i act like that flippin my blonde hair back push up my bra like that i dont wanna be a stupid girldo your thing an do your thing do your thing an do your thing do your thing i like this like this like thispretty will you eat me girl silly im so lucky girl pull my hair ill eat it girl stupid girlpretty will you eat me girl silly im so lucky girl pull my hair ill eat you up stupid girlmaybe if i act like that flippin my blonde hair back push up my bra like that stupid girlmaybe if i act like that that guy will call me back want a paparazzi girl i dont wanna be a stupid girlmaybe if i act like that flippin my blonde hair back push up my bra like that i dont wanna be a stupid girlmaybe if i act like that flippin my blonde hair back push up my bra like that stupid girls stupid girls stupid girls ",1
97,"feel good inc","gorillaz",2006," citys breaking down on a camels back they just have to go cause they dont know whack so all you fill the streets its appealing to see you wont get out the county cause youre bad and free youve got a new horizon its ephemeral style a melancholy town where we never smile and all i want to hear is the message beep my dreams theyve got to kiss because i dont get sleep nowindmill windmill for the land learn forever hand in hand take it all in on your stride it is stinking falling down love forever love is free lets turn forever you and me windmill windmill for the land is everybody inlaughing gas these hazmats fast cats lining them upa like ass cracks ladies homies at the track its my chocolate attack shit im stepping in the heart of this here care bear bumping in the heart of this here watch me as i gravitate ha ha ha yo we gonna go ghost town this motown with yo sound youre in the place you gonna bite the dust cant fight with us with yo sound you kill the inc so dont stop get it get it until youre cheddar header yo watch the way i navigate ha ha hawindmill windmill for the land turn forever hand in hand take it all in on your stride it is stinking falling down love forever love is free lets turn forever you and me windmill windmill for the land is everybody in ",1
98,"im sprung","tpain",2006,NA,NA
99,"do i make you proud","taylor hicks",2006," ive never been the one to raise my hand that was not me and now thats who i ambecause of you i am standing tallmy heart is full of endless gratitude you were the one the one to guide me throughnow i can see and i believe its only just beginningthis is what we dream about but the only question with me now is do i make you proudstronger than ive ever been now never be afraid of standing out but do i make you proudi guess ive learned to question is to grow that you still have faith is all i need to knowive learned to love myself in spite of me and ive learned to walk the road that i believethis is what we dream about but the only question with me now is do i make you proudstronger than ive ever been now never be afraid of standing out but do i make you proudeverybody needs to rise up everybody needs to be loved to be lovedthis is what we dream about but the only question with me now is do i make you do i make you proudthis is what we dream about but the only question with me now is do i make you proudstronger than ive ever been now never be afraid of standing out do i make you proudthis is what we dream about but the only question with me now is do i make you proudstronger than ive ever been now never be afraid of standing out do i make you proudthis is what we dream about but the only question with me now is do i make you do i make you proud ",1
100,"for you i will confidence","teddy geiger",2006," wandering the streets in a world underneath it all nothing seems to be nothing tastes as sweet as what i cant havelike you and the way that youre twisting your hair round your finger tonight im not afraid to tell you what i feel about youoh im gonna muster every ounce of confidence i have and cannon ball into the water im gonna muster every ounce of confidence i have for you i will for you i willforgive me if i ststutter from all of the clutter in my head cause i could fall asleep in those eyes like a water beddo i seem familiar ive crossed you in hallways a thousand times no more camouflage i want to be exposed and not be afraid to falloh im gonna muster every ounce of confidence i have and cannon ball into the water im gonna muster every ounce of confidence i have for you i willyou always want what you cant have but ive got to try im gonna muster every ounce of confidence i have for you i will for you i will for you i will for youif i could dim the lights in the mall and create a mood yeah i would shout out your name so it echoes in every room yeahthats what id do thats what id do to get through to you yeahoh im gonna muster every ounce of confidence i have and cannon ball into the water im gonna muster every ounce of confidence i have for you i willyou always want what you cant have but ive got to try im gonna muster every ounce of confidence i have for you i will for you i will for you i will for you i will ",1
1,"irreplaceable","beyonce",2007,"to the left to the left everything you own in the box to the left in the closet thats my stuff yes if i bought it baby please dont touch keep talking that mess thats fine could you walk and talk at the same time and its my mine name that is on that tag so remove your bags let me call you a cab standing in the front yard telling me how im such a fool talking about how ill never ever find a man like you you got me twisted you must not know bout me you must not know bout me i could have another you in a minute a matter fact hell be here in a minute baby you must not know bout me you must not know bout me i can have another you by tomorrow dont you ever for one second get to thinking youre irreplaceable so go ahead and get gone call up that chick and see if shes home oops i bet ya thought that i didnt know what did you think i was putting you out for because you were untrue rolling her around in the car that i bought you baby drop them keys hurry up before your taxi leaves standing in the front yard telling me how i am such a fool talking about how ill never ever find a man like you youve got me twisted you must not know bout me you must not know bout me i can have another you in a minute a matter fact hell be here in a minute baby you must not know bout me you must not know bout me ill can have another you by tomorrow dont you ever for a second get to thinking youre irreplaceable so since im not your everything how about ill be nothing nothing at all to you baby i wont shed one tear for you i wont lose a wink of sleep cause the truth of the matter is replacing you is so easy to the left to the left to the left to the left to the left to the left everything you own in the box to the left to the left to the left dont you ever for one second get to thinking get to thinking get to thinking youre irreplaceable you must not know bout me you must not know bout me i can have another you in a minute a matter fact hell be here in a minute baby you must not know bout me you must not know bout me i can have another you by tomorrow dont you ever for a second get to thinking you must not know bout me you must not know bout me i can have another you in a minute a matter fact hell be here in a minute you must not know bout me you must not know bout me i can have another you by tomorrow dont you ever for one second get to thinking youre irreplaceable",3
2,"umbrella","rihanna featuring jayz",2007," gyeah rihanna good girl gone bad take three actionno clouds in my storms let it rain i hydroplane into fame comin down like the dow jones when the clouds come we gonewe rocafellas we fly higher than weather and she flies it betteryou know me in anticipation for precipitation stack chips for the rainy day jay rain man is back with little miss sunshine rihanna where you atyou had my heart and well never be worlds apart maybe in magazines but youll still be my star baby cause in the dark you cant see shiny cars and thats when you need me there with you ill always sharebecause when the sun shines well shine together told you ill be here forever said ill always be your friend took an oath ima stick it out to the endnow that its raining more than ever know that well still have each other you can stand under my umbrella you can stand under my umbrellaella ella eh eh eh under my umbrella ella ella eh eh eh under my umbrella ella ella eh eh eh under my umbrella ella ella eh eh eh eheh ehthese fancy things will never come in between youre part of my entity here for infinity when the war has took its part when the world has dealt its cards if the hand is hard together well mend your heartbecause when the sun shines well shine together told you ill be here forever said ill always be your friend took an oath ima stick it out to the endnow that its raining more than ever know that well still have each other you can stand under my umbrella you can stand under my umbrellaella ella eh eh eh under my umbrella ella ella eh eh eh under my umbrella ella ella eh eh eh under my umbrella ella ella eh eh eh eheh ehyou can run into my arms its okay dont be alarmed come in to me theres no distance in between our love so go on and let the rain pour ill be all you need and morebecause when the sun shines well shine together told you ill be here forever said ill always be your friend took an oath ima stick it out to the endnow that its raining more than ever know that well still have each other you can stand under my umbrella you can stand under my umbrellaella ella eh eh eh under my umbrella ella ella eh eh eh under my umbrella ella ella eh eh eh under my umbrella ella ella eh eh eh eheh ehits raining raining ooh baby its raining raining baby come in to me come in to meits raining raining ooh baby its raining raining you can always come here to me come in to meits pouring rain its pouring rain come in to me come in to me its pouring rain its pouring rain come in to me come in to me ",1
3,"the sweet escape","gwen stefani featuring akon",2007," woo hoo yee hoo woo hoo yee hoo woo hoo yee hoo woo hoo yee hooif i could escape i would but first of all let me say i must apologize for acting stinking treating you this way cause ive been acting like sour milk that fell on the floor its your fault you didnt shut the refrigerator maybe thats the reason ive been acting so coldif i could escape and recreate a place as my own world and i could be your favorite girl forever perfectly together tell me boy now wouldnt that be sweetif i could be sweet i know ive been a real bad girl i didnt mean for you to get hurt forever we can make it better tell me boy now wouldnt that be sweet sweet escapewoo hoo i wanna get away yee hoo woo hoo to our sweet escape yee hoo woo hoo i wanna get away yee hoo woo hoo yeah yee hooyou let me down im at my lowest boiling point come help me out i need to get me out of this joint come on lets bounce counting on you to turn me around instead of clowning around lets look for some common groundso baby times getting a little crazy ive been getting a little lazy waiting for you to come save me i can see that youre angry by the way the you treat me hopefully you dont leave me want to take you with meif i could escape and recreate a place as my own world and i could be your favorite girl forever perfectly together tell me boy now wouldnt that be sweetif i could be sweet i know ive been a real bad girl i didnt mean for you to get hurt forever we can make it better tell me boy now wouldnt that be sweet sweet escapewoo hoo yee hoo woo hoo if i could escape yee hoo woo hoo if i could escape yee hoo woo hoo yee hoocause ive been acting like sour milk that fell on the floor its your fault you didnt shut the refrigerator maybe thats the reason ive been acting so coldif i could escape and recreate a place in my own world and i could be your favorite girl forever perfectly together tell me boy now wouldnt that be sweetif i could be sweet i know ive been a real bad girl i didnt mean for you to get hurt forever we can make it better tell me boy now wouldnt that be sweet sweet escapewoo hoo i wanna get away yee hoo woo hoo to our sweet escape yee hoo woo hoo i wanna get away yee hoo woo hoo yeah yee hoo woo hoo yee hoo woo hoo yee hoo ",1
4,"big girls dont cry","fergie",2007," da da da da the smell of your skin lingers on me now youre probably on your flight back to your home town i need some shelter of my own protection baby to be with myself and center clarity peace serenityi hope you know i hope you know that this has nothing to do with you its personal myself and i weve got some straightenin out to do and im gonna miss you like a child misses their blanket but ive got to get a move on with my life its time to be a big girl now and big girls dont crydont cry dont cry dont crythe path that im walking i must go alone i must take the baby steps till im full grown full grown fairy tales dont always have a happy ending do they and i foresee the dark ahead if i stayi hope you know i hope you know that this has nothing to do with you its personal myself and i weve got some straightenin out to do and im gonna miss you like a child misses their blanket but ive got to get a move on with my life its time to be a big girl now and big girls dont crylike the little school mate in the school yard well play jacks and uno cards ill be your best friend and youll be mine valentine yes you can hold my hand if you want to cause i want to hold yours too well be playmates and lovers and share our secret worlds but its time for me to go home its getting late and dark outside i need to be with myself and center clarity peace serenityi hope you know i hope you know that this has nothing to do with you its personal myself and i weve got some straightenin out to do and im gonna miss you like a child misses their blanket but ive got to get a move on with my life its time to be a big girl now and big girls dont crydont cry dont cry dont cryla da da da da da ",1
5,"buy u a drank shawty snappin","tpain featuring yung joc",2007,NA,NA
6,"before he cheats","carrie underwood",2007," right now hes probably slow dancing with a bleachedblond tramp and shes probably getting frisky right now hes probably buying her some fruity little drink cause she cant shoot whiskeyright now hes probably up behind her with a poolstick showing her how to shoot a combo and he dont knowi dug my key into the side of his pretty little soupedup fourwheel drive carved my name into his leather seats i took a louisville slugger to both head lights i slashed a hole in all four tires maybe next time hell think before he cheatsright now shes probably up singing some whitetrash version of shania karaoke right now shes probably saying im drunk and hes athinking that hes gonna get luckyright now hes probably dabbing on three dollars worth of that bathroom polo oh and he dont knowthat i dug my key into the side of his pretty little soupedup fourwheel drive carved my name into his leather seats i took a louisville slugger to both head lights i slashed a hole in all four tires maybe next time hell think before he cheatsi might have saved a little trouble for the next girl cause the next time that he cheats oh you know it wont be on me no not on mecause i dug my key into the side of his pretty little soupedup fourwheel drive carved my name into his leather seats i took a louisville slugger to both head lights i slashed a hole in all four tires maybe next time hell think before he cheatsoh maybe next time hell think before he cheats oh before he cheats oh ",1
7,"hey there delilah","plain white ts",2007," hey there delilah whats it like in new york city im a thousand miles away but girl tonight you look so pretty yes you do times square cant shine as bright as you i swear its truehey there delilah dont you worry about the distance im right there if you get lonely give this song another listen close your eyes listen to my voice its my disguise im by your sideoh its what you do to me oh its what you do to me oh its what you do to me oh its what you do to me what you do to me    memory  byamandah   editor    plain white ts hey there delilah was released in 2006 but has been a staple in pop culture ever since more recently the 2016 video game firewatch    see all   hey there delilah i know times are gettin hard but just believe me girl someday ill pay the bills with this guitar well have it good well have the life we knew we would my word is goodhey there delilah ive got so much left to say if every simple song i wrote to you would take your breath away id write it all even more in love with me youd fall wed have it alloh its what you do to me oh its what you do to me oh its what you do to me oh its what you do to mea thousand miles seems pretty far but theyve got planes and trains and cars id walk to you if i had no other way our friends would all make fun of us and wed just laugh along because wed know that none of them have felt this way delilah i can promise you that by the time that we get through the world will never ever be the same and youre to blamehey there delilah you be good and dont you miss me two more years and youll be done with school and ill be makin history like i do you know its all because of you we can do whatever we want to hey there delilah heres to you this ones for youoh its what you do to me oh its what you do to me oh its what you do to me oh its what you do to me what you do to me oh oh woah woah oh woah oh oh ",1
8,"i wanna love you","akon featuring snoop dogg",2007," konvict music and you know we a fronti see you windin n grindin up on that pole i know you see me lookin at you and you already know i wanna fuck you fuck you you already know i wanna fuck you fuck you you already knowmoney in the air as mo fair grab you by your coat tail take you to the motel ho sale dont tell wont tell baby said i dont talk dog but she told on me oh well take a picture wit me what the flick gon do baby stick to me and im a stick on you if you pick me then im a pick on you dodouble g and im here to put this dick on you im stuck on pussy n yours is right ripridin them poles and them doors is tight and im a get me a shot before the end of the night cause pussy is pussy and baby im pussy for lifei see you windin n grindin up on that pole i know you see me lookin at you and you already know i wanna fuck you fuck you you already know i wanna fuck you fuck you you already knowshorty i can see you aint lonely handful of niggas n they all got cheese so you lookin at me now whats it gonna be just another tease far as i can see tryin get you up out this club if it means spendin a couple dubs throwin bout thirty stacks in the back make it rain like that cause im far from a scrub you know my pedigree exdeala use to move phetamines girl i spend money like it dont mean nothin an besides i got a thing for youi see you windin n grindin up on that pole i know you see me lookin at you and you already know i wanna fuck you fuck you you already know i wanna fuck you fuck you you already knowmobbin through club in the lowpressin im sittin in the back in the smokers section just smokin birds eye i got a clear view you cant see me but i can see you baby i see you its cool we jet the mood is set your pussy is wet you rubbin your back and touchin your neck your body is movin you humpin n jumpin your titties is bouncin you smilin n grinin n lookin at megirl n while youre looking at me im ready to hit the caddy right up on the patio move the patty to the caddy baby you got a fatty the type i like to marry wantin to just give you everythin n thats kinda scary cause im lovin the way you shake your ass bouncin got me tippin my glass normally dont get caught up too fast but i got a thing for youi see you windin n grindin up on that pole i know you see me lookin at you and you already know i wanna fuck you love you you already know i wanna fuck you love you you already knowi see you windin n grindin up on that pole i know you see me lookin at you and you already know i wanna fuck you love you you already know i wanna fuck you love you you already know girl ",1
9,"say it right","nelly furtado",2007," in the day in the night say it right say it all you either got it or you dont you either stand or you fall when your will is broken when it slips from your hand when theres no time for joking theres a hole in the planoh you dont mean nothing at all to me no you dont mean nothing at all to me but you got what it takes to set me free oh you could mean everything to mei cant say that im not lost and at fault i cant say that i dont love the light and the dark i cant say that i dont know that i am alive and all of what i feel i could show you tonight you tonightoh you dont mean nothing at all to me no you dont mean nothing at all to me but you got what it takes to set me free oh you could mean everything to me ",1
10,"glamorous","fergie featuring ludacris",2007," if you aint got no money take yobroke ass home you say if you aint got no money take yobroke ass home glamorous yeah glamorouswe flying the first class up in the sky poppin champagne livin my life in the fast lane and i wont change for the glamorous oh the flossy flossythe glamorous the glamorous glamorous the glamorous life for the glamorous oh the flossy flossythe glamorous the glamorous glamorous the glamorous life for the glamorous oh the flossy flossywear them gold and diamonds rings all them things dont mean a thing chaperons and limousines shopping for expensive thingsi be on the movie screens magazines and boogie scenes im not clean im not pristine im n queen im no machinei still go to taco bell drive through raw as hell i dont care im still real no matter how many records i sellafter the show or after the grammys i like to go cool out with the family sippin reminiscing on days when i had a mustang and now im inwe flying the first class up in the sky poppin champagne livin my life in the fast lane and i wont change for the glamorous oh the flossy flossythe glamorous the glamorous glamorous the glamorous life for the glamorous oh the flossy flossythe glamorous the glamorous glamorous the glamorous life for the glamorous oh the flossy flossyim talking champagne wishes caviar dreams you deserve nothing but all the finer things now this whole world has no clue to do with usive got enough money in the bank for the two of us brother gotta keep enough lettuce to support your shoe fetish lifestyles so rich and famousrobin leach will get jealous half a million for the stones takin trips from here to rome so if you aint got no money take yo broke ass homeglamorous yeah glamorouswe flying the first class up in the sky poppin champagne livin my life in the fast lane and i wont change for the glamorous oh the flossy flossythe glamorous the glamorous glamorous the glamorous life for the glamorous oh the flossy flossythe glamorous the glamorous glamorous the glamorous life for the glamorous oh the flossy flossyi got problems up to here ive got people in my ear telling me these crazy things that i dont want to know fuck yallive got money in the bank and id really like to thank all the fans id like to thank thank you really thoughcause i remember yesterday when i dreamt about the days when id rock on mtv that be really dope damn its been a long roadand the industry is coldim glad my daddy told me so he let his daughter know my daddy told me so he let his daughter know my daddy told me so he let his daughter know ",1
11,"dont matter","akon",2007," konvict konvict konvictoh oh oh ooh oh oh oh oh oh ooh oh ohnobody wanta see us together but it dont matter no cause i got you babe nobody wanta see us together but it dont matter no cause i got you babecause we gonna fight oh yes we gonna fight we gonna fight believe we gonna fight we gonna fight fight for our right to love yeah right to love yeah nobody wants to see us together but it dont matter no cause i got younobody wanta see us together nobody thought that wed last forever i feel them hoping and praying things between us dont get better bettermen steady coming after you you women steady coming after me me seems like erbody want to go for self and dont wanna respect boundarytelling you all those lies oh ooh just to get on your side side but i must admit there was a couple of secrets i held inside insidebut just know that i try try to always apologize apologize and im gonna have you first always in my heart to keep you satisfied satisfiednobody wanta see us together but it dont matter no cause i got you babe nobody wanta see us together but it dont matter no cause i got you babecause we gonna fight oh yes we gonna fight we gonna fight believe we gonna fight we gonna fight fight for our right to love yeah right to love yeah nobody wants to see us together but it dont matter no cause i got youyou got every right to want to leave wanna leave you got every right to want to go wanna go you got every right to hit the road hit the road and never talk to me no more me no moreyou dont even have to call have to call or even check for me at all me at all because the way ive been acting lately ive been acting has been off the wall off the wallespecially towards you towards you putting girls before you before you and theyve been watching everything ive been doing just to hurt you hurt youmost of it just aint true aint true and they wont show you show you how much of a queen you are to me and why i love you babynobody wanta see us together but it dont matter no cause i got you babe nobody wanta see us together but it dont matter no cause i got you babecause we gonna fight oh yes we gonna fight we gonna fight believe we gonna fight we gonna fight fight for our right to love yeah right to love yeah nobody wants to see us together but it dont matter no cause i got youoh oh ooh oh oh cause i got you babe ooh oh ooh oh ooh cause i got you babe oh oh ooh oh cause i got you babe oh ooh oh ooh cause i got you babenobody wanta see us together but it dont matter no cause i got you babe nobody wanta see us together but it dont matter no cause i got you babecause we gonna fight oh yes we gonna fight we gonna fight believe we gonna fight we gonna fight fight for our right to love yeah right to love yeah nobody wants to see us together but it dont matter no cause i got younobody wants to see us together but it dont matter no cause i got you nobody wants to see us together but it dont matter no cause i got youcause we gonna fight oh yes we gonna fight we gonna fight believe we gonna fight we gonna fight fight for our right to love yeah right to love yeah nobody wants to see us together but it dont matter no cause i got you ",1
12,"girlfriend","avril lavigne",2007," hey hey you you i dont like your girlfriend no way no way i think you need a new one hey hey you you i could be your girlfriend hey hey you you i know that you like me no way no way no its not a secret hey hey you you i want to be your girlfriendyoure so fine i want you mine youre so delicious i think about you all the time youre so addictive dont you know what i can do to make you feel all rightdont pretend i think you know im damn precious and hell yeah im the motherfuckin princess i can tell you like me too and you know im rightshes like so whatever you could do so much better i think we should get together now and thats what everyones talkin abouthey hey you you i dont like your girlfriend no way no way i think you need a new one hey hey you you i could be your girlfriend hey hey you you i know that you like me no way no way no its not a secret hey hey you you i want to be your girlfriendi can see the way i see the way you look at me and even when you look away i know you think of me i know you talk about me all the time again and againso come over here and tell me what i wanna hear better yet make your girlfriend disappear i dont wanna hear you say her name ever again and again and againcause shes like so whatever you could do so much better i think we should get together now and thats what everyones talkin abouthey hey you you i dont like your girlfriend no way no way i think you need a new one hey hey you you i could be your girlfriend hey hey you you i know that you like me no way no way no its not a secret hey hey you you i want to be your girlfriendoh in a second youll be wrapped around my finger cause i can cause i can do it better theres no other so whens it gonna sink in shes so stupid what the hell were you thinkinoh in a second youll be wrapped around my finger cause i can cause i can do it better theres no other so whens it gonna sink in shes so stupid what the hell were you thinkinhey hey you you i dont like your girlfriend no way no wayi think you need a new one hey hey you you i could be your girlfriendno way no way hey hey you you i know that you like meno way no way no its not a secret hey hey you youi want to be your girlfriend no way no way hey hey you youi dont like your girlfriend no way no way i think you need a new onehey hey you you i could be your girlfriend no way no wayhey hey you you i know that you like meno way no way no its not a secret hey hey you you i want to be your girlfriend no way no way hey hey ",1
13,"makes me wonder","maroon 5",2007," i wake up with bloodshot eyes struggled to memorize the way it felt between your thighs pleasure that made you cry feels so good to be bad not worth the aftermath after that after that try to get you backi still dont have the reason and you dont have the time and it really makes me wonder if i ever gave a fuck about yougive me something to believe in cause i dont believe in you anymore anymore i wonder if it even makes a difference to try yeah so this is goodbyegod damn my spinning head decisions that made my bed now i must lay in it and deal with things i left unsaid i want to dive into you forget what youre going through i get behind make your move forget about the truthi still dont have the reason and you dont have the time and it really makes me wonder if i ever gave a fuck about yougive me something to believe in cause i dont believe in you anymore anymore i wonder if it even makes a difference it even makes a difference to try yeah and you told me how youre feeling but i dont believe its true anymore anymore i wonder if it even makes a difference to cry oh no so this is goodbyeive been here before one day ill wake up and it wont hurt anymore you caught me in a lie i have no alibi the words you say dont have a meaning causei still dont have the reason and you dont have the time and it really makes me wonder if i ever gave a fuck about you and i and so this is goodbyegive me something to believe in cause i dont believe in you anymore anymore i wonder if it even makes a difference it even makes a difference to try and you told me how youre feeling but i dont believe its true anymore anymore i wonder if it even makes a difference to cry oh no so this is goodbye so this is goodbye yeah so this is goodbye yeah so this is goodbye yeah ",1
14,"party like a rockstar","shop boyz",2007," yeah yeah yeah yeah totally dudeparty like a rock party like a rock star party like a rock party like a rock star party like a rock party like a rock star party like a rock star totally dudeim on a money makin mission but i party like a rock star im flyin down twenty lookin good in my hot car you know them hos be at my show worried bout where my chain go im tryin to rubba hold my pants but these hos wont let my thang go i do it like i do it cause you know them hos be tryin us ho dont you know i fuck wit fine diamonds that look like pamela they fine and they hot brah when im in the spot brah i party like a rock starparty like a rock party like a rock star party like a rock party like a rock star party like a rock party like a rock star party like a rock star totally dudeparty like a rock party like a rock star party like a rock party like a rock star party like a rock party like a rock star party like a rock star totally dudeparty like a rock star do it wit the black and the white like a cop car me and my band man on the yacht with marylin manson gettin a tan man you know me wit a skull belt and wallet chain shop boyz rocks stars yeah we bout to change the game change the game uh oh they know that im a star i make it rain from the center of my guitarparty like a rock party like a rock star party like a rock party like a rock star party like a rock party like a rock star party like a rock star totally dudeparty like a rock party like a rock star party like a rock party like a rock star party like a rock party like a rock star party like a rock star totally dudeas soon i came out the womb my mama knew a star was born now im on the golf course trippin wit the osbournes i seen the show with travis barker rockstar mentality im jumpin in the crowd just to see if they would carry me and white bitches wanna marry me they see me they just might panic my ice make em go down quick like the titanic yeah im wit da shop boyz you know what we do im surfin screamin kowabunga totally dudeparty like a rock party like a rock star party like a rock party like a rock star party like a rock party like a rock star party like a rock star totally dudeparty like a rock party like a rock star party like a rock party like a rock star party like a rock party like a rock star party like a rock star totally dudetotally dudeparty like a rock party like a rock star party like a rock party like a rock star party like a rock party like a rock star party like a rock star totally dudeparty like a rock party like a rock star party like a rock party like a rock star party like a rock party like a rock star party like a rock star totally dude ",1
15,"smack that","akon featuring eminem",2007," shady konvict upfront akon slim shady i see the one cause she be that lady heyi feel you creeping up  i can see it from my shadow wanna jump up in my lamborghini gallardo maybe go to my place and just kick it like ta bo and possibly bend you over look back and watch mesmack that all on the floor smack that give me some more smack that til you get sore smack that oh oohsmack that all on the floor smack that give me some more smack that til you get sore smack that oh oohupfront style ready to attack now pull in the parking lot slow with the lac down konvicts got the whole thing packed now step in the club the wardobe intact nowi feel it don and crack now ooh i see it dont let back now ima call her then i put the mack down money no problem pocket full of that nowi feel you creeping up i can see it from my shadow wanna jump up in my lamborghini gallardo maybe go to my place and just kick it like tae bo and possibly bend you over look back and watch mesmack that all on the floor smack that give me some more smack that til you get sore smack that oh oohsmack that all on the floor smack that give me some more smack that til you get sore smack that oh oohoh looks like another club banger they better hang on when they throw this thing on get a lil drink on they gonna flip for this akon you can bank on itpedicure manicure kittycat claws the way she climbs up and down them poles looking like one of them puttycat dolls trying to hold my back through my drawerssteps upstage didnt think i saw creeps up behind me and shes like youre im like i know lets cut to the chase no time to waste back to my placeplus from the club to the crib its like a mile away or more like a palace shall i say and plus i got pal if your gal is game in fact hes the one singing the song thats playing akoni feel you creeping up i can see it from my shadow wanna jump up in my lamborghini gallardo maybe go to my place and just kick it like tae bo and possibly bend you over look back and watch mesmack that all on the floor smack that give me some more smack that til you get sore smack that oh oohsmack that all on the floor smack that give me some more smack that til you get sore smack that oh ooheminems rollin d an em rollin boo and ol marvelous an them rollin women just holdinbig booty rollin soon i be all in em an throwin dhittin no less than three block wheel style like whee girl i can tell you want me cause latelyi feel you creeping up i can see it from my shadow wanna jump up in my lamborghini gallardo maybe go to my place and just kick it like tae bo and possibly bend you over look back and watch mesmack that all on the floor smack that give me some more smack that til you get sore smack that oh oohsmack that all on the floor smack that give me some more smack that til you get sore smack that oh ooh ",1
16,"this is why im hot","mims",2007," this is why im hot this is why im hot this is why this is why uh this is why im hot uh this is why im hot this is why im hot whoo this is why this is why this is why im hot im hot cause im fly fly you aint cause youre not mims this is why this is why this is why im hot im hot cause im fly fly you aint cause youre not mims this is why this is why this is why im hotthis is why im hot i dont gotta rap i can sell a mill sayin nothin on da track i represent new york i got it on ma back and dey say dat we lost it so ima bring it back i luv da dirty dirty cause niggaz show me luv the ladies start to bounce as soon as i hit da club but in da midwest dey luv to take it slow so when i hit da h i watch you get it on da floor and if you needed it hyphy i take it to da bay frisco to sactown dey do it eryday coppin a hollywood as soon as i hit la im in dat low low i do it da cali way and when i hit chi people say dat im fly dey like da way i dress dey like dey like my my attire move crowds from side to side dey ask me how i do it and simply i replythis is why im hot this is why im hot this is why this is why uh this is why im hot uh this is why im hot this is why im hot whoo this is why this is why this is why im hot im hot cause im fly fly you aint cause youre not mims this is why this is why this is why im hot im hot cause im fly fly you aint cause youre not mims this is why this is why this is why im hotthis is why im hot catch me on da block every otha day another bitch another drop sixteen bars twenty four pop forty four songs nigga gimme what you got im in there drivin cars push em off da lot im into shuttin stores down so i can shop if you need a bird i can get it chopped tell me wat you need you know i get em by da flock i call ma homie black meet on da ave i hit wash with da money in da bag we into big spinners see my pimpin never dragged find me wit different women dat you niggaz never had for those who say dey know me know im focused on ma cream playa you come between youd better focus on da beam i keep it so mean da way you see me lean and when say im hot my nigga dis is what i meanthis is why im hot this is why im hot this is why this is why uh this is why im hot uh this is why im hot this is why im hot whoo this is why this is why this is why im hot im hot cause im fly fly you aint cause youre not mims this is why this is why this is why im hot im hot cause im fly fly you aint cause youre not mims this is why this is why this is why im hotthis is why im hot shorty see da drop ask me wat i paidd and i say yea i paid a quap and den i hit da switch dat take away da top so chicks round da way dey call me cream of da crop dey hop in da car i tell em all bout we hit da studio dey say dey like da way i record i gave you black train and i did you wrong so everytime i see em and dey tell me datz their song dey say im da bomb dey luv da way da charm hangin from da neck and compliments da arm which compliments da ear den comes da gear so when i hit da room da shortyz stop and stare den niggaz start to hate rearrange their face little do dey know i keep em things by waistside i reply nobody gotta die simliar to lil wizzy cause i got dat firethis is why im hot this is why im hot this is why this is why uh this is why im hot uh this is why im hot this is why im hot whoo this is why this is why this is why im hot im hot cause im fly fly you aint cause youre not mims this is why this is why this is why im hot im hot cause im fly fly you aint cause youre not mims this is why this is why this is why im hot ",1
17,"its not over","daughtry",2007," i was blown away what could i say it all seemed to make sense youve taken away everything and i cant do without i try to see the good in life but good things in life are hard to findblow it away blow it away can we make this something goodwell i tried to do it right this time around lets start over i tried to do it right this time around its not over theres a part of me thats dead and in the ground this love is killing me but youre the only one its not overtaken all i could take and i can not wait were wasting too much time being strong holding on cant let it bring us down my life with you means everything so i wont give up that easilyblow it away blow it away can we make this something goodcause its all misunderstood well i tried to do it right this time around lets start over i tried to do it right this time around its not over cause a part of me is dead and in the ground this love is killing me but youre the only one its not overwe cant let this get away let it out let it out dont get caught up in yourself let it outlets start over i tried to do it right this time around its not over cause a part of me is dead and in the ground this love is killing me but youre the only one its not over lets start over its not over oh yeah yeah this love is killing me but youre the only one its not over ",1
18,"the way i are","timbaland featuring keri hilson",2007," yeah yeah remember the time baby yeahi aint got no money i aint got no car to take you on a date i cant even buy you flowers but together we be the perfect soul mates talk to me girloh baby its alright now you aint gotta floss for me if we go and touch you can still touch my love its free we can work without the perks just you and me thug it out till we get it rightbaby if you strip you can get a tip cause i like you just the way you are im about to strip and i want it quick can you handle me the way i are i dont need the cheese or the car keys boy i like you just the way you are let me see ya strip you can get a tip cause i like i like i likei aint got no visa i aint got no red american express we cant go nowhere exotic it dont matter cause im the one that loves you best talk to me girloh baby its alright now you aint gotta floss for me if we go and touch you can still touch my love its free we can work without the perks just you and me thug it out till we get it rightbaby if you strip you can get a tip cause i like you just the way you are im about to strip and i want it quick can you handle me the way i are i dont need the cheese or the car keys boy i like you just the way you are let me see ya strip you can get a tip cause i like you just the way you arebaby girl i dont got a huge ol house i rent a room in a house listen baby girl i aint got a motorboat but i can float ya boat so listen baby girl once you get a dose of doe you gon want some mo so listen baby girl when i make it i want you there want you there yeah ",1
19,"fergalicious","fergie featuring william",2007," four tres two unolisten up yall cause this is it the beat that im bangin is deliciousfergalicious definition make them boys go loco they want my treasure so they get their pleasures from my photo you could see me you cant squeeze me i aint easy i aint sleazy i got reasons why i tease em boys just come and go like seasons fergalicious so delicious but i aint promiscuous and if you was suspicious all that shit is fictitious i blow kisses mwah that puts them boys on rock rock and they be lining down the block just to watch what i got four tres two unoso delicious aye aye ayeits hot hot its so delicious aye aye ayei put them boys on rock rock its so delicious aye aye aye they wanna taste of what i got im fergalicious ttttttasty tastyfergalicious def fergalicious def fergalicious def fergalicious definition make them boys go crazy they always claim they know me comin to me callin me stacy hey stacy im the f to the e r g the i the e and cant no other lady put it down like me im fergalicious so delicious my body stay vicious i be up in the gym just working on my fitness hes my witness oh wee i put yo boy on rock rock and he be lining down the block just to watch what i got four tres two unoso delicious its hot hot so delicious i put them boys on rock rock so delicious they wanna taste of what i got im fergalicious hold hold hold up check it outbaby baby baby if you really want me honey get some patience maybe then youll get a taste ill be tasty tasty ill be laced with lacy its so tasty tasty itll make you crazyt to the a to the s t y girl you tasty t to the a to the s t e y girl you tasty d to the e to the l i c i o u s d to the e to the to the to the hit it fergieall the time i turn around brothas gather round always looking at me up and down looking at my uh i just wanna say it now i aint tryin to round up drama little mama i dont wanna take your man and i know im comin off just a little bit conceited and i keep on repeating how the boys wanna eat it but im tryin to tell that i cant be treated like clientele cause they say she delicious so delicious but i aint promiscuous and if you was suspicious all that shit is fictitious i blow kisses mwah that puts them boys on rock rock and they be lining down the block just to watch what i got got got got four tres two unomy body stay vicious i be up in the gym just working on my fitness hes my witness oh wee i put yo boy on rock rock and he be lining down the block just to watch what i got four tres two unoits so delicious aye aye aye aye so delicious aye aye aye aye so delicious aye aye aye aye im fergalicious ttttttasty tastyits so delicious aye aye aye aye so delicious aye aye aye aye so delicious aye aye aye aye im fergalicious ttttttasty tastyt to the a to the s t e y girl you tasty t to the a to the s t e y girl you tasty t to the a to the s t e y girl you tasty t to the a to the to the to the to the four tres two uno to the d to the e to the l i c i o u s to the d to the e to the l i c i o u s to the d to the e to the l i c i o u s to the d to the e to the to the to the to the to the four tres two uno t to the a to the s t e y girl you tasty t to the a to the s t e y girl you tasty t to the a to the s t e y girl you tasty t to the a to the to the to the to the four tres two uno to the d to the e to the l i c i o u s to the d to the e to the l i c i o u s to the d to the e to the l i c i o u s to the d to the e to the to the to the to the to the ",1
20,"crank that soulja boy","soulja boy tell em",2007,NA,NA
21,"give it to me","timbaland featuring nelly furtado and justin timberlake",2007," is it going is it going is it going is it going i dont know what youre looking forim the type of girl thatll look you dead in the eye eye im real as they come if you dont know why im fly seen ya try to switch it up but girl you aint got to im the wonder woman let me go get my ropes im a supermodel and mummy si mummy amnesty international got bankrupt im on top on lock you love my ass and my abs and the video called promiscuous my style is meticulousif you see us in the club well be acting real nice if you see us on the floor youll be watchin all night we aint here to hurt nobody so give it to me give it to me give it to me wanna see you work your body so give it to me give it to me give it to mewhen timbo is in the party everybody put up their hands i get a half a mill for my beats you get a couple grand never gonna see the day that i aint got the upper hand im respected from california way down to japan im a real producer and you just the piano man your song gonna top the charts i heard em im not a fan niggas talkin greasy im the one that gave them they chance somebody need to tell em they cant do it like i canif you see us in the club well be acting real nice if you see us on the floor youll be watchin all night we aint here to hurt nobody so give it to me give it to me give it to me wanna see you work your body so give it to me give it to me give it to mecould you speak up and stop the mumbling i dont think you came in clear sitting on the top its hard to hear you from way up here i saw you tryin to act cute on tv just let me clear the air we missed you on the charts last week damn thats right you wasnt there if sexy never left then whys everybody on my shit dont hate on me just because you didnt come up with it so if you see us in the club go on and walk the other way cause our run will never be over not at least until we sayif you see us in the club well be acting real nice if you see us on the floor youll be watchin all night we aint here to hurt nobody so give it to me give it to me give it to me wanna see you work your body so give it to me give it to me give it to meif you see us in the club well be acting real nice if you see us on the floor youll be watchin all night we aint here to hurt nobody so give it to me give it to me give it to me wanna see you work your body so give it to me give it to me give it to meif you see us in the club well be acting real nice if you see us on the floor youll be watchin all night we aint here to hurt nobody so give it to me give it to me give it to me wanna see you work your body so give it to me give it to me give it to me ",1
22,"what goes around comes around","justin timberlake",2007," hey girl is he everything you wanted in a man you know i gave you the world you had me in the palm of your handso why your love went away i just cant seem to understand thought it was me and you baby me and you until the end but i guess i was wrongdont wanna think about it uh dont wanna talk about it uh im just so sick about it i cant believe its ending this way just so confused about it uh feeling the blues about it yeah i just cant do without ya tell me is this fairis this the way its really going down is this how we say goodbye shouldve known better when you came around that you were gonna make me cry its breaking my heart to watch you run around cause i know that youre living a lie but thats ok baby cause in time you will findwhat goes around goes around goes around comes all the way back around what goes around goes around goes around comes all the way back around what goes around goes around goes around comes all the way back around what goes around goes around goes around comes all the way back around yeahnow girl i remember everything that you claimed you said that you were moving on now on now maybe i should do the same maybe i should do the same the funny thing about that is i was ready to give you my name thought it was me and you baby baby and now its all just a shame that i guess i was wrongdont wanna think about it no dont wanna talk about it hum im just so sick about it i cant believe its ending this way just so confused about it uh feeling the blues about it yeah i just cant do without ya can you tell me is this fairis this the way its really going down is this how we say goodbye shouldve known better when you came around that you were gonna make me cry its breaking my heart to watch you run around cause i know that youre living a lie but thats ok baby cause in time you will findwhat goes around goes around goes around comes all the way back around what goes around goes around goes around comes all the way back around what goes around goes around goes around comes all the way back around what goes around goes around goes around comes all the way back around yeahwhat goes around comes around yeahhh what goes around comes around you should know that what goes around comes around yeahhh what goes around comes around you should know thatdont wanna think about it no dont wanna talk about it hm im just so sick about it i cant believe its ending this way just so confused about it uh feeling the blues about it yeah i just cant do without ya tell me is this fairis this the way its really going down is this how we say goodbye shouldve known better when you came around shoulda known better that you were gonna make me cry its breaking my heart to watch you run around now its breaking my heart cause i know that youre living a lie but thats ok baby cause in time you will findwhat goes around goes around goes around comes all the way back around what goes around comes around baby what goes around goes around goes around comes all the way back around what goes around comes around baby what goes around goes around goes around comes all the way back around what goes around goes around goes around comes all the way back around yeahyup yup yup let me paint this picture for you baby yupyou spend your nights alone and he never comes home and everytime you call him all you get a busy tone i heard you found out that hes doing to you what you did to me aint that the way it goes when you cheated girl my heart bleeded girl so keep going without saying that ya left me feeling hurt just a classic case a scenario tale as old as time girl you got what you deserved and now you want somebody to cure the lonely nights you wish you had somebody that could come and make it right but girl i aint somebody im out of sympathy seewhat goes around comes back around i thought i told ya hey what goes around comes back around i thought i told ya hey what goes around comes back around i thought i told ya hey what goes around comes back around i thought i told ya heytake it to em jheyhaha see you shoulda listened to me baby take it to em j because what goes around comes back around hahahaha ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ",1
23,"cupids chokehold","gym class heroes featuring patrick stump",2007," ba ba da da ba ba da da ba ba da da ba ba da da ba ba da datake a look at my girlfriend shes the only one i got ba ba da da not much of a girlfriend i never seem to get a lot ba ba da da ba ba da daits been some time since we last spoke this is gonna sound like a bad joke but mama i fell in love again its safe to say i have a new girlfriendand i know it sounds so old but cupid got me in a choke hold and im afraid i might give in towels on the mat my white flag is wavini mean she even cooks me pancakes and alkaseltzer when my tummy aches if that aint love then i dont know what love iswe even got a secret handshake and she loves the music that my band makes i know im young but if i had to choose her or the sun id be one nocturnal son of a gunba ba da da ba ba da datake a look at my girlfriend shes the only one i got ba ba da da not much of a girlfriend i never seem to get a lot ba ba da da ba ba da datake a look at my girlfriend shes the only one i got ba ba da da not much of a girlfriend i never seem to get a lot ba ba da da ba ba da daits been awhile since we talked last and im tryin hard not to talk fast but dad im finally thinkin i may have found the one type of girl that will make you way proud of your sonand i know you heard the last song about the girls that didnt last long but i promise this is on a whole new plane i can tell by the way she says my name ba ba da dai love the way she calls my phone she even got her very own ring tone if that aint love then i dont know what love is ba ba da daits gonna be a long drive home but i know as soon as i arrive home and i open the door take off my coat and throw my bag on the floor shell be back in my arms into my arms once more for sure like ba ba ba ba ba ba batake a look at my girlfriend shes the only one i got ba ba da da not much of a girlfriend i never seem to get a lot ba ba da da ba ba da dashes got a smile that would make the most senile annoying old man bite his tongue im not done shes got eyes comparable to sunrise and it doesnt stop there man i swear shes got porcelain skin of course shes a ten and now shes even got her own song but movin on shes got the cutest laugh i ever heard and we can be on the phone for three hours not sayin one word and i would still cherish every moment and when i start to build my future shes the main component call it dumb call it luck call it love or whatever you call it but everywhere i go i keep her picture in my wallet like heretake a look at my girlfriend shes the only one i got ba ba da da not much of a girlfriend i never seem to get a lot ba ba da da ba ba da datake a look at my girlfriend shes the only one i got ba ba da da not much of a girlfriend i never seem to get a lot ba ba da da ba ba da da ",1
24,"how to save a life","the fray",2007,"step one you say we need to talk he walks you say sit down its just a talk he smiles politely back at you you stare politely right on through some sort of window to your right as he goes left and you stay right between the lines of fear and blame you begin to wonder why you came where did i go wrong i lost a friend somewhere along in the bitterness and i would have stayed up with you all night had i known how to save a life let him know that you know best cause after all you do know best try to slip past his defense without granting innocence lay down a list of what is wrong the things youve told him all along and pray to god he hears you and pray to god he hears you and where did i go wrong i lost a friend somewhere along in the bitterness and i would have stayed up with you all night had i known how to save a life as he begins to raise his voice you lower yours and grant him one last choice drive until you lose the road or break with the ones youve followed he will do one of two things he will admit to everything or hell say hes just not the same and youll begin to wonder why you came where did i go wrong i lost a friend somewhere along in the bitterness and i would have stayed up with you all night had i known how to save a life where did i go wrong i lost a friend somewhere along in the bitterness and i would have stayed up with you all night had i known how to save a life how to save a life how to save a life where did i go wrong i lost a friend somewhere along in the bitterness and i would have stayed up with you all night had i known how to save a life where did i go wrong i lost a friend somewhere along in the bitterness and i would have stayed up with you all night had i known how to save a life how to save a life how to save a life",3
25,"home","daughtry",2007," im staring out into the night trying to hide the pain im going to the place where love and feeling good dont ever cost a thing and the pain you feel is a different kind of painim going home back to the place where i belong and where your love has always been enough for me im not running from no i think you got me all wrong i dont regret this life i chose for me but these places and these faces are getting old so im going home well im going homethe miles are getting longer it seems the closer i get to you ive not always been the best man or friend for you but your love remains true and i dont know why you always seem to give me another tryso im going home back to the place where i belong and where your love has always been enough for me im not running from no i think you got me all wrong i dont regret this life i chose for me but these places and these faces are getting oldbe careful what you wish for cause you just might get it all you just might get it all and then some you dont want be careful what you wish for cause you just might get it all you just might get it all yeahoh well im going home back to the place where i belong and where your love has always been enough for me im not running from no i think you got me all wrong i dont regret this life i chose for me but these places and these faces are getting old i said these places and these faces are getting old so im going home im going home ",1
26,"my love","justin timberlake featuring ti",2007," if i wrote you a symphony just to say how much you mean to me what would you do if i told you you were beautiful would you date me on the regular tell me would you well baby ive been around the world but i aint seen myself another girl like you this ring here represents my heart but theres just one thing i need from you saying i dobecause i can see us holding hands walking on the beach our toes in the sand i can see us on the country side sitting in the grass laying side by side you can be my baby let me make you my lady girl you amaze me aint gotta do nothin crazy see all i want you to do is be my love so dont give away my love so dont give away my love so dont give away aint another woman that could take your spot my love so dont give away my love so dont give away my love so dont give away aint another woman that could take your spot my love my love my love my lovenow if i wrote you a love note and made you smile with every word i wrote what would you do would that make you wanna change your scene and wanna be the one on my team tell me would you see whats the point in waiting anymore cause girl ive never been more sure that baby its you this ring here represents my heart and everything that you been waiting for just saying i dobecause i can see us holding hands walking on the beach our toes in the sand i can see us on the country side sitting in the grass laying side by side you can be my baby let me make you my lady girl you amaze me aint gotta do nothin crazy see all i want you to do is be my love so dont give away my love so dont give away my love so dont give away aint another woman that could take your spot my love so dont give away my love so dont give away my love so dont give away aint another woman that could take your spot my love my love my love my loveits time to get it jt i dont what she hesitatin for manshorty cool as a fan on the move once again but he still has fam from peru to japan listen baby i dont wanna ruin your plan but if you got a man try to lose him if you can cause the girls really wild throw they hands up high when you wanna come kick it wit a stand up guy you dont really wanna let the chance go by cause you aint seen wit a man so fly friends so fly i can go fly private cause i handle mine bi they call me candle guy simply cause i am on fire i hate to have to cancel my vacation so you cant deny im patient but i aint gonna try you dont come i aint gonna die hold up what you mean you cant go why me and your boyfriend we aint no tie you say you wanna kick it when i aint so high baby its obvious that i aint your guy aint gonna lie i feel your space but forget your face i swear i will same mark same bullet anywhere i chill just bring wit me any pair i willbecause i can see us holding hands walking on the beach our toes in the sand i can see us on the country side sitting in the grass laying side by side you can be my baby let me make you my lady girl you amaze me aint gotta do nothin crazy see all i want you to do is be my love so dont give away my love so dont give away my love so dont give away aint another woman that could take your spot my love so dont give away my love so dont give away my love so dont give away aint another woman that could take your spot my love my love my love my love ",1
27,"stronger","kanye west",2007," nnow ththat that dont kill me can only make me stronger i need you to hurry up now cause i cant wait much longer i know i got to be right now cause i cant get much wronger man ive been waiting all night now thats how long i been on ya i need you right nowlets get lost tonight you could be my black kate moss tonight play secretary im the boss tonight and you dont give a fuck what they all say right awesome the christian in christian dior damn they dont make em like this anymore i ask cause im not sure do anybody make real shit anymore bow in the presence of greatness cause right now thou hast forsaken us you should be honored by my lateness that i would even show up to this fake shit so go ahead go nuts go apeshit specially on my pastel on my bape shit act like you cant tell who made this new gospel homey take six and take this hatersnnow ththat that dont kill me can only make me stronger i need you to hurry up now cause i cant wait much longer i know i got to be right now cause i cant get much wronger man ive been waiting all night now thats how long i been on ya i need you right nowi dont know if you got a man or not if you made plans or not god put me in the plans or not im tripping this drink got me saying a lot but i know that god put you in front of me so how the hell could you front on me theres a thousand yous theres only one of me im tripping im caught up in the moment right cause its louis vuitton don night so we gonna do everything that kan like heard theyd do anything for a klondike well id do anything for a blonde dyke and shell do anything for the limelight and will do anything when the times right uh baby youre makin it harder better faster strongernnow ththat that dont kill me can only make me stronger i need you to hurry up now cause i cant wait much longer i know i got to be right now cause i cant get much wronger man ive been waiting all night now thats how long i been on ya i need you right nowyou know how long ive been on ya since prince was on apollonia since oj had isotoners dont act like i never told yannow ththat that dont kill me can only make me stronger i need you to hurry up now cause i cant wait much longer i know i got to be right now cause i cant get much wronger man ive been waiting all night now thats how long i been on ya i need you right nowyou know how long ive been on ya since prince was on apollonia since oj had isotoners dont act like i never told yayou know how long ive been on ya since prince was on apollonia since oj had isotoners dont act like i never told ya ",1
28,"we fly high","jim jones",2007," we fly high no lie you know this ballin foreign rides outside its like showbiz we in the building we stay fly no lie you know this ballin hips and thighs oh my stay focusedya boy gettin paper money i buy big cars foreign i need fly rides to drive in my garage choose one stay sky high twisted fly wit the stars twinkle twinkle g4 flights  80 grand large ballin so we lean with it pop with it bankhead vertible jones mean with the top missing flossin im sitting clean with the bottom kitted do it i hopped out saggy jeans and my rock glistening ballin but i spent bout 8 grand mami on stage doing the rain dance i think she like me she let it hit the floor made it pop what else got my pedal to the floor screaming fuck the copswe fly high no lie you know this ballin foreign rides outside its like showbiz we in the building we stay fly no lie you know this ballin hips and thighs oh my stay focusedslow down tonight may be gone tomorrow one chance so i speed through life like theres no tomorrow speeding 100 gs worth of ice on the audermar flossy and we in the street life until they call the law ballin i made the whip get naked what happened while i switch gears bitch lookin at the bracelet got em step out show me what you all about flashbacks of last night of me ballin out harlem 1 am we was at the club what happened 2 am 10 bottles of bub money aint a thing and about 3something i was thinking about grub so i stumbled to the car threw the drinks and the drugs twistedwe fly high no lie you know this ballin foreign rides outside its like showbiz we in the building we stay fly no lie you know this ballin hips and thighs oh my stay focusednigga could you buy that i keep 20 in the pocket light change talk a buck 80 if the bentley is the topic that grey poupon but of course gotta fly  where to the hood to roll dice on the side of the curb but i know a g a bet may sound absurd get your money up drive 80 up lenox cause i got an urge speeding the rap game like the crack game lifestyles rich and famous living in the fast lane ballin so when i bleep shorty bleep back lou vuitton belt where imma keep all the heat strapped i beat the trial over rucker lets do it all guns loaded and im back motherfucker dipsetwe fly high no lie you know this ballin foreign rides outside its like showbiz we in the building we stay fly no lie you know this ballin hips and thighs oh my stay focused ",1
29,"u  ur hand","pink",2007,"uh uh uh uh uh uh uh oh uh uh uh uh uh uh uh oh check it out goin out on the late night lookin tight feelin nice its a cock fight i can tell i just know that its goin down tonight at the door we dont wait ̢cause we know them at the bar six shots just beginnin thats when dickhead put his hands on me but you see im not here for your entertainment you dont really want to mess with me tonight just stop and take a second i was fine before you walked into my life ̢cause you know its over before it began keep your drink just give me the money its just u  ur hand tonight uh uh uh uh uh uh uh oh uh uh uh uh uh uh uh oh midnight im drunk i dont give a  wanna dance by myself guess youre outta luck dont touch back up im not the one uh buhbye listen up its just not happenin you can say what you want to your boyfriends just let me have my fun tonight aight im not here for your entertainment you dont really want to mess with me tonight just stop and take a second i was fine before you walked into my life ̢cause you know its over before it began keep your drink just give me the money its just u  ur hand tonight uh uh uh uh uh uh uh oh uh uh uh uh uh uh uh oh   break break break break it break it down youre in the corner with your boys you bet ̢em five bucks youd get the girl that just walked in but she thinks you suck we didnt get all dressed up just for you to see so quit spillin your drinks on me yeah you know who you are highfivin talkin  but youre going home alone arent ya ̢cause im not here for your entertainment you dont really want to mess with me tonight just stop and take a second i was fine before you walked into my life ̢cause you know its over before it began keep your drink just give me the money its just u  ur hand tonight im not here for your entertainment you dont really want to mess with me tonight just stop and take a second i was fine before you walked into my life ̢cause you know its over before it began keep your drink just give me the money its just u  ur hand tonight",3
30,"walk it out","unk",2007," aynow walk it out now walk it out now walk it out now walk it out now walk it out now walk it out now walk it out west side walk it out west side walk it out south side walk it out south side walk it out east side walk it out east side walk it out north side walk it out north side walk it out now here we gonow walk it out now walk it out now walk it out now walk it out now walk it out now walk it out now walk it out now walk it out now west side walk it out now west side walk it out now south side walk it out now south side walk it out east side walk it out east side walk it out north side walk it out north side walk it outnow hit the danceflo and bend ya back low she do it with no hands now stop pop and roll im smokin bubble ho yeah dey in trouble ho i like the way she move an undercover ho now everybody leanin i made the crowd rock now go on and walk it out i see they on my jock she want that bubblegum is they the doublemint twins two hoes choosin me so i know that ima win its on once again patron once again i threw my hair back then i froze like the wind west side walk it out west side walk it out south side walk it out south side walk it out east side walk it out east side walk it out north side walk it out north side walk it outnow walk it out now walk it out now walk it out now walk it out now walk it out now walk it out now walk it out now walk it out now west side walk it out now west side walk it out now south side walk it out now south side walk it out east side walk it out east side walk it out north side walk it out north side walk it outnow walk it out now walk it out now walk it out now walk it out now walk it out now walk it out now walk it out now walk it out now west side walk it out now west side walk it out now south side walk it out now south side walk it out east side walk it out east side walk it out north side walk it out north side walk it outthey walk it on the east they walk it on the west the south side just got it north side stuck in it in the club on the deuce big stacks no flex these suckers wanna try me tell em tool on deck he walkin in his one steady smokin on fruits she walked in with a friend all in her snow boots oh shit there dey go hey they walk it on the flo grey goose double shots itll let your body go my niggas on my side haters hate think its funny i walked it on these niggas now im gettin to my money froze on them hoes im not talkin bout dancin ho count pon the charm diamonds steady stead enhancinnow walk it out now walk it out now walk it out now walk it out now walk it out now walk it out now walk it out now walk it out now west side walk it out now west side walk it out now south side walk it out now south side walk it out east side walk it out east side walk it out north side walk it out north side walk it outokay now do it how you do it go on and walk it out i said do it how you do it go on and walk it out okay do it how you do it go on and walk it out i said do it how you do it go on and walk it out walk walk walk now walk it out walk walk walk now walk it out walk walk walk now walk it out i said do it how you do it go on and walk it outay ",1
31,"beautiful girls","sean kingston",2007," youre way too beautiful girl thats why itll never work youll have me suicidal suicidal when you say its over damn all these beautiful girls they only wanna do your dirt theyll have you suicidal suicidal when they say its oversee it started at the park used to chill after dark oh when you took my heart thats when we fell apartcause we both thought that love last forever last forever they say were too young to get ourselves sprungoh we didnt care we made it very clear and they also said that we couldnt last together last togethersee its very divine girl youre one of a kind but you mush up my mind you ought to get declined oh lord my baby is driving me crazyyoure way too beautiful girl thats why itll never work youll have me suicidal suicidal when you say its over damn all these beautiful girls they only wanna do your dirt theyll have you suicidal suicidal when they say its overit was back in 99 watching movies all the time oh when i went away for doing my first crimeand i never thought that we was gonna see each other see each other and then i came out mami moved me down southoh im with my girl who i thought was my world it came out to be that she wasnt the girl for me girl for mesee its very divine girl youre one of a kind but you mush up my mind you ought to get declined oh lord my baby is driving me crazyyoure way too beautiful girl thats why itll never work youll have me suicidal suicidal when you say its over damn all these beautiful girls they only wanna do your dirt theyll have you suicidal suicidal when they say its overnow we are fussing and now we are fighting please tell me why i am feeling slightedand i dont know how to make it better make it better youre dating other guys youre telling me liesoh i cant believe what im seeing with my eyes im losing my mind and i dont think its clever think its cleveryoure way too beautiful girl thats why itll never work youll have me suicidal suicidal suicidal suicidal ",1
32,"this aint a scene its an arms race","fall out boy",2007," i am an arms dealer fitting you with weapons in the form of words and i dont really care which side wins as long as the room keeps singing thats just the business im inthis aint a scene its a god damn arms race this aint a scene its a god damn arms race this aint a scene its a god damn arms race im not a shoulder to cry on but i digressim a leading man and the lies i weave are oh so intricate oh so intricate im a leading man and the lies i weave are oh so intricate oh so intricatei wrote the gospel on giving up you look pretty sinking but the real bombshells have already sunk prima donnas of the gutter at night were painting your trash gold while you sleep crashing not like hips or cars no more like ppppartiesthis aint a scene its a god damn arms race this aint a scene its a god damn arms race this aint a scene its a god damn arms race bandwagons full please catch anotherim a leading man and the lies i weave are oh so intricate oh so intricate im a leading man and the lies i weave are oh so intricate oh so intricateall the boys who the dance floor didnt love and all the girls whose lips couldnt move fast enough sing until your lungs give outthis aint a scene its a god damn arms race this aint a scene its a god damn arms race now you this aint a scene its a god damn arms race wear out the groove this aint a scene its a god damn arms race sing out loud this aint a scene its a god damn arms race oh oh this aint a scene its a god damn arms raceim a leading man and the lies i weave are oh so intricate oh so intricate im a leading man and the lies i weave are oh so intricate oh so intricate ",1
33,"bartender","tpain featuring akon",2007,NA,NA
34,"pop lock  drop it","huey",2007,"toot that thang up mami make it roll once you pop pop lock it for me girl get low if yo mama gave it to you baby girl let it show once you pop lock drop it for me maybe we could roll oh pop lock and drop it pop lock and drop it pop lock and drop it pop lock and drop it pop lock and drop it pop lock and drop it pop lock and drop it pop lock and drop it tonight its gon be some changes no acting sadity so stop acting and get it clappin cause im knowing you feeling me yeah you cute but dont let that sh go to yo head cause what this cutie wont do pimpin another one will you prepared rockin a skirt and ya heels so tall and we aint wit none of that tricking but our bills so tall i been peepin you fo a while and you throwin it back if you lookin fo you a balla we got dough in da back look yo color carmelo brown and yo skin so smooth im havin fantasies about what you and me can do and you a undacover freak you probably thinking da same im seein light up on yo face because you peepin my chain and i aint tryna put you out there as if you a freak so dont even take it that way jus say you did it fo me and yeah you probably roll wit me cause its money in my pockets so before then i gotta see you pop lock and drop it toot that thang up mami make it roll once you pop pop lock it for me girl get low if yo mama gave it to you baby girl let it show once you pop lock drop it for me maybe we could roll oh pop lock and drop it pop lock and drop it pop lock and drop it pop lock and drop it pop lock and drop it pop lock and drop it pop lock and drop it pop lock and drop it i aint gotta be yo man but i really wouldnt mind we aint got to talk again im jus tryna have a time if you a balla pull a stack out and slap her on da ayyy pop lockin cock blockas get up out da way let lil mami get low give her space let her sweat the club turnin to hooters cause they shirts is so wet from da window to da wall lil mama showin her thong the broad freakin herself its tellin me that its on you ready then we can roll im tellin you we could go im thinkin if i can handle it the way you make it roll you groovin and speedin up you right in between us if you a stripteasa then baby dont tease us at first i thought i was trippin but my vision gettin clearer you moving that thang around as if you practice in da mirror she doin a new dance what the next man said im like naw she just pop locking on a headstand toot that thang up mami make it roll once you pop pop lock it for me girl get low if yo mama gave it to you baby girl let it show once you pop lock drop it for me maybe we could roll oh pop lock and drop it pop lock and drop it pop lock and drop it pop lock and drop it pop lock and drop it pop lock and drop it pop lock and drop it pop lock and drop it make it roll to da left left roll to da right right pop lock and drop it get low aight make it roll to da left left roll to da right right pop lock and drop it get low aight it aint tricking if you got it we got it but i aint givin just bounce it and roll wit it and maybe youll roll wit us it aint tricking if you got it we got it and i aint givin just bounce it and roll wit it and maybe youll roll wit us pop lock and drop it now pop lock and drop it fo me pop lock and drop it say pop lock and drop it now whats yo name girl neva mind neva mind do you thang girl fire you aint neva lied whats yo name girl neva mind neva mind do you thang girl fire you aint neva lied oh",3
35,"runaway love","ludacris featuring mary j blige",2007," runaway love runaway love runaway love runaway love runaway love runaway love runaway love runaway lovenow little lisa is only nine years old shes tryin to figure out why the world is so cold why shes all alone and they never met her family mamas always gone and she never met her daddy part of her is missin and nobody will listen mama on drugs gettin high up in the kitchen bringin home men at different hours of the night startin with some laughs usually endin in a fight sneak into her room while her mamas knocked out tryin to have his way and little lisa says ouch she tries to resist but then all he does is beat her tries to tell her mom but her mama dont believe her lisa is stuck up in the world on her own forced to think that hell is a place called home nothin else to do but get some clothes and pack she says shes bout to run away and never come backrunaway love runaway love runaway love runaway love runaway love runaway love runaway love runaway lovelittle nicole is only ten years old shes steady tryin to figure why the world is so cold why shes not pretty and nobody seems to like her alcoholic step dad always wanna strike her yells and abuses leaves her with some bruises teachers ask questions she makin up excuses bleedin on the inside cryin on the out its only one girl really knows what she about her name is lil stacy and they become friends promise that theyll always be tight till the end until one day lil stacy gets shot a driveby bullet went stray up on her block now nicole stuck up in the world on her own forced to think that hell is a place called home nothin else to do but get her clothes and pack she says shes bout to run away and never come backrunaway love runaway love runaway love runaway love runaway love runaway love runaway love runaway lovelittle erica is eleven years old shes steady tryin to figure why the world is so cold so she pops ex to get rid of all the pain plus shes havin sex with a boy whos sixteen emotions run deep and she thinks shes in love so theres no protection hes usin no glove never thinkin bout the consequences of her actions livin for today and not tomorrows satisfaction the days go by and her belly gets big the father bails out he aint ready for a kid knowin her mama will blow it all outta proportion plus she lives poor so no money for abortion erica is stuck up in the world on her own forced to think that hell is a place called home nothin else to do but get her clothes and pack she say shes about to run away and never come backrunaway love runaway love runaway love runaway love runaway love runaway love runaway love runaway loverunaway runaway love dont keep runnin away ill runaway with you if you want me to loveyeah i can only imagine what you going through ladies sometimes i feel like running away myself so do me a favor right now and close your eyes and picture us running away together and when we come back everything is going to be okay open your eyes ",1
36,"rockstar","nickelback",2007," im through with standin in lines to clubs ill never get in its like the bottom of the ninth and im never gonna win this life hasnt turned out quite the way i want it to be tell me what you wanti want a brand new house on an episode of cribs and a bathroom i can play baseball in and a king size tub big enough for ten plus me yeah so what you needi need a a credit card thats got no limit and a big black jet with a bedroom in it gonna join the mile high club at thirtyseven thousand feet been there done thati want a new tour bus full of old guitars my own star on hollywood boulevard somewhere between cher and james dean is fine for me so how you gonna do itim gonna trade this life for fortune and fame id even cut my hair and change my namecause we all just wanna be big rockstars and live in hilltop houses drivin fifteen cars the girls come easy and the drugs come cheap well all stay skinny cause we just wont eatand well hang out in the coolest bars in the vip with the movie stars every good gold diggers gonna wind up there every playboy bunny with her bleach blond hairand well hey hey i wanna be a rockstar hey hey i wanna be a rockstari wanna be great like elvis without the tassels hire eight body guards that love to beat up assholes sign a couple autographs so i can eat my meals for free ill have the quesadilla ha haim gonna dress my ass with the latest fashion get a front door key to the playboy mansion gonna date a centerfold that loves to blow my money for me so how you gonna do itim gonna trade this life for fortune and fame id even cut my hair and change my namecause we all just wanna be big rockstars and live in hilltop houses drivin fifteen cars the girls come easy and the drugs come cheap well all stay skinny cause we just wont eatand well hang out in the coolest bars in the vip with the movie stars every good gold diggers gonna wind up there every playboy bunny with her bleach blond hairand well hide out in the private rooms with the latest dictionary of todays whos who theyll get you anything with that evil smile everybodys got a drug dealer on speed dialwell hey hey i wanna be a rockstarim gonna sing those songs that offend the censors gonna pop my pills from a pez dispenser get washedup singers writin all my songs lipsync em every night so i dont get em wrongwell we all just wanna be big rockstars and live in hilltop houses drivin fifteen cars the girls come easy and the drugs come cheap well all stay skinny cause we just wont eatand well hang out in the coolest bars in the vip with the movie stars every good gold diggers gonna wind up there every playboy bunny with her bleach blond hairand well hide out in the private rooms with the latest dictionary of todays whos who theyll get you anything with that evil smile everybodys got a drug dealer on speed dialwell hey hey i wanna be a rockstar hey hey i wanna be a rockstar ",1
37,"thnks fr th mmrs","fall out boy",2007," im gonna make you bend and break it sent you to me without wait say a prayer but let the good times roll in case god doesnt show let the good times roll let the good times rolland i want these words to make things right but its the wrongs that make the words come to life who does he think he is if thats the worst you got better put your fingers back to the keyone night and one more time thanks for the memories even though they werent so great he tastes like you only sweeter one night yeah and one more time thanks for the memories thanks for the memories see he tastes like you only sweeter ohbeen looking forward to the future but my eyesight is going bad in these crystal balls its always cloudy except for when you look into the past one night stand one night standone night and one more time thanks for the memories even though they werent so great he tastes like you only sweeter one night yeah and one more time thanks for the memories thanks for the memories see he tastes like you only sweeter ohthey say i only think in the form of crunching numbers in hotel rooms collecting page six lovers get me out of my mind get you out of those clothes im a liner away from getting you into the mood whoaone night and one more time thanks for the memories even though they werent so great he tastes like you only sweeter one night yeah and one more time thanks for the memories thanks for the memories see he tastes like you only sweeter ohone night one more time one night and one more time thanks for the memories even though they werent so great he tastes like you only sweeter one night yeah and one more time one night one more time thanks for the memories thanks for the memories for the memories for the memories see he tastes like you only sweeter ",1
38,"what ive done","linkin park",2007," in this farewell theres no blood theres no alibi cause ive drawn regret from the truth of a thousand lies so let mercy come and wash away what ive doneill face myself to cross out what ive become erase myself and let go of what ive doneput to rest what you thought of me while i clean this slate with the hands of uncertainty so let mercy come and wash away what ive doneill face myself to cross out what ive become erase myself and let go of what ive donefor what ive done i start again and whatever pain may come today this ends im forgiving what ive doneill face myself to cross out what ive become erase myself and let go of what ive donena na na na na na na na na na na na what ive done na na na na na na na na na na na na forgiving what ive done na na na na na na na na na na na na na na na na na na na ",1
39,"summer love","justin timberlake",2007," ridin in the drop top with the top down saw you switchin lanes girl pull up to the red light lookin right come here let me get your name girltell me where you from what you do what you like let me pick your brain girl and tell me how they got that pretty little face on that pretty little frame girlwell let me show you round let me take you out bet you we can have some fun girl cause we can do it fast fast slow whichever way you wanna run girlbut let me buy you drinks better yet rings do it how you want it done girl and who wouldve thought that you could be the one cause ii cant wait to fall in love with you you cant wait to fall in love with me this just cant be summer love youll see this just cant be summer love l o v ecome over and lemme show you round let me take you out bet you we can have some fun girl cause we can dress it up we can dress it down any way you want it done girlor we can stay home talkin on the phone rappin til we see the sun girl do what i gotta do just gotta show you that im the one girlwell ima freak it right each and every night i know how to do it insane girl cause i can make it hot make it stop make you wanna say my name girlcome on baby please cause im on my knees cant get you off my brain girl but who wouldve thought that you could be the one cause ii cant wait to fall in love with you you cant wait to fall in love with me this just cant be summer love youll see this just cant be summer love l o v ecause i cant wait to fall in love with you you cant wait to fall in love with me this just cant be summer love youll see this just cant be summer love l o v esummers over for the both of us but that doesnt mean we should give up on love youre the one that ive been thinking of and i knew the day i met you youd be the one ohi cant wait to fall in love with you you cant wait to fall in love with me this just cant be summer love youll see this just cant be summer love l o v ecause i cant wait to fall in love with you you cant wait to fall in love with me this just cant be summer love youll see this just cant be summer love l o v e ",1
40,"you","lloyd featuring lil wayne",2007," yeah right off the back ma the boy got dollars so women come frequent like flight mileage it aint no secret i i might holla but i aint gon sweat ya baby im a let ya catch up wit ya game run faster but dont let em lose ya cause i aint gon bless ya unless ya feel a lil desperate send a nigga a text message girlstop wait a minute the way you move that girl you done got my heart all in it and i just wanna be with you tonight girl please im a playa yeah its true but i change the game for you i wanna see what it docan i be for real this is how i feel im in need of love so lets dip up out of here oh ya just my type everythings so right and i just wanna chill so lets dip up out of here lets dip up out of herei ha ha ha ha shes fine too but i want you i ha ha ha ha ha shes fine too but i want youill admit it this just aint no game these just aint words that im spittin if you could see the thoughts thats in my head im trippin im a playa yeah its true but i change the game for you i wanna see what it do docan i be for real this is how i feel im in need of love so lets dip up out of here oh ya just my type everythings so right and i just wanna chill so lets dip up out of here lets dip up out of herei ha ha ha ha shes fine too but i want you i ha ha ha ha ha shes fine too but i want youyeah weezy f baby the key to the ladies keys to the cedes but please say the baby weed and patron even in the am we should be alone we can get a day in ya like what im sayin then come around the way and we can go inside and stay in tell the homeboy ya stayin youve been taken gone turn me on and im a turn him ya you know i love you like cooked food you know you fuckin wit a good dude you know you give good brain like you graduated from a good school you know im a good move so you should do me so hey shawty what it is the carter who it is now shawty do it big a party at my crib thats a party in the hills you call it what you want but she gon call it when she feels owcan i be for real this is how i feel im in need of love so lets dip up out of here oh ya just my type everythings so right and i just wanna chill so lets dip up out of here lets dip up out of herei ha ha ha ha shes fine too but i want you i ha ha ha ha ha shes fine too but i want you ",1
41,"wait for you","elliott yamin",2007," i never felt nothing in the world like this before now im missing you and im wishing you would come back through my door oh why did you have to go you could have let me know so now im all alonegirl you could have stayed but you wouldnt give me a chance with you not around its a little bit more than i can stand oh and all my tears they keep runnin down my face why did you turn awayso why does your pride make you run and hide are you that afraid of me but i know its a lie what you keep inside this is not how you want it to beso baby i will wait for you cause i dont know what else i can do dont tell me i ran out of time if it takes the rest of my life baby i will wait for you if you think im fine it just aint true i really need you in my life no matter what i have to do ill wait for youbeen a long time since you called me how could you forget about me you gotta be feeling crazy how can you walk away when everything stays the same i just cant do it babywhat will it take to make you come back girl i told you what it is and it just aint like that why cant you look at me youre still in love with me dont leave me cryingbaby why cant we just just start over again get it back to the way it was if you give me a chance i can love you right but youre telling me it wont be enoughso baby i will wait for you cause i dont know what else i can do dont tell me i ran out of time if it takes the rest of my life baby i will wait for you if you think im fine it just aint true i really need you in my life no matter what i have to do ill wait for youso why does your pride make you run and hide are you that afraid of me but i know its a lie what youre keeping inside that is not how you want it to bebaby i will wait for you oh baby i will wait for you if its the last thing i dobaby i will wait for you cause i dont know what else i can do dont tell me i ran out of time if it takes the rest of my life baby i will wait for you if you think i find it just aint true i really need you in my life no matter what i have to do ill wait for youill be waiting ",1
42,"last night","diddy featuring keyshia cole",2007," last night last night i couldnt even get an answer answer i tried to call tried to call but my pride wouldnt let me dial dial dial dial and im sitting here with this blank expression expression expression expression and the way i feel way i feel i wanna curl up like a child child childi know you can hear me i know you can feel me i cant live without you god please make me better i wish i wasnt the way i amif i told you once i told you twice you can see it in my eyes im all cried out with nothing to say youre everything i wanted to be if you could only see your heart belongs to me i love you so much im yearning for your touch come and set me free forever yours ill be baby wont you come and take this pain awaylast night oh last night i couldnt even get an answer oh baby what you wanna do to me i tried to call but my pride wouldnt let me dial why wouldnt you just tell me baby oh and im sitting here with this blank expression dont say it baby no no no and the way i feel i wanna curl up like a child im so alone im so lonelytell me what words to say to make you come back and break me like that and if it matters id rather stay home with you im never alone dont wanna wait til youre gone whatever you do just dont leave melast night i couldnt even get an answer couldnt get an answer baby i tried to call call me baby but my pride wouldnt let me dial oh couldnt you just tell me baby and im sitting here with this blank expression dont say that no and the way i feel i wanna curl up like a child im so alone im so lonelyi need you and you need me this is so plain to see and i will never let you go and i will always love you so i will if you could only see your heart belongs to me i love you so much im yearning for your touch come and set me free forever yours ill be baby wont you come and take my pain awaylast night i couldnt even get an answer i couldnt answer baby yeah i tried to call call me baby but my pride wouldnt let me dial oh couldnt you just tell me baby and im sitting here with this blank expression dont say that no and the way i feel i wanna curl up like a child im so alone im so lonelywhy dont you pick up the phone and dial up my number and call me up baby im waiting on you ",1
43,"make it rain","fat joe featuring lil wayne",2007," yeah im in this bitch wit da terror got a handful of stacks better grab an umbrella i make it rain i make it rain im in this bitch for terror got a handful of stacks better grab an umbrella i make it rain i make it rain i make it rain on them hos i make it rain i make it rain i make it rain on them hos i make it rain i make it rain i make it rain on them hos i make it rain i make it rain i make it rain on them hoscr cr crack crack crack crack crack you hear the echo man i seen the best go cause he aint have this metal im a hustlas hustla a pushers pusher you a busta a custerma i get you some cooka yeah crack is a chemist i pack an eleven i mack in a seven ill clap at your reverend i see you in ny ill send you an invite you gon need you a pass thats the code that we live byyeah im in this bitch wit da terror got a handful of stacks better grab an umbrella i make it rain i make it rain im in this bitch for terror got a handful of stacks better grab an umbrella i make it rain i make it rain i make it rain on them hos i make it rain i make it rain i make it rain on them hos i make it rain i make it rain i make it rain on them hos i make it rain i make it rain i make it rain on them hosoww clap clap clap gotta make that ass clap gotta make that ass clap clap clap clap clap gotta make that ass clap gotta make that ass clapnow whys everybody so mad at the south for change your style up switch to southpaw jada i was listenin listenin so i made him a anthem to make some dividends lil mama try to hit me with the shoulder lean this cootco crack and i control the team couple bricks stacked up on that triple beam my dirty bro sippin that promethazeen that gonja green that cali weed a nigga lose his life try roll on me now yup yup we get it no advanced about it and the rain keep fallin even when its drowninyeah im in this bitch wit da terror got a handful of stacks better grab an umbrella i make it rain i make it rain im in this bitch for terror got a handful of stacks better grab an umbrella i make it rain i make it rain i make it rain on them hos i make it rain i make it rain i make it rain on them hos i make it rain i make it rain i make it rain on them hos i make it rain i make it rain i make it rain on them hosmamis body is bangin man she got it man she does it all she gets it poppin with no hands ill make it pour ill make it rain on em ill lay a game to em im gassin misses to tattoo my name on em gotta get that baby love gotta get my paper up gotta suspect me exactly test this crack and want a ring on us and you know what it is yo its them powder kids and we know how to biz so we dont give a shityeah im in this bitch wit da terror got a handful of stacks better grab an umbrella i make it rain i make it rain im in this bitch for terror got a handful of stacks better grab an umbrella i make it rain i make it rain i make it rain on them hos i make it rain i make it rain i make it rain on them hos i make it rain i make it rain i make it rain on them hos i make it rain i make it rain i make it rain on them hos ",1
44,"make me better","fabolous featuring neyo",2007," timbo hey neyo say what loso hey heyim a movement by myself but im a force when were together mami im good all by myself but baby you you make me better you make me better you make me better you make me better you make me better you make me better you make me better you make me better you make me betteryou plus me  it equal better math ya boy a good look but she my better half im already bossin already flossin but why i have the cake if it aint got the sweet frostin yep yep yep yep youre keepin me on my agame what what what what without havin the same name that that that that that they may flame but but but but but shawty we burn it up the sag in my swag pep in my step daddy do the gucci mami in giuseppes guess its a g thing whenever we swing im a need coretta scott if im gonna be kingim a movement by myself but im a force when were together mami im good all by myself but baby you you make me better you make me better you make me better you make me better you make me better you make me better you make me better you make me better you make me betterfirst things first i does what i do but everything i am shes my improve im already boss im already fly but if im a star she is the sky ah ah ah and when i feel like im on top she she she she give me reason to not stop eh eh eh eh eh and though im hot to to to together we burn it upthe cakedup cut the cleanedup ice when shawty come around i clean up nice dynamic duo  batman and robin whoever dont like it its that man problem eh eh eh and when i feel like im tired ma ma ma mami be takin me higher ah ah ah ah ah im on fire but but but but shawty we burn it upim a movement by myself but im a force when were together mami im good all by myself but baby you you make me better you make me better you make me better you make me better you make me better you make me better you make me better you make me better you make me betterinside every great man you can find a woman like a soldier holdin him downand she treats me like a don watches for the hit checks where i go even watches who im with the right when im wrong so i never slip show me how to move thats why i never trip and baby girl you so major they should frontpage ya frontpage ya god bless the parents who made ya who made ya middlefinger anybody who hate the way that we burn it upim a movement by myself but im a force when were together mami im good all by myself but baby you you make me better you make me better you make me better you make me better you make me better you make me better you make me better you make me better you make me betteryeah baby them lames you playin with they gon put you down we tryin to compliment you you know make it better topnotch tim nicelook neyo livin good loso they ask you how you doin now tell em better than themim a movement by myself but im a force when were together mami im good all by myself but baby you you make me better you make me better you make me better you make me better you make me better you make me better you make me better you make me better you make me better ",1
45,"ice box","omarion featuring timbaland",2007," fussin and fightin we back at it again i know that its my fault but you dont understand no i got memories this is crazy you aint nothing like the girl i used to know good with ma good with pa cool with all my niggas i should try to decide wanna let you in but no that means memories and its crazy you aint nothing like the girl i used to knowgirl i really wanna work this out cause im tired of fightin and i really hope you still want me the way i want you i said i really wanna work this out damn girl im tryin its no excuse no excuse but i got thisi got this icebox where my heart used to be but i got this i got this icebox where my heart used to be said i got this im so cold im so cold im so cold im so cold im so cold im so cold im so coldi got this icebox where my heart used to be but i got this i got this icebox where my heart used to be said i got this im so cold im so cold im so cold im so cold im so cold im so cold im so coldwhy cant i get it right just cant let it go i opened up she let me down i wont feel that no more i got memories this is crazy she aint nothing like the girl i used to know i dont mean to take it out on you baby but i cant help it cause my heart is in the same ol condition that baby left it and i i apologize for makin you cry look me in my eye and promise you wont do me the samegirl i really wanna work this out cause im tired of fightin and i really hope you still want me the way i want you i said i really wanna work this out damn girl im tryin its no excuse no excuse but i got thisi got this icebox where my heart used to be but i got this i got this icebox where my heart used to be said i got this im so cold im so cold im so cold im so cold im so cold im so cold im so coldi got this icebox where my heart used to be but i got this i got this icebox where my heart used to be said i got this im so cold im so cold im so cold im so cold im so cold im so cold im so coldi dont wanna be stuck up in this cold cold world dont wanna mess this up better keep your eye on me girl dont wanna mess this up better keep your eye on me girl dont wanna mess this up better keep your eye on me girl i dont wanna be stuck up in this cold cold world dont wanna mess this up better keep your eye on me girl dont wanna mess this up better keep your eye on me girl dont wanna mess this up better keep your eye on me girlgirl i really wanna work this out cause im tired of fightin and i really hope you still want me the way i want you i said i really wanna work this out damn girl im tryin its no excuse no excuse but i got thisi got this icebox where my heart used to be but i got this i got this icebox where my heart used to be said i got this im so cold im so cold im so cold im so cold im so cold im so cold im so coldi got this icebox where my heart used to be but i got this i got this icebox where my heart used to be said i got this im so cold im so cold im so cold im so cold im so cold im so cold im so coldgirl i really wanna work this out cause im tired of fightin ",1
46,"lips of an angel","hinder",2007," honey why are you calling me so late its kinda hard to talk right now honey why are you crying is everything okay i gotta whisper cause i cant be too loudwell my girls in the next room sometimes i wish she was you i guess we never really moved on its really good to hear your voice saying my name it sounds so sweet coming from the lips of an angel hearing those words  it makes me weak and i never wanna say goodbye but girl you make it hard to be faithful with the lips of an angelits funny that youre calling me tonight and yes ive dreamt of you too and does he know youre talking to me will it start a fight no i dont think she has a cluewell my girls in the next room sometimes i wish she was you i guess we never really moved on its really good to hear your voice saying my name it sounds so sweet coming from the lips of an angel hearing those words  it makes me weak and i never wanna say goodbye but girl you make it hard to be faithful with the lips of an angelits really good to hear your voice saying my name it sounds so sweet coming from the lips of an angel hearing those words  it makes me weak and i never wanna say goodbye but girl you make it hard to be faithful with the lips of an angel and i never wanna say goodbye but girl you make it so hard to be faithful with the lips of an angelhoney why are you calling me so late ",1
47,"waiting on the world to change","john mayer",2007," one two one two threeme and all my friends were all misunderstood they say we stand for nothing and theres no way we ever could now we see everything thats going wrong with the world and those who lead it we just feel like we dont have the means to rise above and beat itso we keep waiting waiting waiting on the world to change we keep on waiting waiting waiting on the world to changeits hard to beat the system when were standing at a distance so we keep waiting waiting waiting on the world to changenow if we had the power to bring our neighbors home from war they would have never missed a christmas no more ribbons on their door and when you trust your television what you get is what you got cause when they own the information oh they can bend it all they wantthats why were waiting waiting waiting on the world to change we keep on waiting waiting waiting on the world to changeits not that we dont care we just know that the fight aint fair so we keep on waiting waiting waiting on the world to changeand were still waiting waiting waiting on the world to change we keep on waiting waiting waiting on the world to changeone day our generation is gonna rule the population so we keep on waiting waiting waiting on the world to change no we keep on waiting waiting waiting on the world to change we keep on waiting waiting waiting on the world to change waiting on the world to change waiting on the world to change waiting on the world to change ",1
48,"lost without u","robin thicke",2007," im lost without you cant help myself how does it feel to know that i love you babyim lost without you cant help myself how does it feel to know that i love you babytell me how you love me more and how you think im sexy babe that you dont want nobody else you dont want this guy you dont want that guy you wanna touch yourself when you see me tell me how you love my body and how i make you feel babeyou wanna roll with me you wanna hold with me you wanna stay warm and get out of the cold with me i just love to hear you say it it makes a man feel good baby tell me you depend on me i need to hear itim lost without you cant help myself how does it feel to know that i love you babyim lost without you cant help myself how does it feel to know that i love you babybaby youre the perfect shape baby youre the perfect weight treat me like my birthday i want it this way i want it that way i want it tell me you dont want me to stop dont stop tell me it would break your heart that you love me and all my dirty you wanna roll with me you wanna hold with me you wanna make fires and get norwegian wood with me i just love to hear you say it it makes a man feel good babyim lost without you cant help myself how does it feel to know that i love you babyim lost without you cant help myself how does it feel to know that i love you babycause you may tell me every morning ooo alright babe ah yeah aw baby aw darling aw yeahim lost without you cant help myself how does it feel to know that i love you babyim lost without you cant help myself how does it feel to know that i love you babyooo yeah aw baby aw darling aw yeah aw right aw baby aw darling ooo hoo baby all right right right ",1
49,"im a flirt","r kelly featuring ti and tpain",2007," im a im a im a im a flirt soon as i see her walk up in the club im a flirt winkin her eyes at me when i roll up on them dubs im a flirt sometimes when im with my chick on the low im a flirt and when shes wit her man lookin at me damn right im a flirt so homie dont bring your girl to meet me cause im a flirt and baby dont bring your girlfriend to eat cause im a flirt please believe it unless your game is tight and you trust her then dont bring her around me cause im a flirtnow swear to tell the truth and the whole truth when it comes to hoes i be pimpin like i supposed to rollin like i supposed to shinin like i supposed to in the club fuckin wit honeys like i supposed to i dont understand it when a nigga bring his girlfriend to the club freakin all on the floor wit his girlfriend in the club and wonder why all these playas tryin to holla at her just soon as she go to the bathroom nigga im goin holla at her a dog on the prowl when im walkin through the mall if i could man i probably would flirt wit all yall yeah yeah homie u say she ya girlfriend but when i step up to her im be like cousin believe me man this is how them playas do it in the chi and plus we got them playerette flirters in the chi now the moral of the story is cuff yo bitch cause hey im black handsome i sing plus im rich and im a flirthey homie if you aint gettin no money you better keep her away from me ya digwell if u love ya girl and wanna keep ya girl dont be walkin up and askin me to meet ya girl cause im well enough a flirt when i speak to girl she winked her eyes on the slide i seen u girl better treat your girl right cause another man will better eat ya girl like another man will cause u leave your wife and i see ya wife that be for real how long u think thats finna be ya wife well im livin the life you just gettin it right your old lady look at me cause you aint hittin it right she probably used to like u cause you you the better type thats until i came along and put some dick in her life wanna see me dance i noticed she was checkin me and diggin the ice and if i get that tonight better hit that twice i can even make her mine if i hit that right you know smack that thang sit that right upon that dresser yeah thats right pullin on her hair like we gettin in a fight yeah i know its kinda tight but itll settle just right so if yo girl sexy and she test me dont be upset g cause u might catch me tryin to catch a glance up her skirtwe playing in my glam in reverse then if i see her and i like her then im a flirtwhen i when i when iwhen i pull up to club all the shawties be like damn 28s then i be like girl u know just who i am dont hate see i done fell in love wit a stripper yall all i do is flirt with her and i get them draws and i dont need no help i got it down pact teddy paine was born to flirt now you cant down that now im flirt with her whether im in or out of town thats why they call me teddy bend her ass down i be like como si llama lil mama mi llamo pain what is yo name im feelin yo vibe and im hopin you feel the same im a wink my eye and let you know i got the game when i pass by i know exactly what u say hes so fly and hes so coo hey shawty hey shawty what it do he mad cause im lookin but i already fucked her i got these niggas mad cause im a flirtim a im a im a im a flirt soon as i see her walk up in the club im a flirt winkin her eyes at me when i roll up on them dubs im a flirt sometimes when im with my chick on the low im a flirt and when shes wit her man lookin at me damn right im a flirt so homie dont bring your girl to meet me cause im a flirt and baby dont bring your girlfriend to eat cause im a flirt please believe it unless your game is tight and you trust her then dont bring her around me cause im a flirtits the remix now if u walk up in the club with a bad chick and she lookin at me then im gon hit man jackin for chicks i tried to quit but im playa homie so i had to hit while you buyin her drinks in the club actin like you in love stunnin like you all thug we was switching numbers she lookin at you when i walk by you turn yo head she wink her eye i cant help if she checkin for a platinum type of guy she be callin me daddy and i be callin her mommy she be callin you kelly when yo name is tommy i dont know what yall be thinkin when you bring em round me let me remind you that i am the king of rb do you know what that means that means if you love yo chick dont bring her to the vip cause i might leave wit yo chick just keepin it real my nigga it is a playas feel my nigga dont take no bitch to the club when u just met her my nigga cause im flirt wit her right he gon flirt wit her right and if she lookin that good shit she gon flirt wit herim a im a im a im a flirt soon as i see her walk up in the club im a flirt winkin her eyes at me when i roll up on them dubs im a flirt sometimes when im with my chick on the low im a flirt and when shes wit her man lookin at me damn right im a flirt so homie dont bring your girl to meet me cause im a flirt and baby dont bring your girlfriend to eat cause im a flirt please believe it unless your game is tight and you trust her then dont bring her around me cause im a flirt ",1
50,"if everyone cared","nickelback",2007," from underneath the trees we watch the sky confusing stars for satellites i never dreamed that youd be mine but here we are were here tonightsinging amen im alive im alive singing amen im aliveif everyone cared and nobody cried if everyone loved and nobody lied if everyone shared and swallowed their pride then wed see the day when nobody died and im singingamen i amen i amen i im alive amen i amen i amen i im aliveand in the air the fireflies our only light in paradise well show the world they were wrong and teach them all to sing alongsinging amen i im alive im alive singing amen i im aliveif everyone cared and nobody cried if everyone loved and nobody lied if everyone shared and swallowed their pride then wed see the day when nobody died if everyone cared and nobody cried if everyone loved and nobody lied if everyone shared and swallowed their pride then wed see the day when nobody diedand as we lie beneath the stars we realize how small we are if they could love like you and me imagine what the world could beif everyone cared and nobody cried if everyone loved and nobody lied if everyone shared and swallowed their pride then wed see the day when nobody died if everyone cared and nobody cried if everyone loved and nobody lied if everyone shared and swallowed their pride then wed see the day when nobody diedthen wed see the day wed see the day when nobody died then wed see the day wed see the day when nobody died then wed see the day when nobody died ",1
51,"get it shawty","lloyd",2007," i cant sit back and let this moment slip away away cause i got my eye on you you i see ya lookin over ya shoulder let me make my way over excuse me miss lady how ya doin your body lookin right youre type i like and im pursuin so can i get a little closer so i can get to know you and exchange names and thangs before the night is overall i really want is for you to back it up gon and put your weight on it cause its alright do what you wanna make me believe ya oh i wanna see yaget it shawty get it shawty get it shawty get it shawty ggggget it shawty get it shawty get it shawty get it shawtyi cant sit back and let the night just drift away so baby whatcha gon do do cause i dont wanna lose it come on keep it movin excuse me miss lady how ya doin your body lookin right youre the type i like and im pursuin can i get a little closer so i can get to know you and exchange names and thangs before the night is overall i really want is for you to back it up gon and put your weight on it cause its alright do what you wanna make me believe ya ooh i wanna see yaget it shawty get it shawty get it shawty get it shawty ggggget it shawty get it shawty get it shawty get it shawtyjeans tight high heels this is how you make me feel lips glossed teeth white apple bottoms let me bite spend the night catch a flight we can do whatwhat you like feeling right ya smellin good let get this understood is there something youre not telling me are you the daughter of frankie beverly its the way you move the way you groove im a fan and youre the celebrity she doin freaky stuff shawty got me geeked up like fabo i got playdoh let me show you street love owall i really want is for you to back it up gon and put your weight on it cause its alright do what you wanna make me believe ya ooh i wanna see yaget it shawty get it shawty get it shawty get it shawty ggggget it shawty get it shawty get it shawty get it shawty ",1
52,"face down","the red jumpsuit apparatus",2007," hey girl you know you drive me crazy one look puts the rhythm in my hand still ill never understand why you hang around i see whats going downcover up with make up in the mirror tell yourself its never gonna happen again you cry alone and then he swears he loves youdo you feel like a man when you push her around do you feel better now as she falls to the ground well ill tell you my friend one day this worlds got to end as your lies crumble down a new life she has founda pebble in the water makes a ripple effect every action in this world will bear a consequence if you wait around forever you will surely drown i see whats going downi see the way you go and say youre right again say youre right again heed my lecturedo you feel like a man when you push her around do you feel better now as she falls to the ground well ill tell you my friend one day this worlds got to end as your lies crumble down a new life she has foundface down in the dirt she said this doesnt hurt she said i finally had enoughface down in the dirt she said this doesnt hurt she said i finally had enoughone day she will tell you that she has had enough its coming round againdo you feel like a man when you push her around do you feel better now as she falls to the ground well ill tell you my friend one day this worlds got to end as your lies crumble down a new life she has founddo you feel like a man when you push her around do you feel better now as she falls to the ground well ill tell you my friend one day this worlds got to end as your lies crumble down a new life she has foundface down in the dirt she said this doesnt hurt she said i finally had enough ",1
53,"the way i live","baby boy da prince",2007,"this is the way i live lil boy still pushin big wheels i stack my money lay low and chill dont need to work hard thats the way i feel i feel i this is the way i live lil boy still pushin big wheels i stack my money lay low and chill dont need to work hard thats the way i feel i feel i this is the way i live six months later now were big dog status name elevated but i still act average rockin shows in dallas ballin like i play for the mavericks west bank rapper and im one of the baddest french riviera spot and im getting in shape man i think im super man without a cape man ridin all day hustlin all for the cake man im a benjamin stack one inch taller than great danes first they made cheap ray ban like a felon im growin up now spittin hotter than mohellans and im still living good never gon too fly im a young little dude stay runnin from cops emerald row is the place where i got my props people love me in da hood they dont want me to stop so uhh thats the only way i know how to rock and im a stay rappers like i aint gon stop til i drop this is the way i live lil boy still pushin big wheels i stack my money lay low and chill dont need to work hard thats the way i feel i feel i this is the way i live lil boy still pushin big wheels i stack my money lay low and chill dont need to work hard thats the way i feel i feel i this is the way i live is baby boy and i done it again im ridin fly with dwizzle in the cedes benz twenty two wanna ride with the ladies then red bull grey goose now the ladies bent now we go and do a thing under a shady tent and they dont question what i say cause im a ladies pimp see this little one right here this fellow got stripes and is gon represent my rail room for life money in my pocket but i still act trife while in da club they say the parlor aint right look im doing great and thats the way i feel hustlin hard all day and thats the way i live this is the way i live lil boy still pushin big wheels i stack my money lay low and chill dont need to work hard thats the way i feel i feel i this is the way i live lil boy still pushin big wheels i stack my money lay low and chill dont need to work hard thats the way i feel i feel i this is the way i live hey hey its the twoseat rider with the ketchup inside red pepper paint must believe my shit ride they pause like stop signs when they rollin up cause when the doors open up they open up im lamboin it i was stashed off stage im throwin it my niggas say im like katrina with money i blow the shit real been gravy three years out of da eighties solos shabos valley animals played it commodores mirages not the nike huaraches it cost 250 on up to put your foot inside this yall was wearing rocks that was my time to shine dont give me viesels yall thinkin this mcdonalds size i been flyiii from the crib to the riiiide fiftyfour inch screens 26 inches from the ceiling dude the plasma look like a projector up in da livin room homie this is the way i live lil boy still pushin big wheels i stack my money lay low and chill dont need to work hard thats the way i feel i feel i this is the way i live lil boy still pushin big wheels i stack my money lay low and chill dont need to work hard thats the way i feel i feel i this is the way i live ho this is the way i live ho this is the way i live ho this is the way i live ho this is the way i live ho this is the way i live i live i this is the way i she like it she like it she like it she like it oh na na na oh na na na oh na na na oh na na na groove to the jam groove to the jam groove to the jam groove to the groove to the ",3
54,"shortie like mine","bow wow featuring chris brown and johnt'a austin",2007," yall know what this isonly thing that keeps me up when im feelin down i dont know about you but i gotta keep mines around cause i done looked out and searched and its hard to find another shorty like mine baby yes im addicted to how we kick it everything you say to me never knew it could be so wicked hopin that you stay wit me search around the world but you will never find another shorty like mine shorty like mineyou got a girl but she aint nothin like mine cute face nice size like mine fake kitted hood wit it like mine mean walk talk the talk let me tell you some morei knew when i ran into this one she would be the redrum of my pimpin knew she would be the one to make me stop caring about other girls on my jock and gettin them she was the one to slow me down hold me down i roll wit her now go wit it now im a grow wit it now im a go get her now i got her dont be mad you cant get one holla broke the mold when they made lil mama i dont care what my niggas say she been there everyday for my drama some of the homies hate cause they want her wish they the ones thats datin my woman gon get a good look cause she fine and i dont mind cause she mineonly thing that keeps me up when im feelin down i dont know about you but i gotta keep mines around cause i done looked out and searched and its hard to find another shorty like mine baby yes im addicted to how we kick it everything you say to me never knew it could be so wicked hopin that you stay wit me search around the world but you will never find another shorty like mine shorty like mineyou got a girl but she aint nothin like mine cute face nice size like mine fake kitted hood wit it like mine mean walk talk the talk chris help me tell them was upall this love inside of me and all i wanna do is give it to her i dont care what the fellas say bout it cause i got somethin to say bout it what im about to say is straight up real talk no cut i dont play bout it there aint a price you can put on a girl who knows just what to say when you need to hear it the most and im a tell you somethin else if i dont know nothin else i knowonly thing that keeps me up when im feelin down i dont know about you but i gotta keep mines around cause i done looked out and searched and its hard to find another shorty like mine baby yes im addicted to how we kick it everything you say to me never knew it could be so wicked hopin that you stay wit me search around the world but you will never find another shorty like mine shorty like mineyou got a girl but she aint nothin like mine cute face nice size like mine fake kitted hood wit it like mine mean walk talk the talk let me tell you some morei wanna give her the world and i aint even tryin a lose her im addicted to my girl and the way that she works in that little skirt just for me in the club in the crib in the streets she reps for lbdubent she a nice size with the pretty brown bright eyes im a winner wit the right prize im a give it to her to the rhythm of a hihat she got a beautiful mind you cant buy that and the site from behind when she walk on by make a nigga wanna try that she got the prettiest smile and she gangsta keep me from runnin wild and i thank her and we can talk about anything she got good conversation my homie little friend and plus she patientonly thing that keeps me up when im feelin down i dont know about you but i gotta keep mines around cause i done looked out and searched and its hard to find another shorty like mine baby yes im addicted to how we kick it everything you say to me never knew it could be so wicked hopin that you stay wit me search around the world but you will never find another shorty like mine shorty like mineyou got a girl but she aint nothin like mine cute face nice size like mine fake kitted hood wit it like mine mean walk talk the talk chris help me tell them was uponly thing that keeps me up when im feelin down i dont know about you but i gotta keep mines around cause i done looked out and searched and its hard to find another shorty like mine baby yes im addicted to how we kick it everything you say to me never knew it could be so wicked hopin that you stay wit me search around the world but you will never find another shorty like mine shorty like mine ",1
55,"it ends tonight","the allamerican rejects",2007," your subtleties they strangle me i cant explain myself at all and all the wants and all the needs all i dont want to need at allthe walls start breathing my minds unweaving maybe its best you leave me alone a weight is lifted on this evening i give the final blowwhen darkness turns to light it ends tonight it ends tonighta falling star at least i fall alone i cant explain what you can explain youre finding things that you didnt know i look at you with such disdainthe walls start breathing my minds unweaving maybe its best you leave me alone a weight is lifted on this evening i give the final blowwhen darkness turns to light it ends tonight it ends tonight just a little insight wont make this right its too late to fight it ends tonight it ends tonightnow im on my own side its better than being on your sideits my fault when youre blind its better that i see it through your eyes all these thoughts locked inside now youre the first to knowwhen darkness turns to light it ends tonight it ends tonight just a little insight wont make this right its too late to fight it ends tonightit ends when darkness turns to light it ends tonight it ends tonight just a little insight wont make this right its too late to fight it ends tonight it ends tonighttonight inside when darkness turns to light it ends tonight ",1
56,"a bay bay","hurricane chris",2007," ay bay bayay ay bay bayay ay bay bayayay bay bayay ay bay bayay ay bay bayayay bay bayay ay bay bayay ay bay bayayay bay bayay ay bay bayay ay bay bayayyou wanna know wat we say in da club ay bay bay whites folks gangsta and them thugz ay bay bay stuntin wit a stack of dem dubz ay bay bay ridin in a lac wit a mug ay bay bay im in da club hollerin ay bay bay ay bay bay ay bay bay ay bay bay ay bay bay im in da club holerin ay bay bay ay bay bay ay bay bay ay bay bay ay bay bay im in da club hollerinwhen i holler ay bay bay i finna get my groove on its so hot up in da club dat i aint got no shoes on im holdin up a big stack of dem hundreds in a rubba band girl dont ask me for no cash cause im not dat other man everybody trippin cause im limpin when im walkin and im pimpin when im talkin i dont trick on chick dats talkin dem boyz in da back dey be rollinup dey doughdy and then dey blow it till dey chokin dats wat godly came outwhen i see a bad chick im hollerin outay bay bay i hope yall aint wit ya boyfriends cause i dont care what dey say and i dont care what he say or she say im in da dj booth takin pictures wit da djyou wanna know what we say when clubs get crunk what ay bay bay let it play dats my song turn it upyou wanna know what we say when clubs get crunk what ay bay bay let it play dats my song turn it upyou wanna know wat we say in da club ay bay bay whites folks gangsta and them thugz ay bay bay stuntin wit a stack of dem dubz ay bay bay ridin in a lac wit a mug ay bay bay im in da club hollerin ay bay bay ay bay bay ay bay bay ay bay bay ay bay bay im in da club holerin ay bay bay ay bay bay ay bay bay ay bay bay ay bay bay im in da club hollerinnow if you lookin for me baby you can find me bangin in da chevy candy painted swangin nine deep ten cars creep wit my people right behind me i showed dem my chain now she hollerin boy you blindin me i show my mouth piece to dem freaks now da eyein me oh you got a problem well i hope you aint tryin me throw the car in park then i reach under my seat hop out with my hand under my shirt dats where dat iron be yellow bone chirpin me she trying to see where ima be you gonna let me get up in your mouth well dats where ima be i dont pop trunk wit lights dats where dey choppa be straight to the hotel all da bad chick followin me i know you like my style i aint trippin im just tryin to see girl is you drunk well tell me why you leanin all on me and if you thinkin ima stunt you trippin i pull up in an expedition wit da roof missinyou wanna know wat we say in da club ay bay bay whites folks gangsta and them thugz ay bay bay stuntin wit a stack of dem dubz ay bay bay ridin in a lac wit a mug ay bay bay im in da club hollerin ay bay bay ay bay bay ay bay bay ay bay bay ay bay bay im in da club holerin ay bay bay ay bay bay ay bay bay ay bay bay ay bay bay im in da club hollerinim in da club hollerin ay bay bay let it play dats my song turn it up im in da club hot crunk sweatin burnin up im bouncin through the crowd buckin and hollerin whats up i done fell out on da dance floor and now i cant get up js on your feet but you cant get these louis vuitton brown white and yellow trick please ill go to stlouis let my chain hang low canary yellow diamonds mixed wit rose gold i shine real bright in da light because im a star eight shots of patrons now im standin on da bar probably get drunk as a skunk n put da keys in da wrong caryou wanna know wat we say in da club ay bay bay whites folks gangsta and them thugz ay bay bay stuntin wit a stack of dem dubz ay bay bay ridin in a lac wit a mug ay bay bay im in da club hollerin ay bay bay ay bay bay ay bay bay ay bay bay ay bay bay im in da club holerin ay bay bay ay bay bay ay bay bay ay bay bay ay bay bay im in da club hollerinay bay bay let it play ",1
57,"because of you","neyo",2007," ooo want to but i cant help it i love the way it feels this got me stuck between my fantasy and what is real i need it when i want it i want it when i dont tell myself ill stop everyday knowing that i wont i got a problem and i dont know what to do about it even if i did i dont know if i would quit but i doubt it im taken by the thought of itand i know this much is true baby you have become my addiction im so strung out on you i can barely move but i like itso then its all because of you all because of you so then its all because of you all because of you and its all because of you all because of you so then its all because never get enough shes the sweetest drugthink of it every second i cant get nothing done only concern is the next time im gon get me some know i should stay away from cause its no good for me i try and try but my obsession wont let me leavei got a problem and i dont know what to do about it ooo even if i did i dont know if i would quit but i doubt it im taken by the thought of itand i know this much is true baby you have become my addiction im so strung out on you strung out on you i can barely move ooo but i like it but i like itso then its all because of you all because of you so then its all because of you all because of you and its all because of you all because of you so then its all because never get enough never get enough shes the sweetest drugaint no doubt no doubt hey so strung out strung out hey aint no doubt so strung out hey over you over you you over you youbecause of you and its all because of you mmm never get enough shes the sweetest drug ",1
58,"i tried","bone thugsnharmony featuring akon",2007,NA,NA
59,"welcome to the black parade","my chemical romance",2007," when i was a young boy my father took me into the city to see a marching bandhe said son when you grow up will you be the savior of the broken the beaten and the damnedhe said will you defeat them your demons and all the nonbelievers the plans they have madebecause one day ill leave you a phantom to lead you in the summer to join the black paradesometimes i get the feeling shes watching over me and other times i feel like i should go through it all the rise and fall the bodies in the streets when youre gone we want you all to knowwell carry on well carry on though your dead and gone believe me your memory will carry on well carry on and in my heart i cant contain it the anthem wont explain itand we will send you reeling from decimated dreams your misery and hate will kill us all so paint it black and take it back lets shout it loud and clear do you fight it to the end we hear the call to to carry on well carry on though your dead and gone believe me your memory will carry on well carry on and though youre broken and defeated youre weary widow marches on and on we carry through the fears ooh oh ohdisappointed faces of your peers ooh oh take a look at me cause i could not care at all do or die youll never make me cause the world will never take my heart though you try youll never break me we want it all we wanna play this part wont explain or say im sorry im not ashamed im gonna show my scar give a cheer for all the broken listen here because its only im just a man im not a hero just a boy whos meant to sing this song just a man im not a hero i dont carecarry on well carry on though your dead and gone believe me your memory will carry on youll carry on and though youre broken and defeated youre wiry widow marches on well carry on well carry on ",1
60,"shawty","plies featuring tpain",2007," whats happenin homie dis the one plies man hey pain tell em bout your shawty and i tell them bout mineeven though im not your man you not my girl ima call you my shawty cause i cant stand to see you treated bad i beat his ass for my shawty and we aint did nothin that we aint supposed to do cause you my shawty baby girl you know i be home keep me on the ring tone shawty sing it to me girlsoon as i seen her shit told her id pay for it lil mama the baddest thing round here and she already know it i pointed at the donk and told her this supposed to be yours showed her a couple stacks and told her id let her blow it the hottest nigga in the city baby you cant ignore it i showed her i was a real nigga and she went for it first time i called  her shit she aint even know how to throw it back now she an animal i got her sex game right i taught her how to talk to me while she take pipe and opened her up and showed her what a real nigga like i told her i dont usually do this i dont fuck on the first night cause after i beat ya baby im liable to fuck up ya whole life i gotta train her now she suck me with ice i call her my lil bustie baby cause she keep it tight whenever i tell her to bust aint gotta tell her twice whenever i wanna get off she know how to get me righteven though im not your man you not my girl ima call you my shawty cause i cant stand to see you treated bad i beat his ass for my shawty and we aint did nothin that we aint supposed to do cause you my shawty baby girl you know i be home keep me on the ring tone shawty sing it to me girlwhoa wwwhoa whoa whoa whooooa whoa whoa whoa wwwhoa shawtyyyyy whoa wwwhoa whoa whoa whooooa whoa whoa whoa wwwhoa shawtyyyyyi love to show her off cause all the dope boys want her know why they wanna beat badly  look at all that ass on her look how that pussy sit up in them shorts you gotta want her love when she act like she bolegged and bend the corner  she proud to be fuckin me cause im stuntin on em it feel good to be fuckin a real nigga dontuh aint called her in two days gotta let her mind wonder but when she miss me she call to tell me to jump on her thats why i dont mind breakin her off cause she aint with the drama if you done ripped her before you know how to cuff lil mama you know she gotta be somethin cause i done beat her under   snatchin  im tellin ya i promise i exposed her to real and now she hate lame member she used to run from me now she like pain she call me sometimes just to ask is it her thing ever since i ran up in shawty she aint been the sameeven though im not your man you not my girl ima call you my shawty cause i cant stand to see you treated bad i beat his ass for my shawty and we aint did nothin that we aint supposed to do cause you my shawty baby girl you know i be home keep me on the ring tone shawty sing it to me girlwhoa wwwhoa whoa whoa whooooa whoa whoa whoa wwwhoa shawtyyyyy whoa wwwhoa whoa whoa whooooa whoa whoa whoa wwwhoa shawtyyyyy ",1
61,"chasing cars","snow patrol",2007," well do it all everything on our ownwe dont need anything or anyoneif i lay here if i just lay here would you lie with me and just forget the worldi dont quite know how to say how i feel    meaning  byamandah   editor    this was the first thing gary lightbody wrote that was a true love song its the purest love song that ive ever written theres no knifeintheback twist    see all   those three words are said too much theyre not enoughif i lay here if i just lay here would you lie with me and just forget the worldforget what were told before we get too old show me a garden thats bursting into lifelets waste time chasing cars around our headsi need your grace to remind me to find my ownif i lay here if i just lay here would you lie with me and just forget the worldforget what were told before we get too old show me a garden thats bursting into lifeall that i am all that i ever was is here in your perfect eyes theyre all i can seei dont know where confused about how as well just know that these things will never change for us at allif i lay here if i just lay here would you lie with me and just forget the world ",1
62,"beautiful liar","beyonce featuring shakira",2007,"ay ay   nobody likes being played ay oh beyonc̣ beyonc̣ oh shakira shakira   hey he said im worth it his one desire i know things about him that you wouldnt want to read about he kissed me hes a one and only beautiful liar   yes tell me how you tolerate the things i just found out about well never know why are we the ones who suffer i have to let go he wont be the one to cry ay lets not kill the karma ay lets not start a fight ay its not worth the drama for a beautiful liar oh cant we laugh about it   ha ha ha oh its not worth our time oh we can live without him just a beautiful liar i trusted him but when i followed you i saw you together i didnt know about you then til i saw you with him when yeah i walked in on your love scene slow dancing you stole everything how can you say i did you wrong well never know when the pain and heartbreaks over i have to let go the innocence is gone ay lets not kill the karma ay lets not start a fight ay its not worth the drama for a beautiful liar oh cant we laugh about it   ha ha ha oh its not worth our time oh we can live without him just a beautiful liar tell me how to forgive you when its me whos ashamed and i wish i could free you of the hurt and the pain but the answer is simple hes the one to blame hey ay beyonc̣ beyonc̣ ay shakira shakira oh beyonc̣ beyonc̣ oh shakira shakira   hey ay lets not kill the karma ay lets not start a fight ay its not worth the drama for a beautiful liar oh cant we laugh about it   ha ha ha oh its not worth our time oh we can live without him just a beautiful liar",3
63,"sexyback","justin timberlake",2007,"im bringin sexy back them other boys dont know how to act i think its special whats behind your back so turn around and ill pick up the slack take em to the bridge dirty babe you see these shackles baby im your slave ill let you whip me if i misbehave its just that no one makes me feel this way take em to the chorus come here girl go head be gone with it come to the back go head be gone with it v i p go head be gone with it drinks on me go head be gone with it let me see what ya tworkin with go head be gone with it look at those hips go head be gone with it you make me smile go head be gone with it come here child go head be gone with it and get your sexy on go head be gone with it get your sexy on go head be gone with it get your sexy on go head be gone with it get your sexy on go head be gone with it get your sexy on go head be gone with it get your sexy on go head be gone with it get your sexy on go head be gone with it get your sexy on im bringin sexy back them motherfuckers dont know how to act girl let me make up for the things you lack cause youre burnin up i gotta get it fast take em to the bridge dirty babe you see these shackles baby im your slave ill let you whip me if i misbehave its just that no one makes me feel this way take em to the chorus come here girl go head be gone with it come to the back go head be gone with it v i p go head be gone with it drinks on me go head be gone with it let me see what ya tworkin with go head be gone with it look at those hips go head be gone with it you make me smile go head be gone with it come here child go head be gone with it and get your sexy on go head be gone with it get your sexy on go head be gone with it get your sexy on go head be gone with it get your sexy on go head be gone with it get your sexy on go head be gone with it get your sexy on go head be gone with it get your sexy on go head be gone with it get your sexy on you ready you ready you ready yeah im bringin sexy back you motherfuckers watch how i attack if thats your girl better watch your back cause shell burning up for me for me and thats a fact take em to the chorus come here girl go head be gone with it come to the back go head be gone with it v i p go head be gone with it drinks on me go head be gone with it let me see what ya tworkin with go head be gone with it look at those hips go head be gone with it you make me smile go head be gone with it come here child go head be gone with it and get your sexy on go head be gone with it get your sexy on go head be gone with it get your sexy on go head be gone with it get your sexy on go head be gone with it get your sexy on go head be gone with it get your sexy on go head be gone with it get your sexy on go head be gone with it get your sexy on you ready yeah you ready yeah yeah",3
64,"keep holding on","avril lavigne",2007," youre not alone together we stand ill be by your side you know ill take your hand when it gets coldand it feels like the end theres no place to go you know i wont give in no i wont give inkeep holding on cause you know well make it through well make it through just stay strong cause you know im here for you im here for you theres nothing you could say nothing you could do theres no other way when it comes to the truth so keep holding on cause you know well make it through well make it throughso far away i wish you were here before its too late this could all disappearbefore the doors close and it comes to an end with you by my side i will fight and defend ill fight and defend yeah yeahkeep holding on cause you know well make it through well make it through just stay strong cause you know im here for you im here for you theres nothing you could say nothing you could do theres no other way when it comes to the truth so keep holding on cause you know well make it through well make it throughhear me when i say when i say i believe nothings gonna change nothings gonna change destiny whatevers meant to be will work out perfectly yeah yeah yeah yeahla da da da la da da da la da da da da da da da dakeep holding on cause you know well make it through well make it through just stay strong cause you know im here for you im here for you theres nothing you could say nothing you could do theres no other way when it comes to the truth so keep holding on cause you know well make it through well make it throughkeep holding onkeep holding ontheres nothing you could say nothing you could do theres no other way when it comes to the truth so keep holding on cause you know well make it through well make it through ",1
65,"let it go","keyshia cole featuring missy elliott and lil kim",2007," you need to get if he dont wanna love you the right way he aint gonna it aint where hes at its where he where he wanna behuh huh oh huh huh oh huh huh oh huh huhi dont want yo man cause i got it like that but it aint even gotta be like that eh he he he he yo man he be calling me back cause see im fine and a matter of fact eh he he he he he asked how i do that that fit my jeans over baby fat listen i dont know the type of tricks he playin but i should warn you i dont want ya mani understand why you wanna try make him stay home late at night but if wanna go hell be gone no lie i cant explain how many times i tried how many times i cried thinking about mine and where he might be remember when i gave everything i got couldnt get deep down inside how ya love someone who didnt love me but now i get if he dont wanna love you the right way he aint gonna it aint where hes at its where he where he wanna beif he aint gonna love you the way he should then let it go if he aint gonna treat you the way he should then let it goif he aint gonna love you the way he should then let it go if he aint gonna treat you the way he should then let it gowhen this song come on in the club they gon be like damn thats hot and when they play it in they car they gon drop they tops like damn thats hot they gon mix it wit biggie it was all a dream like damn thats hot me and keyshia wont stop til the tick dont tock like damn thats hotnow understand why i take my time cause you come wit alibis trying to get me to see thats where you trying to be but i dont want yo man your mans been calling me trying to get me to see that he wants me to be wit him but he aint the one for me and if you only knew you would do what you had to finally see that you need to get if he dont wanna love you the right way he aint gonna it aint where hes at its where he where he wanna beheres a little lesson lil kim dont stress em kick em all straight to the curb like beckham broke up wit my ex he wit her for now but little do she know she just a rebound callin my phone she so outta pocket i been there before old girl you need to stop it when hes wit you hes wishin it was me you might be where hes at but im where he wanna be baby babyif he aint gonna love you the way he should then let it go if he aint gonna treat you the way he should then let it goif he aint gonna love you the way he should then let it go if he aint gonna treat you the way he should then let it gowhen this song come on in the club they gon be like damn thats hot and when they play it in they car they gon drop they tops like damn thats hot they gon mix it wit biggie it was all a dream like damn thats hot me and keyshia wont stop til the tick dont tock like damn thats hot ",1
66,"apologize","timbaland featuring onerepublic",2007," im holding on your rope got me ten feet off the ground and im hearing what you say but i just cant make a sound you tell me that you need me then you go and cut me down but wait you tell me that youre sorry didnt think id turn around and saythat its too late to apologize its too late i said its too late to apologize its too lateid take another chance take a fall take a shot for you and i need you like a heart needs a beat but its nothing new yeah yeah i loved you with a fire red now its turning blue and you say sorry like the angel heaven let me think was you but im afraidits too late to apologize its too late i said its too late to apologize its too late whoa ",1
67,"bubbly","colbie caillat",2007," will you count me inive been awake for a while now youve got me feelin like a child now cause every time i see your bubbly face i get the tingles in a silly placeit starts in my toes and i crinkle my nose where ever it goes i always know that you make me smile please stay for a while now just take your time wherever you gothe rain is fallin on my window pane but we are hidin in a safer place under covers stayin dry and warm you give me feelings that i adoreit starts in my toes make me crinkle my nose wherever it goes i always know that you make me smile please stay for a while now just take your time wherever you gobut what am i gonna say when you make me feel this way i just mmmand it starts in my toes makes me crinkle my nose wherever it goes i always know that you make me smile please stay for a while now just take your time wherever you goive been asleep for a while now you tucked me in just like a child now cause every time you hold me in your arms im comfortable enough to feel your warmthit starts in my soul and i lose all control when you kiss my nose the feelin shows cause you make me smile baby just take your time now holdin me tightwherever wherever wherever you go wherever wherever wherever you go wherever you go i always know cause you make me smile even just for a while ",1
68,"like a boy","ciara",2007," pull up your pants just like em take out the trash just like em gettin your cash like em fast like em girl you wanna act like he did im talkin bout security codes on everything on vibrate so your phone dont ever ring joint account and another one he dont know about heywish we could switch up the roles and i could be that tell you i love you but when you call i never get back would you ask them questions like me like where you be at cause im out four in the morning on the corner rolling doing my own thingwhat if i had a thing on the side made you cry would the rules change up or would they still apply if i played you like a toy sometimes i wish i could act like a boycant be getting mad what you mad cant handle thatcant be getting mad what you mad cant handle thatgirl go ahead and be just like em go run the streets just like em go home missin sleep like em creep like em front wit your friends act hard when you wit em like em keep a straight face when you tell a lie always keep an airtight alibi keep it hid in the dark what he dont know wont break his heart heywish we could switch up the roles and i could be that tell you i love you but when you call i never get back would you ask them questions like me like where you be at cause im out four in the morning on the corner rolling doing my own thingwhat if i had a thing on the side made you cry would the rules change up or would they still apply if i played you like a toy sometimes i wish i could act like a boycant be getting mad what you mad cant handle thatcant be getting mad what you mad cant handle thatcant be getting mad what you mad cant handle thatcant be getting mad what you mad cant handle thatif i was always gone let the sun beat me home would you like that i told you i was with my crew when i knew it wasnt true if i act like you walked a mile off in your shoes would you like that messing with your head again dose of your own medicinewhat if i had a thing on the side made you cry would the rules change up or would they still apply if i played you like a toy sometimes i wish i could act like a boycant be getting mad what you mad cant handle thatcant be getting mad what you mad cant handle thatcant be getting mad what you mad cant handle thatcant be getting mad what you mad cant handle thatra go heres the clutchif i paged you would you like that had friends would you like that never call would you like that no no you wouldnt like that nowhat if i made you cry would they still apply what if i if i played you like a toy sometimes i wish i could act like a boy ",1
69,"who knew","pink",2007," you took my hand you showed me how you promised me youd be around uh huh thats right i took your words and i believed in everything you said to me yeah huh thats rightif someone said three years from now youd be long gone id stand up and punch them out cause theyre all wrong i know better cause you said forever and ever who knewremember when we were such fools and so convinced and just too cool oh no no no i wish i could touch you again i wish i could still call you friend id give anythingwhen someone said count your blessings now fore theyre long gone i guess i just didnt know how i was all wrong they knew better still you said forever and ever who knewyeah yeah ill keep you locked in my head until we meet again until we until we meet again and i wont forget you my friend what happenedif someone said three years from now youd be long gone id stand up and punch them out cause theyre all wrong and that last kiss ill cherish until we meet again and time makes it harder i wish i could remember but i keep your memory you visit me in my sleep my darling who knewmy darling my darling who knew my darling i miss you my darling who knewwho knew ",1
70,"never again","kelly clarkson",2007," i hope the ring you gave to her turns her finger green i hope when youre in bed with her you think of me i would never wish bad things but i dont wish you well could you tell by the flames that burned your words i never read your letter cause i knew what youd say give me that sunday school answer try make it all okdoes it hurt to know ill never be there but it sucks to see my face everywhere it was you who chose to end it like you did i was the last to know you knew exactly what you would do and dont say you simply lost your way she may believe you but i never will never againif she really knows the truth she deserves you a trophy wife oh how cute ignorance is bliss but when your day comes and hes through with you and hell be through with you youll die together but alone you wrote me in a letter you couldnt say it right to my face well give me that sunday school answer repent yourself awaydoes it hurt to know ill never be there but it sucks to see my face everywhere it was you who chose to end it like you did i was the last to know you knew exactly what you would do and dont say you simply lost your way she may believe you but i never will never againnever again will i hear you never again will i miss you never again will i fall to you never never again will i kiss you never again will i want to never again will i love you neverdoes it hurt to know ill never be there but it sucks to see my face everywhere it was you who chose to end it like you did i was the last to know you knew exactly what you would do and dont say you simply lost your way they may believe you but i never will i never will i never will never again ",1
71,"promise","ciara",2007," come enjoy the life baby take a ride i just wanna find you you baby you and i can have a good time tell me what you like ooh oohnow listen ive been single for a while now and i been kinda lonely ive been looking for somebody to talk to love me someone who can hold me is that youim looking for somebody i can call boo looking for the only one that i can give my all to tell me if its you you you what you wanna do do do make ya moveyou can be my teacher ill do homework you can give me extra credit baby ill do more work what you wanna do do do now its me and you you you the mood isthe mood is so right how it feels so right you can be my prince my knight you can be my superman save me here i amcause baby theres nothing i wont do to spend my life with you ill give my all to you i promise that i will never lie to you boytheres nothing i wont do to spend my life with you ill give my all to you i promise that i will never lie to you boyyou and me together picture perfect ill spend all my money all the time because youre worth it its just me and you you you what you wanna do do do make ya movecall me momma spoil you like a baby thinking bout you dreaming bout you got me goin crazy what you wanna do do do now its me and you you you the mood isthe mood is so right how it feels so right you can be my prince my knight you can be my superman save me here i ambaby theres nothing i wont do to spend my life with you ill give my all to you i promise that i will never lie to you boytheres nothing i wont do to spend my life with you ill give my all to you i promise that i will never lie to you boyoh i mean everything that i say from the bottom of my heart i would never never ever hurt you ill open my heartopen my heart give it to you tell the whole world that im in love with you whatever you want baby ill do i know i dont want nobody else but youtheres nothing i wont do to spend my life with you ill give my all to you i promise that i will never lie to you boytheres nothing i wont do to spend my life with you ill give my all to you i will give my all to you my baby boo my love is true oh i promise that i will never lie to you boycome on boy and join me ill be waitin waitin waitin for you you can be my homie ill be waitin waitin waitin for you baby come and hold me ill be waitin waitin waitin for you lookin for my one and only you can be my one and only ",1
72,"bed","j holiday",2007," j holiday aye aye aye aye aye aye aye aye aye aye aye aye aye aye ayegirl change into that victoria secret thing that i like alright okay tonight your having me your way perfume spray it there put our love in the air now put me right next to you fittin to raise the temp in the room first rub my back like you do right there uhuh right there uh you touch me like you care now stop and let me repay you for the week that youve been through working that 95 and staying cute like you do oh oh ohi love it i love it you love it you love it every time every time we touchin we touchin i want it i want it you want it you want it ill see you see you in the morning in the morningi wanna put my fingers through your hair wrap me up in your legs and love you till your eyes roll back im tryin to put you to bed bed bed imma put you to bed bed bed then ima rock your body turn you over love is war im your soldier touching you like its our first time im a put you to bed bed bed im a put you to bed bed bedim staring at you while you sleep you replaced it for beauty put my face up in your neck and breathe aw breathe take you into my senses wake up its time to finish round two its round two matter of fact its closer to threeshe like how long i been sleep shorty kisses turn into the sweetest dreams like give it to me and i can feel her tell me my angel this is wonderful thanks for letting me bless you come down fly right drift back into heaven oh oh oh ohi love it i love it you love it you love it every time every time we touchin we touchin i want it i want it you want it you want it ill see you see you in the morning in the morningi wanna put my fingers through your hair wrap me up in your legs and love you till your eyes roll back im tryin to put you to bed bed bed imma put you to bed bed bed then ima rock your body turn you over love is war im your soldier touching you like its our first time im a put you to bed bed bed im a put you to bed bed bedwatch the sunlight peak over the horizons ouou ouou ouou ouou the sun aint the only thing thats shining ouou ouou ouou ouou now ima send you out into the world with my love tell everybody aye everybody aye aye aye aye aye aye aye aye aye aye aye aye aye ayei wanna put my fingers through your hair wrap me up in your legs and love you till your eyes roll back im tryin to put you to bed bed bed imma put you to bed bed bed then ima rock your body turn you over love is war im your soldier touching you like its our first time im a put you to bed bed bed im a put you to bed bed bedwatch the sunlight peak over the horizons ouou ouou ouou ouou the sun aint the only thing thats shining ouou ouou ouou ouou now ima send you out into the world with my love tell everybody aye everybody aye aye aye aye aye aye aye aye aye aye aye aye aye aye ",1
73,"throw some ds","rich boy featuring polow da don",2007," zone 4 get money new money its what you been waiting onrich boy sellin crack dope niggas wanna jack shit tight no slack just bought a cadillac throw some ds on that bitch just bought a cadillac throw some ds on that bitch just bought a cadillacrich boy sellin crack dope niggas wanna jack shit tight no slack just bought a cadillac throw some ds on that bitch just bought a cadillac throw some ds on that bitch just bought a cadillacrich boy sellin crack fuck niggas wanna jack shit tight no slack just bought a cadillac took it to the chop shop got the damn top dropped two colored flip flopped candy red lollipop theres hoes in the parking lot but i still got my glock cocked new money motherfucker dont you see the big knot dont you see the big chain dont you see the big rims wonder who they hatin on lately baby its him candy paint gator skin seats call me dun dee pope in your hood im the one that you wanna be haters wish they could feel the wood in my 83 ridin with no tint so the motherfuckers know its merich boy sellin crack dope niggas wanna jack shit tight no slack just bought a cadillac throw some ds on that bitch just bought a cadillac throw some ds on that bitch just bought a cadillacrich boy sellin crack dope niggas wanna jack shit tight no slack just bought a cadillac throw some ds on that bitch just bought a cadillac throw some ds on that bitch just bought a cadillaci never slip i never fall a lot of hoes give me they numbers but i never call a real og look at vip and see a nigga ball then after we hit the club baby then im gonna hit them draws im gonna break you off and thats all every freak should have a picture of my dick on they wall polow be the shit zone 4 be the click yeah this for my dawgs yeah gangsters hustlers wanksters busters wait a minute motherfuckerrich boy sellin crack dope niggas wanna jack shit tight no slack just bought a cadillac throw some ds on that bitch just bought a cadillac throw some ds on that bitch just bought a cadillacrich boy sellin crack dope niggas wanna jack shit tight no slack just bought a cadillac throw some ds on that bitch just bought a cadillac throw some ds on that bitch just bought a cadillachit the block on some new 10 thousand dollar wheels cant explain how i feel toucha gator on my wheel got peanut butter ice cream petter pan seats just gotta fresh cut now we looking for them freaks take a bad yella bitch make her drop them draws ima show you how to ball middle finger to the law so fuck them niggas tell em what they wanna do hating on a player cause my lac skated 22s when i pull up imma park right at the front door lean in my cup got purp in my blunt imma real pimp bitch i aint playin like a trick just bought a new lac bout to put them thangs on that bitch ",1
74,"rehab","amy winehouse",2007," they tried to make me go to rehab i said no no no yes i been black but when i come back youll know know know i aint got the time and if my daddy thinks im fine hes tried to make me go to rehab i wont go go goid rather be at home with a ray i aint got seventy days cause theres nothing theres nothing you can teach me that i cant learn from mr hathawayi didnt get a lot in class but i know we dont come in a shot glassthey tried to make me go to rehab i said no no no yes i been black but when i come back youll know know know i aint got the time and if my daddy thinks im fine hes tried to make me go to rehab i wont go go gothe man said why do you think you here i said i got no idea im gonna im gonna lose my baby so i always keep a bottle near he said i just think youre depressed this me yeah baby and the restthey tried to make me go to rehab but i said no no no yes i been black but when i come back youll know know knowi dont ever want to drink again i just oh i just need a friend im not gonna spend ten weeks have everyone think im on the mendand its not just my pride its just till these tears have driedthey tried to make me go to rehab i said no no no yes i been black but when i come back youll know know know i aint got the time and if my daddy thinks im fine hes tried to make me go to rehab i wont go go go ",1
75,"big shit poppin do it","ti",2007,NA,NA
76,"no one","alicia keys",2007," i just want you close where you can stay forever you can be sure that it will only get betteryou and me together through the days and nights i dont worry cause everythings going to be alright people keep talking they can say what they like but all i know is everythings going to be alrightno one no one no one can get in the way of what im feeling no one no one no one can get in the way of what i feel for you you you can get in the way of what i feel for youwhen the rain is pouring down and my heart is hurting you will always be around this i know for certain you and me together through the days and nightsi dont worry cause everythings going to be alright people keep talking they can say what they like but all i know is everythings going to be alrightno one no one no one can get in the way of what im feeling no one no one no one can get in the way of what i feel for you you you can get in the way of what i feel for youi know some people search the world to find something like what we have i know people will try try to divide something so real so til the end of time im telling you there is no oneno one no one no one can get in the way of what im feeling no one no one no one can get in the way of what i feel for you you youoh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh ",1
77,"the great escape","boys like girls",2007," paper bags and plastic hearts all our belongings in shopping carts its goodbye but we got one more night lets get drunk and drive around and make peace with an empty town we can make it rightthrow it away forget yesterday well make the great escape we wont hear a word they say they dont know us anyway watch it burn let it die cause we are finally free tonighttonight will change our lives its so good to be by your side but well cry we wont give up the fight well scream loud at the top of our lungs and theyll think its just cause were young and well feel so alivethrow it away forget yesterday well make the great escape we wont hear a word they say they dont know us anyway watch it burn let it die cause we are finally free tonightall of the wasted time the hours that were left behind the answers that well never find they dont mean a thing tonightthrow it away forget yesterday well make the great escape we wont hear a word they say they dont know us anywaythrow it away forget yesterday well make the great escape we wont hear a word they say they dont know us anywaythrow it away forget yesterday well make the great escape we wont hear a word they say they dont know us anyway watch it burn let it die cause we are finally free tonight ",1
78,"2 step","unk",2007," four three two two a two step a two step now go on and two step now go on and two step now go on and two step now go on and two step now get jiggy wit it now get jiggy wit it now get jiggy wit it now get jiggy wit it now go on and two step watch me two step now can you two step like i two step watch me get jiggy wit it watch me get jiggy wit it watch me get jiggy wit it watch me get jiggy wit it go on and two stepi hit the club fresh my stunna shades on two steppin getting jiggy wit my js on dont get yo steps wrong dont try to bite mine two steppin yeah im back unk one mo time see we goin form a line and we goin step it right now step it to the left girl you know you dynamite now have some good times i see you got it right beat my wrist ice colder than a bud light now im a take my time where the gangstas at and you can still post the wall nigga holla back grey goose and yak blunt filled wit kush im getting jiggy wit it smokin on that george bush stepfour three two two a two step a two step now go on and two step now go on and two step now go on and two step now go on and two step now get jiggy wit it now get jiggy wit it now get jiggy wit it now get jiggy wit it now go on and two step watch me two step now can you two step like i two step watch me get jiggy wit it watch me get jiggy wit it watch me get jiggy wit it watch me get jiggy wit it go on and two steptake two steps to the left now take two steps to the right now bring it back bring it back hey i made yall walk it out everybody two steppin now we finna turn it out now here we go again you already slow if you aint two steppin get your shit and hit the do im shootin at ya toes like a western i see you baby girl sweating out your lil perm they call me big worm where my money at two steppin wit my stacks bitch holla back the oc is back yall besta deal wit it and dont be steppin on my shoes when i get jiggy wit it ",1
79,"walk away remember me","paula deanda featuring the dey",2007," im gonna remember you youre gonna remember me im gonna remember you youre gonna remember me im gonna remember you youre gonna remember me yeah im gonna remember you youre gonna remember mei saw you with your new girl just yesterday and i feel that i must confess even though it kills me to have to say ill admit that i was impressed physically just short of perfection gotta commend you on your selection though i know i shouldnt be concerned in the back of my mind i cant help but questiondoes she rub your feet when youve had a long day and scratch your scalp when you take out your braids does she know you like to play ps2 till six in the morning like i doi cant explain this feeling yeah i think about it everyday and even though weve moved on uh huh it gets so hard to walk away im gonna remember you youre gonna remember me walk away forever you will live in my memory walk away im gonna remember you youre gonna remember me walk away i cant forget how we used to beour life from day to day hopin maybe youll come back and though i tell myself not to be afraid to move on but it seems i cant though a new man has given me attention it aint the same as your affection but i know i should be content in the back of my mind i cant help but questiondoes he kiss me on the forehead before we play show up on my doorstep with a bouquet does he call me in the middle of the day just to say baby i love you like you used toi cant explain this feeling i cant explain yeah i think about it everyday everyday and even though weve moved on moved on uh huh it gets so hard to walk away im gonna remember you youre gonna remember me walk away forever you will live in my memory walk away walk away im gonna remember you youre gonna remember me walk away i cant forget how we used to beim gonna remember you youre gonna remember me the things we did the way we shared our fantasies just you and me my friend my love my family how did we lose the love that was meant to be sometimes i kiss her and wish that it was you that im kissin sometimes i miss him and wish that it was you that im missin sometimes i hug her and wish that it was you that im huggin and i realized how much im buggin i miss youso how do i express this feeling cause nobody compares to you and you know that shell never love you like i doyeah i cant explain this feeling uh huh i think about it everyday everyday yeah and even though weve moved on yeah it gets so hard to walk away im gonna remember you youre gonna remember me walk away walk away walk away walk away walk away im gonna remember you youre gonna remember me walk away i cant forget how we used to bei cant explain this feeling i think about it everyday everyday and even though weve moved on yeah it gets so hard to walk away im gonna remember you youre gonna remember me walk away walk away walk away im gonna remember you youre gonna remember me walk awayim gonna remember you youre gonna remember me im gonna remember you youre gonna remember me ",1
80,"go getta","young jeezy featuring r kelly",2007," you know we trap all day play all night this is the life of a the life of a go getta eh go getta eh go getta yeah and in the club you see a bad bitch point her out oh yeah you damn right im a eh you damn right im a go getta eh go getta eh go getta yeahin the immediate state they callin me will smith thing on my side you can call that jada the boys talkin down yeah we call em hatas im ballin right now so well get back to that later be the first to admit im such an alcoholic only blow that good shit yeah that whatchamacallit catch me posted on the block in something exotic 07 yeah same color hypnotic im on the outside lookin and i want in my homie did the same thing and he got ten just took a loss still tryin two win and you tryin to get back so what you tryin to spendyou know we trap all day play all night this is the life of a the life of a go getta eh go getta eh go getta yeah and in the club you see a bad bitch point her out oh yeah you damn right im a eh you damn right im a go getta eh go getta eh go getta yeahwe live life on the edge like theres no tomorrow yeah they grind hard like theres no today they do the same shit like its yesterday the game never stop so whos next to play against all odds you can place your bets yeah im just gettin started so i aint done yet naw risk it all you can lose your life what else can i say thats a hell of a price damn i dont under cause i overstand no time for mistakes so i overplan im in the club like what fourfive wit me and im a stay thuggin till the feds come get meyou know we trap all day play all night this is the life of a the life of a go getta eh go getta eh go getta yeah and in the club you see a bad bitch point her out oh yeah you damn right im a eh you damn right im a go getta eh go getta eh go getta yeahhey hey this is how we play when we roll up to the club high sittin on twenty treys hop out like we fabulous top models grabbin us they love them go gettas only in america put d on chicks like wallace turn em throw em down thinkin they can have all this cant deny it when you see the wheels spinnin boy kells out the coupe in miami white linen chips big spendin walk out the club with a shit load a women soon as i see one i like im a go getta im a get it cause im a go gettayou know we trap all day play all night this is the life of a the life of a go getta eh go getta eh go getta yeah and in the club you see a bad bitch point her out oh yeah you damn right im a eh you damn right im a go getta eh go getta eh go getta yeah ",1
81,"here in your arms","hellogoodbye",2007," i like where we are when we drive in your car i like where we are herecause our lips can touch and our cheeks can brush our lips can touch herewell you are the one the one that lies close to me whispers hello i miss you quite terribly i fell in love in love with you suddenly now theres no place else i could be but here in your armsi like where you sleep when you sleep next to me i like where you sleep hereour lips can touch and our cheeks can brush our lips can touch herewell you are the one the one that lies close to me whispers hello i miss you quite terribly i fell in love in love with you suddenly now theres no place else i could be but here in your armsour lips can touchour lips can touch herewell you are the one the one that lies close to me whispers hello i miss you quite terribly i fell in love in love with you suddenly now theres no place else i could be but here in your armswell you are the one the one that lies close to me whispers hello i miss you quite terribly i fell in love in love with you suddenly now theres no place else i could be but here in your armshere in your arms here in your arms ",1
82,"on the hotline","pretty ricky",2007," whoa whoa whoa whoa whoa say pretty ricky ricky ricky say pretty ricky ricky ricky whoa whoa whoa whoa whoa say pretty ricky ricky ricky say pretty ricky ricky rickyits five in the morning and im up havin phone sex wit you you so horny and now im on the hotline over here lustin for you you so horny lets talk about sex baby lets talk about you and me lets talk about bubbles in the tub lets talk about makin love lets talk about you on top or me goin down lets have a lil phone sex baby on the hotlineon the hotline the sun aint up but i had to call you cause im home alone lustin for ya im in my room nothin but a towel on take them granny panties off put a thong on i love it when i hear you moan you got a sexy tone that makes the dick long youre in a complete nother city on the fan line with nothin but a baby tee on youre the kind of girl thats sexy in some boxer shorts im the kind of nigga that make you ride it like a porsche yeah i met you on myspace now im bout to fly you out to my place in the morningits five in the morning and im up havin phone sex wit you you so horny and now im on the hotline over here lustin for you you so horny lets talk about sex baby lets talk about you and me lets talk about bubbles in the tub lets talk about makin love lets talk about you on top or me goin down lets have a lil phone sex baby on the hotlineits 530 in the mornin good mornin im horny im horny im lonely im lonely im touchin and rubbin call me call me youre comin youre comin called you seven times baby girl dont stall me i wanna kiss you from yo temple to yo feet to the dimples in your cheek to the middle of your gstring conversation underneath the sheets you know me red bull like a energy im a freakbaby girl said she loves phone sex say the sound of my deep voice make her wet you call me 5 am on the dot now im thinkin bout you with no panties no top picture this you say youre comin over 30 minutes later you was parkin the rover jumped out the car and i met you at the door 3 seconds in the house and your panties on the floor kiss you in you mouth and your hips on my cheeks straight action on the carpet rug burns on my knees now youre on the phone like damn i made a mess got my hands in my pants man i love phone sexits five in the morning and im up havin phone sex wit you you so horny and now im on the hotline over here lustin for you you so horny lets talk about sex baby lets talk about you and me lets talk about bubbles in the tub lets talk about makin love lets talk about you on top or me goin down lets have a lil phone sex baby on the hotlinewhoa whoa whoa whoa whoa say pretty ricky ricky ricky say pretty ricky ricky ricky whoa whoa whoa whoa whoa say pretty ricky ricky ricky say pretty ricky ricky ricky ",1
83,"wind it up","gwen stefani",2007," high on the hill with the lonely goatherd layee odelayee odelay heehoo yodel back with the girl and goatherd layee odelayee odelohwind it up wind it up wind it up yodelay yodelay yodeloh yeahthis is the key that makes us wind up when the beat comes on the girls all line up and the boys all look but no they cant touch but the girls want to know why boys like us so muchthey like the way we dance they like the way we work they like the way the lamb is going cross my shirt they like the way my pants it compliments my shape shes crazy right they like the way we react every time we hear theevery time the bass bang realize it calls your name let the beat wind you up and dont stop till your time is up get in line nowwind it up wind it up come on wind it up yodelay yodelay yodelohyou got to let the beat get under your skin you got to open up and let it all in but see once it gets in the popping begins then youll find out why all the boys staresee theyre trying to bite our style trying to study our approach they like the way we do it so original i guess that they are slow so they should leave the room this beat is for the clubs and cars that goevery time the bass bang realize it calls your name let the beat wind you up and dont stop till your time is up get in line nowwind it up whenever youre ready wind it up wind it up wind it up yodelay yodelay yodelohuh huh this is your moment uh huh come on girl you know you own it uh huh you know your key is still tick tockin hell yeah but you know theyre watchinget it girl get it get it girl get it girl get it get it girl to the front to the side to the back but dont let him ridekeep goin girl its your night dont let him steal your light i know he thinks youre fine and stuff but does he know how to wind you up come onwind it up wind it up wind it up wind it up yodelay yodelay yodelay hey ",1
84,"cyclone","baby bash featuring tpain",2007," oh oh oh its fud a dud a nineshe moves her body like a cyclone and she makes me want to do it all night long going hard when they turn the spotlights on because she moves her body like a cyclone just like a cyclone she moves her body like a cyclone and she makes me want to do it all night long going hard when they turn the spotlights on because she moves her body like a cyclone a mighty cyclonei look at that double on the back a that bumper she aint even playing when shes shaking that rumpa and oh you aint know she gets lower than a muffla even wit her girl friends show stopping with a hustler the way she move her body she might see the maserati she wanna put it on me trying to show me her tsunami she make it hard to copy always tight and never sloppy and got an entourage and her own paparazzi now there she go again riding through the stormy weather you better button up if you wanna go getta cause it is what it is and everybody wanna love her but when she pop it boy you better run for covershe moves her body like a cyclone and she makes me want to do it all night long going hard when they turn the spotlights on because she moves her body like a cyclone just like a cyclone she moves her body like a cyclone and she makes me want to do it all night long going hard when they turn the spotlights on because she moves her body like a cyclone a mighty cycloneits a wrap when she breaks them boys of a tycoon its a wrap better get that fatty like a boss tycoon its a wrap now hold it steady cause she make a monsoon its a wrap now you can google download the itunes she what im saying she aint playing and she got them heads turning you gonna her it clackclack when them heals get to burning clackclack stiletto so fuego she got her own label and got us all doing the tornadoshe moves her body like a cyclone and she makes me want to do it all night long going hard when they turn the spotlights on because she moves her body like a cyclone just like a cyclone she moves her body like a cyclone and she makes me want to do it all night long going hard when they turn the spotlights on because she moves her body like a cyclone a mighty cycloneshortie got looks and shortie got class shortie got hips and shortie got ass plus she hit the stage she drop it down low like rew rew rew rew rew rew rew rew ah this is crazy its amazing she must be the weather lady she be looking like rew rew rew rew rew rew rew rewshe moves her body like a cyclone and she makes me want to do it all night long going hard when they turn the spotlights on because she moves her body like a cyclone just like a cyclone she moves her body like a cyclone and she makes me want to do it all night long going hard when they turn the spotlights on because she moves her body like a cyclone a mighty cyclonerew rew rew rew rew rew rew rew rew rew rew rew rew rew rew ",1
85,"break it off","rihanna featuring sean paul",2007," breaking it off and setting it off in the real way making the girls them chill their mind feel fine making them have a good time yeah man s peezy yo long side ri ri come down now rihanna take it to them take it to them girlbreak it off boy this has got me feeling naughty i wanna know boy if i can be your shorty most definitely set it off boy make me hot all over my body break it off take it off no miss take it off break it off tonight yo break it off boy this has got me feeling naughty i wanna know boy if i can be your shorty yo yo set it off boy make me hot all over my body yeah yeah break it off tonight yo yostruggle and pain wha she fell all de while and she want a good man to give her de style wild child so she dere pon me file its a long time now me wha plow plow de sile meh car run run like de nile and de most energy meh whan gi her tonight give her tonight gan make she feel right make she fly like a kite that reach a new height ah we give it to de gyal dem make dem reel up and bawl and make dem start call anytime she want it back she ha fi call dutty paul admittin it on de spot i know de real sean paul when de traits so great cause she feelin top up and tall wat de ting saybreak it off boy this has got me feeling naughty immediate if not before i wanna know boy if i can be your shorty boom ba set it off boy make me hot all over my body break it off take it off no miss take it off break it off tonight yo break it off boy this has got me feeling naughty i wanna know boy if i can be your shorty yo yo set it off boy make me hot all over my body yeah yeah yo yo yagga yo break it off tonight ri ri s peezy yo yono doubt gyal you shoulda know sp and a scout naughty sweat so shout make ya bawl out shout make ya holla me gah give affection in your direction we go all out gyal just follow we if ya love energy if ya whan pedigree cruise like penelope make a see yuh just bounce wit de dutty we keep givin you de q to de u to de a yea to de l to de i to de t to de y girl i got to try try take yuh booty make you reach to de sky woman i got to say say da way you move is makin me high girl cuh yuh know say yuh s to de e to de x to de y boom ba boom babreak it off boy cuz you got me feeling naughty let me know boy if i can be your shorty sexyness set it off boy make me hot all over my body yo yagga yo no doubt break it off tonight yo ri ri break it off boy this has got me feeling naughty i wanna know boy if i can be your shorty blaze up on no rain no stressy set it off boy make me hot all over my body break it off tonight yeah yo yo yoboy uh huh the way you push up on me i whan get da roughest wine i dun know ya like ay yo ay yo fuh sho we gonna break it off tonight yoga macchugga uh oo boy we really shouldnt waste no time sing it come let me back up on ya dance halls tight bring it and im hopin baby you dont mind cause i really wanna break it off tonight instantaneousbreak it off boy cuz you got me feeling naughty hey let me know boy if i can be your shorty set it off boy make me hot all over my body baby girl break it off tonight yo baby girl yo give it up give it up sen on break it off boy cuz you got me feeling naughty yo let me know boy if i can be your shorty set it off boy make me hot all over my body break it off tonight ",1
86,"first time","lifehouse",2007," were both looking for something weve been afraid to find its easier to be broken its easier to hidelooking at you holding my breath for once in my life im scared to death im taking a chance letting you insideim feeling alive all over again as deep as the sky under my skin like being in love she said for the first time maybe im wrong im feeling right wherever i belong with you tonight like being in love to feel for the first timethe world that i see inside you waiting to come to life waking me up to dreaming reality in your eyeslooking at you holding my breath for once in my life im scared to death im taking a chance letting you insideim feeling alive all over again as deep as the sky under my skin like being in love she said for the first time maybe im wrong im feeling right wherever i belong with you tonight like being in love to feel for the first timewere crashing into the unknown were lost in this but it feels like homeim feeling alive all over again as deep as the sky under my skin like being in love she said for the first time maybe im wrong im feeling right wherever i belong with you tonight like being in love to feel for the first timelike being in love she said for the first time like being in love to feel for the first time ",1
87,"ayo technology","50 cent featuring justin timberlake and timbaland",2007," something special unforgettable 50 cent cent justin tin timbaland land god damn damnshe she she want it i want to give it to her she know that its right here for her i want to see you break it down im ballin throwin money aroundshe work it girl she work the pole she break it down she take it low she fine as hell she about the dough she doing her thing out on the floor her money money she makin makin look at the way she shakin shakin make you want to touch it make you want to taste it have you lustin for her go crazy face it now dont stop get it get it the way she shakin make you want to hit it think she double jointed from the way she splitted got youre head fucked up from the way she did it shes so much more than youre used to she knows just how to move to seduce you she gone do the right thing and touch the right spot dance in youre lap till youre ready to popshe always ready when you want it she want it like a nympho the info i show you where to meet her on the late night till daylight the club jumpin if you want a good time she gone give you what you wantbaby this a new age you like my new craze lets get together maybe we can start a new phase the smokes got the club all hazy spotlights dont do you justice baby why dont you come over here you got me sayingayo im tired of using technology why dont you sit down on top of me ayo im tired of using technology i need you right in front of meooh she wants it uh uh she wants it ooh she wants it uh uh so i got to give it to her ooh she wants it uh uh she wants it ooh she wants it uh uh so i got to give it to heryour hips your thighs you got me hypnotized let me tell you your hips your thighs you got me hypnotized let me tell you your hips your thighs you got me hypnotized let me tell you your hips your thighs you got me hypnotized let me tell yougot a thing for that thing she got the way she make it shake the way she make it pop make it rain for us so she dont stop i aint got to move i can sit and watch in her fantasy theres plain to see just how it be on me backstrokin sweat soaking all into my set sheets when she ready to ride im ready to roll ill be in this bitch till the club close what should i do one thing on all fours now that that shit should be against the law from side to side let the ride break it down down down you know i like when you hike and you throw it all around different style different move damn i like the way you move girl you got me thinking about all the things i do to you lets get it poppin shorty we can switch positions from the couch to the counters in my kitchenbaby this a new age you like my new craze lets get together maybe we can start a new phase the smokes got the club all hazy spotlights dont do you justice baby why dont you come over here you got me sayingayo im tired of using technology why dont you sit down on top of me ayo im tired of using technology i need you right in front of meooh she wants it uh uh she wants it ooh she wants it uh uh so i got to give it to her ooh she wants it uh uh she wants it ooh she wants it uh uh so i got to give it to heryour hips your thighs you got me hypnotized let me tell youyour hips your thighs you got me hypnotized let me tell youyour hips your thighs you got me hypnotized let me tell youyour hips your thighs you got me hypnotized let me tell you ",1
88,"outta my system","bow wow featuring tpain and johnt'a austin",2007," damn i mean i just keep thinkin about you i mean i wanna move on but i cant move on its like you got some kinda hold on me and man i dont know but ima go ahead and talk about it listenim sittin lookin out the window like damn tryna fix this situation thats at hand youre still runnin through my mind when im knowin that you shouldnt be me all on your mind and im knowin that it couldnt because you aint called and i aint even appalled i still got a lotta pain i aint dealt wit it all i been runnin round with other chicks im single and they lovin it im likin it but i just want the one that i was in love withthats not the end of it im tryna let you go i cant get a grip of it is what im tryna let you know you got a hold or some kinda control of me i dont know what it is but i gotta get you gone from meim workin at it and it aint gettin no better just tryna be like yeah forget it whatever instead of starin out this glass lookin at this bad weather damn i gotta pull myself together causewhen im with somebody all i think bout is you when im all alone thats all i wanna do i miss the smilin faces in my sidekick outta town visits all the time we spent together makes it hard to get you outta my systemand you know what you do to me do to me you dont even understand damn and you know what you do to me do to me its so hard to get you outta my systemim too attached my heart wont let me fall back i got it bad thats what you can call that and when i see you in the streets thats the worse for me used to love the little things you did thats what works for meits too major dont see you in my pager know what you doin where you at or can i see you later the fellas tellin me just let her go bow believe me im tryin man i just dont know howi be in all the top spots leavin with the hot shots knowin they just want me cause im in the top spot thats not poppin and my brain aint stoppin thinkin who she with or where she goin is she club hoppini never had this kind of problem in my life this is my first time dealin with this kind of fight its every night and every flight and every time you in my sight damn this aint even right causewhen im with somebody all i think bout is you when im all alone thats all i wanna do i miss the smilin faces in my sidekick outta town visits all the time we spent together makes it hard to get you outta my systemand you know what you do to me do to me you dont even understand damn and you know what you do to me do to me its so hard to get you outta my systemis it wrong for me to feel this way you been runnin through my mind all day can you feel me i been tryna get you off my mind but i cant after all this time thats what kills meis it wrong for me to feel this way you been runnin through my mind all day can you feel me i been tryna get you off my mind but i cant after all this time and it kills mewhen im with somebody all i think bout is you when im all alone thats all i wanna do i miss the smilin faces in my sidekick outta town visits all the time we spent together makes it hard to get you outta my systemand you know what you do to me do to me you dont even understand damn and you know what you do to me do to me its so hard to get you outta my systemi remember everything that me and you talked about me and you had our whole life planned out together and if i could i would turn back the hands of time and correct all my mistakes that i ever didbut now i guess i gotta move on right its still hard and i still love you to this day peace ",1
89,"teardrops on my guitar","taylor swift",2007," drew looks at me i fake a smile so he wont see that i want and im needing everything that we should be ill bet shes beautiful that girl he talks about and shes got everything that i have to live withoutdrew talks to me i laugh cause it is just so funny that i cant even see anyone when hes with me he says hes so in love hes finally got it right i wonder if he knows hes all i think about at nighthes the reason for the teardrops on my guitar the only thing that keeps me wishing on a wishing star hes the song in the car i keep singing dont know why i dodrew walks by me can he tell that i cant breathe and there he goes so perfectly the kind of flawless i wish i could be shed better hold him tight give him all her love look in those beautiful eyes and know shes lucky causehes the reason for the teardrops on my guitar the only thing that keeps me wishing on a wishing star hes the song in the car i keep singing dont know why i doso i drive home alone as i turn out the light ill put his picture down and maybe get some sleep tonightbecause hes the reason for the teardrops on my guitar the only one whos got enough of me to break my heart hes the song in the car i keep singing dont know why i do hes the time taken up but theres never enough and hes all that i need to fall intodrew looks at me i fake a smile so he wont see ",1
90,"shut up and drive","rihanna",2007," ive been looking for a driver who is qualified so if you think that youre the one step into my ride im a fine cool supersonics speed machine got a sunroof top and a gangster leadso if you feel it let me know know know come on now what youre waiting for for for my engines ready to explode explode explode so start me up and watch me go go goget you where you wanna go if you know what i mean got a ride thats smoother than a limousine can you handle the curves can you run all the lights if you can baby boy than we can go all night cause its zero to sixty in three point five baby you got the keys now shut up and drive drive drive shut up and drive drive drivei got class like a fiftyseven cadillac start over drive with a whole lot of boom in the back you look like you can handle whats under my hood you keeping saying that you will boy i wish you wouldso if you feel it let me know know know come on now what youre waiting for for for my engines ready to explode explode explode so start me up and watch me go go goget you where you wanna go if you know what i mean got a ride thats smoother than a limousine can you handle the curves can you run all the lights if you can baby boy than we can go all night cause its zero to sixty in three point five baby you got the keys now shut up and drive drive drive shut up and drive drive driveyou play that game got what i got get it get it dont stop its a sure shot aint a ferrari huh boy im sorry i aint need to worry so step inside and ride ride rideso if you feel it let me know know know come on now what youre waiting for for for my engines ready to explode explode explode so start me up and watch me go go goget you where you wanna go if you know what i mean got a ride thats smoother than a limousine can you handle the curves can you run all the lights if you can baby boy than we can go all night cause its zero to sixty in three point five baby you got the keys now shut up and drive drive drive shut up and drive drive driveshut up and drive drive drive shut up and drive drive drive drive drive drive ",1
91,"snow hey oh","red hot chili peppers",2007," come to decide that the things that i tried were in my life just to get high on when i sit alone come get a little known but i need more than myself this time step from the road to the sea to the sky and i do believe it we rely on when i lay it on come get to play it on all my life to sacrificehey oh listen what i say oh i got your hey oh now listen what i say ohwhen will i know that i really cant go to the well once more time to decide on when its killing me when will i really see all that i need to look inside come to believe that i better not leave before i get my chance to ride when its killing me what do i really need all that i need to look insidehey oh listen what i say oh come back and hey oh look at what i say ohthe more i see the less i know the more i like to let it go hey oh oooooooooohdeep beneath the cover of another perfect wonder where its so white as snow privately divided by a world so undecided and theres nowhere to go in between the cover of another perfect wonder where its so white as snow running through the field where all my tracks will be concealed and theres nowhere to go oooohwhen to descend to amend for a friend all the channels that have broken down now you bring it up im gonna ring it up just to hear you sing it out step from the road to the sea to the sky and i do believe it we rely on when i lay it oncome get to play it on all my life to sacrificehey oh listen what i say oh i got your hey oh listen what i say ohthe more i see the less i know the more i like to let it go hey oh oooooooohdeep beneath the cover of another perfect wonder where its so white as snow privately divided by a world so undecided and theres nowhere to go in between the cover of another perfect wonder where its so white as snow running through the field where all my tracks will be concealed and theres nowhere to goi said hey oh yeah oh yeah tell my lord now hey yeahoh yeahoh yeah tell my lord nowin between the cover of another perfect wonder where its so white as snow privately divided by a world so undecided and theres nowhere to godeep beneath the cover of another perfect wonder where its so white as snow running through the field where all my tracks will be concealed and theres nowhere to goi said hey oh yeah oh yeah tell my lord now hey yeahoh yeah oh yeah ",1
92,"money maker","ludacris featuring pharrell",2007," shake your money maker like somebody bout to pay ya i see you on my radar dont you act like you afraid of shityou know i got it if you want it come get it stand next to this money like eh eh ehshake your money maker like somebody bout to pay ya dont worry about them haters keep your nose up in the airyou know i got it if you want it come get it stand next to this money like eh eh ehshake shake shake your money maker like you were shakin it for some paper took your mama nine months to make ya might as well shake what ya mama gave ya you you lookin good in them jeans i bet you look even better with me in between i keep my mind on my money money on my mind but yous a hell of a distraction when you shake your behind i got on my right side pourin some cups my whole hood is to my left and they aint giving a fuck so feel free to get lose and get carried away so by tomorrow you forgot what you was sayin today but dont forget about this feeling that im making you get and all the calories you burn from me making you sweat the mile high points you earn when we taking my jet and how everywhere you turn ill be making you wetshake your money maker like somebody bout to pay ya i see you on my radar dont you act like you afraid of shityou know i got it if you want it come get it stand next to this money like eh eh ehshake your money maker like somebody bout to pay ya dont worry about them haters keep your nose up in the airyou know i got it if you want it come get it stand next to this money like eh eh ehswitch switch switch it from right to left and switch it till you running right out of breath and take a break until you ready again and you can invite over as many friends as ya want to but i really want you just be thankful that pharrell gave you somethin to bump to hey luda im at the top of my game you want my hands from the bottom to the top of your frame and i just wanna take a lil ride on your curves and get erotic giving your body just what it deserves and let me give you some swimming lessons on the penis backstroke breaststroke stroke of a genius yup call me the renaissance man get up and i stay harder than a cinder block man hey im just a bedroom gangster and i been meanin to tell ya that i really must thank ya when yashake your money maker like somebody bout to pay ya i see you on my radar dont you act like you afraid of shityou know i got it if you want it come get it stand next to this money like eh eh ehshake your money maker like somebody bout to pay ya dont worry about them haters keep your nose up in the airyou know i got it if you want it come get it stand next to this money like eh eh ehrock rock rock it and make it work girl please dont stop it until it hurt girl you you been lookin a little tipsy so if you could jus shake it a little this way see im a member of the bbc the original bread winna of dtp and you the center of attention thats distracting the squad cause everybody in the camp is like oh my god she couldshake your money maker like somebody bout to pay ya i see you on my radar dont you act like you afraid of shityou know i got it if you want it come get it stand next to this money like eh eh ehshake your money maker like somebody bout to pay ya dont worry about them haters keep your nose up in the airyou know i got it if you want it come get it stand next to this money like eh eh eh ",1
93,"kiss kiss","chris brown featuring tpain",2007," she want that loveydovey that kisskiss kisskiss in her mind she fantasize bout getting wit me they hating on me they wanna diss this kisskiss cause she mine and so fine and thick as can beshe want that loveydovey that kisskiss kisskiss in her mind she fantasize bout getting wit me they hating on me they wanna diss this kisskiss cause she mine and so fine and thick as can beim a country boy from tappahannock va is where i reside so shawty understand it and i know i just turn eighteen and i get a little mannish and you see this bandanna hanging that means im like a bandit like a bandit banditi got paper girl the lamborghini with the spider seats you never seen it so get it shawty we parking lot pimping in my donk and i know what you wantshe want that loveydovey that kisskiss kisskiss in her mind she fantasize bout getting wit me they hating on me they wanna diss this kisskiss cause she mine and so fine and thick as can beshe want that loveydovey that kisskiss kisskiss in her mind she fantasize bout getting wit me they hating on me they wanna diss this kisskiss cause she mine and so fine and thick as can beim the epitome of this demonstration i got the remedy you feeling me so why is you hating and my anatomy is bird like yeah you heard right girl im the king so that means im flyif you wit it girl get it poppin roll wit me aint no stopping so get it shawty we parking lot pimping in my donk i know want you wantshe want that loveydovey that kisskiss kisskiss in her mind she fantasize bout getting wit me they hating on me they wanna diss this kisskiss cause she mine and so fine and thick as can beshe want that loveydovey that kisskiss kisskiss in her mind she fantasize bout getting wit me they hating on me they wanna diss this kisskiss cause she mine and so fine and thick as can beshawty let me holla at you you so hothothothot you think id be holing if you notnotnotnot im king of the town you can take a look around teddy penderazdown is the spotspotspotspot yeah i got money on me yeah baby girl no problem yeah you rolling shawty yeah lets hit mcdonalds its tp and cb im the nappy boy and pretty boyshe want that loveydovey that kisskiss kisskiss in her mind she fantasize bout getting wit me they hating on me they wanna diss this kisskiss cause she mine and so fine and thick as can beshe want that loveydovey that kisskiss kisskiss in her mind she fantasize bout getting wit me they hating on me they wanna diss this kisskiss cause she mine and so fine and thick as can be ",1
94,"far away","nickelback",2007," this time this place misused mistakes too long too late who was i to make you wait just one chance just one breath just in case theres just one left cause you know you know you knowthat i love you ive loved you all along and i miss you been far away for far too long i keep dreaming youll be with me and youll never go stop breathing if i dont see you anymoreon my knees ill ask last chance for one last dance cause with you id withstand all of hell to hold your hand id give it all id give for us give anything but i wont give up cause you know you know you knowthat i love you ive loved you all along and i miss you been far away for far too long i keep dreaming youll be with me and youll never go stop breathing if i dont see you anymoreso far away so far away been far away for far too long so far away so far away been far away for far too long but you know you know you knowi wanted i wanted you to stay cause i needed i need to hear you say that i love you ive loved you all along and i forgive you for being away for far too long so keep breathing cause im not leaving you anymore believe it hold on to me and never let me go keep breathing keep breathing cause im not leaving you anymore believe it hold on to me and never let me go keep breathing hold on to me and never let me go keep breathing hold on to me and never let me go ",1
95,"rock yo hips","crime mob and lil scrappy",2007," lil jay on the track  and you already know its ya boy lil scrappy we finna have the whole  world rockin in this  look at shawty check her outi like it when she rock her hips then wave and sip she rock her hips then wave and sip she rock her hips she rock her hips she rock her hips then wave and siplook at them hips i like how she rock it she bend that thing over and to the ground she gon drop it and pop it hard as she can got me  in the pants because she all in her stance doing her  dance manlook lil buddy cute in the face she rock her hips to the bass she take the sip then she wave and wanna get with lil jay after she dance on that pole i pull my cash so quick and fast when that  hit the flonow i got 32 flavors of that bootylicious bubblegum raspberry grape cherry come and get this honeybun yummy yum baby not an ordinary lady known to drive a  crazy willie wonka wanna pay meon the daily off the hizzle rock my hizzle and shake my skittles soda pop it watch it sizzle man this  right heres the shizzle  on the highest drizzle wanna taste it just a little rock my hips then make it wiggle wavin sippin in this bizzlei like it when she rock her hips then wave and sip she rock her hips then wave and sip she rock her hips she rock her hips she rock her hips then wave and sipi like it when she rock her hips then wave and sip she rock her hips then wave and sip she rock her hips she rock her hips she rock her hips then wave and sipi like it when she show me she can rock it roll it drop it to the flo bouncin slow shawtys all pro thats the way to go jello booty ooh wee got a  glancin every time that  react i tawt i taw a puddy cat gimme gimme gimme thatfat cat dont act on a pimp you got me enticed by the way you rock them hips yous a trip girl doin all them tricks thats whats up i like that  a lot come and holla at a thugatowns finest im the topnotch glamor chick tell me if i throw it at ya baby can you handle it cause the cause is russian if a hater wanna run they lip step up in the club and have them whisperin god  she thicktake it to the bar hpnotiq and hennessy is on my list seductively moving my body now watch me rock my hips take a sip of the goose im lookin good and livin lavish big boy pimpin poppin dippin now tell me im not the baddesti like it when she rock her hips then take it low she grab the towel and wipe the pole oh oh shawty got it goin on its just me and her and im in my zonecheck out her rack shawty got a fat  watch her throw that  back and say she sweet like snacks let you put her on the track every day you eat less countin  stacksi like it when she rock her hips then wave and sip she rock her hips then wave and sip she rock her hips she rock her hips she rock her hips then wave and sipi like it when she rock her hips then wave and sip she rock her hips then wave and sip she rock her hips she rock her hips she rock her hips then wave and sipshe rock her hips she rock her hips i like the way she rock her hips she rock her hips i like the way she rock her hips ",1
96,"lovestoned","justin timberlake",2007,"justin timberlake miscellaneous lovestoned shes freaky and she knows it shes freaky and i like it listen she grabs the yellow bottle she likes the way it hits her lips she gets to the bottom it sends her on a trip so right she might be goin home with me tonight she looks like a model except shes got a little more ass dont even bother unless youve got that thing she likes i hope shes goin home with me tonight chorus 1 those flashing lights come from everywhere the way they hit her i had to stop and stare shes got me love stoned man i swear shes bad and she knows i think that she knows shes freaky and she knows it shes freaky but i like it she shuts the room down the way she walks and causes a fuss the baddest in town shes flawless like some uncut ice i hope shes goin home with me tonight and all she wants is to dance thats why youll find her on the floor but you dont have a chance unless you move the way that she likes thats why shes goin home with me tonight chorus 1 chorus 2 those flashing lights seem to cause a glare the way they hit her i had to stop and stare shes got me love stoned from everywhere shes bad and she knows i think that she knows now dance little girl youre freaky but i like it hot damn let me put my funk on this one time instrumental break chorus 1 chorus 2 chorus 1 instrumental break those flashing lights come from everywhere the way they hit her i had to stop and stare shes got me love stoned i think im love stoned shes got me love stoned i think that she knows think that she knows oh oh repeat 2 more times those flashing lights come from everywhere the way they hit her i had to stop and stare im love stoned from everywhere and she knows i think that she knows think that she knows oh oh and now i walk around without a care shes got me hooked it just aint fair but i im love stoned and i could swear that she knows think that she knows oh oh she knows she knows oh oh",3
97,"better than me","hinder",2007," i think you can do much better than me after all the lies that i made you believe guilt kicks in and i start to see the edge of the bed where your nightgown used to bei told myself i wont miss you but i remembered what it feels like beside youi really miss your hair in my face and the way your innocence tastes and i think you should know this you deserve much better than mewhile looking through your old box of notes i found those pictures i took that you were looking for if theres one memory i dont want to lose that time at the mall  you and me in the dressing roomi told myself i wont miss you but i remembered what it feels like beside youi really miss your hair in my face and the way your innocence tastes and i think you should know this you deserve much better than methe bed im lying in is getting colder wish i never wouldve said its over and i cant pretend i wont think about you when im older cause we never really had our closure this cant be the endi really miss your hair in my face and the way your innocence tastes and i think you should know this you deserve much better than mei really miss your hair in my face and the way your innocence tastes and i think you should know this you deserve much better than me and i think you should know this you deserve much better than me and i think you should know this you deserve much better than me and i think you should know this you deserve much better than me and i think you should know this ",1
98,"paralyzer","finger eleven",2007," i hold on so nervously to me and my drink i wish it was cooling me but so far has not been goodits been shitty and i feel awkward as i should this club has got to be the most pretentious thingsince i thought you and me well i am imagining a dark lit place or your place or my placewell im not paralyzed but i seem to be struck by you i wanna make you move because youre standing still if your body matches what your eyes can do youll probably move right through me on my way to youi hold out for one more drink before i think im looking too desperately but so far has not been funi should just stay home if one thing really means one this club will hopefully be closed in three weeksthat would be cool with me well im still imagining a dark lit place or your place or my placewell im not paralyzed but i seem to be struck by you i wanna make you move because youre standing still if your body matches what your eyes can do youll probably move right through me on my way to youwell im not paralyzed but i seem to be struck by you i wanna make you move because youre standing still if your body matches what your eyes can do youll probably move right through me on my way to youwell im not paralyzed but i seem to be struck by you i wanna make you move because youre standing still if your body matches what your eyes can do youll probably move right through me on my way to youyoull probably move right through me on my way to youyoull probably move right through me on my way to you ",1
99,"thats that","snoop dogg featuring r kelly",2007," i pull up whip low in the phantom with the wheels spinnin ladies like thats that shit im in the back of the club blowin trees hands up head bobbin like thats that shit in the spot where the girls go wild dancing tittiebar style im like thats that shit snoop dizzle hey your boy kells hey let me hear you say thats that shitlets get this party jumpin me and kell gon get it bumpin they humpin like when its over we gone all get into somethin the dog is fresh southside without a vest nothin on my chest but these ladies up out the midwest i must confess that in the chi is so blessed leaving nothing on my mind but doggy you and safe sex this aint a test you fucking with a cold mess meet me in chicago let me get you to this real west its real strong real fat and real long doggys in the building holdin something they can feel up on and once they get it something they can build up on take that skinny nigga home work that feeling till its gone get that home grown put that shit on daddy long i know how you ladies do it tshirt with no panties on lets get this shit crackin kell and doggy dogg in action if you in here all alone you might get this dog bonei pull up whip low in the phantom with the wheels spinnin ladies like thats that shit im in the back of the club blowin trees hands up head bobbin like thats that shit in the spot where the girls go wild dancing tittiebar style im like thats that shit snoop dizzle hey your boy kells hey let me hear you say thats that shitdippin low sixfour hundred spokes and chronic smoke all these ladies on the floor cause they know what we in here for dogg and kelly came to ball get your ass up off the wall let that middle wiggle now make that shit fall not just one but all yall move it like you want it all let me see you bounce it for me work that shit for doggy dogg you gots to do it is that your crew bring em too come here let me take you through it then once kelly get into it we can get this after party poppin everybody got themselves another body knockin out without protection though thats my confession but at the spot if you just think your gonna listen you can drop it like its hot hold up i came to cool out lay back and get blown maybe henny maybe gin a couple shots of patron and if you didnt you missed it but now its known that this cash shit kells sing that songi pull up whip low in the phantom with the wheels spinnin ladies like thats that shit im in the back of the club blowin trees hands up head bobbin like thats that shit in the spot where the girls go wild dancing tittiebar style im like thats that shit snoop dizzle hey your boy kells hey let me hear you say thats that shitso if you think you got the bomb shit holla at a playa holla at a playa holla at a playa and if you lookin for some good sex holla at a playa holla at a playa holla at a playa girl if you ever in the 312 holla at a playa holla at a playa holla at a playa and if youre ever in the 213 holla at a playa holla at a playa holla at a playai pull up whip low in the phantom with the wheels spinnin ladies like thats that shit im in the back of the club blowin trees hands up head bobbin like thats that shit in the spot where the girls go wild dancing tittiebar style im like thats that shit snoop dizzle hey your boy kells hey let me hear you say thats that shit ",1
100,"same girl","r kelly featuring usher",2007," yo ush what up kellz wanna introduce you to this girl think i really love this girl yeah man she so fine straight up dog she stand about 54 coke cola red bone damn she drives a black durango license plate say angel tattoo on her ankle plus shes making pesos she got a crib on peace street right on 17th street and i call her tt wait a minute hold on dog do she got a kid yep love some waffle house yep do she got a beauty mark on her left side of her mouth man went to georgia tech yep works for tbs yep man i cant believe this chick damn mm tell me whats wrong dog what the hell you damning about im your homie so just say whats on your mind man i didnt know that you were talking about her so man your telling me you know her do i know her like a pastor know his wordwe messing with the same girl same girl how could the love of my life and my potential wife be the same girl same girl man i cant believe that weve been messing with the same girl same girl thought she someone that i can trust but shes been doubling up with us you cant man weve been messing with the same girlsee i met her at this party in atlanta well i met her at this party in chicago she came right up to me given me conversation i said do you got a man she said no with no hesitation well it must be a music thing cause she said the same to me at a party all in my face when im laughin and buyin her drinksshe whispered in my ear and said can you take me home me too man she was in the chi singin that same song is that true and i thought it was true confession when she said i love you man i thought her body was calling when she said i want you look i even got some pictures on my phone look at there there she is with some boy shorts onwe messing with the same girl same girl how could the love of my life and my potential wife be the same girl same girl man i cant believe that weve been messing with the same girl same girl thought she someone that i can trust but shes been doubling up with us you cant man weve been messing with the same girlshe said she got me on her ring tone are you talking about the pink phone mm the blue one man she told me that was turned off its obvious that shes been playing us playing us or constantly shes been lyin to us lyin to us dont like the way that shes been goin bout it goin bout it kellz what do you think we should do about it do about it call her up at her home she wont know that im on the phone yeah man thats a way homie we about to bust this trick man just ask her to meet up with you and im gonna show up too and then she wont know what to do well be standing there singingwe messing with the same girl same girl how could the love of my life and my potential wife be the same girl same girl man i cant believe that weve been messing with the same girl same girl thought she someone that i can trust but shes been doubling up with us you cant man weve been messing with the same girlsee she was taken flights going back and forth i would pick her up at the airport man i really cant believe the same girl same girl hey the same girl same girl ",1
1,"low","flo rida featuring tpain",2008," shawty had them apple bottom jeans jeans boots with the fur with the fur the whole club was lookin at her she hit the floor she hit the floor next thing you know shawty got low low low low low low low low them baggy sweat pants and the reeboks with the straps the straps she turned around and gave that big booty a smack a smack she hit the floor next thing you know shawty got low low low low low low low lowi aint never seen nothin thatll make me go this crazy all night spendin my dough had a million dollar vibe and a bottle to go dem birthday cakes they stole the show so sexual she was flexible professional drinkin x and o hold up wait a minute do i see what i think i whoa did i think i seen shawty get low aint the same when its up that close make it rain im makin it snow work the pole i got the bank roll ima say that i prefer them no clothes im into that i love women exposed she threw it back at me i gave her more cash aint a problem i know where it goesshawty had them apple bottom jeans jeans boots with the fur with the fur the whole club was lookin at her she hit the floor she hit the floor next thing you know shawty got low low low low low low low low them baggy sweat pants and the reeboks with the straps the straps she turned around and gave that big booty a smack a smack she hit the floor next thing you know shawty got low low low low low low low lowhey shawty what i gotta do to get you home my jeans full of gwap and they ready for stones cadillacs maybachs for the sexy grown patrone on the rocks thatll make you moan one stack come on two stacks come on three stacks come on now thats three grand what you think im playin baby girl im the man ill aint dealin rubber bands thats what i told her her legs on my shoulder i knew it was ova that henny and cola got me like a soldier she ready for rover i couldnt control her so lucky oh me i was just like a clover shawty was hot like a toaster sorry but i had to fold her like a pornography poster she showed hershawty had them apple bottom jeans jeans boots with the fur with the fur the whole club was lookin at her she hit the floor she hit the floor next thing you know shawty got low low low low low low low low them baggy sweat pants and the reeboks with the straps the straps she turned around and gave that big booty a smack a smack she hit the floor next thing you know shawty got low low low low low low low lowwhoa shawty yea she was worth the money lil mama took my cash and i aint want it back the way she bit that rag got her them paper stacks tattoo above her crack i had to handle that i was on it sexy woman let me shownin they be want it two in the mornin im zonin in them rosay bottles foamin she wouldnt stop made it drop shawty did that pop and lock had to break her off that gwap gal was fly just like my glockshawty had them apple bottom jeans jeans boots with the fur with the fur the whole club was lookin at her she hit the floor she hit the floor next thing you know shawty got low low low low low low low low them baggy sweat pants and the reeboks with the straps the straps she turned around and gave that big booty a smack a smack she hit the floor next thing you know shawty got low low low low low low low lowcmon ",1
2,"bleeding love","leona lewis",2008," closed off from love i didnt need the pain once or twice was enough but it was all in vain time starts to pass before you know it youre frozen but something happened for the very first time with you my heart melts into the ground found something true and everyones looking round thinking im going crazybut i dont care what they say im in love with you they try to pull me away but they dont know the truth my hearts crippled by the vein that i keep on closing you cut me open and ikeep bleeding keep keep bleeding love i keep bleeding i keep keep bleeding love keep bleeding keep keep bleeding love you cut me opentrying hard not to hear but they talk so loud their piercing sounds fill my ears try to fill me with doubt yet i know that the goal is to keep me from falling but nothings greater than the rush that comes with your embrace and in this world of loneliness i see your face yet everyone around me thinks that im going crazy maybe maybebut i dont care what they say im in love with you they try to pull me away but they dont know the truth my hearts crippled by the vein that i keep on closing you cut me open and ikeep bleeding keep keep bleeding love i keep bleeding i keep keep bleeding love keep bleeding keep keep bleeding love you cut me openand its draining all of me oh they find it hard to believe ill be wearing these scars for everyone to seei dont care what they say im in love with you they try to pull me away but they dont know the truth my hearts crippled by the vein that i keep on closing you cut me open and ikeep bleeding keep keep bleeding love i keep bleeding i keep keep bleeding love keep bleeding keep keep bleeding love oh you cut me open and ikeep bleeding keep keep bleeding love i keep bleeding i keep keep bleeding love keep bleeding keep keep bleeding love oh you cut me open and ikeep bleeding keep keep bleeding love ",1
3,"no one","alicia keys",2008," i just want you close where you can stay forever you can be sure that it will only get betteryou and me together through the days and nights i dont worry cause everythings going to be alright people keep talking they can say what they like but all i know is everythings going to be alrightno one no one no one can get in the way of what im feeling no one no one no one can get in the way of what i feel for you you you can get in the way of what i feel for youwhen the rain is pouring down and my heart is hurting you will always be around this i know for certain you and me together through the days and nightsi dont worry cause everythings going to be alright people keep talking they can say what they like but all i know is everythings going to be alrightno one no one no one can get in the way of what im feeling no one no one no one can get in the way of what i feel for you you you can get in the way of what i feel for youi know some people search the world to find something like what we have i know people will try try to divide something so real so til the end of time im telling you there is no oneno one no one no one can get in the way of what im feeling no one no one no one can get in the way of what i feel for you you youoh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh ",1
4,"lollipop","lil wayne featuring static major",2008," ow uh huh no homo young mula baby i say he so sweet make her wanna lick the rapper so i let her lick the rappersh sh she lick me like a lollipop she she lick me like a lollipop lollipop sh sh she lick me like a lollipop lollipop she she lick me ike a lollipopshawty wanna thug bottles in the club shawty wanna hump you know id like to touch ya lovely lady lumpsshawty wanna thug bottles in the club shawty wanna hump you know id like to touch ya lovely lady lumpscome on ok lil mama had a swag like mine she even wear her hair down her back like mine i make her feel right when its wrong like lyin man she aint never had a love like mine man i aint never seen an ass like hers that pussy in my mouth had me lost for words so i told her to back it up like berp berp and i made that ass jump like jerp jerp and thats when shesh sh she lick me like a lollipop she she lick me like a lollipop lollipop sh sh she lick me like a lollipop lollipop she she lick me like a lollipopshawty wanna thug bottles in the club shawty wanna hump you know id like to touch ya lovely lady lumpsshawty wanna thug bottles in the club shawty wanna hump you know id like to touch ya lovely lady lumpsok after you back it up then stop drop it shawty drop it like its hot drop it like its hot do do do it shawty dont stop shawty said the nigga that she with aint shit shawty said the nigga that she with aint this shawty said the nigga that she with cant hit but shawty im a hit it hit it like i cant miss and he cant do this and he dont do that shawty need a refund needa bring that nigga back just like a refund i make her bring that ass back and she bring that ass back because i like thatshawty wanna thug bottles in the club shawty wanna hump you know id like to touch ya lovely lady lumpsshawty wanna liclicliclick me like a lollipop shawty wanna liclicliclick me like a lollipop lollipop shawty wanna lick me like a lollipop i let her lick the rappershawty wanna thug bottles in the club shawty wanna hump you know id like to touch ya lovely lady lumpscall me so i can make it juicy for ya ccall me sso i can get it juicy for ya ccall me sso i can make it juicy for ya ccall me sso i can get it juicy for ya call me so i can make it juicy for ya ccall me sso i can get it juicy for ya ccall me sso i can make it juicy for ya ccall me sso i can get it juicy for yashawty wanna thug bottles in the club shawty wanna hump you know id like to touch ya lovely lady lumpsshawty wanna thug bottles in the club shawty wanna hump you know id like to touch ya lovely lady lumpsi get her on top she drop it like its hot and when im at the bottom she hilary rodham middle of the bed give and gettin head give and gettin head give and gettin head i said uhhm i like that say hm yea i like that i said uhhm yea i like that hm hm call me so i can come and do it for you call me so i can come and prove it for you call me so i can make it juicy for you call me so i can get it juicy for youshawty wanna liclicliclick me like a lollipop she she liclicliclick me like a lollipop i say he so sweet make her wanna lick the rapper so i let her lick the rapper ",1
5,"apologize","timbaland featuring onerepublic",2008," im holding on your rope got me ten feet off the ground and im hearing what you say but i just cant make a sound you tell me that you need me then you go and cut me down but wait you tell me that youre sorry didnt think id turn around and saythat its too late to apologize its too late i said its too late to apologize its too lateid take another chance take a fall take a shot for you and i need you like a heart needs a beat but its nothing new yeah yeah i loved you with a fire red now its turning blue and you say sorry like the angel heaven let me think was you but im afraidits too late to apologize its too late i said its too late to apologize its too late whoa ",1
6,"no air","jordin sparks and chris brown",2008," tell me how im supposed to breathe with no airif i should die before i wake its cause you took my breath away losing you is like living in a world with no air ohim here alone didnt wanna leave my heart wont move its incomplete is there a way i could make you understandbut how do you expect me to live alone with just me cause my world revolves around you its so hard for me to breathetell me how im supposed to breathe with no air cant live cant breathe with no air thats how i feel whenever you aint there theres no air no air got me out here in the water so deep tell me how you gon be without me if you aint here i just cant breathe theres no air no air no air air no air airi walked i ran i jumped i flew right off the ground and float to you theres no gravity to hold me down for realbut somehow im still alive inside you took my breath but i survived i dont know how but i dont even careso how do you expect me to live alone with just me cause my world revolves around you its so hard for me to breathetell me how im supposed to breathe with no air cant live cant breathe with no air thats how i feel whenever you aint there theres no air no air got me out here in the water so deep tell me how you gon be without me if you aint here i just cant breathe theres no air no air no air air no air airtell me how im supposed to breathe with no air cant live cant breathe with no air thats how i feel whenever you aint there theres no air no air got me out here in the water so deep tell me how you gon be without me if you aint here i just cant breathe theres no air no air no air air no air airgot me here out in the water so deeptell me how you goin be without meif you aint here i just cant breathetheres no air no air no air air no air air ",1
7,"love song","sara bareilles",2008," head under water and you tell me to breathe easy for awhile the breathing gets harder even i know thatmade room for me but its too soon to see if im happy in your hands im unusually hard to hold on toblank stares at blank pages no easy way to say this you mean well but you make this hard on meim not gonna write you a love song cause you ask for it cause you need one you seeim not gonna write you a love song cause you tell me its make or break in this if youre on your wayim not gonna write you to stay all you have is leaving imma need a better reason to write you a love song today today yeahi learned the hard way that they all say things you wanna hear my heavy heart sinks deep down underyou and your twisted words your help just hurts you are not what i thought you were hello to high and dryconvinced me to please you made me think that i need this too im trying to let you hear me as i amim not gonna write you a love song cause you ask for it cause you need one you seeim not gonna write you a love song cause you tell me its make or break in this if youre on your wayim not gonna write you to stay if all you have is leaving imma need a better reason to write you a love song todaypromise me youll leave the light on to help me see daylight my guide gone cause i believe theres a way you can love me because i sayi wont write you a love song cause you ask for it cause you need one you seeim not gonna write you a love song cause you tell me its make or break in thisis that why you wanted a love song cause you asked for it cause you need one you seeim not gonna write you a love song cause you tell me its make or break in this if youre on your wayim not gonna write you to stay if your heart is nowhere in it i dont want it for a minutebabe ill walk the seven seas when i believe that theres a reason to write you a love song today today ",1
8,"love in this club","usher featuring young jeezy",2008," gotta do it for the ladies and i gotta keep it hood where we at polo ayei see you ryan yo keith nigga you was right we just gettin started yeah manyou say you searchin for somebody thatll take you out and do you right well come here baby and let daddy show you what it feel likeyou know all you gotta do is tell me what you sippin on and i promise that im gonna keep it comin all night longlookin in your eyes while you on the other side and i think that shorty ive got a thing for you yeah doin it on purpose windin and workin it i can tell by the way you lookin at me girli wanna make love in this club yea make love in this club yea in this club yea in this club i wanna make love in this club yea make love in this club yea in this club yea in this clublisten you got some friends rollin with you baby then thats cool you can leave them with my niggas let em know that i got youif you didnt know youre the only thing thats on my mind cause the way im starin at you got me wantin to give it to you all nightlookin in your eyes while you on the other side i cant take it no more baby im comin for you you keep doin it on purpose windin and workin it if we close our eyes it could be just me and youi wanna make love in this club make love in this club yea in this club yea in this club i wanna make love in this club yea in this club yea in this club yea in this clubi wanna make love in this club yea in this club yea in this club yea in this club i wanna make love in this club yea in this club yea in this club yea in this club yeaim what you want im what you need he got you trapped ill set you free sexually mentally physically emotionally ill be like your medicine youll take every dose of meits goin down on aisle 3 ill bag you like some groceries and every time you think about it you gon want some more of meabout to hit the club make a movie yeah rated r pulled up like a trap star thats if you have yo regular caryou ever made love to a thug in the club with his sights on 87 jeans and a fresh pair of nikes onon the couch on the table on the bar or on the floor you can meet me in the bathroom yeah you know im tryin gomight as well give me a kiss if we keep touchin like this i know you scared baby they dont know what we doinlets both get undressed right here keep it up girl then i swear imma give it to you non stop and i dont care whos watchin watchin watchinwatchin watchin ohh in this club on the floor babys lets make lovei wanna make love in this club yea in this club yea in this club in this club yea in this club i wanna make love in this club yea in this club yea in this club yea in this club yeayea yea ey ey love crunk in the club what you want gonna dig this babe in the back in the side in the front back right love that crank that crank that yea ",1
9,"with you","chris brown",2008," i need you boo i gotta see you boo and the hearts all over the world tonight said the hearts all over the world tonighti need you boo i gotta see you boo and the hearts all over the world tonight said the hearts all over the world tonighthey little mama oh you a stunna hot lil figure yes you a winner and im so glad to be yours youre a class all your own and oh little cutie when you talk to me i swear the whole world stops youre my sweetheart and im so glad that you are mine you are one of a kindand you mean to me what i mean to you and together baby there is nothing we wont do cause if i got you i dont need money i dont need cars girl youre my alland oh im into you and girl no one else would do cause with every kiss and every hug you make me fall in love and now i no i cant be the only one i bet his hearts all over the world tonight with the love of his life who feel what i feel when im with you with you with you with you with you girl with you with you with you with you with youoh girl i dont want nobody else without you theres no one left then youre like jordans on saturday i gotta have you and i cannot wait now hey little shawty say you care for me you know i care for you you know that ill be true you know that i wont lie you know that i would try to be your everything yeahcause if i got you i dont need money i dont need cars girl youre my alloh im into you and girl no one else would do cause with every kiss and every hug you make me fall in love and now i no i cant be the only one i bet his hearts all over the world tonight with the love of his life who feel what i feel when im with you with you with you with you with you girl with you with you with you with you with youand i will never try to deny cause you are my whole life and if you ever let me go i would die so i wont front i dont need another woman i just need your all and nothing cause if i got that and ill be straight baby youre the best part of my dayi need you boo i gotta see you boo and the hearts all over the world tonight said the hearts all over the world tonighti need you boo i gotta see you boo and the hearts all over the world tonight said the hearts all over the world tonightoh im into you and girl no one else would do cause with every kiss and every hug you make me fall in love and now i no i cant be the only one i bet his hearts all over the world tonight with the love of his life who feel what i feel when im with you with you with you with you with you girl with you with you with you with you with youwith you with you with you with you with you with you with you with you with you with you with you hey yeah ",1
10,"forever","chris brown",2008," one two three four hey eh forever hey eh foreverits you and me movin at the speed of light into eternity yeah tonight is the night to join me in the middle of ecstasy feel the melody and the rhythm of the music around you around youima take you there ima take you there so dont be scared im right here baby we can go anywhere go anywhere but first its your chance take my hand come with meits like i waited my whole life for this one night its gon be me you and the dance floor cause we only got one night double your pleasure double you fun and dance forever ever ever forever ever ever forever ever ever forever forever ever ever ever forever ever ever forever ever ever forever on the dance floorfeels like were on another level feels like our loves intertwine we can be two rebels breakin the rules me and you you and i all you gotta do is watch me look what i can do with my feet baby feel the beat inside im drivin you could take the front seat front seat just need you to trust me trust me girl girl girl its like nowits like i waited my whole life for this one night its gon be me you and the dance floor cause we only got one night double your pleasure double you fun and dance forever ever ever forever ever ever forever ever ever forever forever ever ever ever forever ever ever forever ever ever forever on the dance floorits a long way down we so high off the ground sendin for an angel to bring me your heart girl where did you come from got me so undone gazin in your eyes got me sayin what a beautiful lady no ifs ands or maybes im releasin my heart and its feelin amazing theres no one else that matters you love me and i wont let you fall girl let you fall girl yeah i wont let you fall let you fall let you fall yeah yeah yeah yeahits like i waited my whole life for this one night its gon be me you and the dance floor cause we only got one night double your pleasure double you fun and dance forever ever ever forever ever ever forever ever ever forever forever ever ever ever forever ever ever forever ever ever forever on the dance flooroh oh oh oh oh oh oh yeah forever ever ever ever forever ever oh ",1
11,"sexy can i","ray j featuring yung berg",2008,"ray j sexy can i sexy can i yeah yeahhh all we wanna know is sexy can i chorus sexy can i just pardon my manners girl how you shake it got a nigga like ohhhh its a kodak moment let me go and get my camera all i wanna know is sexy can i sexy can i hit it from the front then i hit it from the back know you like it like that then we take it to the bed then we take it to the floor then we chill for a second then were back at it some more sexy can i just pardon my manners girl how you shake it got a nigga like ohhhh its a kodak moment let me go and get my camera all i wanna knoe is sexy can i yung berg what up lil mama its ya boy youngin g5 dipped in louis vuitton luggage ay gotta love it ya boy so fly all the ladies go ohhh when a nigga go by gucci on her feet marc jacob on her thigh she wanna ride or die with ya boy in the chi thats right so i let her kiss the prince her boyfriend she aint missed him since ray j sexy can i just pardon my manners girl how you shake it got a nigga like ohhhh its a kodak moment let me go and get my camera all i wanna no is sexy can i sexy can i keep it on the low got a girl at the crib we can take it to the momo you can bring a friend or you can ride solo let me get my camera so we can take a photo ohh ohh ohh now go shawty go shawty baby when we make love its like oh ohh ohh yung berg i dont know what your man is like but baby all i want to know issexy can i sexy can i visit you at work while you sliding down the pole no panties no shirt then you climb back up the pole then you drop and do the splits how you make that pussy talk baby damn u is da shit oh ohh ohh now go shawty go shawty i make it rain in the club like oh ohh ohh yung berg i dont know what your man is like but baby all i want to know issexy can i sexy can i just pardon my manners girl how you shake it got a nigga like ohhhh its a kodak moment let me go and get my camera all i wanna no is sexy can i yung berg i dont care whos ya boy hittin or who rays nailling so when i give it to her i know that she aint tellin see im a go getta and she a go getta you already know she sexy can i sexy can i send for you redeye fresh out the pool no towel just let it air dry and if you aint fkin tonight man you can watch that tour bus go by chorus sexy can i just pardon my manners girl how you shake it got a nigga like oh baby its a kodak moment let me go and get my camera all i wanna no is sexy can i sexy can i hit it from the front then i hit it from the back know you like it like that then we take it to the bed then we take it to the floor then we chill for a second then were back at it for more sexy can i just pardon my manners girl how you shake it got a nigga like ohhhh its a kodak moment let me go and get my camera all i wanna no is sexy can i",3
12,"take a bow","rihanna",2008," how bout a round of applause standin ovation oh yeah yeah yeah yeah yeahyou look so dumb right now standin outside my house tryin to apologize youre so ugly when you cry please just cut it outdont tell me youre sorry cause youre not baby when i know youre only sorry you got caughtbut you put on quite a show you really had me goin but now its time to go curtains finally closin that was quite a show very entertaining but its over now go on and take a bowgrab your clothes and get gone you better hurry up before the sprinklers come on talkin bout girl i love you youre the one this just looks like a rerun please what else is onand dont tell me youre sorry cause youre not baby when i know youre only sorry you got caughtbut you put on quite a show you really had me goin but now its time to go curtains finally closin that was quite a show very entertaining but its over now go on and take a bowand the award for the best liar goes to you for makin me believe that you could be faithful to me lets hear your speech out ohhow bout a round of applause standin ovationbut you put on quite a show you really had me goin but now its time to go curtains finally closin that was quite a show very entertaining but its over now go on and take a bowbut its over now ",1
13,"viva la vida","coldplay",2008," i used to rule the world seas would rise when i gave the word now in the morning i sleep alone sweep the streets i used to owni used to roll the dice feel the fear in my enemys eyes listen as the crowd would sing now the old king is dead long live the kingone minute i held the key next the walls were closed on me and i discovered that my castles stand upon pillars of salt and pillars of sandi hear jerusalem bells are ringing roman cavalry choirs are singing be my mirror my sword and shield my missionaries in a foreign field    meaning  byjamesg   editor    viva la vida is a song by the british alternative rock band coldplay from their their fourth album viva la vida or death and all his friends 2008 it    see all   for some reason i cant explain once youre gone there was never never an honest word but that was when i ruled the worldit was the wicked and wild wind blew down the doors to let me in shattered windows and the sound of drums people couldnt believe what id becomerevolutionaries wait for my head on a silver plate just a puppet on a lonely string oh who would ever want to be kingi hear jerusalem bells are ringing roman cavalry choirs are singing be my mirror my sword and shield my missionaries in a foreign fieldfor some reason i cant explain i know saint peter wont call my name never an honest word but that was when i ruled the world woahahahah oh woahahah oh woahahahah oh woahahah oh woahahahahi hear jerusalem bells are ringing roman cavalry choirs are singing be my mirror my sword and shield my missionaries in a foreign fieldfor some reason i cant explain i know saint peter wont call my name never an honest word but that was when i ruled the worldooooooh ooh oooooh oh ooooooh oh oooooh ooh ",1
14,"i kissed a girl","katy perry",2008," this was never the way i planned not my intention i got so brave drink in hand lost my discretion its not what im used to just wanna try you on im curious for you caught my attentioni kissed a girl and i liked it the taste of her cherry chap stick i kissed a girl just to try it i hope my boyfriend dont mind it it felt so wrong it felt so right dont mean im in love tonight i kissed a girl and i liked it i liked itno i dont even know your name it doesnt matter youre my experimental game just human nature its not what good girls do not how they should behave my head gets so confused hard to obeyi kissed a girl and i liked it the taste of her cherry chap stick i kissed a girl just to try it i hope my boyfriend dont mind it it felt so wrong it felt so right dont mean im in love tonight i kissed a girl and i liked it i liked itus girls we are so magical soft skin red lips so kissable hard to resist so touchable too good to deny it aint no big deal its innocenti kissed a girl and i liked it the taste of her cherry chap stick i kissed a girl just to try it i hope my boyfriend dont mind it it felt so wrong it felt so right dont mean im in love tonight i kissed a girl and i liked it i liked it ",1
15,"whatever you like","ti",2008," hey jill you know them old sugar daddy they be trickin they tell them girli said you could have whatever you like if you like i said you could have whatever you like if you like yeahstacks on deck patrone on ice and we can pop bottles all night and baby you could have whatever you like if you like i said you could have whatever you like if you like yeah late night sex so wet so tight ill gas up a jet for you tonight and baby you could go where ever you like if you like i said you could go where ever you like if you like yeahanytime you want to pick up the telephone you know it aint nothin to drop a couple stacks on you wanted you could get it my dear five million dollar home drop bentleys i swear yeah i want your body need yo body long as you got me you wont need nobody you want it i got it go get it i buy it tell em other broke niggas be quietstacks on deck patrone on ice and we can pop bottles all night and baby you could have whatever you like if you like i said you could have whatever you like if you like yeah late night sex so wet so tight ill gas up a jet for you tonight and baby you could go where ever you like if you like i said you could go where ever you like if you like yeahshawty you the hottest love the way you drop it brain so good good i swore you went to college hundred deposit vacations hit the tropics cause everybody know it aint trickin if ya got it ya need to never ever gotta go in your wallet long as i got rubber band banks in my pocket five six rides with rims and a body kit ya aint gotta downgrade you can get what i get my chick could have what she want and goin every store for any bag she want and know she aint never had a man like that to buy you anything ya heart desire i that yeah i want your body i need yo body long as you got me you wont need nobody you want it i got it go get it i buy it tell em other broke niggas be quietstacks on deck patrone on ice and we can pop bottles all night and baby you could have whatever you like if you like i said you could have whatever you like if you like yeah late night sex so wet so tight ill gas up a jet for you tonight and baby you could go where ever you like if you like i said you could go where ever you like if you like yeahim talkin big boy rides and big boy ice let me put this big boy in yo life ya thing get so wet an hit so right let me put this big boy in yo life thats right i want your body need yo body long as you got me you wont need nobody you want it i got it go get it i buy it tell em other broke niggas be quietstacks on deck patrone on ice and we can pop bottles all night and baby you could have whatever you like if you like i said you could have whatever you like if you like yeah late night sex so wet so tight ill gas up a jet for you tonight and baby you could go where ever you like if you like i said you could go where ever you like if you like yeahhey jillhey jill ",1
16,"disturbia","rihanna",2008," bum bum bedum bum bum bedum bum bum bum bedum bum bum bedum bum bum bum bedum bum bum bedum bum bum bum bedum bum bum bedum bumno more gas in the red cant even get it started nothing heard nothing said cant even speak about it all my life on my head dont want to think about it feels like im going insane yeahits a thief in the night to come and grab you it can creep up inside you and consume you a disease of the mind it can control you its too close for comfortthrow on your break lights were in the city of wonder aint gonna play nice watch out you might just go under better think twice your train of thought will be altered so if you must falter be wise your mind is in disturbia its like the darkness is the light disturbia am i scaring you tonight your mind is in disturbia aint used to what you like disturbia disturbiabum bum bedum bum bum bedum bum bum bum bedum bum bum bedum bum bum bum bedum bum bum bedum bum bum bum bedum bum bum bedum bumfaded pictures on the wall its like they talkin to me disconnectin your call your phone dont even ring i gotta get out or figure this shit out its too close for comfortits a thief in the night to come and grab you it can creep up inside you and consume you a disease of the mind it can control you i feel like a monsterthrow on your break lights were in the city of wonder aint gonna play nice watch out you might just go under better think twice your train of thought will be altered so if you must falter be wise your mind is in disturbia its like the darkness is the light disturbia am i scaring you tonight your mind is in disturbia aint used to what you like disturbia disturbiabum bum bedum bum bum bedum bum bum bum bedum bum bum bedum bum bum bum bedum bum bum bedum bum bum bum bedum bum bum bedum bumrelease me from this curse im in ive been trying to maintain but im struggling you cant go go go i think im going to oh oh ohthrow on your break lights were in the city of wonder aint gonna play nice watch out you might just go under better think twice your train of thought will be altered so if you must falter be wise your mind is in disturbia its like the darkness is the light disturbia am i scaring you tonight your mind is in disturbia aint used to what you like disturbia disturbiabum bum bedum bum bum bedum bum bum bum bedum bum bum bedum bum bum bum bedum bum bum bedum bum bum bum bedum bum bum bedum bum ",1
17,"dont stop the music","rihanna",2008," please dont stop the music music music please dont stop the music music music please dont stop the music music music please dont stop the music music musicits getting late im making my way over to my favorite place i gotta get my body moving shake the stress away i wasnt looking for nobody when you looked my way possible candidate yeahwho knew that youd be up in here looking like you do youre makin staying over here impossible baby im a say your aura is incredible if you dont have to go dontdo you know what you started i just came here to party but now were rockin on the dance floor actin naughty your hands around my waist just let the music play were hand in hand chest to chest and now were face to facei wanna take you away lets escape into the music dj let it play i just cant refuse it like the way you do this keep on rockin to it please dont stop the please dont stop the music i wanna take you away lets escape into the music dj let it play i just cant refuse it like the way you do this keep on rockin to it please dont stop the please dont stop the please dont stop the musicbaby are you ready cause its gettin cold dont you feel the passion ready to explode what goes on between us no one has to know this is a private showdo you know what you started i just came here to party but now were rockin on the dance floor actin naughty your hands around my waist just let the music play were hand in hand chest to chest and now were face to facei wanna take you away lets escape into the music dj let it play i just cant refuse it like the way you do this keep on rockin to it please dont stop the please dont stop the music i wanna take you away lets escape into the music dj let it play i just cant refuse it like the way you do this keep on rockin to it please dont stop the please dont stop the please dont stop the musicplease dont stop the musicplease dont stop the music music musicplease dont stop the music music musici wanna take you away lets escape into the music dj let it play i just cant refuse it like the way you do this keep on rockin to it please dont stop the please dont stop the music i wanna take you away lets escape into the music dj let it play i just cant refuse it like the way you do this keep on rockin to it please dont stop the please dont stop the please dont stop the musicplease dont stop the musicplease dont stop the music music musicplease dont stop the music music music music music music music ",1
18,"pocketful of sunshine","natasha bedingfield",2008," i got a pocket got a pocketful of sunshine i got a love and i know that its all mine oh oh whoado what you want but youre never gonna break me sticks and stones are never gonna shake me no oh whoatake me away take me away a secret place a secret place a sweet escape a sweet escape take me away take me awaytake me away take me away to better days to better days take me away take me away a hiding place a hiding placei got a pocket got a pocketful of sunshine i got a love and i know that its all mine oh oh whoado what you want but youre never gonna break me sticks and stones are never gonna shake me no oh whoai got a pocket got a pocketful of sunshine i got a love and i know that its all mine oh oh whoawish that you could but you aint gonna own me do anything you can to control me oh oh notake me away take me away a secret place a secret place a sweet escape a sweet escape take me away take me awaytake me away take me away to better days to better days take me away take me away a hiding place a hiding placetheres a place that i go that nobody knows where the rivers flow and i call it homeand theres no more lies in the darkness theres light and nobody cries theres only butterfliestake me away take me away a secret place a secret place a sweet escape a sweet escape take me away take me awaytake me away take me away to better days to better days take me away take me away a hiding place a hiding placetake me away take me away a secret place a secret place a sweet escape a sweet escape take me away take me awaytake me away take me away to better days to better days take me away take me away a hiding place a hiding placetake me away take me away a secret place a secret place a sweet escape a sweet escape take me away take me awaytake me away take me away to better days to better days take me away take me away a hiding place a hiding placethe sun is on my side take me for a ride i smile up to the sky i know ill be all rightthe sun is on my side take me for a ride i smile up to the sky i know ill be all right ",1
19,"kiss kiss","chris brown featuring tpain",2008," she want that loveydovey that kisskiss kisskiss in her mind she fantasize bout getting wit me they hating on me they wanna diss this kisskiss cause she mine and so fine and thick as can beshe want that loveydovey that kisskiss kisskiss in her mind she fantasize bout getting wit me they hating on me they wanna diss this kisskiss cause she mine and so fine and thick as can beim a country boy from tappahannock va is where i reside so shawty understand it and i know i just turn eighteen and i get a little mannish and you see this bandanna hanging that means im like a bandit like a bandit banditi got paper girl the lamborghini with the spider seats you never seen it so get it shawty we parking lot pimping in my donk and i know what you wantshe want that loveydovey that kisskiss kisskiss in her mind she fantasize bout getting wit me they hating on me they wanna diss this kisskiss cause she mine and so fine and thick as can beshe want that loveydovey that kisskiss kisskiss in her mind she fantasize bout getting wit me they hating on me they wanna diss this kisskiss cause she mine and so fine and thick as can beim the epitome of this demonstration i got the remedy you feeling me so why is you hating and my anatomy is bird like yeah you heard right girl im the king so that means im flyif you wit it girl get it poppin roll wit me aint no stopping so get it shawty we parking lot pimping in my donk i know want you wantshe want that loveydovey that kisskiss kisskiss in her mind she fantasize bout getting wit me they hating on me they wanna diss this kisskiss cause she mine and so fine and thick as can beshe want that loveydovey that kisskiss kisskiss in her mind she fantasize bout getting wit me they hating on me they wanna diss this kisskiss cause she mine and so fine and thick as can beshawty let me holla at you you so hothothothot you think id be holing if you notnotnotnot im king of the town you can take a look around teddy penderazdown is the spotspotspotspot yeah i got money on me yeah baby girl no problem yeah you rolling shawty yeah lets hit mcdonalds its tp and cb im the nappy boy and pretty boyshe want that loveydovey that kisskiss kisskiss in her mind she fantasize bout getting wit me they hating on me they wanna diss this kisskiss cause she mine and so fine and thick as can beshe want that loveydovey that kisskiss kisskiss in her mind she fantasize bout getting wit me they hating on me they wanna diss this kisskiss cause she mine and so fine and thick as can be ",1
20,"closer","neyo",2008," closer closer closer closerturn the lights off in this place and she shines just like a star and i swear i know her face i just dont know who you are turn the music up in here i still hear her loud and clear like shes right there in my ear telling me that she wants to own me to control me come closer come closeroh i just cant pull myself away under her spell i cant break i just cant stop i just cant stop i just cant stop i just cant stop and i just cant break myself no way but i dont want to escape i just cant stop i just cant stop i just cant stop i just cant stop i just cant stopi can feel her on my skin i can taste her on my tongue shes the sweetest taste of sin the more i get the more i want she wants to own me come closer she says come closeroh i just cant pull myself away under her spell i cant break i just cant stop i just cant stop i just cant stop i just cant stop and i just cant break myself no way but i dont want to escape i just cant stop i just cant stop i just cant stop i just cant stop i just cant stopcome closercome closercome closercome closercome closercome closercome closeri just cant stop noi just cant stop noi just cant stop noi just cant stop nooh i just cant pull myself away under her spell i cant break i just cant stop i just cant stop i just cant stop i just cant stop and i just cant break myself no way but i dont want to escape i just cant stop i just cant stop i just cant stop i just cant stop i just cant stopoh i just cant pull myself away under her spell i cant break i just cant stop i just cant stop i just cant stop i just cant stop i just cant stop come closer ",1
21,"bubbly","colbie caillat",2008," will you count me inive been awake for a while now youve got me feelin like a child now cause every time i see your bubbly face i get the tingles in a silly placeit starts in my toes and i crinkle my nose where ever it goes i always know that you make me smile please stay for a while now just take your time wherever you gothe rain is fallin on my window pane but we are hidin in a safer place under covers stayin dry and warm you give me feelings that i adoreit starts in my toes make me crinkle my nose wherever it goes i always know that you make me smile please stay for a while now just take your time wherever you gobut what am i gonna say when you make me feel this way i just mmmand it starts in my toes makes me crinkle my nose wherever it goes i always know that you make me smile please stay for a while now just take your time wherever you goive been asleep for a while now you tucked me in just like a child now cause every time you hold me in your arms im comfortable enough to feel your warmthit starts in my soul and i lose all control when you kiss my nose the feelin shows cause you make me smile baby just take your time now holdin me tightwherever wherever wherever you go wherever wherever wherever you go wherever you go i always know cause you make me smile even just for a while ",1
22,"touch my body","mariah carey",2008," mc youre the place to be oh yeah oh yeah oh yeah oh yeah oh yeah oh yeah oh yeah oh yeah oh yeahi know that youve been waitin for it im waiting too in my imagination id be all up on you i know you got that fever for me hundred and two and boy i know i feel the same my temperatures through the roofif theres a camera up in here then its gonna leave with me when i do i do if theres a camera up in here then id best not catch this flick on youtube youtube cause if you run your mouth and brag about this secret rendezvous i will hunt you down cause baby they be all up in my bidness like a wendy interview but this is private between you and itouch my body put me on the floor wrestle me around play with me some more touch my body throw me on the bed i just wanna make you feel like you never did touch my body let me wrap my thighs all around your waist just a little taste touch my body know you like my curves come on and give me what i deserve and touch my bodyboy you can put me on you like a brand new white tee ill hug your body tighter than my favorite jeans i want you to caress me like a tropical breeze and float away with you in the caribbean seaif theres a camera up in here then its gonna leave with me when i do i do if theres a camera up in here then id best not catch this flick on youtube youtube cause if you run your mouth and brag about this secret rendezvous i will hunt you down cause they be all up in my bidness like a wendy interview but this is private between you and itouch my body put me on the floor wrestle me around play with me some more touch my body throw me on the bed i just wanna make you feel like you never did touch my body let me wrap my thighs all around your waist just a little taste touch my body know you like my curves come on and give me what i deserve and touch my bodyim gonna treat you like a teddy bear you wont wanna go nowhere in the lap of luxury baby just turn to me you wont want for nothing boy i will give you plenty touch my bodytouch my body put me on the floor wrestle me around play with me some more touch my body throw me on the bed i just wanna make you feel like you never did touch my body let me wrap my thighs all around your waist just a little taste touch my body know you like my curves come on and give me what i deserve and touch my bodyoh yeah oh yeah oh yeah oh yeah oh yeah oh oh oh oh yeah touch my body ",1
23,"4 minutes","madonna featuring justin timberlake and timbaland",2008," ah yeah ah break down come onhey uh come on madonnacome on boy ive been waiting for somebody to pick up my stroll uhwell dont waste time give me a sign tell me how you wanna roll uh hmi want somebody to speed it up for me then take it down slow theres enough room for bothwell i can handle that you just gotta show me where its at are you ready to go are you ready to goif you want it you already got it if you thought it it better be what you want if you feel it it must be real just say the word and im a give you what you wanttime is waiting we only got four minutes to save the world no hesitating grab a boy grab a girl time is waiting we only got four minutes to save the world no hesitating we only got four minutes four minuteskeep it up keep it up dont be a pretty hey madonna uh you gotta get in line hop tick tock tick tock tick tock thats right keep it up keep it up dont be a pretty madonna uh you gotta get in line hop tick tock tick tock tick tocksometimes i think what i need is a you intervention yeahand you know i can tell that you like it and that its good by the way that you move ooh heythe road to hell is paved with good intentions yeahbut if i die tonight at least i can say i did what i wanted to do tell me how bout youif you want it you already got it if you thought it it better be what you want if you feel it it must be real just say the word and im a give you what you wanttime is waiting we only got four minutes to save the world no hesitating grab a boy grab a girl time is waiting we only got four minutes to save the world no hesitating we only got four minutes four minuteskeep it up keep it up dont be a pretty madonna uh you gotta get in line hop tick tock tick tock tick tock thats right keep it up keep it up dont be a pretty madonna uh you gotta get in line hop tick tock tick tock tick tock ",1
24,"so what","pink",2008," na na na na na na na na na na na na na na na na na na na na na na na nai guess i just lost my husband i dont know where he went so im gonna drink my money im not gonna pay his rent nope i got a brand new attitude and im gonna wear it tonight i wanna get in trouble i wanna start a fightna na na na na na na i wanna start a fight na na na na na na na i wanna start a fightso so what im still a rock star i got my rock moves and i dont need you and guess what im having more fun and now that were done im gonna show you tonight im alright im just fine and youre a tool so so what i am a rock star i got my rock moves and i dont want you tonightuh check my flow uhthe waiter just took my table and gave to jessica simp shit i guess ill go sit with tomboy at least hell know how to hit what if this songs on the radio then somebodys gonna die im gonna get in trouble my ex will start a fightna na na na na na na hes gonna start a fight na na na na na na na were all gonna get in a fightso so what im still a rock star i got my rock moves and i dont need you and guess what im having more fun and now that were done im gonna show you tonight im alright im just fine and youre a tool so so what i am a rock star i got my rock moves and i dont want you tonightyou werent there you never were you want it all but thats not fair i gave you love i gave my all you werent there you let me fallso so what im still a rock star i got my rock moves and i dont need you and guess what im having more fun and now that were done im gonna show you tonight im alright im just fine and youre a tool so so what i am a rock star i got my rock moves and i dont want you tonightno no no no i dont want you tonight you werent there im gonna show you tonight im alright im just fine and youre a tool so so what i am a rock star i got my rock moves and i dont want you tonightba da da da da da ",1
25,"paralyzer","finger eleven",2008," i hold on so nervously to me and my drink i wish it was cooling me but so far has not been goodits been shitty and i feel awkward as i should this club has got to be the most pretentious thingsince i thought you and me well i am imagining a dark lit place or your place or my placewell im not paralyzed but i seem to be struck by you i wanna make you move because youre standing still if your body matches what your eyes can do youll probably move right through me on my way to youi hold out for one more drink before i think im looking too desperately but so far has not been funi should just stay home if one thing really means one this club will hopefully be closed in three weeksthat would be cool with me well im still imagining a dark lit place or your place or my placewell im not paralyzed but i seem to be struck by you i wanna make you move because youre standing still if your body matches what your eyes can do youll probably move right through me on my way to youwell im not paralyzed but i seem to be struck by you i wanna make you move because youre standing still if your body matches what your eyes can do youll probably move right through me on my way to youwell im not paralyzed but i seem to be struck by you i wanna make you move because youre standing still if your body matches what your eyes can do youll probably move right through me on my way to youyoull probably move right through me on my way to youyoull probably move right through me on my way to you ",1
26,"clumsy","fergie",2008," she cant help it the girl cant help it oh baby she cant help it the girl cant help it oh baby she cant help it the girl cant help it oh baby she cant help itthe first time that i saw your eyes boy you looked right through me mmm mmm play it cool but i knew you knew that cupid hit me mmm mmmyou got me trippin stumblin flippin fumblin clumsy cause im fallin in love in love you got me slippin tumblin sinkin fumblin clumsy cause im fallin in love in love so in love with youshe cant help it the girl cant help it oh baby she cant help it the girl cant help it oh no she cant help it the girl cant help it oh how she cant help itcant breath when you touch my sleeve butterflies so crazy ummm ummm whoa now think im goin down friends dont know whats with me mmm mmmyou got me trippin stumblin flippin fumblin clumsy cause im fallin in love in love you got me slippin tumblin sinkin fumblin clumsy cause im fallin in love in love so in love with youshe cant help it the girl cant help it oh no she cant help it the girl cant help it oh please she cant help it the girl cant help it no no she cant help ityou know this isnt the first time this has happened to me this love sick thing i like serious relationships and uh a girl like me dont stay single for long cause every time a boyfriend and i break up my world is crushed and im all alone the love bug crawls right back up and bites me and im backshe cant help it the girl cant help it in love she cant help it the girl cant help it oh god she cant help it the girl cant help it im back in love girl cant help it woo hoo hoo she cant help it the girl cant help it im back in love yeah she cant help it the girl cant help it im back in love yeah baby she cant help it the girl cant help it im back in love yeahyou got me trippin stumblin flippin fumblin clumsy cause im fallin in love in love you got me slippin tumblin sinkin fumblin clumsy cause im fallin in love in love so in love with youyou got me trippin stumblin flippin fumblin clumsy cause im fallin in love in love you got me slippin tumblin sinkin fumblin clumsy cause im fallin in love in love so in love with you ",1
27,"im yours","jason mraz",2008," well you done done me and you bet i felt it i tried to be chill but youre so hot that i melted i fell right through the cracks now im trying to get back before the cool done run out ill be giving it my bestest and nothings going to stop me but divine intervention i reckon its again my turn to win some or learn somebut i wont hesitate no more no more it cannot wait im yourswell open up your mind and see like me open up your plans and damn youre free look into your heart and youll find love love love lovelisten to the music of the moment people dance and sing were just one big family and its our godforsaken right to be loved loved love loveso i wont hesitate no more no more it cannot wait im sure theres no need to complicate our time is short this is our fate im yoursdddo do you but do you dddo but do you want to come on scooch on over closer dear and i will nibble your earive been spending way too long checking my tongue in the mirror and bending over backwards just to try to see it clearer but my breath fogged up the glass and so i drew a new face and i laughedi guess what i be saying is there aint no better reason to rid yourself of vanities and just go with the seasons its what we aim to do our name is our virtuebut i wont hesitate no more no more it cannot wait im yours open up your mind and see like me i wont hesitate open up your plans and damn youre free no more no more look into your heart and youll find that the sky is yours it cannot wait im sureso please dont please dont theres no need theres no need to complicate theres no need to complicate our time is short our time is short this is our fate this is this is this is our fate im yoursoh im yours oh im yours oh whoa baby you believe im yours you best believe best believe im yours ",1
28,"leavin","jesse mccartney",2008," hey baby girl ive been watching you all day all day all day all day man that thing you got behind you is amazing amazing amazing amazing you make me want to take you out and let it rain let it rain let it rain let it rain i know you got a man but this is what you should saywhy dont you tell him that im leavin never looking back again you found somebody who does it better than he can no more making you cry no more them gray skies girl we flying on the g5 and im leavin never looking back again so call you shawty and tell him you found a new man the one whos so so fly the one that keep you high have me singing all night night night oh oh oh oh oh oh man she got me singing oh oh oh oh oh oh oh ohnow if i talk it girl you know that i will walk it out walk it out walk it out walk it out man ill put my money money where my mouth is mouth is mouth is mouth is cause you the baddest little thing that ive ever seen ever seen ever seen ever seen so ima ask you one time if you got a manwhy dont you tell him that im leavin never looking back again you found somebody who does it better than he can no more making you cry no more them gray skies girl we flying on the g5 and im leavin never looking back again so call you shawty and tell him you found a new man the one whos so so fly the one that keep you high have me singing all night night night oh oh oh oh oh oh man she got me singing oh oh oh oh oh oh oh ohdont stress dont stress dont stress just tell him to the left left left dont stress dont stress dont stress cause we gone and we gone and we gone no stress no stress no stress girl you deserve nothing but the best no stress no stress no stress girl you need to tell himwhy dont you tell him that im leavin never looking back again you found somebody who does it better than he can no more making you cry no more them gray skies girl we flying on the g5 and im leavin never looking back again so call you shawty and tell him you found a new man the one whos so so fly the one that keep you high have me singing all night night night oh oh oh oh oh oh man she got me singing oh oh oh oh oh oh oh oh ",1
29,"dangerous","kardinal offishall featuring akon",2008," girl i cant notice but to notice you noticing me from across the room i can see it and cant stop myself from looking and noticing you noticing me watch out ive seen her type before that girl is so dangerous that girl is so dangerous that girl is a bad girl ive seen her type before shes so dangerous that girl is so dangerous that girl is a bad girl yeahoh yeah thats her the big dog tryin to get her little kitty to purr exman lookin at me like im lucifer cause he knows i will deal with his case yes sir if i was the last man i earth i would only take that girl end of search she give a new definition to the word curve got chicks in the strip club envyin her bodys like weapon a mass irruptions see the glad on that phat obstruction tongue game give a new type of seductiongirl i cant notice but to notice you noticing me from across the room i can see it and cant stop myself from looking and noticing you noticing me watch out ive seen her type before that girl is so dangerous that girl is so dangerous that girl is a bad girl ive seen her type before shes so dangerous that girl is so dangerous that girl is a bad girl yeahoh bad to the bone everything locked like a two three zone i wanted to make my black snake moan talk a little bit and take that home she bad and she know the deal thats what i cant hide when she want to conceal i mean megan good and halle berry put together aint close to the jubee i see no no no disrespect but this gyal a pon another level cut the check uh tell king max stop the press say kid can i get a witnessgirl i cant notice but to notice you noticing me from across the room i can see it and cant stop myself from looking and noticing you noticing me watch out ive seen her type before that girl is so dangerous that girl is so dangerous that girl is a bad girl ive seen her type before shes so dangerous that girl is so dangerous that girl is a bad girl yeahi see you got that fire by the way that you walkin from left to right i watched her go down girl i just want it right now dont wanna do no talkin shortys so right i need to slow downfigure eight good body shape when she on the dance floor gyal dem irrate when she do her thing man cant walk straight that biscuit soak up everything in my plate bad heels like jessica pete im tryna give home girl sex and the citytity itty bitty waistline moves with the baseline one lick of punch im finegirl i cant notice but to notice you noticing me from across the room i can see it and cant stop myself from looking and noticing you noticing me watch out ive seen her type before that girl is so dangerous that girl is so dangerous that girl is a bad girl ive seen her type before shes so dangerous that girl is so dangerous that girl is a bad girl yeah ",1
30,"tattoo","jordin sparks",2008," hey hey hey hey oh oh ohno matter what you say about love i keep coming back for more keep my head in the fire sooner or later i get what im asking for no matter what you say about life i learn every time i bleed the truth is a stranger soul is in danger i gotta let my spirit be free to admit that im wrong and then change my mind sorry but i have to move on and leave you behindi cant waste time so give it a moment i realize nothings broken no need to worry bout everything i done live every second like it was my last one dont look back got a new direction i loved you once needed protection youre still a part of everything i do youre on my heart just like a tattoo just like a tattoo ill always have you ill always have you ill always have youim sick of playing all of these games its not bout taking sides when i looked in the mirror it didnt deliver it hurt enough to think that i could stop admit that im wrong and then change my mind sorry but i got to be strong and leave you behindi cant waste time so give it a moment i realize nothings broken no need to worry bout everything i done live every second like it was my last one dont look back got a new direction i love you once needed protection youre still a part of everything i do youre on my heart just like a tattoo just like a tattoo ill always have you ill always have you ill always have youif i live every moment wont change any moment theres still a part of me in u i will never regret you still the memory of you marks everything i do ohi cant waste time so give it a moment i realize nothings broken no need to worry bout everything i done live every second like it was my last one dont look back got a new direction i loved you once needed protection youre still a part of everything i do youre in my heart just like a tattooi cant waste time so give it a moment i realize nothings broken no need to worry bout everything i done live every second like it was my last one dont look back got a new direction i loved you once needed protection youre still a part of everything i do youre in my heart just like a tattoojust like a tattoo ill always have you ",1
31,"see you again","miley cyrus",2008," i got my sights set on you and im ready to aim i have a heart that will never be tamed i knew you were somethin special when you spoke my name now i cant wait to see you againive got a way of knowin when somethin is right i feel like i must have known you in another life cause i felt this deep connection when you looked in my eyes now i cant wait to see you againthe last time i freaked out i just kept lookin down i stststuttered when you asked me what im thinkin bout felt like i couldnt breathe you asked whats wrong with me my best friend lesley said oh shes just being mileythe next time we hang out i will redeem myself my heart cant rest til then ooh whoa whoa i i cant wait to see you againi got this crazy feelin deep inside when you called and asked to see me tomorrow night im not a mind reader but im readin the signs that you cant wait to see me againthe last time i freaked out i just kept lookin down i stststuttered when you asked me what im thinkin bout felt like i couldnt breathe you asked whats wrong with me my best friend lesley said oh shes just being mileythe next time we hang out i will redeem myself my heart cant rest til then ooh whoa whoa i i cant wait to see you againi got my sight set on you and im ready to aimthe last time i freaked out i just kept lookin down i stststuttered when you asked me what im thinkin bout felt like i couldnt breathe you asked whats wrong with me my best friend lesley said oh shes just being mileythe next time we hang out i will redeem myself my heart cant rest til then ooh whoa whoa i i cant wait to see you again ooh whoa whoa i i cant wait to see you again ",1
32,"shake it","metro station",2008," lets drop yeah come on shake shakeill take you home if you dont leave me at the front door leave me at the front door your bodys cold but girl were gettin so warm and i was thinking of ways that i could get inside get insidetonight youre falling in love let me go now this feelings tearing me up here we go nownow if she does it like this will you do it like that now if she touches like this will you touch her like that now if she moves like this will you move her like that come on shake shake shake shake shake itshake shake shake shake shake itshake shake shake shake shake itshake shake shake shake shake itshake shake shake shake shake ityour lips tremble but your eyes are in a straight stare in a straight stare were on the bed but your clothes are laying right there and i was thinking of places that i could hide i could hidetonight youre falling in love let me go now this feelings tearing me up here we go nownow if she does it like this will you do it like that now if she touches like this will you touch her like that now if she moves like this will you move her like that come on shake shake shake shake shake itshake shake shake shake shake itshake shake shake shake shake itshake shake shake shake shake itshake shake shake shake shake iti saw you dancing and i couldnt get you off my mind i could tell that you could tell that i was taking my time but i was thinking of ways to get you to stay tonight bodys shaking turn me on so i can turn off the lightsnow if she does it like this will you do it like that now if she touches like this will you touch her like that now if she moves like this will you move her like that come on shake shake shake shake shake itshake shake shake shake shake itshake shake shake shake shake itshake shake shake shake shake itshake shake shake shake shake it ",1
33,"stop and stare","onerepublic",2008,"one republic one republic stop and stare this town is colder now i think its sick of us its time to make our move im shakin off the rust ive got my heart set on anywhere but here im staring down myself counting up the years steady hands just take the wheel and every glance is killing me time to make one last appeal for the life i lead stop and stare i think im moving but i go nowhere yeah i know that everyone gets scared but ive become what i cant be oh stop and stare you start to wonder why youre here not there and youd give anything to get whats fair but fair aint what you really need oh can u see what i see theyre tryin to come back all my senses push untie the weight bags i never thought i could steady feet dont fail me now gonna run till you cant walk but something pulls my focus out and im standing down stop and stare i think im moving but i go nowhere yeah i know that everyone gets scared but ive become what i cant be oh stop and stare you start to wonder why youre here not there and youd give anything to get whats fair but fair aint what you really need oh you dont need what u need what u need stop and stare i think im moving but i go nowhere yeah i know that everyone gets scared but ive become what i cant be oh do u see what i see",3
34,"take you there","sean kingston",2008," we can go to the tropics sip pina coladas shorty i could take you there or we can go to the slums where killers get hung shorty i could take you there you know i could take ya i could take ya i could take ya i could take ya shorty i could take you there you know i could take ya i could take ya i could take ya i could take ya shorty i could take you therebaby girl i know its rough but come with me we can take a trip to the hood its no problem girl its my city i could take you therelittle kid with guns only fifteen roam in the streets up to no good when gun shots just watch us run quickly i could show you whereas long youre with me baby youll be alright im known in the ghetto girl just stay by my side or we can leave the slums go to paradise baby its up to you its whatever you likewe can go to the tropics sip pina coladas shorty i could take you there or we can go to the slums where killers get hung shorty i could take you there you know i could take ya i could take ya i could take ya i could take ya shorty i could take you there you know i could take ya i could take ya i could take ya i could take ya shorty i could take you thereshorty come with me its no worryi know the bad men them where they ah stay police fly pursuit in a hurry this is no gun play dont be scared in the west indies its jamaica thats where im from might see something youre not used to welcome to the slumsas long youre with me baby youll be alright im known in the ghetto girl just stay by my side or we can leave the slums go to paradise baby its up to you its whatever you likewe can go to the tropics sip pina coladas shorty i could take you there or we can go to the slums where killers get hung shorty i could take you there you know i could take ya i could take ya i could take ya i could take ya shorty i could take you there you know i could take ya i could take ya i could take ya i could take ya shorty i could take you thereor we or we can go can go to a place to a place i know you gonna like oh oh oh the beach the beach the breeze the breeze west indies i call it paradisewe can go to the tropics sip pina coladas shorty i could take you there or we can go to the slums where killers get hung shorty i could take you there you know i could take ya i could take ya i could take ya i could take ya shorty i could take you there you know i could take ya i could take ya i could take ya i could take ya shorty i could take you there ",1
35,"paper planes","mia",2008," i fly like paper get high like planes if you catch me at the border i got visas in my name if you come around here i make em all day i get one down in a second if you waiti fly like paper get high like planes if you catch me at the border i got visas in my name if you come around here i make em all day i get one down in a second if you waitsometimes i think sitting on trains every stop i get to im clicking my gun everyones a winner were making that fame bonafide hustler making my namesometimes i think sitting on trains every stop i get to im clocking that game everyones a winner now were making that fame bonafide hustler making my nameall i wanna do is and and take your moneyall i wanna do is and and take your moneyall i wanna do is and and take your moneyall i wanna do is and and take your moneypirate skulls and bones sticks and stones and weed and bombs running when we hit em lethal poison through their systempirate skulls and bones sticks and stones and weed and bombs running when we hit em lethal poison through their systemno one on the corner has swag like us hit me on my burner prepaid wireless we pack and deliver like ups trucks already going to hell just pumping that gasno one on the corner has swag like us hit me on my burner prepaid wireless we pack and deliver like ups trucks already going to hell just pumping that gasall i wanna do is and and take your moneyall i wanna do is and and take your moneyall i wanna do is and and take your moneyall i wanna do is and and take your moneymia third world democracy yeah i got more records than the kgb so uh no funny businesssome some some i some i murder some i some i let go some some some i some i murder some i some i let goall i wanna do is and and take your moneyall i wanna do is and and take your moneyall i wanna do is and and take your moneyall i wanna do is and and take your money ",1
36,"hot n cold","katy perry",2008," you change your mind like a girl changes clothes yeah you pms like a bitch i would knowand you over think always speak crypticallyi should know that youre no good for mecause youre hot then youre cold youre yes then youre no youre in then youre out youre up then youre down youre wrong when its right its black and its white we fight we break up we kiss we make up you you dont really want to stay no you but you dont really want to goo youre hot then youre cold youre yes then youre no youre in then youre out youre up then youre downwe used to be just like twins so in sync the same energy nows a dead battery used to laugh bout nothing now youre plain boringi should know that youre not gonna changecause youre hot then youre cold youre yes then youre no youre in then youre out youre up then youre down youre wrong when its right its black and its white we fight we break up we kiss we make up you you dont really want to stay no you but you dont really want to goo youre hot then youre cold youre yes then youre no youre in then youre out youre up then youre downsomeone call the doctor got a case of a love bipolar stuck on a roller coaster cant get off this rideyou change your mind like a girl changes clothescause youre hot then youre cold youre yes then youre no youre in then youre out youre up then youre down youre wrong when its right its black and its white we fight we break up we kiss we make up you you dont really want to say no you but you dont really want to goo youre hot then youre cold youre yes then youre no youre in then youre out youre up then youre down youre wrong when its right its black and its white we fight we break up we kiss we make up you you dont really want to stay no you but you dont really want to goo youre hot then youre cold youre yes then youre no youre in then youre out youre up then youre down down ",1
37,"live your life","ti featuring rihanna",2008," ey this is special whats happenin to all my all my all my soldiers over there in iraq everybody right here what you need to do is be thankful for the life you got you know what im sayin stop lookin at what you aint got and start being thankful for what you do got lets give it to em baby girlyoure gonna be a shinin star in fancy clothes and fancy cars and then youll see youre gonna go far cause everyone knows just who ya are so live your life hey ay ay ay you steady chasin that paper just live your life oh ay ay ay aint got no time for no haters just live your life hey ay ay ay no tellin where itll take ya just live your life oh ay ay ay cause im a paper chaser just livin my life ay my life oh my life ay my life oh just livin my life ay my life oh my life ay my life oh just livin my lifehey never mind what haters say ignore em til they fade away amazin they ungrateful after all the game i gave away safe to say i paved the way for you cats to get paid today youd still be wastin days away now had i never saved the day consider them my protege homage i think they should pay instead of bein gracious they violate in a major way i never been a hater still i love em in a crazy way some say they sold the yay you know they couldnt get work on labor day it aint that black and white it has an area the shade of gray im westside anyway even if i left today and stayed away some move away to make a way not move away cause they afraid i brought back to the hood and all you ever did was take away i pray for patience but they make me wanna melt they face away like i once made em spray now i could make em put the ks away been thuggin all my life cant say i dont deserve to take a break youd rather see me catch a case and watch my future fade awayyoure gonna be a shinin star in fancy clothes and fancy cars and then youll see youre gonna go far cause everyone knows just who ya are so live your life hey ay ay ay you steady chasin that paper just live your life oh ay ay ay aint got no time for no haters just live your life hey ay ay ay no tellin where itll take ya just live your life oh ay ay ay cause im a paper chaser just livin my life ay my life oh my life ay my life oh just livin my life ay my life oh my life ay my life oh just livin my lifeim the opposite of moderate immaculately polished with the spirit of a hustler and the swagger of a college kid allergic to the counterfeit impartial to the politics articulate but stillll grab a nigga by the collar quick whoever havin problems with their record sales just holler tip if that dont work and all else fails then turn around and follow tip i got love for the game but ay im not in love with all of it could do without the fame and rappers nowadays are comedy the hootin and the hollerin back and forth with the arguin where you from who you know what you make and what kind of car you in seems as though you lost sight of whats important when depositin them checks into your bank account and you up out of poverty your values is a disarray prioritizin horribly unhappy with the riches cause youre piss poor morally ignorin all prior advice and forewarnin and we mighty full of ourselves all of a sudden arent weyoure gonna be a shinin star in fancy clothes and fancy cars and then youll see youre gonna go far cause everyone knows just who ya are so live your life hey ay ay ay you steady chasin that paper just live your life oh ay ay ay aint got no time for no haters just live your life hey ay ay ay no tellin where itll take ya just live your life oh ay ay ay cause im a paper chaser just livin my life ay my life oh my life ay my life oh just livin my life ay my life oh my life ay my life ohgot everybody watchin what i do come walk in my shoes and see the way im livin if you really want to got my mind on my money and im not goin away so keep on gettin your paper and keep on climbin look in the mirror and keep on shinin shinin until the game ends til the clock stop we gon post up on the top spot livin the life the life in the windmill city got my whole team with me the life my life i do it how i wanna do im livin my life my life i will never lose im livin my life my life and ill never stop itso live your life ",1
38,"bust it baby part 2","plies featuring neyo",2008," aye can i please talk to my bust it babies real quick homie let me bring you in my world and let you know what i call lil bust it babyi was speedin in the fast lane pedal to the floor mayne tryna get back to her love best believe she got that good thang she my little hood thang ask around they know usthey know thats mine bust it baby everybody know thats mine bust it baby everybody know thats mineif i wasnt married to the streets itd be you yo lips what make you so cute love when you poke yo mouth out when you mad too save your number in my phone under lil boolike your sex but more love what cha do turn me on how you stare at me when we through when you give it to me i dont wanna turn ya loose scared to moan around you its all i can say is oohmy favorite panties of yours the ones thats seethrough one wit the pink trim on em and they light blue speakin for the goons thank god for makin you bust it baby is what i call youshe got me speedin in the fast lane pedal to the floor mayne tryna get back to her love best believe she got that good thang she my little hood thang ask around they know usthey know thats mine bust it baby everybody know thats mine bust it baby everybody know thats minethey say hes an entertainer slow down youre just one more he dont respect you he just gon hurt you and neglect youwell they gon say what they wanna yeah i made a promise yeah to do you right and im gonna girl ill do everything i can to prove ima better man than your friends think i amshe got me speedin in the fast lane pedal to the floor mayne tryna get back to her love best believe she got that good thang she my little hood thang ask around they know usthey know thats mine bust it baby everybody know thats mine bust it baby everybody know thats minei just gave her a nickname its wetwet cause when we finished she mess up all my bedsets she got something to relax me when im under stress never told her or let her know it but she the bestshe like to spell her name wit her tongue on my chest if you had told me it was this good ida never guessed she full of surprises i dont know what shell do next but while she sleep i sneak and put hickies on her neckand when she go out she shut down the whole set love to see her in heels wit the slit in her dress she like to do her own hair and get her own checks my bust it baby i keep er on deckshe got me speedin in the fast lane pedal to the floor mayne tryna get back to her love best believe she got that good thang she my little hood thang ask around they know usthey know thats mine bust it baby everybody know thats mine bust it baby everybody know thats mine ",1
39,"american boy","estelle featuring kanye west",2008," just another one champion sound me and estelle about to get down who the hottest in the world right now just touched down in london town bet they give me a pound tell them put the money in my hand right now tell the promoter we need more seats we just sold out all the floor seatstake me on a trip id like to go some day take me to new york id love to see la i really want to come kick it with you youll be my american boyhe said hey sister its really really nice to meet ya i just met this five foot seven guy whos just my type i like the way hes speaking his confidence is peaking dont like his baggy jeans but ima like whats underneath it and no i aint been to mia i heard that cali never rains and new york heart awaits first lets see the west end ill show you to my brethren im like this american boy american boytake me on a trip id like to go some day take me to new york id love to see la i really want to come kick it with you youll be my american boycan we get away this weekend take me to broadway lets go shopping baby maybe then well go to a cafe lets go on the subway take me to your hood i neva been to brooklyn and id like to see whats good dress in all your fancy clothes sneakers looking fresh to def im lovin those shell toes walkin that walk talk that slick talk im likin this american boy american boytake me on a trip id like to go some day take me to new york id love to see la i really want to come kick it with you youll be my american boylet them know agwan bludwho killin em in the uk everybody gonna to say you k reluctantly because most of this press dont fuck wit me estelle once said to me cool down down dont act a fool now now i always act a fool ow ow aint nothing new now now he crazy i know what ya thinkin ribena i know what your drinkin rap singer chain blinger holla at the next chick soon as youre blinkin whats youre persona about this american brama am i shallow cause all my clothes designer dressed smart like a london bloke before he speak his suit bespoke and you thought he was cute before look at this pea coat tell me hes broke and i know you aint into all that i heard your lyrics i feel your spirit but i still talk that caaash cause a lot wags want to hear it and im feelin like mike at his baddest the pips at they gladys and i know they love it so to hell with all that rubbishwould you be my love my love could be mine would you be my love my love could be mine could you be my love my love would you be my american boy american boytake me on a trip id like to go some day take me to chicago san fransico bay i really want to come kick it with you youll be my american boy youll be my american boy american boytake me on a trip id like to go some day take me to new york id love to see la i really want to come kick it with you youll be my american boy ",1
40,"got money","lil wayne featuring tpain",2008," i need a winndixie grocery bag full of money right now to the vip section wosh wosh wosh you got young money in the house tonight baby yeah yeah young young wosh young wosh young wosh young mulla babygot money yeah and you know it take it out your pocket and show it then throw it fly this a way fly thata way fly this a way fly thata way gettin mug from everybody who see then hang over the wall of the vip like fly this a way fly thata way fly this a way fly thata waynow i was bouncing through the club she loved the way i did it but i see her boyfriend hatin like a city cop now i aint never been a chicken but my fitty cocked say i aint never been a chicken but my semi cocked now where your bar at im tryna rent it out and we so bout it bout it now what are you about dj show me love he say my name when the music stop young money lil wayne then the music drop i make it snow i make it flurry i make it out alright tomorrow dont worry yeah young wayne on them hoes aka mr make it rain on them hoes young moneygot money yeah and you know it take it out your pocket and show it then throw it fly this a way fly thata way fly this a way fly thata way gettin mug from everybody who see then hang over the wall of the vip like fly this a way fly thata way fly this a way fly thata waystreets here we go one for the money two for the show now clap your hands if you got a bank roll like some clap on lights in this bitch i be clapping all night in this bitch uhh hun lights off uhh hun mask on uhh hun she saw me uhh hun she smiling yeah he muggin who cares cause my goons are right here aye its nothin to a big dog and im a great dane i wear eight chains i mean so much ice they yell skate wayne she wanna fuck weezy but she wanna rape wayne uhh hungot money yeah and you know it take it out your pocket and show it then throw it fly this a way fly thata way fly this a way fly thata way gettin mug from everybody who see then hang over the wall of the vipok its young wayne on them hoes aka mr make it rain on them hoes like eh everybody say mr rain man can we have a rainy day bring a umbrella please bring a umbrella ella ella ella ehhh bitch aint shit but a hoe in a trick bet you no one aint trick if you got it you know we aint fucking if you not thick and i cool your ass down if you think youre hot shit so rolex watch this i do it four five six my click clack goes the black hoe pimp and just like it i blow that shit cause bitch im the bomb like tick tick bitch yeahgot money yeah and you know it take it out your pocket and show it then throw it fly this a way fly thata way fly this a way fly thata way gettin mug from everybody who see then hang over the wall of the vip like fly this a way fly thata way fly this a way fly thata wayyeah its young wayne on them hoes aka mr make it rain on them hoes yeah young wayne on them hoes make a stripper fall in love tpain on them hoes ahaumm young money baby ",1
41,"our song","taylor swift",2008," i was riding shotgun with my hair undone in the front seat of his car hes got a onehand feel on the steering wheel the other on my heart i look around turn the radio down he says baby is something wrong i say nothin i was just thinkin how we dont have a song and he saidour song is a slamming screen door sneakin out late tapping on your window when were on the phone and you talk real slow cause its late and your mama dont know our song is the way you laugh on the first date man i didnt kiss her and i should have and when i got home before i said amen asking god if he could play it againi was walking up the front porch steps after everything that day had gone all wrong and been trampled on and lost and thrown away got to the hallway well on my way to my lovin bed i almost didnt notice all the roses and the note that saidour song is a slamming screen door sneakin out late tapping on your window when were on the phone and you talk real slow cause its late and your mama dont know our song is the way you laugh on the first date man i didnt kiss her and i should have and when i got home before i said amen asking god if he could play it againive heard every album listened to the radio waited for something to come along that was as good as our songcause our song is a slamming screen door sneaking out late tapping on his window when were on the phone and he talks real slow cause its late and his mama dont know our song is the way he laughs on the first date man i didnt kiss him and i should have and when i got home before i said amen asking god if he could play it again play it again oh yeah oh oh yeahi was riding shotgun with my hair undone in the front seat of his car i grabbed a pen and an old napkin and i wrote down our song ",1
42,"damaged","danity kane",2008," dodo you got a first aid kit handy dodo you know how to patch up a wound tell me are you patient understanding cause i might need some time to clear the hole in my heart and i ive tried every remedy and nothing seems to work for mebaby this situations driving me crazy and i really wanna be your ladybut the one before you left me so damaged damaged damaged damaged i thought that i should let you know that my heart is damaged damaged so damaged so damaged and you can blame the one beforeso how you gonna fix it fix it fix it how you gonna fix it fix it fix it baby i gotta know what are you gonna doso how you gonna fix it fix it fix it how you gonna fix it fix it fix it baby i gotta know what are you gonna dododo you got a first aid kit handy dodo you know how to patch up a wound tell me are youare you patient understanding cause i might need some time to clear the hold on my heart and iyou try to gain my trust talking is not enough actions speak louder than words you gotta show me something my heart is missing some pieces i need this puzzle put together againdamaged damaged damaged damaged i thought that i should let you know that my heart is damaged damaged so damaged so damaged and you can blame the one beforeso how you gonna fix it fix it fix it how you gonna fix it fix it fix it baby i gotta know what are you gonna doso how you gonna fix it fix it fix it how you gonna fix it fix it fix it baby i gotta know what are you gonna docan you fix my heart cause its damaged can you fix my hearttell me are you up for the challenge cause my heart is damageddamaged damaged damaged damaged i thought that i should let you know that my heart is damaged damaged so damaged so damaged and you can blame the one beforedamaged damaged damaged damaged i thought that i should let you know that my heart is damaged damaged so damaged so damaged and you can blame the one beforeso how you gonna fix it fix it fix it how you gonna fix it fix it fix it how you gonna fix it fix it fix it how you gonna fix it fix it fix itmy heart is damaged damaged damaged my heart is damaged damaged damaged my heart is damaged damaged damaged my heart is damaged damaged damaged my heart is damaged ",1
43,"a milli","lil wayne",2008," young money ya dig mack im goin inim a millionaire im a young money millionaire tougher than nigerian hair my criteria compared to your career just isnt fair im a venereal disease like a menstrual bleed threw the pencil and leak on the sheet of the tablet in my mind cause i dont write shit cause i aint got time cause my seconds minutes hours go to the almighty dollar and the almighty power of that cha cha cha cha chopper sister brother son daughter father motherfuck a copper got the maserati dancin on the bridge pussy poppin tell the coppers ha ha ha ha you cant catch em you cant stop em i go by them goon rules if you cant beat em then you pop em you cant man em then you mop em you cant stand em then you drop em you pop em cause we pop em like orville redenbachermotherfucker im illa million here a million there sicilian bitch with long hair with coconut derri̬re like smokin the thinnest air i open the lamborghini hopin them crackers see me like look at dat bastard weezy hes a beast hes a dog hes a muthfukin problem ok youre a goon but whats a goon to a goblin nothin nothin you aint scarin nothin on some fagot bullshit call em dennis rodman call me what you want bitch call me on my sidekick never answer when its private damn i hate a shy bitch dont you hate a shy bitch yea i ate a shy bitch she aint shy no more she changed her name to my bitch yea nigga thats my bitch so when she ask for the money when you through dont be surprised bitch it aint trickin if you got it but you like a bitch with no ass you aint got shit motherfucker im ill not sick and im ok but my watch sick yea my drop sick yea my glock sick and my knot thick im itmotherfucker im ill yeah seethey say im rappin like big jay and 2pac andre 3000 where is eryka badu at who that who that said they goin beat lil wayne my name aint bic but i keep that flame man who that one that do that boy ya knew that true the swallow and i be the shit now you got loose bowels i dont o u like two vowels but i would like for you to pay me by the hour and id rather be pushin flowers then to be in the pen sharin showers tony told us this world was ours and the bible told us every girl was sour dont play in her garden and dont smell her flower call me mr carter or mr lawn mower boy i got so many bitches like im mike lowry even gwen stefani said she couldnt doubt me motherfucker i say life aint shit without me chrome lips pokin out the coupe look like its poutin i do what i do and you do what you can do about it bitch i can turn a crack rock into a mountain dare me dont you compare me cause there aint nobody near me they dont see but they hear me they dont feel me but they fear me im illic three three peat ",1
44,"sorry","buckcherry",2008," oh i have a lot to say i was thinking on my time away i miss you and things werent the same cause everything inside it never comes out right and when i see you cry it makes me want to die im sorry youre bad im sorry youre blue im sorry about all the things i said to you and i know i cant take it back i love how you kiss i love all your sounds baby the way you make my world go round and i just wanted to say im sorrythis time i think im to blame its harder to get through the days you get older and blame turns to shame cause everything inside it never comes out right and when i see you cry it makes me want to die im sorry im bad im sorry im blue im sorry about all the things i said to you and i know i cant take it back i love how you kiss i love all your sounds baby the way you make my world go round and i just wanted to say im sorryevery single day i think about how we came all this way the sleepless nights and the tears you cried its never too late to make it right oh yeah sorry im sorry im bad im sorry im blue im sorry about all the things i said to you and i know i cant take it back i love how you kiss i love all your sounds baby the way you make my world go round and i just wanted to say im sorry im sorry baby im sorry baby yeah im sorry ",1
45,"independent","webbie featuring lil boosie and lil phat",2008," independent do you know what that mean mayne independent do you know what that mean she got her own house she got her own car two jobs work hard you a bad broadif you aint on sit down if you aint on sit down if you aint on sit down if you aint on sit downindependent do you know what that mean baby phat just relax front your own flat screen back rub cook clean man dont make her make a scenewhen u call her on her cellular she tell u she dont need not a got damn thang you a hot damn thang if you think u finna get her wit a got damn chain you insane boy you better get some goddamn changeyou a fool been to school even walked across the stage and she say i love webbie from his looks to his ways the stilettos the js depend on how the weather look flip flop slippers just to show off the pedicureflip flop niggaz depend on how the cheddar look shell buy her own i dont think shell never look in a man face standin waitin for him to take care of her shell rather go to work and pay the bills on scheduleindependent do you know what that mean mayne independent do you know what that mean she got her own house she got her own car two jobs work hard you a bad broadif you aint on sit down if you aint on sit down if you aint on sit down if you aint on sit downshe a dome dime diva gutta like keisha work that meter cuz she a good freaka cuz she stay on her shit she got her own shit she dont neva trip cuz all she want is that dickshe bouncy flossy keep them hoes off me gutta lil slang man i love when she talkin a independent chick do you know what that mean she cook she clean neva smell like onion rings22s on her whip oh she do it large when she break a nigga off got a nigga spoiled she a bad lil chick a fly lil chick hit me on my phone she like to buy that dickgot her stunna shades on lookin like sumthin stallion hair long she a nice sumthin like to go to the mall erday for an outfit hair did nails did independent what she call itindependent do you know what that mean mayne independent do you know what that mean she got her own house she got her own car two jobs work hard you a bad broadif you aint on sit down if you aint on sit down if you aint on sit down if you aint on sit downshe got her own house drive her own whip range rover all white like her toe tips she got a pretty smile smell real good only time she need a man for that good jugthey buy the bar too they superstars too they be like you aint got no money take yo broke tail home in baby phat they on they clothes match they phone they be like yeah when they song come onleave the club kinda early cuz they gotta go to work i mess wit supervisors who got credit like big turk so dusty feet please dont bother me i got independent dimes on my mind who spoil megucci hat gucci fit so sick thats a gift from my independent chick yes sir tryna get next to her gotta be yaself mayne cause she got her own money she dont need no help mayneindependent do you know what that mean mayne independent do you know what that mean she got her own house she got her own car two jobs work hard you a bad broadif you aint on sit down if you aint on sit down if you aint on sit down if you aint on sit down ",1
46,"cant believe it","tpain featuring lil wayne",2008,NA,NA
47,"like youll never see me again","alicia keys",2008," if i had no more time no more time left to be here would you cherish what we had was it everything that you were looking for if i couldnt feel your touch and no longer were you with me id be wishing you were here to be everything that id be looking for i dont wanna forget the present is a gift and i dont wanna take for granted the time you may have here with me cause lord only knows another day is not really guaranteedso every time you hold me hold me like this is the last time every time you kiss me kiss me like youll never see me again every time you touch me touch me like this is the last time promise that youll love me love me like youll never see me againoh oh ohhow many really know what love is millions never will do you know until you lose itthat its everything that we are looking for when i wake up in the morning youre beside me im so thankful that i found everything that i been looking fori dont wanna forget the present is a gift and i dont wanna take for granted the time you may have here with me cause lord only knows another day is not really guaranteedso every time you hold me hold me like this is the last time every time you kiss me kiss me like youll never see me again can you do that for me baby every time you touch me see we dont really know touch me like this is the last time see everyday we never know promise that youll love me i want you to promise me love me like youll never see me again like youll never see me againoh oh oh oh oh ",1
48,"teardrops on my guitar","taylor swift",2008," drew looks at me i fake a smile so he wont see that i want and im needing everything that we should be ill bet shes beautiful that girl he talks about and shes got everything that i have to live withoutdrew talks to me i laugh cause it is just so funny that i cant even see anyone when hes with me he says hes so in love hes finally got it right i wonder if he knows hes all i think about at nighthes the reason for the teardrops on my guitar the only thing that keeps me wishing on a wishing star hes the song in the car i keep singing dont know why i dodrew walks by me can he tell that i cant breathe and there he goes so perfectly the kind of flawless i wish i could be shed better hold him tight give him all her love look in those beautiful eyes and know shes lucky causehes the reason for the teardrops on my guitar the only thing that keeps me wishing on a wishing star hes the song in the car i keep singing dont know why i doso i drive home alone as i turn out the light ill put his picture down and maybe get some sleep tonightbecause hes the reason for the teardrops on my guitar the only one whos got enough of me to break my heart hes the song in the car i keep singing dont know why i do hes the time taken up but theres never enough and hes all that i need to fall intodrew looks at me i fake a smile so he wont see ",1
49,"when i grow up","pussycat dolls",2008," boys call you sexy and you dont care what they say see every time you turn around they screaming your nameboys call you sexy and you dont care what they say see every time you turn around they screaming your namenow ive got a confession when i was young i wanted attention and i promised myself that id do anything anything at all for them to notice mebut i aint complaining we all wanna be famous so go ahead and say what you wanna sayyou dont know what its like to be nameless want them to know what your name is cause see when i was younger i would saywhen i grow up i wanna be famous i wanna be a star i wanna be in movieswhen i grow up i wanna see the world drive nice cars i wanna have groupieswhen i grow up be on tv people know me be on magazineswhen i grow up fresh and clean number one chick when i step out on the scenebe careful what you wish for cuz you just might get it you just might get it you just might get itbe careful what you wish for cause you just might get it you just might get it you just might get itthey used to tell me i was silly until i popped up on the tv i always wanted to be a superstar and knew that singing songs would get me this farbut i aint complaining we all wanna be famous so go ahead and say what you wanna sayyou dont know what its like to be nameless want them to know what your name is cause see when i was younger i would saywhen i grow up i wanna be famous i wanna be a star i wanna be in movieswhen i grow up i wanna see the world drive nice cars i wanna have groupieswhen i grow up be on tv people know me be on magazineswhen i grow up fresh and clean number one chick when i step out on the scenebe careful what you wish for cause you just might get it you just might get it you just might get itbe careful what you wish for cause you just might get it you just might get it you just might get iti see them staring at me ooh im a trendsetter yes this is true cause what i do no one can do it betteryou can talk about me cause im a hot topic i see you watching me watching me and i know you want it ohwhen i grow up i wanna be famous i wanna be a star i wanna be in movieswhen i grow up i wanna see the world drive nice cars i wanna have groupieswhen i grow up be on tv people know me be on magazineswhen i grow up fresh and clean number one chick when i step out on the scenebe careful what you wish for cause you just might get it you just might get it you just might get itbe careful what you wish for cause you just might get it you just might get it you just might get itwhen i grow up i wanna be famous i wanna be a star i wanna be in movieswhen i grow up i wanna see the world drive nice cars i wanna have groupieswhen i grow up be on tv people know me be on magazineswhen i grow up fresh and clean number one chick when i step out on the scenebe careful what you wish for cause you just might get it you just might get it you just might get itbe careful what you wish for cause you just might get it you just might get it you just might get it ",1
50,"sexual eruption","snoop dogg",2008," im gonna take my time she gon get hers before i im gonna take it slow im not gonna rush the stroke so she can get asexual eruption so i can get a sexual eruption so we can get a sexual eruption sexual eruption whoa whoashe might be with him but shes thinkin bout me me me we dont go to the mall we dont go out to eat eat eat all that we ever do is play in the sheets sheets sheets smoke us a cigarette and go back to sleep sleep sleep cause we then got asexual eruption sexual eruption whoa whoa sexual eruption sexual eruption whoa whoaim gonna take my time she gon get hers before i im gonna take it slow im not gonna rush the stroke so she can get aif you dont know by now doggy dog is a freak freak freak i keep a bad bitch with me seven days out the week week week and all that we ever do is play in the sheets sheets sheets smoke us a cigarette and go back to sleep sleep sleep cause we then got asexual eruption sexual eruption whoa whoa sexual eruption sexual eruption whoa whoai was all in the club sippin some hen smokin on a blunt of dro when i peeped this lil hoe out i was all at the bar with drift up shawty red came on then she hit the flo now with a see through dress on long hair light brown eyes lookin like msbop and a nigga know if i take her home with them wide ass hips ya damn right im gon beat so i approached the the chick with the real pretty face big ass booty with the lil bittie waist i whispered in her ear lil momma what you drank i know that you a freak but you know i aint gon say shit see my game is outrageous i got her to the crib and exchanged some fuck faces but it wasnt no use for me to rush to buss one cause i wanted her to have a eruptionsexual eruption a sexual eruption sexual eruption orgasm sexual eruption sexual eruption sexual eruption ",1
51,"what you got","colby odonis featuring akon",2008," i peeped you on the phone just showin off ya stones and notice that that pinky ring is bright enough baby i know youre not alone but i could just be wrong the way them fellas houndin and sizin you up babyand i like the way you take advantage of every man you love i see and i know your game girl but i dont mind if ya come and play with us just dont talk too much i see youre so cute you dont have to say a wordsee those guys wanna come treat ya right cause youre sweeter than apple pie everything that you want you got girl you know that you need to stop most beautiful thing in sight always takin on the spotlight always in the club lookin hot girl you know that you need to stopalways talkin bout what you got always talkin bout what you got always talkin bout what you got girl you know that you need to stop always talkin bout what you got always talkin bout what you got always talkin bout what you got girl you know that you need to stopgirl i can tell you want something to love thats why you hold on to everything that pass you by cant resist girl and i cant lie now tell if you are here for me or everybody watchin you shake from left to right the way you move got me hypnotizedthe way you take advantage of every man you love i see and i know your game girl but i dont mind if ya come and play with us just dont talk too much i see youre so cute you dont have to say a wordsee those guys wanna come treat ya right cause youre sweeter than apple pie everything that you want you got girl you know that you need to stop most beautiful thing in sight always takin on the spotlight always in the club lookin hot girl you know that you need to stopalways talkin bout what you got always talkin bout what you got always talkin bout what you got girl you know that you need to stop always talkin bout what you got always talkin bout what you got always talkin bout what you got girl you know that you need to stopmy eyes away from you girl when you get on the floor and do what you do and everybody wanna come back to that body the kind and remind myself im like you cause your that type to drive a man crazy will snatch him away from his lady no matter how hard the man hold back hell end up callin you baby and they never really know what to do once you expose that thing you do ya had him crawlin on hands and knees and ya find a way to get em out that cheese and why ya thinkin you the only dude she off in the mall livin off of you lettin everybody know she got you but now you feel like a foolsee those guys wanna come treat ya right cause youre sweeter than apple pie everything that you want you got girl you know that you need to stop most beautiful thing in sight always takin on the spotlight always in the club lookin hot girl you know that you need to stopalways talkin bout what you got always talkin bout what you got always talkin bout what you got girl you know that you need to stop always talkin bout what you got always talkin bout what you got always talkin bout what you got girl you know that you need to stop ",1
52,"its not my time","3 doors down",2008," looking back at the beginning of this and how life was just you and me loving all of our friends living life like an ocean but now the currents only pulling me down its getting harder too breath it wont be to long and i will be going under can you save me from thiscause its not my time im not going theres a fear in me its not showing this could be the end of me and everything i know oh but i wont goi look ahead to all the plans that we made and the dreams that we had im in a world that tries to take them away oh but im taking them back cause all of this time ive just been too blind to understand what should matter to me my friends this life we live its not what we have its what we believe incause its not my time im not going theres a fear in me but its not showing this could be the end of me and everything i know but its not my time im not going theres a will in me and now i know that this could be the end of me and everything i know oh but i wont go i wont gothere might be more than you believe there might be more than you believe there might be more than you can seebut its not my time im not going theres a fear in me its not showing this could be the end of me and everything i know but its not my time im not going theres a will in me and now its gonna show this could be the end of me and everything i know ohthere might be more than you believe there might be more than you believe there might be more than you can seebut i wont go no i wont go down yeah ",1
53,"better in time","leona lewis",2008," its been the longest winter without you i didnt know where to turn to see somehow i cant forget you after all that weve been throughgoing coming thought i heard a knock whose there no one thinking that i deserve it now i have realized that i really didnt knowif you didnt notice you mean everything quickly im learning to love again all i know is imma be okaythought i couldnt live without you its going to hurt when it heals too oh yeah itll all get better in time even though i really love you im gonna smile because i deserve too oh itll all get better in timehow could i turn on the tv without something thatll would remind me was it all that easy to put aside your feeling if im dreamin dont want to let it hurt my feelings but thats the past i believe it and i know that time will heal itif you didnt notice well you mean everything quickly im learning oh turn up again all i know is im be okthought i couldnt live without you its going to hurt when it heals too oh yeah itll all get better in time even though i really love you im gonna smile because i deserve too oh itll all get better in timesince theres no more you and me no more you and me this time i let you go so i can be free and live my life how it should be no no no no no no no matter how hard it is i will be fine without you yes i willthought i couldnt live without you its going to hurt when it heals too oh yeah itll all get better in time even though i really love you im gonna smile because i deserve too oh itll all get better in timethought i couldnt live without you its going to hurt when it heals too oh yeah itll all get better in time even though i really love you im gonna smile because i deserve too oh itll all get better in time ",1
54,"crank that soulja boy","soulja boy tell em",2008,NA,NA
55,"shadow of the day","linkin park",2008," i close both locks below the window i close both blinds and turn away sometimes solutions arent so simple sometimes goodbyes the only way ohand the sun will set for you the sun will set for you and the shadow of the day will embrace the world in gray and the sun will set for youin cards and flowers on your window your friends all plead for you to stay sometimes beginnings arent so simple sometimes goodbyes the only way ohand the sun will set for you the sun will set for you and the shadow of the day will embrace the world in gray and the sun will set for youand the shadow of the day will embrace the world in gray and the sun will set for youand the shadow of the day will embrace the world in gray and the sun will set for you ",1
56,"sweetest girl dollar bill","wyclef jean featuring akon lil wayne and niia",2008," ah ah ah ahsome live for the bill some kill for the bill she wined for the bill grind for the bill and she used to be the sweetest girl some steal for the bill if they got to pay they bill and she used to be the sweetest girl tonight wyclef akon weezy on the billhigh school she was that girl that make me do the hula hoop around the gym just to get a peek again shes a 10 high school she was that girl that make me do the hula hoop around the gym just to get a peek again shes a 10 never thought she would come and work for the president mr george washington where my money at she thought hed call where my money at she had a good day bad day sunny day rainy day all she wanna know is where my money at closed legs dont get fed go out there and make my bread all you wanna know is where my money at she ended up in a road car bruised up scarred hard all you wanna know is where my money at she thought hed call where my money atcause im a tell you like you told me cash rules everything around me singin dollar dollar bill yall dollar dollar bill yall singin dollar dollar bill yall dollar dollar bill yall causes im a tell you like you told me cash rules everything around me singin dollar dollar bill yall dollar dollar bill yall singin dollar dollar bill yall dollar dollar bill yallpimpin got harder cos hoes got smarter on the strip is something they dont wanna be a part of rather be up in the club shakin for a thug for triple times the money and spending it how they wanna they got they mind on they money money on they mind they got they finger on the trigger hand on the nines see everyday they feel the struggle but staying on they grind and aint nobody takin from us and thats the bottom line but i know theres a draught in the block you move slow you getting pressure from cops you dont know not to lay low because 25 to life is no joke to all my real gorillas thuggin on top of corners every day strugglin all the beautiful women getting money washin them dollar bills like laundrycause im a tell you like you told me cash rules everything around me singin dollar dollar bill yall dollar dollar bill yall singin dollar dollar bill yall dollar dollar bill yall causes im a tell you like you told me cash rules everything around me singin dollar dollar bill yall dollar dollar bill yall singin dollar dollar bill yall dollar dollar bill yallmoney moneymoneymoney money moneymoneymoney it drives the world crazyshe used to beshe used to be the sweetest girl she used to be the sweetest girl ever now she like sour amaretto she wears a dress to the t like the letter and if you make it rain she will be under the weather she used to run track back in high school now she tricks on the track right by school she takes a loss cause she dont wanna see her child lose so respect her ill pay up for the time used and then she runs to the pastor and he tells her there will be a new chapter but she feels no different after and then she asks him where my money atcause im a tell you like you told me cash rules everything around me singin dollar dollar bill yall dollar dollar bill yall singin dollar dollar bill yall dollar dollar bill yall causes im a tell you like you told me cash rules everything around me singin dollar dollar bill yall dollar dollar bill yall singin dollar dollar bill yall dollar dollar bill yallsome live for the bill some kill for the bill yeah where my money at she wined for the bill grind for the bill whoa where my money at some steal for the bill if they got to pay the bill yeah where my money at tonight wyclef akon weezy on the bill whoa where my money at ",1
57,"miss independent","neyo",2008," yeah yeah yeah yeah yeah yeah yeah yeah yeah yeahoh is something about just something about the way she move i cant figure it out is something about hersay oh is something about kinda woman that want you but dont need you hey i cant figure it out is something about hercause she walk like a boss talk like a boss manicure nails just sent the pedicure off shes fly effortlesslyand she move like a boss do what a boss do she got me thinking about getting involved thats the kinda girl i needshe got her own thing thats why i love her miss independent wont you come and spend a little time she got her own thing thats why i love her miss independent oh the way she shine miss independentyeah yeah yeah yeah yeah yeah yeah yeah yeah yeahooh theres something about kinda woman that can do for herself i look at her and it makes me proud theres something about hersomething ooh so sexy about kinda woman that dont even need my help she said she got it she got it she said she got it she got it no doubt theres something about her theres somethin about hercause she work like a boss play like a boss car and the crib she bout to pay em both off and bills are payed on time yeah she made for a boss only a boss anything less she telling them to get lost thats the girl thats on my mindshe got her own thing thats why i love her miss independent wont you come and spend a little time she got her own thing thats why i love her miss independent oh the way she shine miss independenther favorite thing to say dont worry i got it and everything she got best believe she bought it she goin steal my heart aint no doubt about it girl youre everything i need said youre everything i needyeah yeah yeah yeah yeah yeah yeah yeah yeah yeahshe got her own thing thats why i love her miss independent wont you come and spend a little time she got her own thing thats why i love her miss independent oh the way she shine miss independentmiss independent thats why i love her ",1
58,"fall for you","secondhand serenade",2008," the best thing about tonights that were not fighting it couldnt be that we have been this way before i know you dont think that i am trying i know youre wearing thin down to the corebut hold your breathbecause tonight will be the night that i will fall for you over again dont make me change my mindor i wont live to see another day i swear its true because a girl like you is impossible to find youre impossible to findthis is not what i intended i always swore to you id never fall apart you always thought that i was stronger i may have failed but i have loved you from the startoh but hold your breathbecause tonight will be the night that i will fall for you over again dont make me change my mind i wont live to see another day i swear its true because a girl like you is impossible to find its impossible to findso breathe in so deep breathe me in im yours to keepand hold onto your words cause talk is cheap and remember me tonight when youre asleepbecause tonight will be the night that i will fall for you over again dont make me change my mind i wont live to see another day i swear its true because a girl like you is impossible to findtonight will be the night that i will fall for you over again dont make me change my mind i wont live to see another day i swear its true because a girl like you is impossible to find youre impossible to find ",1
59,"in the ayer","flo rida featuring william",2008," oh hot damn this is my jam keep me partying till the am yall dont understand make me throw my hands in the ayer ayayer ayer ayayeroh hot damn this is my jam keep me partying till the am yall dont understand make me throw my hands in the ayer ayayer ayer ayayerhey this is my jam yall dont understand ill make you understand whats pumpin in my cd player player party all night like yayer yayer shawty got a hand in the ayer ayer make me want to take it da yer then i go here i go here is my song dj bring it back come in my zone i get paid for them couple bones the next wop until the early morn i need that crunk when im up in tha club even my when my chevy pull up on them dubs give me that drop yellow waist like a drug lil mama hot and she might show me love o hot damn celebrate to tha am i love it so much it got me sayinoh hot damn this is my jam keep me partying till the am yall dont understand make me throw my hands in the ayer ayayer ayer ayayeroh hot damn this is my jam keep me partying till the am yall dont understand make me throw my hands in the ayer ayayer ayer ayayerhey hey i might just start the wave like im at a ball game do my thang hands up high i got money in tha bank im so fly 747 pain rock it no stop it how i got my name baby keep poppin you might get tha fame walk tha red carpet wont see you the same i get tha stuntin forget my name start with me ride with me represent tha city vibe with me make me throw it up ma timid in tha club go ahead throw it up gotta wonder how much to show enough to stare stare im hood so its really unfair unfair shorty go ahead and get bare bare we aint gonna treat our city like the mayor mayoroh hot damn this is my jam keep me partying till the am yall dont understand make me throw my hands in the ayer ayayer ayer ayayer ayer ayayer ayer ayayer ayer ayayer ayer ayayeralright now stop ohoh put your hands in the ayer its a stick up stick up stick up its a stick up touch the ceiling baby put your hands in the put your hands up put your put your hands in the put your hands up to the sky wave em round and round and side to sideits a party shawty go and touch the roofand we got the bottles poppin so throw your hands in the ayer touch the ceiling babyfeel it feel it baby throw your hands upoh hot damn damn this is my jam jam keep me partying till the am yall dont understand make me throw my hands in the ayer ayayer ayer ayayer ayer ayayer ayer ayayer ayer ayayer ayer throw your hands up ",1
60,"say","john mayer",2008," take all of your wasted honor every little past frustration take all of your socalled problems better put em in quotationssay what you need to saysay what you need to saysay what you need to saysay what you need to saysay what you need to saysay what you need to saysay what you need to saysay what you need to saywalking like a one man army fighting with the shadows in your head living out the same old moment knowing youd be better off instead if you could onlysay what you need to saysay what you need to saysay what you need to saysay what you need to saysay what you need to saysay what you need to saysay what you need to saysay what you need to sayhave no fear for giving in have no fear for giving over youd better know that in the end its better to say too much then never say what you need to say againeven if your hands are shaking and your faith is broken even as the eyes are closing do it with a heart wide opensay what you need to say say what you need to say say what you need to say say what you need to say say what you need to say say what you need to say say what you need to say say what you need to say say what you need to say say what you need to say say what you need to say say what you need to say say what you need to say say what you need to say say what you need to say say what you need to say say what you need to say say what you need to say say what you need to say say what you need to say say what you need to say say what you need to say say what you need to say say what you need to say ",1
61,"one step at a time","jordin sparks",2008," hurry up and wait so close but so far away everything that youve always dreamed of close enough for you to taste but you just cant touchyou wanna show the world but no one knows your name yet wonder when and where and how youre gonna make it you know you can if you get the chance in your face and the door keeps slammingnow youre feeling more and more frustrated and youre getting all kind of impatient waiting we live and we learn to takeone step at a time theres no need to rush its like learning to fly or falling in love its gonna happen when its supposed to happen that we find the reasons why one step at a timeyou believe and you doubt youre confused and got it all figured out everything that you always wished for could be yours should be yours would be yours if they only knewyou wanna show the world but no one knows your name yet wonder when and where and how youre gonna make it you know you can if you get the chance in your face and the door keeps slammingnow youre feeling more and more frustrated and youre getting all kind of impatient waiting we live and we learn to takeone step at a time theres no need to rush its like learning to fly or falling in love its gonna happen and its supposed to happen that we find the reasons why one step at a timewhen you cant wait any longer you cant wait but theres no end in sight when you need to find the strength its the faith that makes you stronger the only way we get there is one step at a timetake one step at a time theres no need to rush its like learning to fly or falling in love its gonna happen and its supposed to happen that we find the reasons why one step at a timeone step at a time theres no need to rush its like learning to fly or falling in love its gonna happen and its supposed to happen that we find the reasons why one step at a time ",1
62,"hate that i love you","rihanna featuring neyo",2008," thats how much i love you thats how much i need you and i cant stand you must everything you do make me wanna smile can i not like you for awhile nobut you wont let me you upset me girl and then you kiss my lips all of a sudden i forget that i was upset cant remember what you didbut i hate it you know exactly what to do so that i cant stay mad at you for too long thats wrongbut i hate it you know exactly how to touch so that i dont want to fuss and fight no more said i despise that i adore youand i hate how much i love you boy yeah i cant stand how much i need you i need you and i hate how much i love you boy ooh whoa but i just cant let you go and i hate that i love you so oohand you completely know the power that you have the power that you have the only one makes me laugh one that makes you laughsad and its not fair how you take advantage of the fact that i love you beyond a reason why and it just aint rightand i hate how much i love you girl i cant stand how much i need you yeah and i hate how much i love you girl but i just cant let you go but i hate that i love you soone of these days maybe your magic wont affect me and your kiss wont make me weak but no one in this world knows me the way you know me so youll probably always have a spell on me yeah oh yeah yeah yeah yeah yeah yeahthats how much i love you how much i need you thats how much i need you how much i love you thats how much i love you oh need you thats how much i need you i need youand i hate that i love you so and i hate how much i love you boy i cant stand how much i need ya i cant stand how much i need you and i hate how much i love you boy but i just cant let you go but i just cant let you go no and i hate that i love you so oohand i hate that i love you so so ",1
63,"superstar","lupe fiasco featuring matthew santos",2008,"lupe fiasco lupe fiascos the cool superstar chorus matthew santos if you are what you say you are a superstar then have no fear the camera is here and the microphones and they wanna know oh oh oh oh the return if you are what you say you are a superstar then have no fear the crowd is here and the lights are on and they wanna show oh oh oh oh yeah verse 1 ̢ lupe fiasco yeah uh a fresh cool young lu tryna catch his microphone check 2 1 2 wanna believe my own hype but its too untrue the world brought me to my knees what have you bring you did you improve on the design did you do somethin new well your name aint on the guest list who bring you you the more famous person you come through and the sexy lady next to you you come too and then it hit me standin outside of heaven waitin for god to come and get me im too uncouth unschooled to the rules and too gum shoe too much of a new comer and too uncool like shadow and lavelle i battle with it well tho i need holiday like lady who sung blue go back whatever you did you undo heavy as heaven the devil on me two tons too chorus matthew santos if you are what you say you are a superstar then have no fear the camera is here and the microphones and they wanna know oh oh oh oh yeah verse 2 ̢ lupe fiasco and you better wear your shades the spotlights here can burn holes through the stage down to the basement pass the indian graves where the dinosaurs laid then out through china nearly miss the airliners magnified times five less its pointed at the rhymer ricochets off the moon and sets the forest ablaze now thats important to say cause even with all that most of us dont want it to fade we want it to braid meaning we want it to grow meaning we want it to stay like the governor called and he told him to wait unstrap him from the chair and put him back in his cage the audience aint fazed and they aint gonna clap and they aint gonna praise they want everything back that theyve paid cause theyve been waitin since ten to see the lights get dim chorus matthew santos verse 3 ̢ lupe fiasco so chauffeur chauffeur come and take me away cause ive been standin in this line for like five whole days me and security aint getting along and when i got to the front they told me all of the tickets were gone so just take me home where the mood is mellow and the roses are grown mms are yellow and the light bulbs around my mirror dont flicker everybody gets a nice autograph picture one for you and one for your sister who had to work tonight but is an avid listener every songs her favorite song and mics dont feedback all the reviewers say you need to go and see that and everybody claps cause everybody is pleased and then they all take the stage and start performin for me like ha ha ha ha ha ha ha ha ha ha ha chorus matthew santos if you are what you say you are a superstar then have no fear the cameras is here and the microphones and they wanna know oh oh oh oh if you are what you say you are a superstar then have no fear the crowd is here and the lights are on and they wanna show oh oh oh oh yeah if you are what you say you are then have no fear",3
64,"suffocate","j holiday",2008," now even though i try to play it off im thinkin bout you all day long and i cant wait for shorty to come through from your lips and back up to your eyes my hands on your hips when we grind im fantasizin bout what im gon do to yougot me fiendin for her love cant lie man you should see how she got me spendin all this time with her and i couldnt leave her if i wanted to her love turns men into fools tell me what a man is to docause i cant breathe when you talk to me i cant breathe when youre touchin me i suffocate when youre away from me so much love you take from me im goin outta my mindi cant breathe when you talk to me i cant breathe when youre touchin me i suffocate when youre away from me so much love you take from me im goin outta my mindwhenever we up in this bed and my fingers all in your hair i wonder if you feel me watchin you cause i cant go a night without your lovin got me lookin at this phone every time it rings i hope its you girlgot me bracin for your love and ive fallen for you i cant lie i just wanna be with you and yes she got me there i said it somebody call the paramedics tell em to hurry up and come throughcause i cant breathe when you talk to me i cant breathe when youre touchin me i suffocate when youre away from me so much love you take from me im goin outta my mindcant breathe when you talk to me i cant breathe when youre touchin me i suffocate when youre away from me so much love you take from me im goin outta my minddont ever leave me girl i need you inside my world i cant go a day without you and see nobody else will ever do ill never feel like i feel with youcause i cant breathe when you talk to me i cant breathe when youre touchin me i suffocate when youre away from me so much love you take from me im goin outta my mindi cant breathe when you talk to me i cant breathe when youre touchin me i suffocate when youre away from me so much love you take from me im goin outta my mindooh no no i cant breathe ooh no no i cant breathe ooh no no i cant breathe ooh no no ooh no no i cant breathe ooh no no i cant breathe ",1
65,"let it rock","kevin rudolf featuring lil wayne",2008," i see your dirty face high behind your collar what is done in vain truth is hard to swallow so you pray to god to justify the way you live a lie live a lie live a lie and you take your time and you do your crime well you made your bed im in minebecause when i arrive i bring the fire make you come alive i can take you higher what this is forgot i must now remind you let it rock let it rock let it rocknow the sons disgraced he who knew his father when he cursed his name turned and chased the dollar but it broke his heart so he stuck his middle finger to the world to the world to the world and you take your time and you stand in line well youll get whats yours i got minebecause when i arrive i bring the fire make you come alive i can take you higher what this is forgot i must now remind you let it rock let it rock let it rockyeah waynes world planet rock panties drop and the tops and she gonna rock til the camera stop and i sing about angels like angela rock and pamela rock and samantha rock and amanda and tamara im in here up like bitch whats up mechanic me i can fix you up i can fuck you up i can fuck you down shorty we can go wherever just pick a town and the jewelry is louder than an engine sound big ass rocks like on the ground dirty like socks thats on the ground weezybecause when i arrive i bring the fire make you come alive i can take you higher what this is forgot i must now remind you let it rock let it rock let it rockbecause when i arrive i bring the fire make you come alive i can take you higher what this is forgot i must now remind you let it rock let it rock let it rockjust let it rock let it rock let it rock let it rock let it rockim back like i forgot something im something rollin rock rubbing rap running miles like im trying to get a flat stomach like wayne the personal trainer my aim is perfect ill fuck ya period like the reminderi wish i could be as cruel as you and i wish i could say the things you do but i cant and i wont live a lie no not this time ",1
66,"get like me","david banner featuring chris brown",2008," have you ever seen a chevy with the butterfly doors stuntin stuntin is a habit get like me have you ever seen a chevy with a get like me have you ever seen a chevy with a get like me have you ever seen a chevy with the butterfly doors stuntin stuntin is a habit put it in the air stuntin stuntin is a habit put it in the air stuntin stuntin is a habit put it in the air have you ever seen a chevy with the butterfly doors stuntin stuntin is a habitgot a chip in my engine twenty six inch rimsgot fade away money bitch im ballin out the gym got my old school pumpin hit wheel on reclineif you think a nigga broke you out yo monkey ass mindyeah diamonds on my pinkyyeah hand on the pine touch and die yo mama do the second lineyeah screens fallin from the sky syrup fallin in my cup old school chevy thang comin downnigga what got diamonds in my mouth got som gucci on my seat got gs on myay bitch its cold when i speak got a freak on my arm got a charm around my neck you can gone pass the mike watch im bout to catch wreck still screamin out mayne pistol in my hand southside so thowedthowed in the game big face on my chain 84s on the frame big bodies comin down hoggin up both lanesstuntinstuntinis a habit get like me have you ever seen a chevy with a kit like me have you ever seen a chevy with a kit like me have you ever seen a chevy with the butterfly doors stuntin stuntin is a habit put it in the air stuntin stuntin is a habit put it in the air stuntin stuntin is a habit put it in the air have you ever seen a chevy with the butterfly doors stuntin stuntin is a habitthe name you know of a little bit change now your boy done blown up and im doing things that gets exposed stunting aint a thing to me and its obvious its plain to see that you gone make us both get into some things thatll scare grown folks shit they might even say you should leave me alone dont be scared you need to get like me stunting is a habit just gotta have it shawty can throw anything at me im gonna bag it when she sees the carrots they real just like a rabbit cant no other boy do the things you like he aint your type change your life but if you did your homework girl im pretty sure you know what i got drop top singing know jones and banner gonna roll let me stop stunting is a habitstuntinstuntinis a habit get like me have you ever seen a chevy with a kit like me have you ever seen a chevy with a kit like me have you ever seen a chevy with the butterfly doors stuntin stuntin is a habit put it in the air stuntin stuntin is a habit put it in the air stuntin stuntin is a habit put it in the air have you ever seen a chevy with the butterfly doors stuntin stuntin is a habit jim jones they told me stuntin was an art formlike da vinci winter time no top but the car onlamborghini we dont park we leave the car on the bad bitches gimme hard on the say my rides like purple label my garage like horses in the stablehorsees cars all pretty hard or more drippy like the frankie better its banks stopped all betters its tank top in good weather my niggas all wit it treat out whips like our bitches we take the top off and then we jump off in they guts just like we jump up in the sluts they say we smoke good puff ferraris up in dope hoods because we so hood its all good say stuntin is a habit so put it in the air 100 thounsand worth of carrots so i put it in my handstuntinstuntinis a habit get like me have you ever seen a chevy with a kit like me have you ever seen a chevy with a kit like me have you ever seen a chevy with the butterfly doors stuntin stuntin is a habit put it in the air stuntin stuntin is a habit put it in the air stuntin stuntin is a habit put it in the air have you ever seen a chevy with the butterfly doors stuntin stuntin is a habit ",1
67,"realize","colbie caillat",2008," take time to realize that your warmth is crashing down on metake time to realize that i am on your side didnt i didnt i tell youbut i cant spell it out for you no its never gonna be that simple no i cant spell it out for youif you just realize what i just realized then wed be perfect for each other and wed never find another just realize what i just realized wed never have to wonder if we missed out on each other nowtake time to realize oh oh im on your side didnt i didnt i tell youtake time to realize this all could pass you by didnt i tell youbut i cant spell it out for you no its never gonna be that simple no i cant spell it out for youif you just realize what i just realized then wed be perfect for each other and well never find another just realize what i just realized wed never have to wonder if we missed out on each other butits not the same no its never the same if you dont feel it tooif you meet me half way if you would meet me half way it could be the same for youif you just realize what i just realized then wed be perfect for each other and well never find another just realize what i just realized wed never have to wonder just realize what i just realized if you just realize what i just realizedmissed out on each other now missed out on each other now realize realize realize realize ",1
68,"put on","young jeezy featuring kanye west",2008," i put on i put on i put on i put on i put on for my city on on for my city i put on for my city on on for my city i put on for my city on on for my city i put on for my city on on for my citywhen they see me off in traffic they say jeezy on some other shit send them pussy niggas runnin straight back to the dealership me im in my spaceship thats right i work for nasa this 7h is not a fraud call that bitch my bodyguard call that bitch your bodyguard yeah thats my bodyguard wear a lot of jewelry young dont do security whats whiter than a napkin harder than a dinner plate if you want it come and get it you know i stay super straight ran up in my spots and now im workin out the super 8 know you niggas hungry come and get a super plate yall sing happy birthday yeah i got that super cake hundred karat bracelet i use it like some super baiti put on for my city on on for my city i put on for my city on on for my city put on east side put on south side put on west side put oni put on for my city on on for my city i put on for my city on on for my city put on east side put on south side put on west side put onhalf bag top back aint nothin but a young thug hks aks i need to join a gun club big wheels big straps you know i like it super sized passengers a redbone her weave look like some curly fries inside fish sticks outside tartar sauce pocket full of celery imagine what she tellin me blowin on asparagus the realest shit i ever smoked ridin to that trap or die the realest shit i ever wrote they know i got that broccoli so i keep that glock on me dont get caught without one comin from where im from call me jeezy hamilton flyin down campbellton so fresh so clean on my way to charlenei put on for my city on on for my city i put on for my city on on for my city put on east side put on south side put on west side put oni put on for my city on on for my city i put on for my city on on for my city put on east side put on south side put on west side put oni put on i put on i put on i put on for my city i put on for my i put on for my city i put on for my city oni feel like theres still niggas that owe me checks i feel like theres still bitches that owe me sex i feel like this but niggas dont know the stress i lost the only girl in the world that know me best i got the money and the fame and that dont mean shit i got the jesus on a chain man that dont mean shit cause when the jesus pieces cant bring me peace sure i need just at least one of russells nieces on i let my nightmares go i put on everybody that i knew from the go i know hoes that was frontin when they knew he was broke they say damn yeezy yeezy you dont know us no more you got that big fame homie and you just changed on me you can ask big homie man the top so lonely i aint lyin so lonely i aint lyin let me see what we have tonight what we have tonight im high as a satellite satellite i see those flashin lights flashin lights cause every night every night i put oni put on for my city on on for my city i put on for my city on on for my city put on east side put on south side put on west side put oni put on for my city on on for my city i put on for my city on on for my city put on east side put on south side put on west side put onlet me see what we have tonight what we have tonight im high as a satellite satellite i see those flashin lights flashin lights cause every night every night let me see what we have tonight im high as a satellite i see those flashin lights ",1
69,"the time of my life","david cook",2008," ive been waiting for my dreams to turn into something i could believe in and looking for that magic rainbow on the horizon i couldnt see it until i let go gave into love and watched all the bitterness burn now im coming alive body and soul and feelin my world start to turnand ill taste every moment and live it out loud i know this is the time this is the time to be more than a name or a face in the crowd i know this is the time this is the time of my life time of my lifeholding onto things that vanished into the air left me in pieces but now im rising from the ashes finding my wings and all that i needed was there all along within my reach as close as the beat of my heartand ill taste every moment and live it out loud i know this is the time this is the time to be more than a name or a face in the crowd i know this is the time this is the time of my life time of my lifeand im out on the edge of forever ready to run im keeping my feet on the ground arms open wide face to the sunill taste every moment and live it out loud i know this is the time this is the time to be more than a name or a face in the crowd i know this is the time this is the time of my life time of my life more than a name or a face in the crowd this is the time this is the time of my life this is the time of my life time of my life time of my life ",1
70,"lolli lolli pop that body","three 6 mafia",2008," yea three six mafialolli lolli lolli lolli lemme see you pop that body lolli lolli lolli lolli lemme see you pop that body chocolate lolli cherry lolli feela lolli pink lolli red hot red hot red hot hot make that lolli pop make that lolli pop make that lolli pop make that lolli popthat lolli lolli lolli please lord have some mercy this girl is throwin judi i think she bout to hurt mesee she went front then back she went side to side im throwin blank checks i think i need a rideone pocket full of pills a little bag of that cola the other one full of weed and a semi auto pistolai aint no dancin dude but i can lean like a cholo see mami go with me cause i cant be goin home solololli lolli lolli lolli lemme see you pop that body lolli lolli lolli lolli lemme see you pop that body chocolate lolli cherry lolli feela lolli pink lolli red hot red hot red hot hot make that lolli pop make that lolli pop make that lolli pop make that lolli popthey call me the juice when im at strip club i put down a hundred or a dub im a mac to a playa im a studcause when i leave the club im a fuck ride with the man and be givin up the brain little skinny im a ride with ya i dont even know your nametheres a whole lot of room in the front of the van like barack obama said its time for a change put a roll on the back seat pop that body now you know that ya got meyoull find a chick thats kinda classy said her name was antine now im grabbin got a grip on the whip big round booty with the silicone tits she bouncin on my lap and she tryin own the six i whispered in her ear its hard for a pimplolli lolli lolli lolli lemme see you pop that body lolli lolli lolli lolli lemme see you pop that body chocolate lolli cherry lolli feela lolli pink lolli red hot red hot red hot hot make that lolli pop make that lolli pop make that lolli pop make that lolli popall my ladies get em bodied put your hands in the air if yous a good lookin hottie put your hands in the airpunchin bag lookin for a model poppin that booty im a pop bottles your girls a cutieknow she goggles kingdom models shawty hot watch her rock let me see that lolli popbody rock dont you stop i love the way that booty drop sideways front back up and down i like that cherry lolli chocolate lolli i wanna see you pop that lollilolli lolli lolli lolli lemme see you pop that body lolli lolli lolli lolli lemme see you pop that body chocolate lolli cherry lolli feela lolli pink lolli red hot red hot red hot hot make that lolli pop make that lolli pop make that lolli pop make that lolli pop ",1
71,"cyclone","baby bash featuring tpain",2008," oh oh oh its fud a dud a nineshe moves her body like a cyclone and she makes me want to do it all night long going hard when they turn the spotlights on because she moves her body like a cyclone just like a cyclone she moves her body like a cyclone and she makes me want to do it all night long going hard when they turn the spotlights on because she moves her body like a cyclone a mighty cyclonei look at that double on the back a that bumper she aint even playing when shes shaking that rumpa and oh you aint know she gets lower than a muffla even wit her girl friends show stopping with a hustler the way she move her body she might see the maserati she wanna put it on me trying to show me her tsunami she make it hard to copy always tight and never sloppy and got an entourage and her own paparazzi now there she go again riding through the stormy weather you better button up if you wanna go getta cause it is what it is and everybody wanna love her but when she pop it boy you better run for covershe moves her body like a cyclone and she makes me want to do it all night long going hard when they turn the spotlights on because she moves her body like a cyclone just like a cyclone she moves her body like a cyclone and she makes me want to do it all night long going hard when they turn the spotlights on because she moves her body like a cyclone a mighty cycloneits a wrap when she breaks them boys of a tycoon its a wrap better get that fatty like a boss tycoon its a wrap now hold it steady cause she make a monsoon its a wrap now you can google download the itunes she what im saying she aint playing and she got them heads turning you gonna her it clackclack when them heals get to burning clackclack stiletto so fuego she got her own label and got us all doing the tornadoshe moves her body like a cyclone and she makes me want to do it all night long going hard when they turn the spotlights on because she moves her body like a cyclone just like a cyclone she moves her body like a cyclone and she makes me want to do it all night long going hard when they turn the spotlights on because she moves her body like a cyclone a mighty cycloneshortie got looks and shortie got class shortie got hips and shortie got ass plus she hit the stage she drop it down low like rew rew rew rew rew rew rew rew ah this is crazy its amazing she must be the weather lady she be looking like rew rew rew rew rew rew rew rewshe moves her body like a cyclone and she makes me want to do it all night long going hard when they turn the spotlights on because she moves her body like a cyclone just like a cyclone she moves her body like a cyclone and she makes me want to do it all night long going hard when they turn the spotlights on because she moves her body like a cyclone a mighty cyclonerew rew rew rew rew rew rew rew rew rew rew rew rew rew rew ",1
72,"love like this","natasha bedingfield featuring sean kingston",2008," talk to me baby oh never find a love like this oh hey lets go never find a love like thiswe go back so far swinging in your back yard all the things that we used to do we were cool back in high school oh i really liked you must have been your attitudethats why you keep on running in and out of my mind as the years theyll roll by baby now i know why i keep coming back to you youre the only one that knows me love it when you hold me never find a love like this let me hear you say now ill never be lonely look at what youve shown me never find a love like thiswell this life tried to keep us apart you keep calling me back to your heart let me hear you say im so glad you found me wrap your world around me never find a love like thisall the guys tried to take me youre the one who saved me i feel like i owe you my life and as strange as it may seem ill go if you take me im willing to sacrificethats why you keep on running in and out of my mind as the years theyll roll by baby now i know why i keep coming back to you youre the only one that knows me love it when you hold me never find a love like this let me hear you say now ill never be lonely look at what youve shown me never find a love like thiscause this life tried to keep us apart you keep calling me back to your hear let me hear you say im so glad you found me wrap you all around me never find a love like thismay never find a love love love a love like this that still make me think about my middle school kiss i sit here in this chair and i wish for you not to leave me now my friends they always told me not to make you my wifey man they was putting you down and now they see we rolling me and you we strolling they dont wanna come aroundlet me hear you say youre the only one that knows me love it when you hold me never find a love like this let me hear you say now ill never be lonely look at what youve shown me never find a love like thiswhen this life tries to keep us apart you keep calling me back to your heart let me hear you say im so glad you found me wrap you all around me never find a love like thisoh never find a love like this oh never find a love like this oh never find a love like this oh never find a love like this now ill never be lonely look at what youve show me never find a love like thisoh never find a love like this when this life tried to keep us apart you keep calling me back to your heart let me hear you say oh never find a love like this oh never find a love like this ",1
73,"burnin up","jonas brothers featuring big rob",2008," im hot youre cold you go around like you know who i am but you dont youve got me on my toes toes toesim slipping into the lava and im trying to keep from going under baby you turn the temperature hotter cause im burnin up burnin up for you babycome on girli fell i fell so fast so fast cant hold myself back back back high heels high heels red dress red dress all by yourself gotta catch my breathim slipping into the lava and im trying to keep from goin under baby who turned the temperature hotter cause im burnin up burnin up for you babywalk in the room all i can see is youohstaring me down i know you feel it tooim slipping into the lava and im tryin to keep from goin under baby who turned the temperature hotter cuz im burnin up burnin up for you babyslipping into the lava and im trying to keep from going under baby who turned the temperature hotter cause im burnin up burnin up for you babyburnin up in the place tonight and the brothers singing loud and were feelin right get up and dance dont try to fight it big robs for real and thats no lie stopdrop and roll and touch the floor to keep from burnin up more and more i got jb with me laying it down come on boys bring the chorus aroundim slipping into the lava burnin up burnin up and im trying to keep from going under yeahhhh baby who turned the temperature hotter come on nick cause im burnin up burnin up for you baby burnin upburnin up for you baby ",1
74,"love lockdown","kanye west",2008," im not loving you the way i wanted to what i had to do had to run from you im in love with you but the vibe is wrong and that haunted me all the way home so ya never know never never know never know enough til its over love til we lose control system overload screaming no no no no no im not loving you the way i wanted to see i wanna move but cant escape from you so i keep it low keep a secret code so everybody else dont have to knowso keep ya love lockdown ya love lockdown keeping ya love lockdown ya love lockdown now keep ya love lockdown ya love lockdown now keep ya love lockdown you loseim not loving you way i wanted to i cant keep my cool so i keep it true i got something to lose so i gotta move i cant keep myself and still keep you too so i keep in mind when im on my own somewhere far from home in the danger zone how many times did it take til i finally got through you lose you lose im not loving you the way i wanted to see i had to go i had to move no more wasting time you cant wait for life were just wasting time wheres the finish lineso keep ya love lockdown ya love lockdown keeping ya love lockdown ya love lockdown now keep ya love lockdown ya love lockdown now keep ya love lockdown you loseim not loving you the way i wanted to i bet no one knew i got no one new no i said im through but got love for you but im not loving you the way i wanted to gotta keep it going keep the loving going keep it on a roll only god knows if ill be with you baby im confused you choose you choose im not loving you the way i wanted to way i wanna go i dont need you i been down this road too many times before im not loving you the way i wanted toso keep ya love lockdown ya love lockdown keeping ya love lockdown ya love lockdown now keep ya love lockdown ya love lockdown now keep ya love lockdown you lose ",1
75,"i luv your girl","thedream",2008,NA,NA
76,"crush","david archuleta",2008," i hung up the phone tonight something happened for the first time deep inside it was a rush what a rushcause the possibility that you would ever feel the same way about me its just too much just too muchwhy do i keep running from the truth all i ever think about is you you got me hypnotized so mesmerized and ive just got to knowdo you ever think when youre all alone all that we can be where this thing can go am i crazy or falling in love is it real or just another crushdo you catch a breath when i look at you are you holding back like the way you do cause im trying and trying to walk away but i know this crush aint goin awayayayayayy goin awayayayayayyhas it ever crossed your mind when were hanging spending time girl are we just friends is there more is there moresee its a chance weve gotta take cause i believe that we can make this into something that will last last forever foreverdo you ever think when youre all alone all that we can be where this thing can go am i crazy or falling in love is it real or just another crushdo you catch a breath when i look at you are you holding back like the way i do cause im trying and trying to walk away but i know this crush aint goin awayayayayayy goin awayayayayayywhy do i keep running from the truth all i ever think about is you you got me hypnotized so mesmerized and ive just got to knowdo you ever think when youre all alone all that we can be where this thing can go am i crazy or falling in love is it real or just another crushdo you catch a breath when i look at you are you holding back like the way you do cause im trying and trying to walk away but i know this crush aint goin awayayayayayy this crush aint goin awayayayayayy goin awayayayayayy goin awayayayayayy goin awayayayayayy ",1
77,"hypnotized","plies featuring akon",2008," hey whats happinin homie its your lil one plies man i ran across da eyes of a lil baby da other day homie lil mama so bad she had me hypnotized i couldnt get my eyes off her lemme tell you how it feels to be hypnotizedyou got me so hypnotized the way your body rollin round and round that booty keep bumping titties just bouncin up and down you got me so hypnotized the way your body rolling round and round that booty keep bumping titties just bouncin up and downits two oclock in the mornin im jaged up and im horny all i need now is some moanin that pussy got me zonin her vibe tell me she want it she gotta fuck how she on me i got her tonight cause she joanin i know in the panty she foamin im locked eyes on that monkey i know she wet cause she told me that ass on the shit pokin every nigga in here scopin i see me up in her pokin she bent over and im strokin her cheeks spread wide opened im beatin it and im focusedyou got me so hypnotized the way your body rollin round and round that booty keep bumping titties just bouncin up and down you got me so hypnotized the way your body rollin round and round that booty keep bumping titties just bouncin up and downnow do it some more just like that just do it some more yes just like that girl do it some more now shake that ass make a nigga like me spend that cash now do it some more just like that just do it some more yes just like that girl do it some more now shake that ass and make a nigga like me spend that cashshe bad as hell and she swoll im tryna play in her hole lil mama a dime she cold i fuck her once and she sold i want her naked no clothes im into private shows no limit anything goes imma let her ride me her toes just stand in front of me and pose you touch mine i touch yours to get her sprung is my goal first time i seen her i froze i had to get her she knows she buckd it then she fold cause im too real and she knows she wanna goon and it showyou got me so hypnotized the way your body rollin round and round that booty keep bumping titties just bouncin up and down you got me so hypnotized the way your body rollin round and round that booty keep bumping titties just bouncin up and downnow do it some more just like that just do it some more yes just like that girl do it some more now shake that ass make a nigga like me spend that cash now do it some more just like that just do it some more yes just like that girl do it some more now shake that ass and make a nigga like me spend that cashyou got me so hypnotized the way your body rollin round and round that booty keep bumping titties just bouncin up and down you got me so hypnotized the way your body rollin round and round that booty keep bumping titties just bouncin up and down ",1
78,"big girls dont cry","fergie",2008," da da da da the smell of your skin lingers on me now youre probably on your flight back to your home town i need some shelter of my own protection baby to be with myself and center clarity peace serenityi hope you know i hope you know that this has nothing to do with you its personal myself and i weve got some straightenin out to do and im gonna miss you like a child misses their blanket but ive got to get a move on with my life its time to be a big girl now and big girls dont crydont cry dont cry dont crythe path that im walking i must go alone i must take the baby steps till im full grown full grown fairy tales dont always have a happy ending do they and i foresee the dark ahead if i stayi hope you know i hope you know that this has nothing to do with you its personal myself and i weve got some straightenin out to do and im gonna miss you like a child misses their blanket but ive got to get a move on with my life its time to be a big girl now and big girls dont crylike the little school mate in the school yard well play jacks and uno cards ill be your best friend and youll be mine valentine yes you can hold my hand if you want to cause i want to hold yours too well be playmates and lovers and share our secret worlds but its time for me to go home its getting late and dark outside i need to be with myself and center clarity peace serenityi hope you know i hope you know that this has nothing to do with you its personal myself and i weve got some straightenin out to do and im gonna miss you like a child misses their blanket but ive got to get a move on with my life its time to be a big girl now and big girls dont crydont cry dont cry dont cryla da da da da da ",1
79,"good life","kanye west featuring tpain",2008," like we always do at this time i go for mine i got to shine now throw your hands up in the sky i ggo for mine i got to shine now throw your hands up in the skyima get on this tv mama ima ima put shit down hey hey hey hey hey hey hey im goodwelcome to the good life where niggaz that sell d wont even get pulled over in they new v the good life lets go on a living spree shit they say the best things in life are free the good life it feel like atlanta it feel like la it feel like miami it feel like ny summertime chi ahh now throw your hands up in the sky so i roll through good yall pop the trunk i pop the hood ferrari and she got the goods and she got that ass i got to look sorry yo its got to be cause im seasoned haters give me them salty looks lowrys 50 told me go head switch the style up and if they hate then let em hate and watch the money pile up the good lifenow i i go for mine i got to shine now throw your hands up in the sky now i i go for mine i got to shine now throw your hands up in the skyima get on this tv mama ima ima put shit down hey hey hey hey hey hey hey im goodwelcome to the good life where we like the girls who aint on tv cause they got more ass than the models the good life so keep it coming with the bottlestill she feel boozed like she bombed out apollo the good life it feel like houston it feel like philly it feel like dc it feel like va or the bay or ye ayy this is the good lifehomie tell me whats good why i only got a problem when you in the hood like im new in the hood the only thing i wish i wish a nigga would he probably think he could but but i dont think he should 50 told me go head switch the style up and if they hate then let em hate and watch the money pile up the good lifenow i i go for mine i got to shine now throw your hands up in the sky now i i go for mine i got to shine now throw your hands up in the skyima get on this tv mama ima ima put shit down hey hey hey hey hey hey hey im goodhave you ever popped champagne on a plane while getting some brain whipped it out she said i never seen snakes on a plane whether you broke or rich you gotta get biz having moneys the everything that having it is i was splurging on trizz but when i get my card back activated im back to vegas cause i always had a passion for flashing before i had it i close my eyes and imagine the good lifeis the good life better than the life i live when i thought that i was gonna go crazy and now my grandmamma aint the only girl calling me baby and if you feeling me now then put your hands up in the sky and let me hear you say hey hey hey ooh im good ",1
80,"womanizer","britney spears",2008," superstar where you from hows it going i know you got a clue what you doingyou can play brand new to all the other chicks out here but i know what you are what you are babylook at you gettin more than just a reup baby you got all the puppets with their strings upfakin like a good one but i call em like i see em i know what you are what you are babywomanizer womanwomanizer youre a womanizer oh womanizer oh youre a womanizer babyyou you you are you you you are womanizer womanizer womanizerboy dont try to front uh i know just just what you are ah ah boy dont try to front uh i know just just what you are ah ah you got me going youre oh so charming but i cant do it you womanizer boy dont try to front uh i know just just what you are ah ah boy dont try to front uh i know just just what you are ah ahyou say im crazy i got you crazy youre nothing but a womanizerdaddyo you got the swagger of a champion too bad for you you just cant find the right companioni guess when you have one too many makes it hard it could be easy who you are thats just who you are babylollipop must mistake me youre the sucker to think that i would be a victim not anothersay it play it how you wanna but no way im ever gonna fall for you never you babywomanizer womanwomanizer youre a womanizer oh womanizer oh youre a womanizer babyyou you you are you you you are womanizer womanizer womanizerboy dont try to front uh i know just just what you are ah ah boy dont try to front uh i know just just what you are ah ah you got me going youre oh so charming but i cant do it you womanizer boy dont try to front uh i know just just what you are ah ah boy dont try to front uh i know just just what you are ah ahyou say im crazy i got you crazy youre nothing but a womanizermaybe if we both lived in a different world womanizer womanizer womanizer womanizerit would be all good and maybe i could be your girl but i cant cause we dontwomanizer womanwomanizer youre a womanizer oh womanizer oh youre a womanizer babyyou you you are you you you are womanizer womanizer womanizerboy dont try to front uh i know just just what you are ah ah boy dont try to front uh i know just just what you are ah ah you got me going youre oh so charming but i cant do it you womanizer boy dont try to front uh i know just just what you are ah ah boy dont try to front uh i know just just what you are ah ahyou say im crazy i got you crazy youre nothing but a womanizerboy dont try to front uh i know just just what you are ah ah boy dont try to front uh i know just just what you are ah ahwomanizer womanwomanizer youre a womanizer oh womanizer oh youre a womanizer baby ",1
81,"love story","taylor swift",2008," we were both young when i first saw you i close my eyes and the flashback starts im standing there on a balcony in summer airsee the lights see the party the ball gowns i see you make your way through the crowd you say hello little did i knowthat you were romeo you were throwing pebbles and my daddy said stay away from juliet and i was crying on the staircase begging you please dont go and i saidromeo take me somewhere we can be alone ill be waiting all theres left to do is run youll be the prince and ill be the princess its a love story baby just say yes so i sneak out to the garden to see you we keep quiet cause were dead if they knew so close your eyes escape this town for a little whilecause you were romeo i was a scarlet letter and my daddy said stay away from juliet but you were everything to me i was begging you please dont go and i saidromeo take me somewhere we can be alone ill be waiting all theres left to do is run youll be the prince and ill be the princess its a love story baby just say yesromeo save me theyre trying to tell me how to feel this love is difficult but its real dont be afraid well make it out of this mess its a love story baby just say yes oh oh oh ohi got tired of waiting wondering if you were ever coming around my faith in you was fading when i met you on the outskirts of town and i saidromeo save me ive been feeling so alone i keep waiting for you but you never come is this in my head i dont know what to think he knelt to the ground and pulled out a ring and saidmarry me juliet youll never have to be alone i love you and thats all i really know i talked to your dad go pick out a white dress its a love story baby just say yesoh oh oh oh cause we were both young when i first saw you ",1
82,"just fine","mary j blige",2008," you know i love music and every time i hear something hot it makes me wanna move it makes me wanna have fun but its something about this joint right here this joint right here its makes me wanna woohlet it go cant let this thing called love get away from you feel free right now going do what you want to do cant let nobody take it away from you from me from we no time for moping around are you kidding and no time for negative vibes cause im winning its been a long week i put in my hardest gonna live my life feels so good to get it rightso i like what i see when im looking at me when im walking past the mirror no stress through the night at a time in my life aint worried about if you feel it got my head on straight i got my mind right i aint gonna let you kill it you see i wouldnt change my life my lifes justfine fine fine fine fine fine ooh fine fine fine fine fine fine ooh just fine fine fine fine fine fine ooh you see i wouldnt change my life my lifes just finefeels so good when youre doing all the things that you want to do get the best out of life treat yourself to something new keep your head up high in yourself believe in you believe in me having a really good time im not complaining and im a still wear a smile if it raining i got to enjoy myself regardless i appreciate life im so glad i got mineso i like what i see when im looking at me when im walking past the mirror aint worried about you and what you gonna do im a lady so i must stay classy got to keep it hot keep it together if i want to get better you see i wouldnt change my life my lifes just fine fine fine fine fine fine ooh fine fine fine fine fine fine ooh just fine fine fine fine fine fine ooh you see i wont change my life my lifes just finei aint gon let nothing get in my way i aint gone let nobody bring me down no no no no matter what nobody has to say no way no way no way i aint gon let nothing get in my way no matter what nobody has to sayfeels so good when youre doing all the things that you want to do get the best out of life treat yourself to something new its a really good thing to say that i wont change my life my lifes just finefine fine fine fine fine fine ooh fine fine fine fine fine fine ooh just fine fine fine fine fine fine ooh you see i wont change my life my lifes just fineso i like what i see when im looking at me when im walking past the mirror no stress through the night at a time in my life aint worried about if you feel it got my head on straight i got my mind right i aint gonna let you kill it see i wouldnt change my life my lifes justfine fine fine fine fine fine ooh fine fine fine fine fine fine ooh just fine fine fine fine fine fine ooh you see i wouldnt change my life my lifes just fine ",1
83,"piece of me","britney spears",2008," im miss american dream since i was seventeen dont matter if i step on the scene or sneak away to the philippines they still gon put pictures of my derriere in the magazine you want a piece of me you want a piece of meim miss bad media karma another day another drama guess i cant see no harm in working and being a mama and with a kid on my arm im still an exception and you want a piece of meim mrs lifestyles of the rich and famous you want a piece of me im mrs oh my god that britneys shameless you want a piece of me im mrs extra extra this just in you want a piece of me im mrs shes too big now shes too thin you want a piece of meim mrs you want a piece of me tryin and pissin me off well get in line with the paparazzi whos flippin me off hopin ill resort to startin havoc and end up settlin in court now are you sure you want a piece of me im mrs most likely to get on tv for strippin on the streets when getting the groceries no for real are you kidding me no wonder theres panic in the industry i mean please ",1
84,"the boss","rick ross featuring tpain",2008,"i got a fresh line up a fresh outfit bout to have the parking lot on smash plus i got a chevy with a 454 in da hood dat bitch got 125 on da dash she like a gangsta cause im the biggest boss that ya seen thus far im the im the biggest boss that ya seen thus far im the biggest boss that ya seen thus far cause its just another day in the life of the goddamn boss i dont make love baby we make magic come home with a thug lets get shit crackin always wear plastic baby cause shit happens she leaves the backseat just to freak in da magnum hopped out the magnum hopped in the trey just to let the top back and thank god for the day who gives a fuck what a hater gotta say i made a couple million dollars last year dealin weight still in da streets strapped with them thangs she in love with a g so she tatted my name ross im the biggest boss that ya seen thus far ten black maybachs back to back in a lane im a make it rain then im a make it back you are just a lame lil homie thats a fact workin with the police actin like ya know me fresh outta jail already in ya ogs i got a fresh line up a fresh outfit bout to have the parking lot on smash plus i got a chevy with a 454 in da hood dat bitch got 125 on da dash she like a gangsta cause im the biggest boss that ya seen thus far im the im the biggest boss that ya seen thus far im the biggest boss that ya seen thus far cause its just another day in the life of the goddamn boss the boss boss boss boss shawty straight diggin me and i aint even rich i know you niggas on the sideline like aint that a bitch im on my job and i aint gettin off cause its just another day in the life of the goddamn boss im the biggest boss that you seen thus far got the biggest car spanish broads no bra callin other lames for the walks in the park i aint come to play games i just wanna play my part tell ya girlfriend to come talk with me dawg we straight gs and we came here to ball bottle after bottle and im sure you count em all then we off to the chevy fire it up and takin off baby slow it down cause you movin too fast ya ass too fine to be movin too fast back to the thuggin now im sippin syzurp all my niggas love it baby thats my wizord stack for da jeans five bones for the shizirt i dont smoke 28s 100 for izert im the biggest boss that you seen thus far you can tell by the shons thats standin by the car i got a fresh line up a fresh outfit bout to have the parking lot on smash plus i got a chevy with a 454 in da hood dat bitch got 125 on da dash she like a gangsta cause im the biggest boss that ya seen thus far im the im the biggest boss that ya seen thus far im the biggest boss that ya seen thus far cause its just another day in the life of the goddamn boss ay yea yea yea yea yea yea uh huh uh huh yea yea yea im the biggest boss that ya seen thus far im the biggest boss that ya seen thus far im the biggest boss that ya seen thus far im the im the biggest boss that ya seen thus far im the biggest boss that ya seen thus far im the biggest boss that ya seen thus far",3
85,"all summer long","kid rock",2008," it was 1989 my thoughts were short my hair was long caught somewhere between a boy and man she was seventeen and she was far from inbetween it was summertime in northern michigan ahh ahh ahh ahh ahh ahhsplashing through the sand bar talking by the campfire its the simple things in life like when and where we didnt have no internet but man i never will forget the way the moonlight shined upon her hairand we were trying different things we were smoking funny things making love out by the lake to our favorite song sipping whiskey out the bottle not thinking bout tomorrow singing sweet home alabama all summer long singing sweet home alabama all summer longcatching walleye from the dock watching the waves roll off the rocks shell forever hold a spot inside my soul wed blister in the sun we couldnt wait for night to come to hit that sand and play some rock and rollwhile we were trying different things and we were smoking funny things making love out by the lake to our favorite song sipping whiskey out the bottle not thinking bout tomorrow singing sweet home alabama all summer long singing sweet home alabama all summer longnow nothing seems as strange as when the leaves began to change or how we thought those days would never end sometimes ill hear that song and ill start to sing along and think man id love to see that girl againand we were trying different things we were smoking funny things making love out by the lake to our favorite song sipping whiskey out the bottle not thinking bout tomorrow singing sweet home alabama all summer long singing sweet home alabama all summer longand we were trying different things we were smoking funny things making love out by the lake to our favorite song sipping whiskey out the bottle not thinking bout tomorrow singing sweet home alabama all summer long singing sweet home alabama all summer longsinging sweet home alabama all summer long singing sweet home alabama all summer long singing sweet home alabama all summer long singing sweet home alabama all summer long ",1
86,"cant help but wait","trey songz",2008," i cant help but wait i cant help but wait check it outi see you you wit him he aint right but you dont trip you stand by while he lies then turn right round and forgive i cant take to see your face wit those tears running down yo cheeks but what can i do i gotta stay true because deep down im still a gand i dont wanna come between you and your man even tho i know ill treat you better than he can girl i cant help but waittill you get back wit him it dont change cant help but wait till you see that wit me it aint the same cant help but wait till you see you for what you really are baby girl you are a star and i cant help but waitit aint fresh to just let him call the shots your a queen you should be getting all that someones got you should be rocking the latest and purses bracelets and watches youre worth much more than an occasional i love you im thinking of youand i dont wanna come between you and your man no even tho i know ill treat you better than he can girl i cant help but waittill you get back wit him it dont change cant help but wait till you see that wit me it aint the same cant help but wait till you see you for what you really are baby girl you are a star and i cant help but waitget it together you can do better seeing is believing and i see what you need so im gonna play my position let you catch what you been missing im calling out girl because i cant help but waittill you get back wit him it dont change cant help but wait till you see that wit me it aint the same cant help but wait till you see you for what you really are baby girl you are a star and i cant help but waittill you get back wit him it dont change cant help but wait till you see that wit me it aint the same cant help but wait till you see you for what you really are baby girl you are a star and i cant help but waitcant help but wait cant help but wait cant help but wait no no no ",1
87,"in love with a girl","gavin degraw",2008," so many people gonna say that they want you to try to get you thinking they really care but theres nothing like the warmth of the one who has put in the time and you know hes gonna be there back your border when she knows someone crossed it dont let nobody put you down who your with take the pain of protecting your name from the crutch to the cane to the high wireim in love with a girl who knows me better fell for the women just when i met her took my sweet time when i was bitter someone understands and she knows how to treat a fella right give me that feeling every night wants to make love when i wanna fight now someone understand me im in love with a girl im in love with x2out the many broken back doors and windows through the valley of the love of the lost is a hole that is cut through the souls falling down from the thrones without leaving any windows but you drown in a piece for the moment the moment was over in time then its gone the hit and run the tactless one has a short lifeim in love with a girl who knows me better fell for the women just when i met her took my sweet time when i was bitter someone understands and she knows how to treat a fella right give me that feeling every night wants to make love when i wanna fight now someone understand me im in love with a girl im in love with x2gonna tell you what you do to think you practice what you preach now i know theres nothing we cant preach cause the heart cant erase once it finds a place to be warm and welcome to be held in shelterim in love with a girl who knows me better fell for the women just when i met her took my sweet time when i was bitter someone understands and she knows how to treat a fella right give me that feeling every night wants to make love when i wanna fight now someone understand me im in love with a girl im in love with x2im in love with a girl im in love withwho knows me better wants to make love when i wanna fight now someone understand me ",1
88,"my life","the game featuring lil wayne",2008,"punk ass mothafucka get your ass up what chu was goin do kill me in my sleep you bitch ass nigga tupac biggie shut the fuck up fucking dogs barking and shit dont shoot dont shoot fuck you nigga and im grindin until im tired they say you aint grindin until you tired so im grindin with my eyes wide looking to find a way through the day a life for the night dear lord youve done took so many of my people but im just wonderin why you havent taken my life like what the hell am i doing right my life take me away from the hood like a state penitentiary take me away from the hood in the casket or a bentley take me away like i overdosed on cocaine or take me away like a bullet from kurt cobain suicide im from a windy city like do or die from a block close to where biggie was crucified that was brooklyns jesus shot for no fuckin reason and you wonder why kanye wears jesus pieces my life cause thats jesus people and the game hes the equal hated on so much the passion of christ need a sequel yeah like rocafella needed sigel like i needed my father but he needed a needle my life i need some meditation so i can leave my people they askin ̢why why did john lennon leave the beatles and why every hood nigga feed off evil̢ answer my question before this bullet leave this desert eagle and im grindin until im tired they say you aint grindin until you tired so im grindin with my eyes wide looking to find a way through the day a life for the night dear lord youve done took so many of my people but im just wonderin why you havent taken my life like what the hell am i doing right my life we are not the same i am a martian so approach my phantom doors with caution you see them 24s spinnin i earned them and i aint no preacher but heres my erick sermon so eat this black music and tell me how it taste now and fuck jesse jackson ̢cause it aint about race now sometimes i think about my life with my face down then i see my sons and put on that kanye smile my life damn i know his mommas proud and since you helped me sell my dream we can share my momma now and like mjb no more drama now livin the good life me and common on common ground i spit crack and niggas could drive it outta town gotta chris paul mind state im never outta bounds my life used to be empty like a glock without a round now my life full like a chopper with a thousand rounds and im grindin until im tired they say you aint grindin until you tired so im grindin with my eyes wide looking to find a way through the day a life for the night dear lord youve done took so many of my people but im just wonderin why you havent taken my life like what the hell am i doing right my life walk through the gates of hell see my impala parked in front with the high beams on me and the devil share chronic blunts listening to the chronic album playing backwards shootin at pictures of don imus for target practice my mind fucked up so i cover it with a raider hood im from the city that made you motherfuckers afraid of suge compton made my grandmother pray for good and never made her happy but i bet that new mercedes could my life aint no bars but niggas cant escape the hood they took so many of my niggas that i should hate the hood but its real niggas like me that make the hood ridin slow in that phantom just the way i should my life with the top back in my sox hat im paid in full the nigga alpo couldnt stop that even if they brought the nigga pac back id still keep this motherfucker cocked back and im grindin until im tired they say you aint grindin until you tired so im grindin with my eyes wide looking to find a way through the day a life for the night dear lord youve done took so many of my people but im just wonderin why you havent taken my life like what the hell am i doing right my life my life my life my life",3
89,"i remember","keyshia cole",2008," where were youwhen i said i loved you and where were you when i cried at night waiting up couldnt sleep without you thinking of all the times we sharedi remember when my heart broke i remember when i gave up lovin you my heart couldnt take no more of you i was sad and lonely i remember when i walked out i remember when i screamed i hated you but some how deep inside i deep inside still lovin yousad and lonelyno one knew all the pain i went through all the love i saved deep in my heart for you didnt know where i would go where i would be but you made me leave and plus my heart it just it just kept telling me so ohi remember when my heart broke i remember when i gave up loving you my heart couldnt take no more of you i was sad and lonelyi remember when i walked out i remember when i said i hated you but some how deep inside still loving you so sad and lonelythere was nowhere else to go oh no body else to turn to no for the rest of my life i promise myself i will love me first then you and mei remember when my heart brokei remember when i gave up loving you my heart couldnt take no more of you i was sad and lonelyi remember when i walked out i remember when i said i hated you but some how deep inside still loving you sad and lonelyi remember when i walked out i remember when i gave up loving you my heart couldnt take no more of you so sad and lonely hei remember when i stormed out i remember when i gave up loving you i was sad and lonely ",1
90,"flashing lights","kanye west featuring dwele",2008," flashing lights lights flashing lights lights flashing lights lightsshe dont believe in shootin stars but she believe in shoes and cars wood floors in the new apartment couture from the stores department you more like leau de stardee shit im more of the trips to florida order the horderves views of the water straight from the page of your favorite author and the weather so breezy man why cant life always be this easy she in the mirror dancing so sleazy i get a call like where are you yeezy try to hit you with a oeur de whopee till i get flashed by the paparazzi damn these niggas got me i hate these niggas more than the nazias i recall i know you love to show off but i never thought that you would take it this far what do i know flashing lights lights what do i know flashing lights lightsi know its been a while sweetheart we hardly talk i was doing my thing i know i was foul baybay abay lately you been all on my brain and if somebody wouldve told me a month ago fronting though yo i wouldnt wanna know if somebody wouldve told me a year ago itd go get this difficult feeling like katrina with no fema like martin with no gina like a flight with no visa first class with the seat back i still see ya in my past you on the other side of the glass of my memorys museum im just saying hey mona lisa come home you know you cant rome without caesaras i recall i know you love to show off but i never thought that you would take it this far what do i know flashing lights lights what do i know flashing lights lightsas you recall you know i love to show off but you never thought that i would take it this far what do you know flashing lights lights what do you know flashing lights lightsflashing lights lights flashing lights lightslights lights lights lights ",1
91,"mrs officer","lil wayne featuring bobby valentino",2008," hey hey yeah hey yeah hey hey hey valentino woo woo woo yeah yeah yeah yea yea yea yeah yeah woo woo woo yeah yea yea yea yeah woo woo woo yea yea yea yeah woo woo yeah woo bobby valentinowhen i get up all in ya yeah we can hear the angels calling us chea we can see the sunrise before us yeah and when im in that thing ill make that body sang she know what i mean i make it say wee ooh wee ooh wee wee wee ooh wee ooh wee wee wee ooh wee ooh wee like a cop car wee ooh wee ooh wee wee ooh wee ooh wee hey wee ooh wee ooh wee hahaha ill make ya sayyeah doin a buck in the latest drop i got stopped by a lady cop ha ha she got me thinking i can date a cop ha ha cause her uniform pants are so tight she read me my rights she put me in her car she cut off her lights she said i had the right to remain silent now i got her hollering sounding like a siren talkin bout wee ooh wee ooh wee yea wee ooh wee ooh wee yea wee ooh wee ooh wee yea and i know she the law and she know im the boy and she know i get high above the law and she know im raw she know it from the street and all she want me to do is fuck the police talkin bout wee ooh wee ooh wee wee ooh wee ooh wee yea wee ooh wee ooh wee yeawhen i get up all in ya yeah we can hear the angels calling us chea we can see the sunrise before us yeah and when im in that thing ill make that body sang she know what i mean i make it say wee ooh wee ooh wee wee wee ooh wee ooh wee wee wee ooh wee ooh wee like a cop car wee ooh wee ooh wee wee ooh wee ooh wee hey wee ooh wee ooh wee hahaha ill make ya sayha ha and after we got done i said lady whats ya number she said 911 ha emergency only head doctor perform surgery on me yeah and now im healed i make her wear nothing but handcuffs and heels and i beat it like a cop rodney king baby yeah i beat it like a cop ha ha beat it like a cop rodney king baby said beat it like a cop but i aint tryna be violent but ill do the time but her love is timeless mrs officer i know you wish ya name was mrs carter huh wee ooh wee ooh wee wee ooh wee ooh wee yeah wee ooh wee ooh wee like a cop carwhen i get up all in ya yeah we can hear the angels calling us chea we can see the sunrise before us yeah and when im in that thing ill make that body sang she know what i mean i make it say wee ooh wee ooh wee wee wee ooh wee ooh wee wee wee ooh wee ooh wee like a cop car wee ooh wee ooh wee wee ooh wee ooh wee hey wee ooh wee ooh wee hahaha ill make ya saymrs officer mrs officer tell your lieutenant get them cuffs off of ya im kid kid my face on every wanted poster im wanted by every lady cop all over that ass so big i catch a battery to hold ya my hands so big you thought i told ya to pull it over she pulled me over pulled me out the rover then she pulled me closer do me in the back of the car put me in handcuffs start ripping my pants off all you heard on the dispatcher was wee ooh wee ooh wee wee ooh wee ooh wee wee ooh wee ooh weewhen i get up all in ya we can hear the angels calling us we can see the sunrise before us and when im in that thing ill make that body sang i make it saymaybe you can lock me up and throw away the key call your sergeant and tell him you cant finish your shift cause its on tonight breakfast in bed turns to breakfast and head and i cant wait to get it on wanna do it all night long mrs officerwhen i get up all in ya yeah we can hear the angels calling us chea we can see the sunrise before us yeah and when im in that thing ill make that body sang she know what i mean i make it say wee ooh wee ooh wee wee wee ooh wee ooh wee wee wee ooh wee ooh wee like a cop car wee ooh wee ooh wee wee ooh wee ooh wee hey wee ooh wee ooh wee hahaha ill make ya sayill make you say ",1
92,"7 things","miley cyrus",2008," sha sha shai probably shouldnt say this but at times i get so scared when i think about the previous relationship we shared it was awesome but we lost it its not possible for me not to care and now were standing in the rain but nothings ever gonna change until you hear my dearthe seven things i hate about you the seven things i hate about you oh you youre vain your games youre insecure you love me you like her you made me laugh you made me cry i dont know which side to buy your friends theyre jerks and when you act like them just know it hurts i wanna be with the one i know and the seventh thing i hate the most that you do you make me love youits awkward and its silent as i wait for you to say but what i need to hear now your sincere apology when you mean it ill believe it if you text it ill delete it lets be clear oh im not coming back youre taking seven steps herethe seven things i hate about you youre vain your games youre insecure you love me you like her you made me laugh you made me cry i dont know which side to buy your friends theyre jerks and when you act like them just know it hurts i wanna be with the one i know and the seventh thing i hate the most that you do you make me love youcompared to all the great things that would take too long to write i probably should mention the seven that i likethe seven things i like about you your hair your eyes your old levis when we kiss im hypnotized you made me laugh you made me cry but i guess thats both that ill have to buy your hand in mine when were intertwined everythings alright i wanna be with the one i know and the seventh thing i like the most that you do you make me love yousha sha you do oh ",1
93,"youre gonna miss this","trace adkins",2008," she was staring out the window of that suv complaining saying i cant wait to turn eighteen she said ill make my own money and ill make my own rules momma put the car in park out there in front of the school she kissed her head and said i was just like youyoure gonna miss this youre gonna want this back youre gonna wish these days hadnt gone by so fast these are some good times so take a good look around you may not know it now but youre gonna miss thisbefore she knows it shes a brand new bride in her onebedroom apartment and her daddy stops by he tells her its a nice place she says itll do for now starts talking about babies and buying a house daddy shakes his head and says baby just slow downyoure gonna miss this youre gonna want this back youre gonna wish these days hadnt gone by so fast these are some good times so take a good look around you may not know it now but youre gonna miss thisfive years later theres a plumber workin on the water heater dogs barkin phones ringin one kids cryin one kids screamin she keeps apologizin he says they dont bother me ive got two babies of my own ones thirty six ones twenty three huh its hard to believe butyoure gonna miss this youre gonna want this back youre gonna wish these days hadnt gone by so fast these are some good times so take a good look around you may not know it now but youre gonna miss thisyoure gonna miss this yeah youre gonna miss this ",1
94,"love remains the same","gavin rossdale",2008," a thousand times ive seen you standing gravity like lunar landing you make me wanna run till i find you i shut the world away from here drift to you youre all i hear as everything we know fades to blackhalf the time the world is ending truth is i am done pretendingi never thought that i had anymore to give youre pushing me so far here i am without you drink to all that we have lost mistakes we have made everything will change but love remains the samefind a place where we escape take you with me for a space the city bus sounds just like a fridge i walk the streets through seven bars i have to find just where you are the faces seem to blur theyre all the samehalf the time the world is ending truth is i am done pretendingi never thought that i had anymore to give youre pushing me so far here i am without you drink to all that we have lost mistakes we have made everything will change but love remains the sameso much more to say so much to be done dont you trick me now we shall overcome so all thats left is prayingbut we should have had the sun we could have been inside instead were over herehalf the time the world is ending truth is i am done pretending too much time too long defending you and i are done pretendingi never thought that i had anymore to give youre pushing me so far here i am without you drink to all that we have lost mistakes we have made everything will change everything will changei oh i i wish this could last forever i oh i as if we could last foreverlove remains the same love remains the same ",1
95,"feels like tonight","daughtry",2008," you you got me thinking itll be all right you you told me come and take a look inside you believed me in every single lie but i i failed you this timeand it feels like tonight i cant believe im broken inside cant you see that theres nothing that i wanna do but try to make it up to you and it feels like tonight tonighti was waiting for the day youd come around i was chasing but nothing was all i found from the moment you came into my life you showed me whats rightand it feels like tonight i cant believe im broken inside cant you see that theres nothing that i wanna do but try to make it up to you and it feels like tonighti never felt like this before just when i leave im back for more nothing else here seems to matter in these everchanging days youre the one thing that remains i could stay like this foreverand it feels like tonight i cant believe im broken inside cant you see that theres nothing that i wanna do but try to make it up to you and it feels like tonight tonight feels like tonighttonight feels like tonight cause theres nothing that i wanna do but try to make it up to you and it feels like tonight tonight ",1
96,"the way i are","timbaland featuring keri hilson",2008," yeah yeah remember the time baby yeahi aint got no money i aint got no car to take you on a date i cant even buy you flowers but together we be the perfect soul mates talk to me girloh baby its alright now you aint gotta floss for me if we go and touch you can still touch my love its free we can work without the perks just you and me thug it out till we get it rightbaby if you strip you can get a tip cause i like you just the way you are im about to strip and i want it quick can you handle me the way i are i dont need the cheese or the car keys boy i like you just the way you are let me see ya strip you can get a tip cause i like i like i likei aint got no visa i aint got no red american express we cant go nowhere exotic it dont matter cause im the one that loves you best talk to me girloh baby its alright now you aint gotta floss for me if we go and touch you can still touch my love its free we can work without the perks just you and me thug it out till we get it rightbaby if you strip you can get a tip cause i like you just the way you are im about to strip and i want it quick can you handle me the way i are i dont need the cheese or the car keys boy i like you just the way you are let me see ya strip you can get a tip cause i like you just the way you arebaby girl i dont got a huge ol house i rent a room in a house listen baby girl i aint got a motorboat but i can float ya boat so listen baby girl once you get a dose of doe you gon want some mo so listen baby girl when i make it i want you there want you there yeah ",1
97,"addicted","saving abel",2008," im so addicted to all the things you do when youre going down on me in between the sheets oh the sounds you make with every breath you take its unlike anything when youre loving meoh girl lets take it slow so as for you well you know where to go i want to take my love and hate you till the endits not like you to turn away from all the bullshit i cant take its not like me to walk awayim so addicted to all the things you do when youre going down on me in between the sheets oh the sounds you make with every breath you take its unlike anything when youre loving meyeahi know when its getting rough all the times we spend trying to make this love something better than just making up againits not like you to turn away all the bullshit i cant take just when i think i can walk awayim so addicted to all the things you do when youre going on me in between the sheets all the sounds you make with every breathe its unlike anythingim so addicted to the things you do when youre going down on me all the sounds you make with every breath you take its unlike anything when youre loving mewhen youre loving mehow can i make it through all the things you do theres just got to be more to you and meim so addicted to all the things you do when youre going down on me in between the sheets all the sounds you make with every breath you take its unlike anything its unlike anythingim so addicted to all the things you do when youre going down on meall the sounds you make with every breath you take its unlike anything im so addicted to you addicted to you ",1
98,"into the night","santana featuring chad kroeger",2008," like a gift from the heavens it was easy to tell it was love from above like it saved me from hell she had fire in her soul it was easy to see how the devil himself could be pulled out of me there were drums in the air as she started to dance every soul in the room keeping time with their hands and we sangay oh ay oh ay oh ay and the voices rang like the angels sing were singing ay oh ay oh ay oh ay and we danced on into the night ay oh ay oh ay oh ay oh and we danced on into the nightlike a piece to the puzzle that falls into place you could tell how we felt from the look on her face she was spinning in circles with the moon in her eyes the room left them moving between you and i we forgot where we were and we lost track of time and we sang to the wind as we danced through the night and we sangay oh ay oh ay oh ay and the voices rang like the angels sing were singing ay oh ay oh ay oh ay and we danced on into the night ay oh ay oh ay oh ay oh and we danced on into the nightand we danced on into the nightlike a gift from the heavens it was easy to tell it was love from above like it saved me from hell she had fire in her soul it was easy to see how the devil himself could be pulled out of me there were drums in the air as she started to dance every soul in the room keeping time with there hands and we sangay oh ay oh ay oh ay and the voices rang like the angels sing were singing ay oh ay oh ay oh ay and we danced on into the night ay oh ay oh ay oh ay oh and we danced on into the night and the voices rang like the angels sing ay oh ay oh ay oh ay oh and we danced on into the night ay oh ay oh ay oh ay ay oh ay oh ay oh ay oh ay oh ay ay oh ay oh singing ay oh ay oh ay oh ay ay oh ay oh and we danced on into the night ",1
99,"heaven sent","keyshia cole",2008," sent from heaven sent from heavennow you can wait your whole life wonderin when its gonna come or where its been you may have got your heart broken a few times in the past it never lasts as strong as it used to it dont feel as good as it used to before and all the things you used to say things you used to do went right out the doorooh no more will you be the one thats what you tell everyone around you but you know theyve heard it all before what more can you say when love wont let you walk away and you cant help who you love and you find yourself givin it all away when you think youre in love ooh cuzi wanna be the one who you believe in your heart is sent from sent from heaven and theres a piece of me who leaves when youre gone because youre sent from sent from heaveni wanna be the one who you believe in your heart is sent from sent from heaven and theres a piece of me who leaves when youre gone because youre sent from sent from heavennow you can wait your whole life tryna change what they feel from whats been you may have put your whole life into a man lovin what you thought it couldve been now you notice when you change that you dont feel as good as you used to before and everything you used to say everything you used to do went right out the doorooh no more will you be the one thats what you tell everyone around you but you know theyve heard it all before what more can you say when love wont let you walk away and you cant help who you love and you find yourself givin it all away when you think youre in love cuz i wanna bei wanna be the one who you believe in your heart is sent from sent from heaven theres a piece of me who leaves when youre gone because youre sent from sent from heaveni wanna be the one who you believe in your heart is sent from sent from heaven theres a piece of me who leaves when youre gone because youre sent from sent from heaveneverybody say i wanna be the one you love i wanna be sent from heaven everybody say i wanna be the one you trust i wanna be sent from heaveneverybody say i wanna be the one you need i wanna be sent from heaven everybody say i wanna be the one oh i wanna be the one sent from heaveni wanna be the one who you believe in your heart is sent from sent from heaven theres a piece of me who leaves when youre gone because youre sent from sent from heaveni wanna be the one who you believe in your heart is sent from sent from heaven theres a piece of me who leaves when youre gone because youre sent from sent from heaveni wanna be the one who you believe in your heart is sent from sent from heaven theres a piece of me who leaves when youre gone because youre sent from sent from heaveni wanna be the one ",1
100,"she got it","2 pistols featuring tpain and tay dizm",2008," i know she got it cause she lookin at me like she want it want it she droppin it low make me wanna throw some ds on it hey whatever it is you cant stop it cause she get loww when she on that pole and that lets me know she got it she got it she got it she got it she got it she got it she got it she got it she got it she got it whoa she got it shawty she got itexcuse me why let me talk to ya for a second lil mama so fine she got the whole squad sweatin damn how you fit all that in them jeans was the question that i asked followed by let me buy you a drink drink young boss baby i treat cha treat cha to the finer things neck bling wrist bling wedding ring nah im playin might light your neck or wrist but cha got a ride nice dick and uh take trips with the bricks she got it she got it she got it she got it thats what pain sayin them other niggas lame man lil mamma i got the game plan 2 pistols me and you boss i make it happen while they talk ridin 6s while they walki know she got it cause she lookin at me like she want it want it she droppin it low make me wanna throw some ds on it hey whatever it is you cant stop it cause she get loww when she on that pole and that lets me know she got it she got it she got it she got it she got it she got it she got it she got it she got it she got it whoa she got it shawty she got itoh hey oh hey she got it she got it she got it she got it oh hey oh hey she got it she got it she got it she got it shorty know shes got it hey got it got it hey she got it she got it she got it she got it shorty know shes got it hey got it got it hey she got it she got it she got itdamn she bad damn she bad damn she thick she thick five foot five hazel eyes redbone you the shit make a nigga wanna stop and stare i just wanna pull your hair freaky shit kinky shit but we dont need to take it there im a young boss girl let me upgrade ya hes a worker i get work out what you bout girl trips to venice venice whats the business bet this swiss your digits and the rest is historyi know she got it cause she lookin at me like she want it want it she droppin it low make me wanna throw some ds on it hey whatever it is you cant stop it cause she get low when she on that pole and that lets me know she got it she got it she got it she got it she got it she got it she got it she got it she got it she got it whoa she got it shawty she got iti see my superwoman nobody cant do it like she can and she got it im tellin you like nobody yeah and i love the way she talk them lames out they dreams bestest thing in fresh louis with the matching jeans and i love the tatted down baby im your fit can i be yo appetizer yo just her and me oh shes on tonight the baddest in the club i grab that ass when she give me a hug causei know she got it cause she lookin at me like she want it want it she droppin it low make me wanna throw some ds on it hey whatever it is you cant stop it cause she get loww when she on that pole and that lets me know she got it she got it she got it she got it she got it she got it she got it she got it she got it she got it whoa she got it shawty she got it ",1
1,"boom boom pow","the black eyed peas",2009,"gotta getget gotta getget gotta getget gotta ggggetgetget getget boom boom boom gotta getget boom boom boom gotta getget boom boom boom gotta getget boom boom boom gotta getget boom boom boom now boom boom boom now boom boom pow boom boom yo i got that hit that beat the block you can get that bass overload i got the that rock and roll that future flow that digital spit next level visual shit i got that boom boom pow how the beat bang boom boom pow i like that boom boom pow them chickens jackin my style they try copy my swagger im on that next shit now im so 3008 you so 2000 and late i got that boom boom boom that future boom boom boom let me get it now boom boom boom gotta getget boom boom boom gotta getget boom boom boom gotta getget boom boom boom gotta getget boom boom boom now boom boom boom now boom boom pow boom boom pow im on the supersonic boom yall hear the spaceship zoom when when i step inside the room them girls go apeshit uh yall stuck on super 8 shit that lowfi stupid 8 bit im on that hd flat this beat go boom boom bap im a beast when you turn me on into the future cybertron harder faster better stronger sexy ladies extra longer cause we got the beat that bounce we got the beat that pound we got the beat that 808 that the boom boom in your town people in the place if you wanna get down put your hands in the air william drop the beat now yup yup i be rockin them beats yup yup i be rockin them beats yyyup yup here we go here we go satellite radio yall gettin hit with boom boom beats so big im steppin on leprechauns shittin on yall with the boom boom shittin on yall you with the boom boom shittin on yall you with the this beat be bumpin bumpin this beat go boom boom let the beat rock let the beat rock let the beat rock this beat be bumpin bumpin this beat go boom boom i like that boom boom pow them chickens jackin my style they try copy my swagger im on that next shit now im so 3008 you so 2000 and late i got that boom boom boom that future boom boom boom let me get it now boom boom boom gotta getget boom boom boom gotta getget boom boom boom gotta getget boom boom boom gotta getget boom boom boom now boom boom boom now boom boom pow boom boom pow let the beat rock let the beat rock let the beat rock let the beat let the beat let the beat rock rock rock rock",3
2,"poker face","lady gaga",2009," i wanna hold em like they do in texas plays fold em let em hit me raise it baby stay with me i love it love game intuition play the cards with spades to start and after hes been hooked ill play the one thats on his heartoh oh oh oh oh ohoheohohoh ill get him hot show him what ive got oh oh oh oh oh ohoheohohoh ill get him hot show him what ive gotcant read my cant read my no he cant read my poker face shes got me like nobody cant read my cant read my no he cant read my poker face she is gonna let nobodyp p p poker face p p p poker face muh muh muh muh p p p poker face p p poker face muh muh muh muhi wanna roll with him a hard pair we will be a little gambling is fun when youre with me i love it russian roulette is not the same without a gun and baby when its love if its not rough it isnt fun funoh oh oh oh oh ohoheohohoh ill get him hot show him what ive got oh oh oh oh oh ohoheohohoh ill get him hot show him what ive gotcant read my cant read my no he cant read my poker face shes got me like nobody cant read my cant read my no he cant read my poker face she is gonna let nobodyp p p poker face p p p poker face muh muh muh muh p p p poker face p p p poker face muh muh muh muhi wont tell you that i love you kiss or hug you cause im bluffing with my muffin im not lying im just stunning with my love glue gunnin just like a chick in the casino take your bank before i pay you out i promise this promise this check this hand cause im marvelouscant read my cant read my no he cant read my poker face shes got me like nobody cant read my cant read my no he cant read my poker face she is gonna let nobodycant read my cant read my no he cant read my poker face shes got me like nobody cant read my cant read my no he cant read my poker face she is gonna let nobodycant read my cant read my no he cant read my poker face shes got me like nobody cant read my cant read my no he cant read my poker face she is gonna let nobodyp p p poker face p p p poker face muh muh muh muh p p p poker face p p p poker face muh muh muh muhshe is gonna let nobodyp p p poker face p p p poker face muh muh muh muh p p p poker face p p p poker face muh muh muh muhp p p poker face p p p poker face muh muh muh muh p p p poker face p p p poker face muh muh muh muh ",1
3,"just dance","lady gaga featuring colby odonis",2009," a redone konvict gaga ohoh ehive had a little bit too much much all of the people start to rush start to rush by how does he twist the dance cant find a drink oh man where are my keys i lost my phone phonewhats going on on the floor i love this record baby but i cant see straight anymore keep it cool whats the name of this club i cant remember but its alright aalrightjust dance gonna be okay da da doodoommm just dance spin that record babe da da doodoommm just dance gonna be okay ddddance dance dance just jjjust dancewish i could shut my playboy mouth oh oh ohoh howd i turn my shirt inside out inside outright control your poison babe roses have thorns they say and were all getting hosed tonight oh oh ohohwhats going on on the floor i love this record baby but i cant see straight anymore keep it cool whats the name of this club i cant remember but its alright aalrightjust dance gonna be okay da da doodoommm just dance spin that record babe da da doodoommm just dance gonna be okay ddddance dance dance just jjjustwhen i come through on the dance floor checkin out that catalog cant believe my eyes so many women without a flaw and i aint gon give it up steady tryin to pick it up like a car ima hit it ima hit it and flex and do it until tomorr yeahshorty i can see that you got so much energy the way youre twirlin up them hips round and round and now theres no reason at all why you cant leave here with me in the meantime stay and let me watch you break it downand dance gonna be okay da da doodoommm just dance spin that record babe da da doodoommmjust dance gonna be okay da da doodoommm just dance spin that record babe da da doodoommm just dance gonna be okay ddddance dance dance just jjjust dancewoo lets gohalf psychotic sick hypnotic got my blueprint its symphonic half psychotic sick hypnotic got my blueprint electronichalf psychotic sick hypnotic got my blueprint its symphonic half psychotic sick hypnotic got my blueprint electronicgo use your muscle carve it out work it hustle i got it just stay close enough to get it dont slow drive it clean it lights out bleed it spend the lasto i got it in your pocko i got itjust dance gonna be okay da da doodoommm just dance spin that record babe da da doodoommmjust dance gonna be okay da da doodoommm just dance spin that record babe da da doodoommm just dance gonna be okay ddddance dance dance just jjjust dance ",1
4,"i gotta feeling","the black eyed peas",2009," i gotta feeling that tonights gonna be a good night that tonights gonna be a good night that tonights gonna be a good good nighta feeling that tonights gonna be a good night that tonights gonna be a good night that tonights gonna be a good good nighta feeling woohoo that tonights gonna be a good night that tonights gonna be a good night that tonights gonna be a good good nighta feeling woohoo that tonights gonna be a good night that tonights gonna be a good night that tonights gonna be a good good nighttonights the night lets live it up i got my money lets spend it up go out and smash it like oh my god jump off that sofa lets get get offi know that well have a ball if we get down and go out and just lose it all i feel stressed out i wanna let it go lets go way out spaced out and losing all controlfill up my cup mazel tov look at her dancing just take it off lets paint the town well shut it down lets burn the roof and then well do it againlets do it lets do it lets do it lets do it and do it and do it lets live it up and do it and do it and do it do it do it lets do it lets do it lets do itcause i gotta feeling woohoo that tonights gonna be a good night that tonights gonna be a good night that tonights gonna be a good good nighta feeling woohoo that tonights gonna be a good night that tonights gonna be a good night that tonights gonna be a good good nighttonights the night hey  lets live it up lets live it up i got my money my pay lets spend it up lets spend it upgo out and smash it smash it like oh my god like oh my god jump off that sofa come on lets get get offfill up my cup drink mazel tov lchaim look at her dancing move it move it just take it offlets paint the town paint the town well shut it down lets shut it down lets burn the roof and then well do it againlets do it lets do it lets do it lets do it and do it and do it lets live it up and do it and do it and do it do it do it lets do it lets do it lets do it do it do it do ithere we come here we go we gotta rock rock rock rock rock rock easy come easy go now we on top top top top top top feel the shot body rock rock it dont stop stop stop stop stop stop round and round up and down around the clock rock rock rock rock rockmonday tuesday wednesday and thursday friday saturday saturday to sunday get get get get get with us you know what we say say party every day pppparty every dayand im feelin woohoo that tonights gonna be a good night that tonights gonna be a good night that tonights gonna be a good good nighta feelin woohoo that tonights gonna be a good night that tonights gonna be a good night that tonights gonna be a good good night woohoo ",1
5,"love story","taylor swift",2009," we were both young when i first saw you i close my eyes and the flashback starts im standing there on a balcony in summer airsee the lights see the party the ball gowns i see you make your way through the crowd you say hello little did i knowthat you were romeo you were throwing pebbles and my daddy said stay away from juliet and i was crying on the staircase begging you please dont go and i saidromeo take me somewhere we can be alone ill be waiting all theres left to do is run youll be the prince and ill be the princess its a love story baby just say yes so i sneak out to the garden to see you we keep quiet cause were dead if they knew so close your eyes escape this town for a little whilecause you were romeo i was a scarlet letter and my daddy said stay away from juliet but you were everything to me i was begging you please dont go and i saidromeo take me somewhere we can be alone ill be waiting all theres left to do is run youll be the prince and ill be the princess its a love story baby just say yesromeo save me theyre trying to tell me how to feel this love is difficult but its real dont be afraid well make it out of this mess its a love story baby just say yes oh oh oh ohi got tired of waiting wondering if you were ever coming around my faith in you was fading when i met you on the outskirts of town and i saidromeo save me ive been feeling so alone i keep waiting for you but you never come is this in my head i dont know what to think he knelt to the ground and pulled out a ring and saidmarry me juliet youll never have to be alone i love you and thats all i really know i talked to your dad go pick out a white dress its a love story baby just say yesoh oh oh oh cause we were both young when i first saw you ",1
6,"right round","flo rida",2009," you spin my head right round right round when you go down when you go down down you spin my head right round right round when you go down when you go down downhey walk out that house with my swagger hop in there with dough i got places to go people to see time is precious i looked at my cotty are ya out of controljust like my mind where im goin no women no shawties no nothin but clothes no stoppin now my pirellis on roll i like my jewelry thats always on whoai know the storm is comin my pockets keep tellin me its gonna shower call up my homies its on then pop in the next cause this mixll be ourswe keep a fadeaway shot cause we ballin its platinum patron that be ours lil mama i owe you just like the flowers girl you the drink with all that goodie powersyou spin my head right round right round when you go down when you go down down you spin my head right round right round when you go down when you go down downfrom the top of the pole i watch her go down she got me throwin my money around aint nothin more beautiful to be found its goin down downfrom the top of the pole i watch her go down she got me throwin my money around aint nothin more beautiful to be found its goin down downhey shawty must know im the man my money love her like her number one fan dont open my mouth let her talk to my fans my benjamin franklinsa couple of grands i got rubber bands my paper planes makin her dance get dirty all night thats part of my plan we buildin castles thats made out of sandshes amazin fire blazin hotter than cajun girl wont you move a lil closer time to get paid its maximum wage that body belong on a posterim in a daze that bottom is wavin at me like damn it i know you you wanna shoot like a gun out of holster tell me whatever and ill be your gopheryou spin my head right round right round when you go down when you go down down you spin my head right round right round when you go down when you go down downfrom the top of the pole i watch her go down she got me throwin my money around aint nothin more beautiful to be found its goin down downfrom the top of the pole i watch her go down she got me throwin my money around aint nothin more beautiful to be found its goin down downyeah im spendin my money im out of control somebody help me she takin my bank roll but im king of the club and im wearin the crown poppin these bottles touchin these models watchin they asses go down downyou spin my head right round right round when you go down when you go down down you spin my head right round right round when you go down when you go down downyou spin my head right round right round when you go down when you go down down you spin my head right round right round when you go down when you go down down ",1
7,"im yours","jason mraz",2009," well you done done me and you bet i felt it i tried to be chill but youre so hot that i melted i fell right through the cracks now im trying to get back before the cool done run out ill be giving it my bestest and nothings going to stop me but divine intervention i reckon its again my turn to win some or learn somebut i wont hesitate no more no more it cannot wait im yourswell open up your mind and see like me open up your plans and damn youre free look into your heart and youll find love love love lovelisten to the music of the moment people dance and sing were just one big family and its our godforsaken right to be loved loved love loveso i wont hesitate no more no more it cannot wait im sure theres no need to complicate our time is short this is our fate im yoursdddo do you but do you dddo but do you want to come on scooch on over closer dear and i will nibble your earive been spending way too long checking my tongue in the mirror and bending over backwards just to try to see it clearer but my breath fogged up the glass and so i drew a new face and i laughedi guess what i be saying is there aint no better reason to rid yourself of vanities and just go with the seasons its what we aim to do our name is our virtuebut i wont hesitate no more no more it cannot wait im yours open up your mind and see like me i wont hesitate open up your plans and damn youre free no more no more look into your heart and youll find that the sky is yours it cannot wait im sureso please dont please dont theres no need theres no need to complicate theres no need to complicate our time is short our time is short this is our fate this is this is this is our fate im yoursoh im yours oh im yours oh whoa baby you believe im yours you best believe best believe im yours ",1
8,"single ladies put a ring on it","beyonce",2009," all the single ladies all the single ladies all the single ladies all the single ladies all the single ladies all the single ladies all the single ladies put your hands upup in the clubwe just broke up im doing my own little thing you decided to dip and now you wanna trip cause another brother noticed me im up on him he up on me dont pay him any attention cause i cried my tears for three good years you cant be mad at mecause if you liked it then you should have put a ring on it if you liked it then you should have put a ring on it dont be mad once you see that he want it if you liked it then you should have put a ring on it oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh cause if you liked it then you should have put a ring on it if you liked it then you should have put a ring on it dont be mad once you see that he want it if you liked it then you should have put a ring on iti got gloss on my lips a man on my hips got me tighter than my dereon jeans acting up drink in my cup i can care less what you think i need no permission did i mention dont pay him any attention cause you had your turn but now you gon learn what it really feels like to miss mecause if you liked it then you should have put a ring on it if you liked it then you should have put a ring on it dont be mad once you see that he want it if you liked it then you should have put a ring on it oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh cause if you liked it then you should have put a ring on it if you liked it then you should have put a ring on it dont be mad once you see that he want it if you liked it then you should have put a ring on it oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh ohdont treat me to these things of the world im not that kind of girl your love is what i prefer what i deserve heres a man that makes me then takes me and delivers me to a destiny to infinity and beyond pull me into your arms say im the one you want if you dont youll be alone and like a ghost ill be goneall the single ladies all the single ladies all the single ladies all the single ladies all the single ladies all the single ladies all the single ladies now put your hands upoh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh cause if you liked it then you should have put a ring on it if you liked it then you should have put a ring on it dont be mad once you see that he want it if you liked it then you should have put a ring on it oh oh oh if you liked it then you should have put a ring on it if you liked it then you should have put a ring on it dont be mad once you see that he want it if you liked it then you should have put a ring on it ",1
9,"heartless","kanye west",2009," in the night i hear em talk the coldest story ever told somewhere far along this road he lost his soul to a woman so heartless how could you be so heartless oh how could you be so heartlesshow could you be so cold as the winter wind when it breeze yo just remember that you talkin to me though you know need to watch the way you talkin to me yo i mean after all the things that weve been through i mean after all the things we got into hey yo i know of some things that you aint told me hey yo i did some things but thats the old me and now you wanna get me back and you goin show me so you walk around like you dont know me you got a new friend well i got homies but in the end its still so lonelyin the night i hear em talk the coldest story ever told somewhere far along this road he lost his soul to a woman so heartless how could you be so heartless oh how could you be so heartlesshow could be so dr evil you bringin out a side of me that i dont know i decided we werent goin speak so why we up three am on the phone why does she be so mad at me for homie i dont know shes hot and cold i wont stop i wont mess my groove up cause i already know how this thing go you run and tell your friends that youre leaving me they say that they dont see what you see in me you wait a couple months then you gon see youll never find nobody better than mein the night i hear em talk the coldest story ever told somewhere far along this road he lost his soul to a woman so heartless how could you be so heartless oh how could you be so heartlesstalkin talkin talkin talk baby lets just knock it off they dont know what we been through they dont know bout me and you so i got something new to see and you just goin keep hatin me and we just goin be enemies i know you cant believe i could just leave it wrong and you cant make it right im goin take off tonight into the nightin the night i hear em talk the coldest story ever told somewhere far along this road he lost his soul to a woman so heartless how could you be so heartless oh how could you be so heartless ",1
10,"gives you hell","the allamerican rejects",2009,NA,NA
11,"you belong with me","taylor swift",2009," youre on the phone with your girlfriend shes upset shes going off about something that you said cause she doesnt get your humor like i do im in my room its a typical tuesday night im listening to the kind of music she doesnt like and shell never know your story like i dobut she wears short skirts i wear tshirts shes cheer captain and im on the bleachers dreaming about the day when you wake up and find that what youre looking for has been here the whole timeif you can see im the one who understands you been here all along so why cant you see you belong with me you belong with mewalkin the streets with you and your wornout jeans i cant help thinking this is how it ought to be laughing on a park bench thinking to myself hey isnt this easyand youve got a smile that could light up this whole town i havent seen it in a while since she brought you down you say your fine i know you better then that hey what you doing with a girl like thatshe wears high heels i wear sneakers shes cheer captain and im on the bleachers dreaming about the day when you wake up and find that what what youre looking for has been here the whole timeif you can see that im the one who understands you been here all along so why cant you see you belong with mestanding by and waiting at your back door all this time how could you not know baby you belong with me you belong with meoh i remember you drivin to my house in the middle of the night im the one who makes you laugh when you know youre about to cry and i know your favorite songs and you tell me about your dreams i think i know where you belong i think i know its with mecant you see that im the one who understands you been here all along so why cant you see you belong with mestanding by and waiting at your back door all this time how could you not know baby you belong with me you belong with meyou belong with me have you ever thought just maybe you belong with me you belong with me ",1
12,"dead and gone","ti featuring justin timberlake",2009," ooh ive been travelin on this road too long just trying to find my way back home the old me is dead and gone dead and gone and ooh ive been travelin on this road too long just trying to find my way back home the old me is dead and gone dead and goneever had one of dem days you wish woulda stayed home run into a group of niggas getting they hate on you walk by they get wrong you reply then shit get blown way outta proportion way past discussion just you against them pick one then rush em figure youll get your head  that next they dont wanna stop there now they bussin now you gushin ambulance rushin you to the hospital with a bad concussion plus ya hit four times plus it hit ya spine paralyzed waist down now ya wheel chair bound never mind that now you lucky to be alive just think it all started you fussin with three guys now ya pride in the way but ya pride is the way you could fuck around get shot die any day niggas die every day all over bull shit dope money dice game ordinary hood shit could this be cause of hip hop music or did the ones with the good sense not use it usually niggas dont know what to do when their back against the wall so they just start shootin for red or for blue or for blo i guess from bankhead or from your projects no more stress now im straight now i get it now i take time to think before i make mistakes just for my familys sake that part of me left yesterday the heart of me is strong today no regrets im blessed to say the old me dead and gone awayooh ive been travelin on this road too long just trying to find my way back home the old me is dead and gone dead and gone and ooh ive been travelin on this road too long just trying to find my way back home the old me is dead and gone dead and gonei aint never been scared i live through tragedy situation coulda been dead lookin back at it most of that shit didnt even have to happen but you dont think about it when you out there trappin in apartments hangin smokin and rappin niggas start shit didnt next thing ya know we cappin get locked up then didnt even get mad now think about damn what a life i had most of that shit look back just laugh some shit still look back just sad maybe my homeboy till be around had i not hit the nigga in the mouth that time i won that fight i lost that war i can still see my nigga walkin out that door whoda thought id never see philant no more got enough dead homies i dont want no more cost a nigga his job cost me more ida took that asswhoopin now for sure now think before i risk my life take them chances to get my stripe a nigga put his hands on me alright otherwise stand there talk shit all night cause i hit you you sue me i shoot you get locked up who me no more stress now im straight now i get it now i take time to think before i make mistakes just for my familys sake that part of me left yesterday the heart of me is strong today no regrets im blessed to say the old me dead and gone awayooh ive been travelin on this road too long just trying to find my way back home the old me is dead and gone dead and gone and ooh ive been travelin on this road too long just trying to find my way back home the old me is dead and gone dead and gonei turn my head to the east i dont see nobody by my side i turn my head to the west still nobody in sight so i turn my head to the north swallow that pill that they call pride the old me is dead and gone but the new me will be alright i turn my head to the east i dont see nobody by my side i turn my head to the west still nobody in sight so i turn my head to the north swallow that pill that they call pride the old me is dead and gone but the new me will be alrightooh ive been travelin on this road too long just trying to find my way back home the old me is dead and gone dead and gone and ooh ive been travelin on this road too long just trying to find my way back home the old me is dead and gone dead and gone ",1
13,"you found me","the fray",2009,"i found god on the corner of 1st and amistad where the west was all but won all alone smoking his last cigarette i said where you been he said ask anything where were you when everything was falling apart all my days were spent by the telephone that never rang and all i needed was a call that never came to the corner of 1st and amistad lost and insecure you found me you found me lying on the floor surrounded surrounded whyd you have to wait where were you where were you just a little late you found me you found me but in the end everyone ends up alone losing her the only one whos ever known who i am who im not and who i wanna be no way to know how long she will be next to me lost and insecure you found me you found me lying on the floor surrounded surrounded whyd you have to wait where were you where were you just a little late you found me you found me the early morning the city breaks and ive been calling for years and years and years and years and you never left me no messages you never sent me no letters you got some kind of man taking all i want lost and insecure you found me you found me lying on the floor where were you where were you lost and insecure you found me you found me lying on the floor surrounded surrounded whyd you have to wait where were you where were you just a little late you found me you found me whyd you have to wait to find me to find me",3
14,"use somebody","kings of leon",2009," ive been roaming around always looking down at all i see painted faces fill the places i cant reachyou know that i could use somebody you know that i could use somebodysomeone like you and all you know and how you speak countless lovers under cover of the streetyou know that i could use somebody you know that i could use somebody someone like youoff in the night while you live it up im off to sleep waging wars to shape the poet and the beat i hope its gonna make you notice i hope its gonna make you noticesomeone like me someone like me someone like me somebodysomeone like you somebody someone like you somebody someone like you somebodyive been roaming around always looking down at all i see ",1
15,"knock you down","keri hilson featuring kanye west and neyo",2009," keep rocking and keep knocking whether you louboutin it up or reebokin you see the hate that theyre serving on a platter so what we goin have dessert or disasteri never thought id be in love like this when i look at you my mind goes on a trip then you came in and knocked me on my face feels like in im in a race but i already won first placei never thought id fall for you as hard as i did as hard as i did yeah you got me thinking bout our life our house and kids yeah every morning i look at you and smile cause boy you came around and you knocked me down knocked me downsometimes love comes around and it knocks you down just get back up when it knocks you down sometimes love comes around and it knocks you down just get back up when it knocks you downi never thought id hear myself say ooh yall go ahead i think im gonna kick it wit my girl today kick it wit my girl today i used to be commander and chief of my pimp ship flying high flying high til i met this pretty little missile that shot me out the sky oh shot me out the skyhey now im crashing dont know how it happened but i know it feels so damn good said if i could back and make it happen faster dont you know i would baby if i could miss independent oh to the fullest the load never too much she helping me pull it she shot the bullet that ended that life i swear to you the pimp in me just died tonight girl sometimes lovesometimes love comes around and it knocks you down just get back up when it knocks you down sometimes love comes around and it knocks you down just get back up when it knocks you downtell me now can you make it past your caspers so we can finally fly off into nasa you was always the cheerleader of my dreams that seem to only date the head of football teamsand i was the class clown that always kept you laughing we were never meant to be baby we just happen so please dont mess up the trick hey young world im the new slick rick they say i move too quick but we cant let the moment pass uslet the hourglass pass right into ashes let the wind blow the ash right before my glasses so i wrote this love letter right before my classes how could a goddess ask someone thats only averagefor advice omg you listen to that bitch whoa its me baby this is tragic cause we had it we was magici was flying now im crashing this is bad real bad michael jackson now im mad real mad joe jackson you should leave your boyfriend now im a ask himsay you gotta put the good with the bad happy and the sad so will u bring a better future than i had in the past oh cause i dont wanna make the same mistakes i did i dont wanna fall back on my face again whoa whoa ill admit it i was scared to answer loves call whoa whoa and if it hits better make it worth the fallwhen it comes aroundsometimes love comes around and it knocks you down just get back up when it knocks you down sometimes love comes around and it knocks you down just get back up when it knocks you downwont see it coming when it happens hey but when it happens youre gonna feel it let me tell you now you see when love knocks you downwont see it coming when it happens but when it happens youre gonna feel it let me tell you now you see when love knocks you down yeah ",1
16,"blame it","jamie foxx featuring tpain",2009," blame it on the booze got you feeling loose blame it on tron got you in the zone blame it on the a a a a a alcohol blame it on the a a a a a a alcoholhey she say she usually dont but i know that she front cause shawty know what she want but she dont wanna seem like she easy i hear you saying what ya wont do but you know we probably goin do what you been feigning deep inside dont lie nowgirl what you drinking goin let sink in here for the weekend thinking we can see what we can be if we press press forward just one more round and youre down ill pouring fill another cup up feeling on yo butt what you dont even care now i was unaware how fine you was before my buzz set in my buzz set inblame it on the booze got you feeling loose blame it on tron got you in the zone blame it on the a a a a a alcohol blame it on the a a a a a a alcoholblame it on the vodka blame it on the henny blame it on the blue top got you feeling dizzy blame it on the a a a a a alcohol blame it on the a a a a a a alcoholoopsy she spilled some drank on me and now im knowing shes tipsy she put her body on me and she keep staring me right in my eyes no telling what im going do baby id rather show you what you been missing in your life when i get insidegirl what you drinking goin let sink in here for the weekend thinking we can see what we can be if we press fast forward just one more round and if youre down ill pouring fill another cup up feeling on yo butt what i was unaware how fine you was before my buzz set in my buzz set inblame it on the booze got you feeling loose blame it on tron got you in the zone blame it on the a a a a a alcohol blame it on the a a a a a a alcoholblame it on the vodka blame it on the henny blame it on the blue top got you feeling dizzy blame it on the a a a a a alcohol blame it on the a a a a a a alcoholtpaingirl i know you feel good just like you look couple more shots you open up like a book i aint trippin cause ima read ya shawty i aint trippin i jus wanna please ya ima take a shot of nuvo shawty didnt you know its going down we can go kick it like judo you know what i mean shawty got drunk thought it all was a dream so i made her say i i now she got her hand on my leg got my seats all wet in my ride all over my ride all over my ride she look me dead in the eye then my pants got bigga she already knew what to figga had her lookin at her boyfriend like i iblame it on the booze got you feeling loose blame it on tron got you in the zone blame it on the a a a a a alcohol blame it on the a a a a a a alcoholblame it on the vodka blame it on the henny blame it on the blue top got you feeling dizzy blame it on the a a a a a alcohol blame it on the a a a a a a alcoholnow to the ballas poppin bottles with they henny in they cups screamin money aint a thing if it aint throwin it up in the sky hold your drinks up high highand to my independent mommas who can buy they own bottles if you lookin like a model when them broke fellas holla tell em bye hold your drinks up highblame it on the booze got you feeling loose blame it on tron got you in the zone blame it on the a a a a a alcohol blame it on the a a a a a a alcoholblame it on the vodka blame it on the henny blame it on the blue top got you feeling dizzy blame it on the a a a a a alcohol blame it on the a a a a a a alcohol ",1
17,"i know you want me calle ocho","pitbull",2009," ha ha its mr 305 checkin in for the remix you know thats 75 street brazil well this year gon be called calle ocho ha ha ha haque ola cata que ola omega and this how we goin do itvale onetwothreefour unodotrescuatro i know you want me want me you know i want cha want cha i know you want me you know i want cha want cha i know you want me want me you know i want cha want cha i know you want me you know i want cha want chaha ha ha onetwothreefour unodotrescuatrorumba si ella quiere su rumba como rumba si ella quiere si rumba comosi e verdad que tu ere guapa yo te voy a poner gozar tu tiene la boca grande vale ponte a jugar comoonetwothreefour unodotrescuatro wooohstick to the clock on my way to the top uh pit got it locked from brews to the locker rip uh big and pac that hes not but damn hes hot label flop but pit wont stop got her in the car quit playin with his como watch him make a movie like alfred hitchcock ha enjoy mei know you want me want me you know i want cha want cha i know you want me you know i want cha want cha i know you want me want me you know i want cha want cha i know you want me you know i want cha want chaonetwothreefour unodotrescuatrorumba si ella quiere su rumba como rumba si ella quiere su rumba comosi es verdad que tu ere guapa yo te voy a poner gozar tu tiene la boca grande vale ponte a jugar comoonetwothreefour unodotrescuatro wooohmami got an ass like a donkey with a monkey look like king kong welcome to the crib 305 thats what it is with a woman down here are the shh dont play games they off the chain and they let her do everythang and anythang anythang and they love it gettin it in gettin on all night long valei know you want me want me you know i want cha want cha i know you want me you know i want cha want cha i know you want me want me you know i want cha want cha i know you want me you know i want cha want chaonetwothreefour unodotrescuatrorumba si ella quiere su rumba como rumba si ella quiere su rumba comosi es verdad que tu ere guapa yo te voy a poner gozar tu tiene la boca grande vale ponte a jugar comoonetwothreefour unodotrescuatrobaby you can get it if you with it we can play baby i got cribs i got condos we can stay even got a king size mattress we can lay baby i dont care i dont care what they sayi know you want me want me you know i want cha want cha i know you want me you know i want cha want cha i know you want me want me you know i want cha want cha i know you want me you know i want cha want chaonetwothreefour unodotrescuatrorumba si ella quiere su rumba como rumba si ella quiere su rumba comosi es verdad que tu ere guapa yo te voy a poner gozar tu tiene la boca grande vale ponte a jugar comoonetwothreefour unodotrescuatro ",1
18,"live your life","ti featuring rihanna",2009," ey this is special whats happenin to all my all my all my soldiers over there in iraq everybody right here what you need to do is be thankful for the life you got you know what im sayin stop lookin at what you aint got and start being thankful for what you do got lets give it to em baby girlyoure gonna be a shinin star in fancy clothes and fancy cars and then youll see youre gonna go far cause everyone knows just who ya are so live your life hey ay ay ay you steady chasin that paper just live your life oh ay ay ay aint got no time for no haters just live your life hey ay ay ay no tellin where itll take ya just live your life oh ay ay ay cause im a paper chaser just livin my life ay my life oh my life ay my life oh just livin my life ay my life oh my life ay my life oh just livin my lifehey never mind what haters say ignore em til they fade away amazin they ungrateful after all the game i gave away safe to say i paved the way for you cats to get paid today youd still be wastin days away now had i never saved the day consider them my protege homage i think they should pay instead of bein gracious they violate in a major way i never been a hater still i love em in a crazy way some say they sold the yay you know they couldnt get work on labor day it aint that black and white it has an area the shade of gray im westside anyway even if i left today and stayed away some move away to make a way not move away cause they afraid i brought back to the hood and all you ever did was take away i pray for patience but they make me wanna melt they face away like i once made em spray now i could make em put the ks away been thuggin all my life cant say i dont deserve to take a break youd rather see me catch a case and watch my future fade awayyoure gonna be a shinin star in fancy clothes and fancy cars and then youll see youre gonna go far cause everyone knows just who ya are so live your life hey ay ay ay you steady chasin that paper just live your life oh ay ay ay aint got no time for no haters just live your life hey ay ay ay no tellin where itll take ya just live your life oh ay ay ay cause im a paper chaser just livin my life ay my life oh my life ay my life oh just livin my life ay my life oh my life ay my life oh just livin my lifeim the opposite of moderate immaculately polished with the spirit of a hustler and the swagger of a college kid allergic to the counterfeit impartial to the politics articulate but stillll grab a nigga by the collar quick whoever havin problems with their record sales just holler tip if that dont work and all else fails then turn around and follow tip i got love for the game but ay im not in love with all of it could do without the fame and rappers nowadays are comedy the hootin and the hollerin back and forth with the arguin where you from who you know what you make and what kind of car you in seems as though you lost sight of whats important when depositin them checks into your bank account and you up out of poverty your values is a disarray prioritizin horribly unhappy with the riches cause youre piss poor morally ignorin all prior advice and forewarnin and we mighty full of ourselves all of a sudden arent weyoure gonna be a shinin star in fancy clothes and fancy cars and then youll see youre gonna go far cause everyone knows just who ya are so live your life hey ay ay ay you steady chasin that paper just live your life oh ay ay ay aint got no time for no haters just live your life hey ay ay ay no tellin where itll take ya just live your life oh ay ay ay cause im a paper chaser just livin my life ay my life oh my life ay my life oh just livin my life ay my life oh my life ay my life ohgot everybody watchin what i do come walk in my shoes and see the way im livin if you really want to got my mind on my money and im not goin away so keep on gettin your paper and keep on climbin look in the mirror and keep on shinin shinin until the game ends til the clock stop we gon post up on the top spot livin the life the life in the windmill city got my whole team with me the life my life i do it how i wanna do im livin my life my life i will never lose im livin my life my life and ill never stop itso live your life ",1
19,"kiss me thru the phone","soulja boy tell em featuring sammie",2009," chorus sammie baby you know that i miss you i wanna get with you tonight but i cannot babygirl and thats the issue girl you know i miss you i just wanna kiss you but i cant right now so baby kiss me thru the phone kiss me thru the phone ill see you later on kiss me thru the phone kiss me thru the phone see you when i get homeverse soulja boy baby i know that you like me you my future wifey souljaboytellem yeah you could be my bonnie i could be your clyde you could be my wife text me call me i need you in my life yeah all that everyday i need ya and everytime i see ya my feelings get deeper i miss ya i miss ya i really wanna kiss you but i cantsammie six seven eight triple nine eight two one two 678 9998212chorus sammie baby you know that i miss you i wanna get with you tonight but i cannot babygirl and thats the issue girl you know i miss you i just wanna kiss you but i cant right now so baby kiss me thru the phone kiss me thru the phone see you later on kiss me thru the phone kiss me thru the phone see you when i get homeverse soulja boy baby i been thinking lately so much about you everything about you i like it i love it kissing you in public thinking nothing of it roses by the dozen talking on the phone baby you so sexy your voice is so lovely i love your complexion i miss ya i miss ya i miss ya i really wanna kiss you but i cantsammie six seven eight triple nine eight two one two 678 9998212chorus sammie baby you know that i miss you i wanna get with you tonight but i cannot babygirl and thats the issue girl you know i miss you i just wanna kiss you but i cant right now so baby kiss me thru the phone kiss me thru the phone see you later on kiss me thru the phone kiss me thru the phone see you when i get homebridge soulja boy she call my phone like da da dadadada da da dadadada da da we on the phone like da da dadadada da da dadadada da da we taking pics like da da dadadada da da dadadada da da she dial my number like da da dadadada da da dadadada da dasammie six seven eight triple nine eight two one two 678 9998212chorus sammie baby you know that i miss you i wanna get with you tonight but i cannot babygirl and thats the issue girl you know i miss you i just wanna kiss you but i cant right now so baby kiss me thru the phone kiss me thru the phone see you later on kiss me thru the phone kiss me thru the phone see you when i get home ",1
20,"down","jay sean featuring lil wayne",2009," baby are you down down down down down down down even if the sky is falling down down downyou oughta know tonight is the night to let it go put on a show i wanna see how you lose control so leave it behind cause we have a night to get away so come on and fly with me as we make our great escapeso baby dont worry you are my only you wont be lonely even if the sky is falling down youll be my only no need to worry baby are you down down down down down down down baby are you down down down down down down down even if the sky is falling down down downjust let it be come on and bring your body next to me ill take you away hey turn this place into our private getaway so leave it behind cause we have a night to get away so come on and fly with me as we make our great escape so why dont we run awayso baby dont worry you are my only you wont be lonely even if the sky is falling down youll be my only no need to worry baby are you down down down down down down down baby are you down down down down down down down even if the sky is falling downeven if the sky is falling down like she posed to be she gets down low for me down like her temperature cause to me she zero degrees she cold over freeze i got that girl from overseas now she my miss america now can i be her soldier please im fighting for this girl on a battlefield of love dont it look like baby cupid sendin arrows from above dont you ever leave the side of me indefinitely not probably and honestly im down like the economy yeahso baby dont worry you are my only you wont be lonely even if the sky is falling down youll be my only no need to worry baby are you down down down down down down down baby are you down down down down down down down even if the sky is falling down ",1
21,"the climb","miley cyrus",2009," i can almost see it that dream i am dreaming but theres a voice inside my head saying youll never reach itevery step im taking every move i make feels lost with no direction my faith is shakingbut i gotta keep trying gotta keep my head held hightheres always gonna be another mountain im always gonna wanna make it move always gonna be a uphill battle sometimes im gonna have to lose    memory  byamandah   editor    jessi alexander the cowriter of the climb for the hannah montana movie believes that this song cemented her career as a professional songwriter at the    see all   aint about how fast i get there aint about whats waiting on the other side its the climbthe struggles im facing the chances im taking sometimes might knock me down but no im not breakingi may not know it but these are the moments that im gonna remember most yeah just gotta keep goingand i i got to be strong just keep pushing oncause theres always gonna be another mountain im always gonna wanna make it move always gonna be a uphill battle sometimes im gonna have to loseaint about how fast i get there aint about whats waiting on the other side its the climb yeahtheres always gonna be another mountain im always gonna wanna make it move always gonna be an uphill battle somebodys gonna have to loseaint about how fast i get there aint about whats waiting on the other side its the climb yeahkeep on moving keep climbing keep the faith baby its all about its all about the climb keep the faith keep your faith whoa ",1
22,"best i ever had","drake",2009," you know a lot of girls be thinking my songs are about them this is not to get confused this ones for youbaby youre my everything youre all i ever wanted we could do it real big bigger than you ever done it you be up on everything other hoes aint never on it i want this forever i swear i could spend whatever on it cause she hold me down every time i hit her up when i get right i promise that we gone live it up she make me beg for it till she give it up and i say the same thing every single timei say you da fuckin best you da fuckin best you da fuckin best you da fuckin best you the da best i ever had best i ever had best i ever had best i ever had i say you da fuckinknow you gotta roommate call me when theres no one there put the key under the mat and you know i be over there yup i be over there shawty i be over there i be hittin all the spots that you aint even know was there and you dont even have to ask twice you could have my heart or we could share it like the last slice always felt like you were so accustomed to the fast life have a nigga thinking that he met you in a past life sweat pants hair tied chillin with no makeup on thats when youre the prettiest i hope that you dont take it wrong you dont even trip when friends say you aint bringing drake along you know that im working i be there soon as i make it home and she a patient in my waiting room never pay attention to the rumors and what they assume and until em girls prove it im the one they never get confused witcause baby youre my everything youre all i ever wanted we could do it real big bigger than you ever done it you be up on everything other hoes aint never on it i want this forever i swear i could spend whatever on it cause she hold me down every time i hit her up when i get right i promise that we gone live it up she make me beg for it till she give it up and i say the same thing every single timei say you da fuckin best you da fuckin best you da fuckin best you da fuckin best you the da best i ever had best i ever had best i ever had best i ever had i say you da fuckinsex love pain baby i be on that tank shit buzz so big i could probably sell a blank disk when my album drop bitches will buy it for the picture and niggas will buy two and claim they got it for they sister magazine paper girl but money aint the issue they bring dinner to my room and ask me to initial she call me the referee cause i be so official my shirt aint got no stripes but i can make your pussy whistle like the andy griffith theme song and who told you to put them jeans on double cup love youre the one i lean on feeling for a fix than you should really get your fiend on yeah just know my condo is the crack spot every single show she out there reppin like a mascot get it from the back and make ya fuckin bra strap pop all up in your slot till a nigga hit the jack potbaby youre my everything youre all i ever wanted we could do it real big bigger than you ever done it you be up on everything other hoes aint never on it i want this forever i swear i could spend whatever on it cause she hold me down every time i hit her up when i get right i promise that we gone live it up she make me beg for it till she give it up and i say the same thing every single timei say you da fuckin best you da fuckin best you da fuckin best you da fuckin best you the da best i ever had best i ever had best i ever had best i ever hadi say you da fuckin best you da fuckin best you da fuckin best you da fuckin best you da best i ever had best i ever had best i ever had best i ever haduh ah yeah see this the type of joint you gotta dedicate to somebody just make sure they that special somebody young money yeah yeah you know who you are i got you ",1
23,"my life would suck without you","kelly clarkson",2009," guess this means youre sorry youre standing at my door guess this means you take back all you said before like how much you wanted anyone but me said youd never come back but here you are againcause we belong together now yeah forever united here somehow yeah you got a piece of me and honestly my life my life would suck would suck without youmaybe i was stupid for telling you goodbye maybe i was wrong for tryin to pick a fight i know that ive got issues but youre pretty messed up too either way i found out im nothing without youcause we belong together now yeah forever united here somehow yeah you got a piece of me and honestly my life my life would suck would suck without youbeing with you is so dysfunctional i really shouldnt miss you but i cant let you go oh yeahcause we belong together now yeah yeah forever united here somehow yeah you got a piece of me and honestly my life my life would suck would suck without youcause we belong yeah together now together now yeah forever united here somehow yeah you got a piece of me and honestly my life my life would suck would suck without you ",1
24,"halo","beyonce",2009," remember those walls i built well baby theyre tumbling down and they didnt even put up a fight they didnt even make up a soundi found a way to let you in but i never really had a doubt standing in the light of your halo i got my angel nowits like ive been awakened every rule i had you breakin its the risk that im takin i aint never gonna shut you outeverywhere im looking now im surrounded by your embrace baby i can see your halo you know youre my saving graceyoure everything i need and more its written all over your face baby i can feel your halo pray it wont fade awayi can feel your halo halo halo i can see your halo halo halo i can feel your halo halo halo i can see your halo halo halohit me like a ray of sun burning through my darkest night youre the only one that i want think im addicted to your lighti swore id never fall again but this dont even feel like falling gravity cant forget to pull me back to the ground againfeels like ive been awakened every rule i had you breakin the risk that im takin im never gonna shut you outeverywhere im looking now im surrounded by your embrace baby i can see your halo you know youre my saving graceyoure everything i need and more its written all over your face baby i can feel your halo pray it wont fade awayi can feel your halo halo halo i can see your halo halo halo i can feel your halo halo halo i can see your halo halo haloi can feel your halo halo halo i can see your halo halo halo i can feel your halo halo halo i can see your halo halo halo halo haloeverywhere im looking now im surrounded by your embrace baby i can see your halo you know youre my saving graceyoure everything i need and more its written all over your face baby i can feel your halo pray it wont fade awayi can feel your halo halo halo i can see your halo halo halo i can feel your halo halo halo i can see your halo halo haloi can feel your halo halo halo i can see your halo halo halo i can feel your halo halo halo i can see your halo halo halo ",1
25,"hot n cold","katy perry",2009," you change your mind like a girl changes clothes yeah you pms like a bitch i would knowand you over think always speak crypticallyi should know that youre no good for mecause youre hot then youre cold youre yes then youre no youre in then youre out youre up then youre down youre wrong when its right its black and its white we fight we break up we kiss we make up you you dont really want to stay no you but you dont really want to goo youre hot then youre cold youre yes then youre no youre in then youre out youre up then youre downwe used to be just like twins so in sync the same energy nows a dead battery used to laugh bout nothing now youre plain boringi should know that youre not gonna changecause youre hot then youre cold youre yes then youre no youre in then youre out youre up then youre down youre wrong when its right its black and its white we fight we break up we kiss we make up you you dont really want to stay no you but you dont really want to goo youre hot then youre cold youre yes then youre no youre in then youre out youre up then youre downsomeone call the doctor got a case of a love bipolar stuck on a roller coaster cant get off this rideyou change your mind like a girl changes clothescause youre hot then youre cold youre yes then youre no youre in then youre out youre up then youre down youre wrong when its right its black and its white we fight we break up we kiss we make up you you dont really want to say no you but you dont really want to goo youre hot then youre cold youre yes then youre no youre in then youre out youre up then youre down youre wrong when its right its black and its white we fight we break up we kiss we make up you you dont really want to stay no you but you dont really want to goo youre hot then youre cold youre yes then youre no youre in then youre out youre up then youre down down ",1
26,"second chance","shinedown",2009," my eyes are open wide by the way i made it through the day i watch the world outside by the way im leaving out todayi just saw haleys comet shooting she waved said why are you always running in place even the man in the moon disappeared somewhere in the stratospheretell my mother tell my father i have done the best i can to make them realize this is my life i hope they understand im not angry im just saying sometimes goodbye is a second chanceplease dont cry one tear for me im not afraid of what i have to say this is my one and only voice so listen close its only for todayi just saw haleys comet she waved she waved said why are you always running in place even the man in the moon disappeared somewhere in the stratospheretell my mother tell my father i have done the best i can to make them realize this is my life i hope they understand im not angry im just saying sometimes goodbye is a second chancehere is my chance this is my chancetell my mother tell my father i have done the best i can to make them realize this is my life i hope they understand im not angry im just saying sometimes goodbye is a second chancesometimes goodbye is a second chance sometimes goodbye is a second chance ",1
27,"circus","britney spears",2009," theres only two types of people in the world the ones that entertain and the ones that observe well baby im a putonashow kinda girl dont like the backseat gotta be first im like the ringleader i call the shots call the shots im like a firecracker i make it hot when i put on a showi feel the adrenaline moving through my veins spotlight on me and im ready to break im like a performer the dance floor is my stage better be ready hope ya feel the sameall the eyes on me in the center of the ring just like a circus when i crack that whip everybody goin trip just like a circus dont stand there watching me follow me show me what you can do everybody let go we can make a dance floor just like a circustheres only two types of guys out there ones that can hang with me and ones that are scared so baby i hope that you came prepared i run a tight ship so beware im like the ringleader i call the shots im like a firecracker i make it hot when i put on a showi feel the adrenaline moving through my veins spotlight on me and im ready to break im like a performer the dance floor is my stage better be ready hope that ya feel the sameall the eyes on me in the center of the ring just like a circus when i crack that whip everybody goin trip just like a circus dont stand there watching me follow me show me what you can do everybody let go we can make a dance floor just like a circuslets go let me see what you can do im runnin this like like like like a circus yeah like a what like like like like a circusall the eyes on me in the center of the ring just like a circus when i crack that whip everybody goin trip just like a circus dont stand there watching me follow me show me what you can do everybody let go we can make a dance floor just like a circusall the eyes on me in the center of the ring just like a circus when i crack that whip everybody goin trip just like a circus dont stand there watching me follow me show me what you can do everybody let go we can make a dance floor just like a circus ",1
28,"day n nite","kid cudi",2009," day and night what what i toss and turn i keep stressing my mind mind what what i look for peace but see i dont attain what what what i need for keeps this silly game we play play now look at this what what madness to magnet keeps attracting me me what what i try to run but see im not that fast what what i think im first but surely finish last lastchorus cause day and night the lonely stoner seems to free his mind at night hes all alone through the day and night the lonely loner seems to free his mind at night at at at night day and night the lonely stoner seems to free his mind at night hes all alone some things will never change never change the lonely loner seems to free his mind at night at at at nighthold the phone what what the lonely stoner mr solo dolo what what hes on the move cant seem to shake the shade what what within his dreams he sees the life he made made the pain is deep what what a silent sleeper you wont hear a peep peep what what the girl he wants dont seem to want him to what what it seems the feelings that she had are through throughchorusslow mo what what when the tempo slows up and creates that new new what what he seems alive though he is feeling blue what what the sun is shining man hes super cool cool the lonely nights what what they fade away he slips into his white nikes what what he smokes a clip and then hes on the way what what to free his mind in search of to free his mind in search of to free his mind in search ofday and night the lonely stoner seems to free his mind at night hes all alone through the day and night the lonely loner seems to free his mind at night at at at night day and night the lonely stoner seems to free his mind at night hes all alone some things will never change never change the lonely loner seems to free his mind at night at at at nightat at at night ",1
29,"party in the usa","miley cyrus",2009," i hopped off the plane at lax with a dream and my cardigan welcome to the land of fame excess whoa am i gonna fit in jumped in the cab here i am for the first time look to my right and i see the hollywood signthis is all so crazy everybody seems so famous my tummys turnin and im feelin kinda homesick too much pressure and im nervous thats when the taxi man turned on the radioand the jayz song was on and the jayz song was on and the jayz song was onso i put my hands up theyre playin my song the butterflies fly away im noddin my head like yeah movin my hips like yeahgot my hands up theyre playin my song and now im gonna be okay yeah its a party in the usa yeah its a party in the usaget to the club in my taxi cab everybodys lookin at me now like whos that chick thats rockin kicks shes gotta be from out of townso hard with my girls not around me its definitely not a nashville party cause all i see are stilettos i guess i never got the memomy tummys turnin and im feelin kinda homesick too much pressure and im nervous thats when the dj dropped my favorite tuneand the britney song was on and the britney song was on and the britney song was onso i put my hands up theyre playin my song the butterflies fly away im noddin my head like yeah movin my hips like yeahgot my hands up theyre playin my song and now im gonna be okay yeah its a party in the usa yeah its a party in the usafeel like hoppin on a flight on a flight back to my hometown tonight town tonight something stops me every time every time the dj plays my song and i feel alrightso i put my hands up theyre playin my song the butterflies fly away im noddin my head like yeah movin my hips like yeahgot my hands up theyre playin my song and now im gonna be okay yeah its a party in the usa yeah its a party in the usaso i put my hands up theyre playin my song the butterflies fly away im noddin my head like yeah movin my hips like yeahgot my hands up theyre playin my song and now im gonna be okay yeah its a party in the usa yeah its a party in the usa ",1
30,"dont trust me","3oh3",2009," black dress with the tights underneath ive got the breath of a last cigarette on my teeth and shes an actress but she aint got no need shes got money from her parents in a trust fund back easttttongues always pressed to your cheeks while my tongue is on the inside of some other girls teeth you tell your boyfriend if he says hes got beef that im a vegetarian and i aint fucking scared of himshe wants to touch me woo ooh she wants to love me woo ooh shell never leave me woo ooh woo ooh ooh ooh dont trust a ho never trust a ho wont trust a ho cuz the ho wont trust meshe wants to touch me woo ooh she wants to love me woo ooh shell never leave me woo ooh woo ooh ooh ooh dont trust a ho never trust a ho wont trust a ho cause the ho wont trust mexs on the back of your hands washed them in the bathroom to drink like the bands and the set list you stole off the stage has red and purple lipstick all over the pagebbbruises cover your arms shaking in the fingers with the bottle in your palm and the best is no one knows who you are just another girl alone at the barshe wants to touch me woo ooh she wants to love me woo ooh shell never leave me woo ooh woo ooh ooh ooh dont trust a ho never trust a ho wont trust a ho cause the ho wont trust meshe wants to touch me woo ooh she wants to love me woo ooh shell never leave me woo ooh woo ooh ooh ooh dont trust a ho never trust a ho wont trust a ho cause the ho wont trust meshush girl shut your lips do the helen keller and talk with your hips i said shush girl shut your lips do the helen keller and talk with your hips i said shush girl shut your lips do the helen keller and talk with your hipsshe wants to touch me woo ooh she wants to love me woo ooh shell never leave me woo ooh woo ooh ooh ooh dont trust a ho never trust a ho wont trust a ho cause the ho wont trust meshe wants to touch me woo ooh she wants to love me woo ooh shell never leave me woo ooh woo ooh ooh ooh dont trust a ho never trust a ho wont trust a ho cause the ho wont trust me ",1
31,"run this town","jayz featuring rihanna and kanye west",2009," feel it comin in the air yeah and the screams from everywhere yeah im addicted to the thrill im ready its a dangerous love affair whats up cmon cant be scared when it goes down got a problem tell me now whats up only thing thats on my mind whats up is whos gonna run this town tonight whats up is whos gonna run this town tonight whats up we gonna run this townwe are yeah i said it we are this is roc nation pledge your allegiance get yall black tees on all black everything black cards black cars all black everything and our girls are blackbirds ridin with they dillingers id get more in depth if you boys really real enough this is la familia ill explain later but for now let me get back to this paper im a couple bands down and im tryin to get back i gave the other grip i lost a flip for five stacks yeah im talkin five commas six zeros dot zeroes here it go back to runnin circles round niggas now we squared up hold uplifes a game but its not fair i break the rules so i dont care so i keep doin my own thing walkin tall against the rain whats up victorys within the mile almost there dont give up now whats up only thing thats on my mind is whos gon run this town tonight whats up hey hey hey hey hey heyy hey hey hey hey hey hey hey hey hey hey heyy whats up is whos gon run this town tonightwe are yeah i said it we are you can call me caesar in a dark czar please follow the leader so eric b we are microphone fiend its the return of the god peace god ah ah and aint nobody fresher im in mason martin margiela on the tape were screamin fuck the other side they jealous we got a banquet for the broads they got a table for of fellas and they aint spending no cake they should throw they hand in cause they aint got no spades my whole team got dough so my banquette is looking like millionaires rowlifes a game but its not fair i break the rules so i dont care whats up so i keep doin my own thing walkin tall against the rain victorys within the mile whats up almost there dont give up now only thing thats on my mind is who gon run this town tonight whats up hey hey hey hey hey heyy hey hey hey hey hey whats up hey hey hey hey hey heyy is whos gon run this town tonightits crazy how you can go from being joe blow to everybody on your dick no homo i bought my whole family whips no volvos next time im in church please no photos police escorts everybody passports this the life that everybody ask for this a fast life we are on a crash course what you think i rap for to push a fucking rav4 but i know that if i stay stunting all these girls only gonna want one thing i could spend my whole life good will hunting only good gon come is as good when im coming she got a ass thatll swallow up a gstring and up top uh two bee stings and im beasting off the riesling and my nigga just made it out the precinct we give a damn about the drama that you do bring im just trying to change the color on your mood ring reebok baby you need to drop some new things have you ever had shoes without shoe strings whats that ye baby these heels is that a may what baby these wheels you trippin when you aint sippin have a refill you feelin like you runnin huh now you know how we feel whats uphey hey hey hey hey hey hey hey hey hey hey hey hey hey hey hey hey hey hey hey hey whats up hey hey hey hey hey hey hey hey hey hey hey hey hey hey hey hey we gonna run this town tonightwhats up ",1
32,"let it rock","kevin rudolf featuring lil wayne",2009," i see your dirty face high behind your collar what is done in vain truth is hard to swallow so you pray to god to justify the way you live a lie live a lie live a lie and you take your time and you do your crime well you made your bed im in minebecause when i arrive i bring the fire make you come alive i can take you higher what this is forgot i must now remind you let it rock let it rock let it rocknow the sons disgraced he who knew his father when he cursed his name turned and chased the dollar but it broke his heart so he stuck his middle finger to the world to the world to the world and you take your time and you stand in line well youll get whats yours i got minebecause when i arrive i bring the fire make you come alive i can take you higher what this is forgot i must now remind you let it rock let it rock let it rockyeah waynes world planet rock panties drop and the tops and she gonna rock til the camera stop and i sing about angels like angela rock and pamela rock and samantha rock and amanda and tamara im in here up like bitch whats up mechanic me i can fix you up i can fuck you up i can fuck you down shorty we can go wherever just pick a town and the jewelry is louder than an engine sound big ass rocks like on the ground dirty like socks thats on the ground weezybecause when i arrive i bring the fire make you come alive i can take you higher what this is forgot i must now remind you let it rock let it rock let it rockbecause when i arrive i bring the fire make you come alive i can take you higher what this is forgot i must now remind you let it rock let it rock let it rockjust let it rock let it rock let it rock let it rock let it rockim back like i forgot something im something rollin rock rubbing rap running miles like im trying to get a flat stomach like wayne the personal trainer my aim is perfect ill fuck ya period like the reminderi wish i could be as cruel as you and i wish i could say the things you do but i cant and i wont live a lie no not this time ",1
33,"fire burning","sean kingston",2009," somebody call 911 shawty fire burning on the dance floor whoa fire burning fire burning what a gwaankingston lets go hey hey hey red one hey hey shawty got that super thing hotter than the sun of south in spain got me soon as i walked through the door oh my pocket started tickling the way she dropped it low that thang got me wanna spend my money on her hershe get it pop it lock it drop it that birthday cake got a candle need to blow that crazy flame away now take my red black car and my jewelery shawty is cool like the fire cool like firesomebody call 911 shawty fire burning on the dance floor whoa i gotta cool her down she wont bring the roof to the ground on the dance floor whoa shes fire burning fire burning on the dance floor that little shawtys fire burning on the dance floor shes fire burning fire burning on the dance floor that little shawtys fire burning on the dance floor fire burning fire burningthat body is a masterpiece the order is one in every hundred years but aint no doubt im taking it home oh im afraid well blow them legs little mama game is about to change shell be on covers over the world worldshe get it pop it lock it drop it that birthday cake got a candle need to blow that crazy flame away take my red black car and my jewelery shawty is cool like the fire cool like firesomebody call 911 shawty fire burning on the dance floor whoa i gotta cool her down she wont bring the roof to the ground on the dance floor whoa shes fire burning fire burning on the dance floor that little shawtys fire burning on the dance floor shes fire burning fire burning on the dance floor that little shawtys fire burning on the dance floor fire burning fire burningshe got that fire in her dance thatll make them fellas run around hey no exit from the dance floor so them boys want more hey she got that fire in her dance thatll make them fellas run around madem get outta my way  everybody sing it now hey no exit from the dance floor so them boys want more what a gwaan lets go madem lets go heyshe get it pop it lock it drop it that birthday cake got a candle need to blow that crazy flame away now take my red  black car and my jewelery shawty is cool like the fire cool like firesomebody call 911 shawty fire burning on the dance floor whoa i gotta cool her down she wont bring the roof to the ground on the dance floor whoa shes fire burning fire burning on the dance floor that little shawtys fire burning on the dance floor shes fire burning fire burning on the dance floor that little shawtys fire burning on the dance floor fire burning fire burningsomebody call 911 ",1
34,"whatcha say","jason derulo",2009," what did she sayi was so wrong for so long only tryin to please myself myself girl i was caught up in her lust when i dont really want no one else so no i know i should of treated you better but me and you were meant to last foreverso let me in let me in give me another chance another chance to really be your man cause when the roof caved in and the truth came out i just didnt know what to do but when i become a star well be living so large ill do anything for you so tell me girlwhatchu say whatchu say what did she sayhow could i live with myself knowing that i let our love go love go and ooh what id do with one chance i just gotta let you know i know what i did wasnt clever but me and you were meant to be togetherso let me in let me in give me another chance another chance to really be your man cause when the roof caved in and the truth came out i just didnt know what to do but when i become a star well be living so large ill do anything for you so tell me girlmmmm whatcha say mmm that you only meant well well of course you did mmmm whatcha say whatcha say whatcha say mmmm that its all for the best of course it isgirl tell me whatcha said said i dont want you to leave me though you caught me cheatin tell me tell me whatcha said said i really need you in my life cause things aint right girl tell me tell me whatcha said said i dont want you to leave me though you caught me cheatin tell me tell me whatcha said said i really need you in my life cause things aint rightcause when the roof caved in and the truth came out i just didnt know what to do but when i become a star well be living so large ill do anything for you so baby watcha saymmmm whatcha say mmm that you only meant well well of course you did mmmm whatcha say whatcha say whatcha say mmmm that its all for the best of course it is mmmm whatcha say mmm that you only meant well well of course you did mmmm whatcha say whatcha say whatcha say mmmm that its all for the best ",1
35,"lovegame","lady gaga",2009,"lets have some fun this beat is sick i wanna take a ride on your disco stick lets have some fun this beat is sick i wanna take a ride on your disco stick i wanna kiss you but if i do then i might miss you babe its complicated and stupid got my ass squeezed by sexy cupid guess he wants to play wants to play a love game a love game hold me and love me just wanna touch you for a minute maybe three seconds is enough for my heart to quit it lets have some fun this beat is sick i wanna take a ride on your disco stick dont think too much just bust that stick i wanna take a ride on your disco stick lets play a love game play a love game do you want love or you want fame are you in the game doin the love game lets play a love game play a love game do you want love or you want fame are you in the game doin the love game im on a mission and it involves some heavy touching yeah youve indicated your interest im educated in sex yes and now i want it bad want it bad a love game a love game hold me and love me just want touch you for a minute maybe three seconds is enough for my heart to quit it lets have some fun this beat is sick i wanna take a ride on your disco stick dont think too much just bust that stick i wanna take a ride on your disco stick lets play a love game play a love game do you want love or you want fame are you in the game doin the love game lets play a love game play a love game do you want love or you want fame are you in the game doin the love game i can see you staring there from across the block with a smile on your mouth and your hand on your huh the story of us it always starts the same with a boy and a girl and a huh and a game and a game and a game and a game a love game lets play a love game play a love game do you want love or you want fame are you in the game doin the love game lets play a love game play a love game do you want love or you want fame are you in the game doin the love game lets play a love game play a love game do you want love or you want fame are you in the game   lets have some fun this beat is sick doin the love game   i wanna take a ride on your disco stick lets play a love game play a love game do you want love or you want fame are you in the game   dont think too much just bust that stick doin the love game   i wanna take a ride on your disco stick doin the love game",3
36,"waking up in vegas","katy perry",2009," you gotta help me out its all a blur last night we need a taxi cause youre hungover and im broke i lost my fake id but you lost the motel key spare me your freakin dirty looks now dont blame me you roll the cash out and get the hell out of towndont be a baby remember what you told me shut up and put your money where your mouth is thats what you get for waking up in vegas get up and shake the glitter off your clothes now thats what you get for waking up in vegaswhy are these lights so bright oh did we get hitched last night dressed up like elvis why am i wearing your class ring dont call your mother cause now were partners in crimedont be a baby remember what you told me shut up and put your money where your mouth is thats what you get for waking up in vegas get up and shake the glitter off your clothes now thats what you get for waking up in vegasyou got me into this information overload situation lost control send out an sos and get some cash out were gonna tear up the towndont be a baby remember what you told me remember what you told me remember what you told me told me you told me you told me shut up and put your money where your mouth is thats what you get for waking up in vegasget up and shake the glitter off your clothes now thats what you get for waking up in vegas thats what you get baby shake the glitter shake shake shake the glitter give me some cash out baby give me some cash out baby ",1
37,"birthday sex","jeremih",2009," its yo birthday so i know you want to ride out even if we only go to my house sip moeezy as we sit upon my couch feels good but i know you want to cry out you say u want passion i think you found it get ready for action dont be astounded we switching positions you feel surrounded tell me where you want your gift girlgirl you know iii girl you know iii i been fiending wake up in the late night been dreaming about your loving girl girl you know iii girl you know iii dont need candles or cake just need your body to make you birthday sex birthday sex oh oh oh oh its the best day of the year girl birthday sex birthday sex oh oh oh oh if hes hes hes let me hit that gspot gspot girlsee you sexy in them jeans got me on ten one two three think i got you pinned dont tap out fight until the end ring that bell and we gon start over again we grinding with passion cause its your birthday been at it for hours i know you thirsty you kiss me so sweetly taste just like hersheys just tell me how you want you gift girlgirl you know iii girl you know iii i been fiending wake up in the late night been dreaming about your loving girl girl you know iii girl you know iii dont need candles or cake just need your body to make you birthday sex birthday sex oh oh oh oh its the best day of the year girl birthday sex birthday sex oh oh oh oh if hes hes hes let me hit that gspot gspot girlfirst im gonna take a dive into the water deep until i know i please that body body aaah oooh or girl without a broom i might just sweep you off yo feet and make you wanna tell somebody body how i do or maybe we can float on top my water bed bed you close your eyes as i improv between your legs we work our way from kitchens stoves and tables girl you know im more than able to please yeah you say you wanted flowers on the bed on the bed but you got me in hours on the bedgirl you know iii girl you know iii i been fiending wake up in the late night been dreaming about your loving girl girl you know iii girl you know iii dont need candles or cake just need your body to make you birthday sex birthday sex oh oh oh oh its the best day of the year girl birthday sex birthday sex oh oh oh oh if hes hes hes let me hit that gspot gspot girl ",1
38,"sober","pink",2009," i dont wanna be the girl who laughs the loudest or the girl who never wants to be alone i dont wanna be there calling 4 oclock in the morning cause im the only one you know in the world that wont be homeah the sun is blinding i stayed up again oh i am finding that thats not the way i want my story to endim safe up high nothing can touch me but why do i feel this partys over no pain inside youre my protection but how do i feel this good soberi dont wanna be the girl that has to fill the silence the quiet scares me cause it screams the truth please dont tell me that we had that conversation cause i wont remember save your breath cause whats the useah the night is calling and it whispers to me softly come and play but i i am falling and if i let myself go im the only one to blameim safe up high nothing can touch me but why do i feel this partys over no pain inside youre like perfection but how do i feel this good sobercoming down coming down coming down spinning round spinning round spinning round im looking for myself sober coming down coming down coming down spinning round spinning round spinning round looking for myself soberwhen its good then its good its so good till it goes bad till youre trying to find the you that you once had i have heard myself cry never again broken down in agony just tryin to find a friendoh ohim safe up high nothing can touch me but why do i feel this partys over no pain inside youre like perfection but how do i feel this good soberim safe up high nothing can touch me but why do i feel this partys over no pain inside youre like perfection but how do i feel this good sober ",1
39,"womanizer","britney spears",2009," superstar where you from hows it going i know you got a clue what you doingyou can play brand new to all the other chicks out here but i know what you are what you are babylook at you gettin more than just a reup baby you got all the puppets with their strings upfakin like a good one but i call em like i see em i know what you are what you are babywomanizer womanwomanizer youre a womanizer oh womanizer oh youre a womanizer babyyou you you are you you you are womanizer womanizer womanizerboy dont try to front uh i know just just what you are ah ah boy dont try to front uh i know just just what you are ah ah you got me going youre oh so charming but i cant do it you womanizer boy dont try to front uh i know just just what you are ah ah boy dont try to front uh i know just just what you are ah ahyou say im crazy i got you crazy youre nothing but a womanizerdaddyo you got the swagger of a champion too bad for you you just cant find the right companioni guess when you have one too many makes it hard it could be easy who you are thats just who you are babylollipop must mistake me youre the sucker to think that i would be a victim not anothersay it play it how you wanna but no way im ever gonna fall for you never you babywomanizer womanwomanizer youre a womanizer oh womanizer oh youre a womanizer babyyou you you are you you you are womanizer womanizer womanizerboy dont try to front uh i know just just what you are ah ah boy dont try to front uh i know just just what you are ah ah you got me going youre oh so charming but i cant do it you womanizer boy dont try to front uh i know just just what you are ah ah boy dont try to front uh i know just just what you are ah ahyou say im crazy i got you crazy youre nothing but a womanizermaybe if we both lived in a different world womanizer womanizer womanizer womanizerit would be all good and maybe i could be your girl but i cant cause we dontwomanizer womanwomanizer youre a womanizer oh womanizer oh youre a womanizer babyyou you you are you you you are womanizer womanizer womanizerboy dont try to front uh i know just just what you are ah ah boy dont try to front uh i know just just what you are ah ah you got me going youre oh so charming but i cant do it you womanizer boy dont try to front uh i know just just what you are ah ah boy dont try to front uh i know just just what you are ah ahyou say im crazy i got you crazy youre nothing but a womanizerboy dont try to front uh i know just just what you are ah ah boy dont try to front uh i know just just what you are ah ahwomanizer womanwomanizer youre a womanizer oh womanizer oh youre a womanizer baby ",1
40,"whatever you like","ti",2009," hey jill you know them old sugar daddy they be trickin they tell them girli said you could have whatever you like if you like i said you could have whatever you like if you like yeahstacks on deck patrone on ice and we can pop bottles all night and baby you could have whatever you like if you like i said you could have whatever you like if you like yeah late night sex so wet so tight ill gas up a jet for you tonight and baby you could go where ever you like if you like i said you could go where ever you like if you like yeahanytime you want to pick up the telephone you know it aint nothin to drop a couple stacks on you wanted you could get it my dear five million dollar home drop bentleys i swear yeah i want your body need yo body long as you got me you wont need nobody you want it i got it go get it i buy it tell em other broke niggas be quietstacks on deck patrone on ice and we can pop bottles all night and baby you could have whatever you like if you like i said you could have whatever you like if you like yeah late night sex so wet so tight ill gas up a jet for you tonight and baby you could go where ever you like if you like i said you could go where ever you like if you like yeahshawty you the hottest love the way you drop it brain so good good i swore you went to college hundred deposit vacations hit the tropics cause everybody know it aint trickin if ya got it ya need to never ever gotta go in your wallet long as i got rubber band banks in my pocket five six rides with rims and a body kit ya aint gotta downgrade you can get what i get my chick could have what she want and goin every store for any bag she want and know she aint never had a man like that to buy you anything ya heart desire i that yeah i want your body i need yo body long as you got me you wont need nobody you want it i got it go get it i buy it tell em other broke niggas be quietstacks on deck patrone on ice and we can pop bottles all night and baby you could have whatever you like if you like i said you could have whatever you like if you like yeah late night sex so wet so tight ill gas up a jet for you tonight and baby you could go where ever you like if you like i said you could go where ever you like if you like yeahim talkin big boy rides and big boy ice let me put this big boy in yo life ya thing get so wet an hit so right let me put this big boy in yo life thats right i want your body need yo body long as you got me you wont need nobody you want it i got it go get it i buy it tell em other broke niggas be quietstacks on deck patrone on ice and we can pop bottles all night and baby you could have whatever you like if you like i said you could have whatever you like if you like yeah late night sex so wet so tight ill gas up a jet for you tonight and baby you could go where ever you like if you like i said you could go where ever you like if you like yeahhey jillhey jill ",1
41,"obsessed","mariah carey",2009," i was like why you so obsessed with meso oh oh oh oh so oh oh oh oh will the real mc please step to the mic mc you need an mc place to be mc the mcall up in the blogs sayin we met at the bar when i dont even know who you are sayin we up in your house sayin im up in your car but you in la and im out at jermaines im up in the a youre so so lame and no one here even mentions your name it must be the weed it must be the e heard you get it poppin you get it poppinah oh why you so obsessed with me boy i want to know lyin that youre sexing me when everybody knows its clear that youre upset with me ohh finally found a girl that you couldnt impress last man on the earth still couldnt get thisyoure delusional youre delusional boy youre losing your mind its confusing yo youre confused you know why you wasting your time got you all fired up with your napoleon complex seein right through you like youre bathin in windexooh oh oh boy why you so obsessed with me so oh oh oh oh so oh oh oh oh and all the ladies sing so oh oh oh oh so oh oh oh oh all the girls sing obsessed obsessed obsessed obsessed obsessedyou on your job you hatin hard aint goin feed you im a let you starve graspin for air and im ventilation you out of breath hope you aint waitin tellin the world how much you miss me but we never were so why you trippin you a mom and pop im a corporation im the press conference youre a conversationah oh why you so obsessed with me and boy i want to know lyin that youre sexing me when everybody knows its clear that youre upset with me oh finally found a girl that you couldnt impress last man on the earth still couldnt get thisyoure delusional youre delusional boy youre losing your mind mind its confusing yo youre confused you know why you wasting your time mind got you all fired up with your napoleon complex seein right through you like youre bathin in windexooh oh oh boy why you so obsessed with me so oh oh oh oh so oh oh oh oh and all the ladies sing so oh oh oh oh so oh oh oh oh all the girls sing obsessed obsessed obsessed obsessed obsessedah oh why you so obsessed with me hes all up in george foreman and boy i want to know lyin that youre sexing me lying that youre sexing me when everybody knows its clear that youre upset with me ay oh finally found a girl that you couldnt impress oh last man on the earth still couldnt get this last man on the earth still couldnt get thisyoure delusional youre delusional hes all up in my george foreman boy youre losing your mind mind its confusing yo youre confused you know why you wasting your time mind got you all fired up with your napoleon complex seein right through you like youre bathin in windex ",1
42,"mad","neyo",2009," shes starin at me im sittin wonderin what shes thinkin nobodys talkin cause talkin just turned into screamin and now is im yellin over her shes yellin over me all that that means is neither of us is listening and whats even worse that we dont even remember why were fightingso both of us are mad fornothin fighting for nothin crying for nothin whoa but we wont let it go for nothin no not for nothin this should be nothin to a love like what we got oh baby i know sometimes its gonna rain but baby can we make up now cause i cant sleep through the pain cant sleep through the paingirl i dont wanna go to bed mad at you and i dont want you to go to bed mad at me no i dont wanna go to bed mad at you and i dont want you to go to bed mad at me oh no no noand it gets me upset girl when youre constantly accusing askin questions like youve already known were fighting this war baby when both of us are losing this aint the way that love is supposed to go whoa what happened to workin it out weve falled into this place where you aint backin down and i aint backin downso what the hell do we do now its all fornothin fighting for nothin crying for nothin whoa but we wont let it go for nothin no not for nothin this should be nothin to a love like what we got oh baby i know sometimes its gonna rain but baby can we make up now cause i cant sleep through the pain cant sleep through the paingirl i dont wanna go to bed mad at you and i dont want you to go to bed mad at me no i dont wanna go to bed mad at you and i dont want you to go to bed mad at me oh no no nooh baby this love aint gonna be perfect perfect perfect oh oh and just how good its gonna be we can fuss and we can fight long as everything alright between us before we go to sleepbaby were gonna be happyi know sometimes its gonna rain but baby can we make up now cause i cant sleep through the pain cant sleep through the paingirl i dont wanna go to bed mad at you and i dont want you to go to bed mad at me no i dont wanna go to bed mad at you and i dont want you to go to bed mad at me oh no no no ",1
43,"good girls go bad","cobra starship featuring leighton meester",2009," ill make them good girls go bad ill make them good girls go good girls go good girls goi know your type yeah daddys little girl just take a bite one bite let me shake up your world cause just one night couldnt be so wrong im gonna make you lose controlshe was so shy till i drove her wildi make them good girls go bad i make them good girls go bad you were hanging in the corner with your five best friends you heard that i was trouble but you couldnt resist i make them good girls go bad i make them good girls go good girls go good girls go good girls goi know your type boy youre dangerous yeah youre that guy id be stupid to trust but just one night couldnt be so wrong you make me want to lose controlshe was so shy til i drove her wildi make them good girls go bad i make them good girls go bad i was hanging in the corner with my five best friends i heard that you were trouble but i couldnt resist i make them good girls go bad i make them good girls go good girls go good girls go good girls gooh she got a way with them boys in the place treat em like they dont stand a chance and he got a way with them girls in the back actin like they too hot to danceoh she got a way with them boys in the place treat em like they dont stand a chance and he got a way with them girls in the back actin like they too hot to dancei make them good girls go bad i make them good girls go them good girls go badgood girls goi was hanging in the corner with my five best friends i heard that you were trouble but i couldnt resist i make them good girls go bad i make them good girls go bad i make the good girls go good girls go good girls go good girls go ",1
44,"love lockdown","kanye west",2009," im not loving you the way i wanted to what i had to do had to run from you im in love with you but the vibe is wrong and that haunted me all the way home so ya never know never never know never know enough til its over love til we lose control system overload screaming no no no no no im not loving you the way i wanted to see i wanna move but cant escape from you so i keep it low keep a secret code so everybody else dont have to knowso keep ya love lockdown ya love lockdown keeping ya love lockdown ya love lockdown now keep ya love lockdown ya love lockdown now keep ya love lockdown you loseim not loving you way i wanted to i cant keep my cool so i keep it true i got something to lose so i gotta move i cant keep myself and still keep you too so i keep in mind when im on my own somewhere far from home in the danger zone how many times did it take til i finally got through you lose you lose im not loving you the way i wanted to see i had to go i had to move no more wasting time you cant wait for life were just wasting time wheres the finish lineso keep ya love lockdown ya love lockdown keeping ya love lockdown ya love lockdown now keep ya love lockdown ya love lockdown now keep ya love lockdown you loseim not loving you the way i wanted to i bet no one knew i got no one new no i said im through but got love for you but im not loving you the way i wanted to gotta keep it going keep the loving going keep it on a roll only god knows if ill be with you baby im confused you choose you choose im not loving you the way i wanted to way i wanna go i dont need you i been down this road too many times before im not loving you the way i wanted toso keep ya love lockdown ya love lockdown keeping ya love lockdown ya love lockdown now keep ya love lockdown ya love lockdown now keep ya love lockdown you lose ",1
45,"so what","pink",2009," na na na na na na na na na na na na na na na na na na na na na na na nai guess i just lost my husband i dont know where he went so im gonna drink my money im not gonna pay his rent nope i got a brand new attitude and im gonna wear it tonight i wanna get in trouble i wanna start a fightna na na na na na na i wanna start a fight na na na na na na na i wanna start a fightso so what im still a rock star i got my rock moves and i dont need you and guess what im having more fun and now that were done im gonna show you tonight im alright im just fine and youre a tool so so what i am a rock star i got my rock moves and i dont want you tonightuh check my flow uhthe waiter just took my table and gave to jessica simp shit i guess ill go sit with tomboy at least hell know how to hit what if this songs on the radio then somebodys gonna die im gonna get in trouble my ex will start a fightna na na na na na na hes gonna start a fight na na na na na na na were all gonna get in a fightso so what im still a rock star i got my rock moves and i dont need you and guess what im having more fun and now that were done im gonna show you tonight im alright im just fine and youre a tool so so what i am a rock star i got my rock moves and i dont want you tonightyou werent there you never were you want it all but thats not fair i gave you love i gave my all you werent there you let me fallso so what im still a rock star i got my rock moves and i dont need you and guess what im having more fun and now that were done im gonna show you tonight im alright im just fine and youre a tool so so what i am a rock star i got my rock moves and i dont want you tonightno no no no i dont want you tonight you werent there im gonna show you tonight im alright im just fine and youre a tool so so what i am a rock star i got my rock moves and i dont want you tonightba da da da da da ",1
46,"hotel room service","pitbull",2009," dj i want everybody to stop what theyre doing now if you know youre with somebody youre gonna take the hotel room tonight make some noisemeet me at the hotel room meet me at the hotel room meet me at the hotel room meet me at the hotel roomforget about your boyfriend and meet me at the hotel room you can bring your girlfriends and meet me at the hotel room forget about your boyfriend and meet me at the hotel room you can bring your girlfriends and meet me at the hotel room we at the hotel motel holiday inn we at the hotel motel holiday inn we at the hotel motel holiday inn we at the hotel motel holiday innshe like that freak stuff two and the o one in the eye that kinky stuff you nasty but i like your type and like ti its whatever you like bring your girls its whatever the night your man just left im the plumber tonight let me check your pipes oh youre the healthy type well here goes some egg whites now gimme that sweet that nasty gushy stuff let me tell you what we gon do two plus two im gonna undress you then were gonna go 3 and 3 you gon undress me then were gon go 4 and 4 we gon freak some more but firstforget about your boyfriend and meet me at the hotel room you can bring your girlfriends and meet me at the hotel room forget about your boyfriend and meet me at the hotel room you can bring your girlfriends and meet me at the hotel room we at the hotel motel holiday inn we at the hotel motel holiday inn we at the hotel motel holiday inn we at the hotel motel holiday innafter party in the hotel lobby then we off to the room like room put them fingers in yo mouth girl open up yo blouse and pull that gstring down south ooh ok shawty ones company twos a crowd and threes a party ya girl aint with it i got somebody in my nature shes naughty now gimme that sweet that nasty gushy stuff im a tell you what we gon do two plus two im gon undress you then we gon go three and three you gon undress me then we gonna go four and four we gon freak some more but firstforget about your boyfriend and meet me at the hotel room you can bring your girlfriends and meet me at the hotel room forget about your boyfriend and meet me at the hotel room you can bring your girlfriends and meet me at the hotel room we at the hotel motel holiday inn we at the hotel motel holiday inn we at the hotel motel holiday inn we at the hotel motel holiday inn ",1
47,"crack a bottle","eminem dr dre and 50 cent",2009,NA,NA
48,"if i were a boy","beyonce",2009," if i were a boy even just for a day id roll out of bed in the morning and throw on what i wanted and go drink beer with the guysand chase after girls id kick it with who i wanted and id never get confronted for it cause they stick up for meif i were a boy i think i could understand how it feels to love a girl i swear id be a better manid listen to her cause i know how it hurts when you lose the one you wanted cause hes taking you for granted and everything you had got destroyedif i were a boy i would turn off my phone tell everyone its broken so theyd think that i was sleeping aloneid put myself first and make the rules as i go cause i know that shed be faithful waiting for me to come home to come homeif i were a boy i think i could understand how it feels to love a girl i swear id be a better manid listen to her cause i know how it hurts when you lose the one you wanted cause hes taking you for granted and everything you had got destroyedits a little too late for you to come back say its just a mistake think id forgive you like that if you thought i would wait for you you thought wrongbut youre just a boy you dont understand and you dont understand oh how it feels to love a girl someday you wish you were a better manyou dont listen to her you dont care how it hurts until you lose the one you wanted cause youre taking her for granted and everything you had got destroyed but youre just a boy ",1
49,"turnin me on","keri hilson featuring lil wayne",2009," please dont turn me off yeah like this where you at shawtyyou fly as hell swagga right brown skin poppin you know just how to talk to me know just how i like it you turnin me on you turnin me on you turnin me onnow wait a minute little buster you got one more time to feel on my booty better recognize a lady that aint the way you do me you turnin me off you turnin me off you turnin me off better recognize a real womanyou ever try to get that close to me you better come correct how you proachin me dime divas give it to me i gotta be feeling your energy i gotta be for sure that youre into me recognize a real womangoing up on it you acting like you want it and you stuntin like your daddy checkin for this little mama you turnin me on you turnin me on you turnin me onnow wait a minute little buster now you dont even know me but you wanna take me shopping you a lame i can tell it aint big shit poppin you turnin me off you turnin me off you turnin me off better recognize a real womanall you wanna do is holla at the cutest broad to get up in them draws got money dont try to buy me bottles got my own dollars i could buy up the bar if i want ityou ever try to get that close to me you better come correct how you proachin me dime divas give it to me i gotta be feeling your energy i gotta be for sure that youre into me recognize a real womanim im fly as hell swagger right brown skin popping like dynamite raw like china white mami i dig your persona right you look baby mama type i know that got you kinda hype my ice is albino white i hope your vagina tight ill go under water and i hope your piranha bite hot carter im a kiss the spot for ya and im a kiss it til you scream wait a minute motherfucker ha yeah i turn you on like a handle like a television on the weather channel cause i make it rain girl now call me wayne girl you just a earthling you aint never been to waynes world i play to win i bait em in i do my thing now youre in love with an alien polo on da beat and weezy up im at the plate again keri if you pitch it at me im a swing away at it someone better play da fence someone better tell em bout me baby im the shit and thats the only thing you smell around me weezy f baby dont forget the f around me and if you do then get the f from round me you turnin me offyeah yeah polo i told you i got you miss keri baby miss keri baby you ever try to get that close to me you better come correct how you proachin me dime divas give it to mei gotta be feeling your energy i gotta for sure that you into me recognize a real womanyeah miss keri baby young weezy baby young mula baby ",1
50,"i hate this part","pussycat dolls",2009," were driving slow through the snow on 5th avenue and right now radios all that we can hear now we aint talked since we left its so overdue its cold outside but between us its worse in herethe world slows down but my heart beats fast right now i know this is the part where the end startsi cant take it any longer thought that we were stronger all we do is linger slipping through our fingers i dont wanna try now all thats left is goodbye to find a way that i can tell youi hate this part right here i hate this part right here i just cant take your tears i hate this part right hereeveryday 7 takes of the same old scene seems were bound by the laws of the same routine gotta talk to you now before we go to sleep but will we sleep once i tell you whats hurting methe world slows down but my heart beats fast right now i know this is the part where the end startsi cant take it any longer thought that we were stronger all we do is linger slipping through our fingers i dont wanna try now all thats left is goodbye to find a way that i can tell youi hate this part right here i hate this part right here i just cant take your tears i hate this part right herei know youll ask me to hold on and carry on like nothings wrong but there is no more time for lies cause i see sunset in your eyesi cant take it any longer thought that we were stronger all we do is linger slipping through our fingers i dont wanna try now all thats left is goodbye to find a way that i can tell youthat i gotta do it i gotta do it i gotta do it i hate this part i gotta do it i gotta do it i gotta do iti hate this part right here i hate this part right here i just cant take these tears i hate this part right here ",1
51,"gotta be somebody","nickelback",2009," this time i wonder what it feels like to find the one in this life the one we all dream of but dreams just arent enough so ill be waiting for the real thing ill know it by the feeling the moment when were meeting will play out like a scene straight off the silver screen so ill be holding my breath right up til the end until that moment when i find the one that ill spend forever withcause nobody wants to be the last one there cause everyone wants to feel like someone cares someone to love with my life in their hands theres gotta be somebody for me like that cause nobody wants to go it on their own and everyone wants to know theyre not alone theres somebody else that feels the same somewhere theres gotta be somebody for me out theretonight out on the street out in the moonlight and dammit this feels too right its just like deja vu me standing here with you so ill be holding my breath could this be the end is it that moment when i find the one that ill spend forever withcause nobody wants to be the last one there cause everyone wants to feel like someone cares someone to love with my life in their hands theres gotta be somebody for me like that cause nobody wants to go it on their own and everyone wants to know theyre not alone theres somebody else that feels the same somewhere theres gotta be somebody for me out thereyou cant give up when youre looking for a diamond in the rough cause you never know when it shows up make sure youre holding on cause it could be the one the one youre waiting on cause nobody wants to be the last one there and everyone wants to feel like someone cares someone to love with my life in their hands theres gotta be somebody for me ohnobody wants to go it on their own and everyone wants to know theyre not alone theres somebody else that feels the same somewhere theres gotta be somebody for me out there nobody wants to be the last one there cause everyone wants to feel like someone cares theres somebody else that feels the same somewhere theres gotta be somebody for me out there ",1
52,"please dont leave me","pink",2009," i dont know if i can yell any louder how many time ive kicked you outta here or said something insulting i can be so mean when i wanna be i am capable of really anything i can cut you into pieces when my heart is brokenplease dont leave me please dont leave me im always saying how i dont need you but its always gonna come right back to this please dont leave mehow did i become so obnoxious what is it with you that makes me act like this ive never been this nasty cant you tell that this is all just a contest the one that wins will be the one that hits the hardest but baby i dont mean it i mean it i promiseplease dont leave me please dont leave me im always saying how i dont need you but its always gonna come right back to this please dont leave mei forgot to say out loud how beautiful you really are to me i cant be without youre my perfect little punching bag and i need you im sorryplease please dont leave mebaby please dont leave me no dont leave me please dont leave me im always saying how i dont need you but its always gonna come right back its gonna come right back to this please dont leave me i always say how i dont need you but its always gonna come right back to this please dont leave me baby please dont leave me ",1
53,"paparazzi","lady gaga",2009," we are the crowd were ccoming out got my flash on its true need that picture of you its so magical wed be so fantasticalleather and jeans were rock glamorous not sure what it means but this photo of us it dont have a price ready for those flashing lights cause you know that baby iim your biggest fan ill follow you until you love me papapaparazzi baby theres no other superstar you know that ill be your papapaparazzi promise ill be kind but i wont stop until that boy is mine baby youll be famous chase you down until you love me papapaparazziill be a girl backstage at your show velvet ropes and guitars yeah cause youre my rockstar in between the sets eyeliner and cigarettesshadow is burnt yellow dance and we turn my lashes are dry purple teardrops i cry it dont have a price loving you is cherry pie cause you know that baby iim your biggest fan ill follow you until you love me papapaparazzi baby theres no other superstar you know that ill be your papapaparazzi promise ill be kind but i wont stop until that boy is mine baby youll be famous chase you down until you love me papapaparazzireal good were dancing in the studio snap snap to that shit on the radio dont stop for anyone were plastic but we still have funim your biggest fan ill follow you until you love me papapaparazzi baby theres no other superstar you know that ill be your papapaparazzi promise ill be kind but i wont stop until that boy is mine baby youll be famous chase you down until you love me papapaparazzi ",1
54,"beautiful","akon featuring colby odonis and kardinal offishall",2009," when i see you i run out of words to say oh oh i wouldnt leave you cause youre that type of girl to make me stay oh ohi see the guys tryna holla girl i dont wanna bother you cause youre independent and you got my attention can i be your baby father girl i just wanna show you that i love what you are doin huni see you in the club you gettin down good i wanna get with you yeah i see you in the club you showin thugs love i wanna get with youyoure so beautiful so damn beautiful said youre so beautiful so damn beautifulyoure so beautiful beautiful beautiful beautiful youre so beautiful beautiful beautiful beautiful youre so beautifullike the clouds you drift me away far away yeah and like the sun you brighten my day you brighten my day yeah i never wanna see you cry cry cry and i never wanna tell a lie lie lie said i never wanna see you cry cry cry and i never wanna tell a lie lie liei see you in the club you gettin down good i wanna get with you yeah i see you in the club you showin thugs love i wanna get with youyoure so beautiful so damn beautiful said youre so beautiful so damn beautifulyoure so beautiful beautiful beautiful beautiful youre so beautiful beautiful beautiful beautifulkardinal told you whether the sky blue or yellow this fella aint that mellow if it aint about you you hourglass shape make the place go ooh waistline makes my soldier salute ima brute brute high from your high heel game high heels push up ya ass last name and you livin in the fast lane eyes like an angel goddess watch my yellin as she undress spotless otless bad to the bone make me wanna go put me in the triple x zone zone lames dont know how to talk to you so let me walk with you hold my hand imma spend them grands but after you undress not like a hooker but more like a princess queen empress president pull any way ya got my love cause your beautiful okayi see you in the club you gettin down good i wanna get with you oh yeah i see you in the club you showin thugs love i wanna get with youyoure so beautiful so damn beautiful said youre so beautiful so damn beautifulyoure so beautiful beautiful beautiful beautiful youre so beautiful beautiful beautiful beautiful youre so beautifulwhered you come from youre outta this world to me oh oh youre a symbol of what a big beautiful woman should be ooh wee oh ohi never wanna see you cry cry cry dont cry and i never wanna tell a lie lie lie oh yeah said i never wanna see you cry cry cry oh and i never wanna tell a lie lie lie liei see you in the club you gettin down good i wanna get with you ooh yeah i see you in the club you showin thugs love i wanna get with youyoure so beautiful so damn beautiful said youre so beautiful so damn beautiful youre so beautiful ",1
55,"viva la vida","coldplay",2009," i used to rule the world seas would rise when i gave the word now in the morning i sleep alone sweep the streets i used to owni used to roll the dice feel the fear in my enemys eyes listen as the crowd would sing now the old king is dead long live the kingone minute i held the key next the walls were closed on me and i discovered that my castles stand upon pillars of salt and pillars of sandi hear jerusalem bells are ringing roman cavalry choirs are singing be my mirror my sword and shield my missionaries in a foreign field    meaning  byjamesg   editor    viva la vida is a song by the british alternative rock band coldplay from their their fourth album viva la vida or death and all his friends 2008 it    see all   for some reason i cant explain once youre gone there was never never an honest word but that was when i ruled the worldit was the wicked and wild wind blew down the doors to let me in shattered windows and the sound of drums people couldnt believe what id becomerevolutionaries wait for my head on a silver plate just a puppet on a lonely string oh who would ever want to be kingi hear jerusalem bells are ringing roman cavalry choirs are singing be my mirror my sword and shield my missionaries in a foreign fieldfor some reason i cant explain i know saint peter wont call my name never an honest word but that was when i ruled the world woahahahah oh woahahah oh woahahahah oh woahahah oh woahahahahi hear jerusalem bells are ringing roman cavalry choirs are singing be my mirror my sword and shield my missionaries in a foreign fieldfor some reason i cant explain i know saint peter wont call my name never an honest word but that was when i ruled the worldooooooh ooh oooooh oh ooooooh oh oooooh ooh ",1
56,"right now na na na","akon",2009," its been so long that i havent seen your face im tryna be strong but the strength i have is washing away it wont be long before i get you by my side and just hold you tease you squeeze you tell you whats been on my mindi wanna make up right now na na i wanna make up right now na na wish we never broke up right now na na we need to link up right now na nai wanna make up right now na na i wanna make right now na na wish we never broke up right now na na we need to link up right now na nagirl i know mistakes were made between us two and we show our ass that night even said somethings werent true whyd you go and havent seen my girl since then why cant it be the way it was cause you were my homie lover and friendi wanna make up right now na na i wanna make up right now na na wish we never broke up right now na na we need to link up right now na nai wanna make up right now na na i wanna make up right now na na wish we never broke up right now na na we need to link up right now na nai cant lie i miss you much watching everyday that goes by i miss you much till i get you back im gonna cry yes i miss you much cause you are the apple of my eye girl i miss you much i miss you muchi cant lie i miss you much watching everyday that goes by i miss you much tell i get you back im gonna cry yes i miss you much yes you are the apple of my eye girl i miss you much i miss you muchi wanna make up right now na na i wanna make up right now na na wish we never broke up right now na na we need to link up right now na nai wanna make love right now na na i wanna make love right now na na wish we never broke up right now na na we need to link up right now na nai want you to fly with me want you to fly i miss how you lie with me miss how you lie just wish you could dine with me wish you could dine with me one that would grind with me one that would grind with mei want you to fly with me want you to fly i miss how you lie with me oh miss how you lie just wish you could dine with me wish you could dine one that would grind with me oh one that would grindi wanna make up right now na na i wanna make up right now na na wish we never broke up right now na na we need to link up right now na nai wanna make up right now na na i wanna make up right now na na wish we never broke up right now na na we need to link up right now na na ",1
57,"battlefield","jordin sparks",2009," dont try to explain your mind i know whats happening here one minute its love and suddenly its like a battlefieldone word turns into a war why is it the smallest things that tear us down my worlds nothing when youre gone im out here without a shield cant go back nowboth hands tied behind my back for nothing oh no these times when we climb so fast to fall again why we gotta fall for it nowi never meant to start a war you know i never wanna hurt you dont even know were fighting for why does love always feel like a battlefield a battlefield a battlefield why does love always feel like a battlefield a battlefield a battlefield why does love always feel likecant swallow our pride neither of us wanna raise that flag mm if we cant surrender then were both gonna lose we have oh noboth hands tied behind my back for nothing nothing oh no these times when we climb so fast to fall again i dont wanna fall for it nowi never meant to start a war you know i never wanna hurt you dont even know were fighting for why does love always feel like a battlefield a battlefield a battlefield why does love always feel like a battlefield a battlefield a battlefield better go and get your armor get your armor get your armor get your armor i guess you better go and get your armor get your armor get your armor get your armor i guess you better go and get yourwe could pretend that we are friends tonight oh and in the morning we wake up and wed be alright cause baby we dont have to fight and i dont want this love to feel like a battlefield a battlefield a battlefield why does love always feel like a battlefield a battlefield a battlefield i guess you better go and get your armori never meant to start a war you know i never wanna hurt you dont even know were fighting for why does love always feel like a battlefield a battlefield a battlefield why does love always feel like a battlefield a battlefield a battlefield i guess you better go and get your armor get your armor get your armor get your armor i guess you better go and get your armor get your armor get your armor get your armor why does love always feel like oh oh why does love always feel like a battlefield a battlefieldi never meant to start a war dont even know what were fighting for i never meant to start a war dont even know what were fighting for ",1
58,"sugar","flo rida featuring wynter gordon",2009," the double dee double dimy lips like sugar my lips like sugar this candy got you sprung this candy got you sprung so call me your sugar so call me your sugar you love you some you love you some im sweet like da double dee double di im sweet like da double dee double di im sweet like da double dee double di sugarhey ive got a mouth full of cavities sweet tooth full of mama like sugar to me so my love with the lips put a bug in the ear tone shawty gotta kiss its an emergency spit sprung for the taste addicted to her gloss wont smile this way baby i rub it off put my tongue in your face a little mistletoe sippin grand marnier im a fan all day do me that favor cause i like your flavor my manage behavior im into your major sweeter so flavor thats good for this player my hood now and later throw back like a pager pretty much youre givin me a sugar rush lil mama give me high blood pressure when you blush lips feel soft as a feather when we touch shawty thats whats upmy lips like sugar my lips like sugar this candy got you sprung this candy got you sprung so call me your sugar so call me your sugar you love you some you love you some im sweet like da double dee double di im sweet like da double dee double di im sweet like da double dee double di sugarhey sh shawty would you mind cause i want me some now and later i dont wanna have to wait you the one yep yep your vision so so delicious cant help my interest candy addiction wanna peace to a piece gotta get a piece i dont know a piece give me all your sweets bottom and top lip bout to have a sugar feast level with our trip im a lip bitin beast man for them things all 42 teeth squeeze the sugar cane on your mouth must beat aint your mama slirp stickin usin my tree like taffy but classy get at me im fly let you know i wanna kiss but your lips theyll do me fine now baby dont trip with the juicy kind get get on the grip girl you aint lyinmy lips like sugar my lips like sugar this candy got you sprung this candy got you sprung so call me your sugar so call me your sugar you love you some you love you some im sweet like da double dee double di im sweet like da double dee double di im sweet like da double dee double di sugaryou like my sugar my sugar you so sweet so sweet like my candy my candy you so sweet so sweet i got a good appetite with you on me on me ill wrap you out of them clothes you my treat my treat girl you my sugar i call you candy and tonight im gonna get me some get me some girl you my sugar i call you candy and tonight im gonna get me some get me some sugarmy lips like sugar my lips like sugar this candy got you sprung this candy got you sprung so call me your sugar so call me your sugar you love you some you love you some im sweet like da double dee double di im sweet like da double dee double di im sweet like da double dee double di sugar ",1
59,"miss independent","neyo",2009," yeah yeah yeah yeah yeah yeah yeah yeah yeah yeahoh is something about just something about the way she move i cant figure it out is something about hersay oh is something about kinda woman that want you but dont need you hey i cant figure it out is something about hercause she walk like a boss talk like a boss manicure nails just sent the pedicure off shes fly effortlesslyand she move like a boss do what a boss do she got me thinking about getting involved thats the kinda girl i needshe got her own thing thats why i love her miss independent wont you come and spend a little time she got her own thing thats why i love her miss independent oh the way she shine miss independentyeah yeah yeah yeah yeah yeah yeah yeah yeah yeahooh theres something about kinda woman that can do for herself i look at her and it makes me proud theres something about hersomething ooh so sexy about kinda woman that dont even need my help she said she got it she got it she said she got it she got it no doubt theres something about her theres somethin about hercause she work like a boss play like a boss car and the crib she bout to pay em both off and bills are payed on time yeah she made for a boss only a boss anything less she telling them to get lost thats the girl thats on my mindshe got her own thing thats why i love her miss independent wont you come and spend a little time she got her own thing thats why i love her miss independent oh the way she shine miss independenther favorite thing to say dont worry i got it and everything she got best believe she bought it she goin steal my heart aint no doubt about it girl youre everything i need said youre everything i needyeah yeah yeah yeah yeah yeah yeah yeah yeah yeahshe got her own thing thats why i love her miss independent wont you come and spend a little time she got her own thing thats why i love her miss independent oh the way she shine miss independentmiss independent thats why i love her ",1
60,"fireflies","owl city",2009," you would not believe your eyes if ten million fireflies lit up the world as i fell asleepcause they fill the open air and leave teardrops everywhere youd think me rude but i would just stand and stareid like to make myself believe that planet earth turns slowly its hard to say that id rather stay awake when im asleep cause everything is never as it seemscause id get a thousand hugs from ten thousand lightning bugs as they tried to teach me how to dancea foxtrot above my head a sock hop beneath my bed a disco ball is just hanging by a thread thread threadid like to make myself believe that planet earth turns slowly its hard to say that id rather stay awake when im asleep cause everything is never as it seems when i fall asleepleave my door open just a crack please take me away from here cause i feel like such an insomniac please take me away from here why do i tire of counting sheep please take me away from here when im far too tired to fall asleepto ten million fireflies im weird cause i hate goodbyes i got misty eyes as they said farewell said farewellbut ill know where several are if my dreams get real bizarre cause i saved a few and i keep them in a jar jar jarid like to make myself believe that planet earth turns slowly its hard to say that id rather stay awake when im asleep cause everything is never as it seems when i fall asleepid like to make myself believe that planet earth turns slowly its hard to say that id rather stay awake when im asleep cause everything is never as it seems when i fall asleepid like to make myself believe that planet earth turns slowly its hard to say that id rather stay awake when im asleep because my dreams are bursting at the seams ",1
61,"new divide","linkin park",2009," i remembered black skies the lightning all around me i remembered each flash as time began to blur like a startling sign that fate had finally found meand your voice was all i heard that i get what i deserveso give me reason to prove me wrong to wash this memory clean let the floods cross the distance in your eyesgive me reason to fill this hole connect the space between let it be enough to reach the truth that lies across this new dividethere was nothing in sight but memories left abandoned there was nowhere to hide the ashes fell like snow and the ground caved in between where we were standingand your voice was all i heard that i get what i deserveso give me reason to prove me wrong to wash this memory clean let the floods cross the distance in your eyes across this new dividein every loss in every lie in every truth that youd deny and each regret and each goodbye was a mistake to great to hideand your voice was all i heard that i get what i deserveso give me reason to prove me wrong to wash this memory clean let the floods cross the distance in your eyesgive me reason to fill this hole connect the space between let it be enough to reach the truth that lies across this new divideacross this new divide across this new divide ",1
62,"empire state of mind","jayz and alicia keys",2009," yea yea im out that brooklyn now im down in tribeca right next to deniro but ill be hood forever im the new sinatra and since i made it here i can make it anywhere yea they love me everywhere i used to cop in harlem all of my dominicanos right there up on broadway pull me back to that mcdonalds took it to my stashbox 560 state st catch me in the kitchen like a simmons wippin pastrys cruisin down 8th st off white lexus drivin so slow but bk is from texas me im out that bedstuy home of that boy biggie now i live on billboard and i brought my boys with me say whattup to tyty still sippin mai tais sittin courtside knicks and nets give me high five nigga i be spiked out i could trip a referee tell by my attitude that im most definitely fromin new york concrete jungle where dreams are made of theres nothin you cant do now youre in new york these streets will make you feel brand new big lights will inspire you lets hear it for new york new york new yorkcatch me at the x with og at a yankee game shit i made the yankee hat more famous then a yankee can you should know i bleed blue but i aint a crip though but i got a gang of niggas walkin with my clique though welcome to the melting pot corners where we sellin rock afrika bambataa shit home of the hiphop yellow cab gypsy cab dollar cab holla back for foreigners it aint for they act like they forgot how to act eight million stories out there in it naked city is a pity half of yall wont make it me i got a plug special ed i got it made if jesus payin lebron im payin dwayne wade three dice ceelo three card monte labor day parade rest in peace bob marley statue of liberty long live the world trade long live the king yo im from the empire st thatsin new york concrete jungle where dreams are made of theres nothin you cant do now youre in new york these streets will make you feel brand new big lights will inspire you lets hear it for new york new york new yorklights is blinding girls need blinders so they can step out of bounds quick the sidelines is lined with casualties who sip to life casually then gradually become worse dont bite the apple eve caught up in the incrowd now youre in style end of the winter gets cold en vogue with your skin out city of sin its a pity on the whim good girls gone bad the citys filled with them mommy took a bus trip now she got her bust out everybody ride her just like a bus route hail mary to the city youre a virgin and jesus cant save you life starts when the church end came here for school graduated to the high life ball players rap stars addicted to the limelight mdma got you feelin like a champion the city never sleeps better slip you an ambienin new york concrete jungle where dreams are made of theres nothin you cant do now youre in new york these streets will make you feel brand new big lights will inspire you lets hear it for new york new york new yorkone hand in the air for the big city street lights big dreams all lookin pretty no place in the world that could compare put your lighters in the air everybody say yeah yeah yea yeain new york concrete jungle where dreams are made of theres nothin you cant do now youre in new york these streets will make you feel brand new big lights will inspire you lets hear it for new york new york new york ",1
63,"no surprise","daughtry",2009," ive practiced this for hours gone round and round and now i think that ive got it all down and as i say it louder i love how it sounds cause im not taking the easy way out not wrappin this in ribbons shouldnt have to give a reason whyits no surprise i wont be here tomorrow i cant believe that i stayed till today yeah you and i will be a tough act to follow but i know in time well find this was no surpriseit came out like a river once i let it out when i thought that i wouldnt know how held onto it forever just pushing it down felt so good to let go of it now not wrapping this in ribbons shouldnt have to give a reason whyits no surprise i wont be here tomorrow i cant believe that i stayed till today theres nothing here in this heart left to borrow theres nothing here in this soul left to saydont be surprised when we hate this tomorrow god knows we tried to find an easier way yeah you and i will be a tough act to follow but i know in time well find this was no surpriseour favorite place we used to go the warm embrace that no one knows the loving look thats left your eyes thats why this comes as no as no surpriseif i could see the future and how this plays out i bet its better than where we are now but after going through this its easier to see the reason whyits no surprise i wont be here tomorrow i cant believe that i stayed till today stayed till today yeah you and i will be a tough act to follow but i know in time well find this was no surprisethe kiss goodnight it comes with me both wright and wrong our memories the whispering before we sleep just one more thing that you cant keepour favorite place we used to go the warm embrace that no one knows the loving look thats left your eyes but i know in time well find this was no surprise ",1
64,"she wolf","shakira",2009," sos she is in disguise sos she is in disguise theres a she wolf in disguise coming out coming out coming outa domesticated girl thats all you ask of me darling it is no joke this is lycanthropy moons awake now with eyes wide open my body is craving so feed the hungryive been devoting myself to you monday to monday and friday to friday not getting enough retribution or decent incentives to keep me at it starting to feel just a little abused like a coffee machine in an office ahoo so im gonna go somewhere closer to get me a lover and tell you about ittheres a she wolf in the closet open up and set her free ahoo theres a she wolf in the closet let it out so it can breathsitting across the bar staring right at her prey its going well so far shes gonna get her way nocturnal creatures are not so prudent the moons my teacher and im her studentto locate the single man ive got on me a special radar and the fire departments hot line in case i get in trouble later not looking for cute little divas or rich city guys that just want to enjoy im having a very good time and behave very bad in the arms of a boytheres a she wolf in the closet open up and set her free ahoo theres a she wolf in the closet let it out so it can breathsos she is in disguise sos she is in disguise theres a she wolf in disguise coming out coming out coming outsos she is in disguise sos she is in disguise theres a she wolf in disguise coming out coming out coming outtheres a she wolf in the closet let it out so it can breath ",1
65,"break up","mario featuring gucci mane and sean garrett",2009," i love you but i dont think i can love you anymorewhen i kiss you so good why would you wanna break up when this loving is so good why would you wanna break up when i hit that so good why would you wanna break up when this feeling is so good why would you wanna break uploving you loving you loving you when im when im loving you loving you why would you wanna break up do anything for you why would you wanna break up see i been driving through your hood why would you wanna break upnow baby girl have dumped me she no longer wants me im no longer hired she says that ive been fired on to the next one more fish in the sea girls are like buses miss one next 15 one comin gucci mane crazy and his ice game stunnin swag so stupid still the bitch straight dumped me over no more smokin doja baby girl went awol she used to be my souljadont dont i lace you with the gucci dont dont i deck you in the louis dont dont i make your earlobes freeze dont dont when i dive i dive deep i know i be gone i know i be gone i know i be flirtin with them girls i know i be said id be right back but take to long i know i be saying i be faithful but i dont i know i bemaking you them promises then breaking youre heart again telling you she wasnt who she was then we arguing but baby i love youloving you loving you loving you when im when im loving you loving you why would you wanna break up do anything for you why would you wanna break up see i been driving through your hood why would you wanna break uploving you loving you loving you when im when im loving you loving you why would you wanna break up do anything for you why would you wanna break up see i been driving through your hood why would you wanna break upyou might be from the hood but to me girl youre a model everything that iii ever seen in a model if youre leaving baby dont leave me till tomorrow tonight we gon get a little tipsy with a bottleyou gonna get me up im take em down im gonna change my ways we gon work it out girl i wouldnt be the same if you was with somebody else girl it wouldnt be the same if i was with somebody elsei know i made mistakes before promise you wont get hurt no more i got what you like it you know once you lay down its onloving you loving you loving you when im when im loving you loving you why would you wanna break up do anything for you why would you wanna break up see i been driving through your hood why would you wanna break uploving you loving you loving you when im when im loving you loving you why would you wanna break up do anything for you why would you wanna break up see i been driving through your hood why would you wanna break upwhy you wanna leave me you should wanna tease me icing aint easy i make it look easy you should cop youre belly mention rock louis now its for shawty i dont like gucci gucci gucci gucciloving you loving you loving you when im when im loving you loving you why would you wanna break up do anything for you why would you wanna break up see i been driving through your hood why would you wanna break uploving you loving you loving you when im when im loving you loving you why would you wanna break up do anything for you why would you wanna break up see i been driving through your hood why would you wanna break upso would you break up break up break up yeah im back baby ",1
66,"sweet dreams","beyonce",2009," turn the lights onevery night i rush to my bed with hopes that maybe ill get a chance to see you when i close my eyes im going out of my head lost in a fairytale can you hold my hands and be my guideclouds filled with stars cover your skies and i hope it rains youre the perfect lullaby what kinda dream is thisyou can be a sweet dream or a beautiful nightmare either way i dont wanna wake up from you turn the lights on sweet dream or a beautiful nightmare somebody pinch meyour loves too good to be true turn the lights on my guilty pleasurei aint going nowhere baby long as youre here ill be floating on air cause youre my you can be a sweet dream or a beautiful nightmare either way i dont wanna wake up from you turn the lights oni mention you when i say my prayers i wrap you around all of my thoughts boy youre my temporary high i wish that when i wake up youre there to wrap your arms around me for real and tell me youll stay by my sideclouds filled with stars cover the skies and i hope it rains youre the perfect lullaby what kinda dream is thisyou can be a sweet dream or a beautiful nightmare either way i dont wanna wake up from you turn the lights on sweet dream or a beautiful nightmare somebody pinch meyour loves too good to be true turn the lights on my guilty pleasurei aint going nowhere baby long as youre here ill be floating on air cause youre my you can be a sweet dream or a beautiful nightmare either way i dont wanna wake up from you turn the lights ontattoo your name across my heart so it will remain not even death can make us part what kind of dream is thisyou can be a sweet dream or a beautiful nightmare either way i dont wanna wake up from you turn the lights on sweet dream or a beautiful nightmare somebody pinch meyour loves too good to be true turn the lights on my guilty pleasurei aint going nowhere baby long as youre here ill be floating on air cause youre my you can be a sweet dream or a beautiful nightmare either way i dont wanna wake up from you turn the lights oneither way i dont wanna wake up from you ",1
67,"every girl","young money",2009," i like her long haired thick red bone open up her legs then filet mignon that pussy ima get in and own that pussy if she let me in ima own that pussy gon throw it back and bust it open like you posed to girl i got that dope dick now come here let me dope youyou gon be a dope fiend your friends should call you dopey tell em keep my name out they mouth if they dont know me huh but you cant come until she ill fuck the whole groupie baby im a groupie my sex game is stupid my head is the dumbest i promise i should be hooked on phonics yeahbut anyway i think youre bionic and i dont think youre beautiful i think youre beyond it and i just wanna get behind it and watch you back it up and dump it back back it up and dump it backcause we like her and we like her too hey we like her and we like her too hey we like her and we like her too hey we like her and she like us tooand girl i wish i could fuck every girl in the world i wish i could fuck every girl in the world i wish i could fuck every girl in the worldyeah alright oh oh oh oh oh oh oh oh she be jumpin up and down tryina fit that ass in took her half an hour just to get that belt to fasten all they want to talk about is partyin and fashion every single night i have a dream that i am smashin them allyoung money man this shit so timeless and im in the mood to get faded so please bring your finest and what are all your names again we drunk remind us are any yall into girls like i am lets be honestshe wants me she wants me cause i got it all shawty tell me what you dont see i will fuck with all yall all yall are beautiful i just cant pick one so you can never say im choosy hoesand wayne say pussy pussy pussy and weed and alcohol seem to satisfy us all damn and every time i think of stayin with her she bring that friend around that make a nigga reconsider mancause we like her and we like her too hey we like her and we like her too hey we like her and we like her too hey we like her and she like us tooi wish i could fuck every girl in the world ii wish i could fuck every girl in the world i wish i could fuck every girl in the world i wish i wish i could fuck every girl in the worldi aint being disrespectful baby im just being millz and i dont know how fake feels so i gotta keep it real i just wanna fuck every girl in the worldevery model every singer every actress every diva every house of diddy chick every college girl every skeezer stripper and every desperate housewife that resemble eva my role model was will so married women and milf it dont matter who you is miss you can get the business hathese hoes is gods gift like christmas i like em caramel skin long hair thick ass and i swear im feelin all yall im scrollin down my call log and ima call all yallmy butter pecan puerto rican she screamin out papi every time a nigga deep in and im about to get my bill clinton on and hillary can rodham too boy i gets my pimpin oncause we like her and we like her too hey we like her and we like her too hey we like her and we like her too hey we like her and she like us tooand oh i wish i could fuck every girl in the world i wish i could fuck every girl in the world i wish i could fuck every girl in the world i wish i could fuck every girl in the world oh oh oh oh oh oh oh i wish i could fuck every girl in the world i wish i could fuck every girl in the world ii wish i could fuck every girl in the world i wish i could fuck every girl in the world ii wish i could fuck every girl in the world hey ii wish i wish i could fuck every girl in the world hey ii wish i could fuck every girl in the world heyand bitch im mack maine aine aine aine and i like meagan good angelina jolie hah d woods for free suites id give paris hilton all nighters in about 3 years holla at me miley cyrusi dont discriminate no not at all kit kat a midget if that ass soft i break her off i exchange v cards with the retards and get behind the christian like dee are cause he are mack mizzo baby cause he are mack mizzo babyand i wish i could fuck every girl in the world i wish i could fuck every girl in the world i wish i could fuck every girl in the world i wish i could fuck every girl in the world i wish i could fuck every girl in the world young money baby ",1
68,"fallin for you","colbie caillat",2009," i dont know but i think i may be fallin for you dropping so quickly maybe i should keep this to myself waiting til i know you betteri am trying not to tell you but i want to im scared of what youll say and so im hiding what im feeling but im tired of holding this inside my headive been spending all my time just thinking about ya i dont know what to do i think im fallin for you ive been waiting all my life and now i found ya i dont know what to do i think im fallin for you im fallin for youas im standing here and you hold my hand pull me towards you and we start to dance all around us i see nobody here in silence its just you and mei am trying not to tell you but i want to im scared of what youll say and so im hiding what im feeling but im tired of holding this inside my headive been spending all my time just thinking about ya i dont know what to do i think im fallin for you ive been waiting all my life and now i found ya i dont know what to do i think im fallin for you im fallin for youoh i just cant take it my heart is racing the emotions keep spilling outive been spending all my time just thinking about ya i dont know what to do i think im fallin for you ive been waiting all my life and now i found ya i dont know what to do i think im fallin for you im fallin for youi think im fallin for youi cant stop thinking about it i want you all around me and now i just cant hide it i think im fallin for you i cant stop thinking about it i want you all around me and now i just cant hide it i think im fallin for youim fallin for youoh oh no no oh oh im fallin for ya ",1
69,"untouched","the veronicas",2009,"i go ooh ooh you go ah ah lllla ah lllla i can la la la lla la i wanna wanna wanna get get get what i want dont stop give me give me give me what you got got cause i cant wait wait wait anymmore more more dont even talk about the consequence cause right now youre the only thing thats making any sense to me and i dont give a damn what they say what they think think cause youre the only one whos on my mind ill never ever let you leave me ill try to stop time for ever never wanna hear you say goodbye bye bye i feel so untouched and i want you so much that i just cant resist you its not enough to say that i miss you i feel so untouched right now need you so much somehow i cant forget you ive gone crazy from the moment i met you untouched and i need you so much see you breathe you i want to be you ah llla ah lllla you can take take ttake take time time to live live the way you gotta gotta live your life give me give me give me all of you you dont be scared ill see you through the lonely nights of wanting more more more dont even think about whats right or wrong or wrong or right cause in the end its only you and me and no one else is gonna be around to answer all the questions left behind and you and i are meant to be so even if the world falls down today youve still got me to hold you up up and i will never let you down down i feel so untouched and i want you so much that i just cant resist you its not enough to say that i miss you i feel so untouched right now need you so much somehow i cant forget you ive gone crazy from the moment i met you untouched un untouched untouched un untouched untouched un ah llla ah lllla untouched ah llla ah lllla i feel so untouched and i want you so much that i just cant resist you its not enough to say that i miss you i feel so untouched right now need you so much somehow i cant forget you ive gone crazy from the moment i met you i feel so untouched and i want you so much that i just cant resist you its not enough to say that i miss you i feel so untouched right now need you so much somehow i cant forget you ive gone crazy from the moment i met you untouched un untouched untouched un",3
70,"if today was your last day","nickelback",2009," my best friend gave me the best advice he said each days a gift and not a given right leave no stone unturned leave your fears behind and try to take the path less traveled by that first step you take is the longest strideif today was your last day and tomorrow was too late could you say goodbye to yesterday would you live each moment like your last leave old pictures in the past donate every dime you have if today was your last day if today was your last dayagainst the grain should be a way of life whats worth the prize is always worth the fight every second counts cause theres no second try so live like youll never live it twice dont take the free ride in your own lifeif today was your last day and tomorrow was too late could you say goodbye to yesterday would you live each moment like your last leave old pictures in the past donate every dime you have would you call old friends you never see reminisce old memories would you forgive your enemies would you find that one youre dreamin of swear up and down to god above that you finally fall in love if today was your last dayif today was your last day would you make your mark by mending a broken heart you know its never too late to shoot for the stars regardless of who you are so do whatever it takes cause you cant rewind a moment in this life let nothin stand in your way cause the hands of time are never on your sideif today was your last day and tomorrow was too late could you say goodbye to yesterday would you live each moment like your last leave old pictures in the past donate every dime you have would you call old friends you never see reminisce old memories would you forgive your enemies would you find that one youre dreamin of swear up and down to god above that you finally fall in love if today was your last day ",1
71,"throw it in the bag","fabolous featuring thedream",2009," you already know what it is we got another one boy atl just throw it in the bag whats up brooklyn whats up son whats up fabo a man i got that black amex wit me aka that throw it the bag card yeahnow i know you aint over there starin at my girl yea i know you aint over there starin at my girl nigga i know you dont call yourself hollarin at my girl i know you dont call yourself hollarin at my girl i keep hittin the baton louie vuttion gucci down to her feet yup just like me im the one with them ones fuck the price on the tag just throw it in the bagun huh un huh un huh just throw it in the bag uh huh uh huh uh huh just throw it in the baglook at price tags where they do that at heard that in atl when im in atl just ask my baby girl i treat that lady well aint nothin so so an i know jd well a couple benzs black white gray cl got niggas lookin like did we miss a mercedes sale dont wonder what i do just know they pay me well they keep that gucci and that louie on my lady ls thats the way we feel must be nice man you wit the right man you aint gotta price scan or ask how much now what i look like son im from brooklyn what it look like you get it cause i got it i got it so you get it in my miami they say dont stop get it get it mami do the speedie daddy do the duffel bag full of chips we aint talkin rufflesuh huh uh huh uh huh just throw it in the bag uh huh uh huh uh huh just throw it in the bag uh huh uh huh uh huh just throw it in the bag uh huh uh huh uh huh just throw it in the bagsee i know what im a tell her the same thing that the bank robber told the teller just throw it in the bag thats the way it suppose to be a real nigga posed to help you out with the groceries just throw it in the bag paper or plastic its safer to ask it so dent that nigga i will pay for the casket that remy mar got him spittin plenty bars broke ass nigga couldnt buy the mini bar so get with loso he aint got to no so such a gentlemen dozen bottles of that rose mo oh you gotta man well you need a richa one meet me in the parking lot the place say get you one meet me at the register im there on the regular them niggas price checkin you can help them in a second as we proceed to give you what you need like we breakin down the weed shorty just throw it in the baguh huh uh huh uh huh just throw it in the bag uh huh uh huh uh huh just throw it in the bag uh huh uh huh uh huh just throw it in the bag uh huh uh huh uh huh just throw it in the bageverybody do the throw it in the bag hey throw it in the bag everybody do the throw it in the bag hey throw it in the bag everybody do the throw it in the bag hey throw it in the baguh huh uh huh uh huh just throw it in the bag uh huh uh huh uh huh just throw it in the bag uh huh uh huh uh huh just throw it in the bag uh huh uh huh uh huh just throw it in the bag ",1
72,"love drunk","boys like girls",2009," the top down in the summer sun the day we met was like a hit an run an i still taste it on my tongue taste it on my tongue the sky was burning up like fireworks you made me want you oh so bad it hurt but girl in case you havent heardi used to be love drunk but now im hungover ill love you forever forever is over we used to kiss all night now its just a bar fight so dont call me crying say hello to goodbyecause just one sip would make me sick i used to be love drunk but now im hungover ill love you forever but now its overhot sweat and blurry eyes were spinning on a roller coaster ride the world stuck in black and white stuck in black and white you drove me crazy every time we touched but now im so broken that i cant get up oh girl you make me such a lushi used to be love drunk but now im hungover ill love you forever forever is over we used to kiss all night now its just a bar fight so dont call me crying say hello to goodbye oh yeahcause just one thing oh yeah would make me say i used to be love drunk but now im hungover ill love you forever but now its overall the time i wasted on you all the bullshit you put me through im checking into rehab cause everything we had didnt mean a thing to youi used to be love drunk but now im hungover ill love you forever but now im soberi used to be love drunk but now im hungover ill love you forever forever is over we used to kiss all night now its just a bar fight so dont call me crying say hello to goodbye oh yeahcause just one thing oh yeah would make me say i used to be love drunk but now im hungover ill love you forever but now its overnow its over still taste it on my tongue now its over ",1
73,"i love college","asher roth",2009," im nice right now i i feel good if you have a drink would you please put it in the airthat party last night was awfully crazy i wish we taped it i danced my ass off and had this one girl completely naked drink my beer and smoke my weed but my good friends is all i need pass out at three wake up at ten go out to eat then do it againi wanna go to college for the rest of my life sip bankers club and drink miller lite on thirsty thursday and tuesday night ice and i can get pizza a dollar a slice so fill up my cup lets get fucked up im next on the table who want what i am champion at beer pong allen iverson hakeem olajuwon dont even bounce not in my house better hope you make it otherwise you nakedtime isnt wasted when youre getting wasted woke up today and all i could say isthat party last night was awfully crazy i wish we taped it i danced my ass off and had this one girl completely naked drink my beer and smoke my weed but my good friends is all i need pass out at three wake up at ten go out to eat then do it againman i love college hey and i love drinking hey i love women hey man i love collegei cant tell you what i learned from school but i could tell you a story or two um yea of course i learned some rules like dont pass out with your shoes on and dont leave the house till the booze gone and dont have sex if shes too gone when it comes to condoms put two on then tomorrow night find a new joint hold the beer bong nothing wrong with some fun even if we did get a little bit too drunktime isnt wasted when youre getting wasted woke up today and all i could say isthat party last night was awfully crazy i wish we taped it i danced my ass off and had this one girl completely naked drink my beer and smoke my weed but my good friends is all i need pass out at three wake up at ten go out to eat then do it againman i love college hey and i love drinking hey i love women hey i love collegenow if everybody would please put their drink as high as they can as high as they can and repeat after mechug chug chug chug chug chug chug chugfreshman freshman freshman freshmando something crazy do something crazy do something crazy do something crazykegstand kegstand kegstand kegstandyea that party last night man i love college i love it that party last night goodnight everybody i gotta head back to class for a little bitthat party last night was awfully crazy i wish we taped it i danced my ass off and had this one girl completely naked drink my beer and smoke my weed but my good friends is all i need pass out at three wake up at ten go out to eat then do it again man i love college do i really have to graduate or can i just stay here for the rest of my life ",1
74,"if u seek amy","britney spears",2009," la la la lala la la la la la la lala la la la la la la lala la la la la la la lala la la laoh baby baby have you seen amy tonight is she in the bathroom is she smokin up outside oh oh baby baby does she take a piece of lime for the drink that imma buy her do you know just what she likes ohoh oh tell me have you seen her cause im so oh i cant get her off of my brain i just wanna go to the party she gon go cant somebody take me home haha hehe haha holove me hate me say what you want about me but all of the boys and all of the girls are begging to if you seek amylove me hate me but cant you see what i see all of the boys and all of the girls are begging to if you seek amylove me hate me la la la lala la la la la la la lala la la laamy told me that shes gonna meet me up i dont know where or when and now theyre closin up the club oh ive seen her once or twice before she knows my face but its hard to see with all the people standin in the way ohoh oh tell me have you seen her cause im so oh i cant get her off of my brain i just wanna go to the party she gon go cant somebody take me home haha hehe haha holove me hate me say what you want about me but all of the boys and all of the girls are begging to if you seek amylove me hate me but cant you see what i see all of the boys and all of the girls are begging to if you seek amylove me hate me ohhhh say what you want about me ohhhh but cant you see what i see love me hate me yeahh say what you want about me la la la lala la la laso tell me if you see her let me know what she was wearing and what she was like cause ive been waiting here forever let me know where she was going i dont mindoh baby baby if you seek amy tonight oh oh baby baby well do whatever youll like oh baby baby baby oh baby baby babyla la la lala la la la la la la lala la la la la la la lala la la la la la la lala la la lalove me hate me say what you want about me but all of the boys and all of the girls are begging to if you seek amylove me hate me but cant you see what i see all of the boys and all of the girls are begging to if you seek amylove me hate me say what you want about me yeaaaah la la la lala la la la yeahlove me hate me but cant you see what i see all of the boys and all of the girls are begging to if you seek amylove me hate me ohhhh say what you want about me ohhhh but cant you see what i see love me hate me yeahh say what you want about meall of the boys and all of the girls are begging to if you seek amy ",1
75,"big green tractor","jason aldean",2009," she had a shiny little beamer with the rag top down sittin in the drive but she wouldnt get out the dogs were all barking and wagging around and i just laughed and said yall get in she had on a new dress and she curled her hair she was looking too good not to go somewhere said what you want to do baby i dont care we can go to the show we can stay out hereand i can take you for a ride on my big green tractor we can go slow or make it go faster down through the woods and out to the pasture long as im with you it really dont matter climb up in my lap and drive if you want to girl you know you got me to hold on to we can go to town but baby if youd rather ill take you for a ride on my big green tractorsaid we can fire it up and i can show you around sit upon the hill and watch the sun go down when the fireflies are dancing and the moon comes out we can turn on the lights and head back to the houseor we can take you for a ride on my big green tractor we can go slow or make it go faster down through the woods and out to the pasture long as im with you it really dont matter climb up in my lap and drive if you want to girl you know you got me to hold on to we can go to town but baby if youd rather ill take you for a ride on my big green tractorjust let me dust off the seat put your pretty little arms around me hell yeahyou can climb up in my lap and drive if you want to girl you know you got me to hold on to we can go to town but baby if youd rather ill take you for a ride on my big green tractoroh yeah yeah we can go to town or we can go another round on my big green tractor ",1
76,"white horse","taylor swift",2009," say youre sorry that face of an angel comes out just when you need it to as i paced back and forth all this time cause i honestly believed in you holding on the days drag on stupid girl i should have known i should have knownthat im not a princess this aint a fairy tale im not the one youll sweep off her feet lead her up the stairwell this aint hollywood this is a small town i was a dreamer before you went and let me down now its too late for you and your white horse to come aroundmaybe i was naive got lost in your eyes and never really had a chance my mistake i didnt know to be in love you had to fight to have the upper hand i had so many dreams about you and me happy endings now i knowim not a princess this aint a fairy tale im not the one youll sweep off her feet lead her up the stairwell this aint hollywood this is a small town i was a dreamer before you went and let me down now its too late for you and your white horse to come aroundand there you are on your knees begging for forgiveness begging for me just like i always wanted but im so sorrycause im not your princess this aint a fairytale im gonna find someone someday who might actually treat me well this is a big world that was a small town there in my rear view mirror disappearing now and its too late for you and your white horse now its too late for you and your white horse to catch me nowoh whoa whoa whoa try and catch me now oh its too late to catch me now ",1
77,"disturbia","rihanna",2009," bum bum bedum bum bum bedum bum bum bum bedum bum bum bedum bum bum bum bedum bum bum bedum bum bum bum bedum bum bum bedum bumno more gas in the red cant even get it started nothing heard nothing said cant even speak about it all my life on my head dont want to think about it feels like im going insane yeahits a thief in the night to come and grab you it can creep up inside you and consume you a disease of the mind it can control you its too close for comfortthrow on your break lights were in the city of wonder aint gonna play nice watch out you might just go under better think twice your train of thought will be altered so if you must falter be wise your mind is in disturbia its like the darkness is the light disturbia am i scaring you tonight your mind is in disturbia aint used to what you like disturbia disturbiabum bum bedum bum bum bedum bum bum bum bedum bum bum bedum bum bum bum bedum bum bum bedum bum bum bum bedum bum bum bedum bumfaded pictures on the wall its like they talkin to me disconnectin your call your phone dont even ring i gotta get out or figure this shit out its too close for comfortits a thief in the night to come and grab you it can creep up inside you and consume you a disease of the mind it can control you i feel like a monsterthrow on your break lights were in the city of wonder aint gonna play nice watch out you might just go under better think twice your train of thought will be altered so if you must falter be wise your mind is in disturbia its like the darkness is the light disturbia am i scaring you tonight your mind is in disturbia aint used to what you like disturbia disturbiabum bum bedum bum bum bedum bum bum bum bedum bum bum bedum bum bum bum bedum bum bum bedum bum bum bum bedum bum bum bedum bumrelease me from this curse im in ive been trying to maintain but im struggling you cant go go go i think im going to oh oh ohthrow on your break lights were in the city of wonder aint gonna play nice watch out you might just go under better think twice your train of thought will be altered so if you must falter be wise your mind is in disturbia its like the darkness is the light disturbia am i scaring you tonight your mind is in disturbia aint used to what you like disturbia disturbiabum bum bedum bum bum bedum bum bum bum bedum bum bum bedum bum bum bum bedum bum bum bedum bum bum bum bedum bum bum bedum bum ",1
78,"21 guns","green day",2009," do you know whats worth fighting for when its not worth dying for does it take your breath away and you feel yourself suffocating does the pain weigh out the pride and you look for a place to hide did someone break your heart inside youre in ruinsone twenty one guns lay down your arms give up the fight one twenty one guns throw up your arms into the sky you and iwhen youre at the end of the road and you lost all sense of control and your thoughts have taken their toll when your mind breaks the spirit of your soul your faith walks on broken glass and the hangover doesnt pass nothings ever built to last youre in ruinsone twenty one guns lay down your arms give up the fight one twenty one guns throw up your arms into the sky you and idid you try to live on your own when you burned down the house and home did you stand too close to the fire like a liar looking for forgiveness from a stonewhen its time to live and let die and you cant get another try something inside this heart has died youre in ruinsone twenty one guns lay down your arms give up the fight one twenty one guns throw up your arms into the skyone twenty one guns lay down your arms give up the fight one twenty one guns throw up your arms into the sky you and i ",1
79,"turn my swag on","soulja boy tell em",2009,"soulja boy tell em hopped up out the bed turn my swag on took a look in the mirror said whats up yeah im getting money oh hopped up out the bed turn my swag on took a look in the mirror said whats up yeah im getting money oh turn my swag on its my time to turn it up yeah yeah i put my team on did my theme song now its time to turn it up yeah yeah i got a question why they hatin on me i got a question why they hatin on me i aint did nothing to em but count this money and put my team on and now my hold click stunny boy wats up yeah boy wats up yeah when i was nine years old i put it in my head ima die for this gold soulja boy tell em boy whats up hopped up out the bed turn my swag on took a look in the mirror said whats up yea im getting money oh hopped up out the bed turn my swag on took a look in the mirror said whats up yea im getting money oh im back again i know a lot of yall thought i wasnt coming back yeah yeah i had to prove em wrong got back in the studio came up wit another hit yeah yeah i told the world my story the world where im from souljaboyxlcom boy whats up yeah yeah now every time you hear me spit every time you hear me rhyme every time you see me in your state or town say wats up yeah yeah soulja boy tell em hopped up out the bed turn my swag on took a look in the mirror said whats up yeah im getting money oh hopped up out the bed turn my swag on took a look in the mirror said whats up yeah im getting money oh",3
80,"rockin that thang","thedream",2009,NA,NA
81,"chicken fried","zac brown band",2009," you know i like my chicken fried cold beer on a friday night a pair of jeans that fit just right and the radio upwell i was raised up beneath the shade of a georgia pine and thats home you know with sweet tea pecan pie and homemade wine where the peaches grow and my house its not much to talk about but its filled with love thats grown in southern ground and a little bit of chicken friedcold beer on a friday night a pair of jeans that fit just right and the radio up well ive seen the sunrise see the love in my womans eyes feel the touch of a precious child and know a mothers loveand its funny how its the little things in life that mean the most not where you live what you drive or the price tag on your clothes theres no dollar sign on a piece of mind this ive come to know so if you agree have a drink with me raise your glasses for a toast to a little bit of chicken friedcold beer on a friday night a pair of jeans that fit just right and the radio up well ive seen the sunrise see the love in my womans eyes feel the touch of a precious child and know a mothers lovei thank god for my life and for the stars and stripes may freedom forever fly let it ring salute the ones who died and the ones that gave their lives so we dont have to sacrifice all the things we love like our chicken friedcold beer on a friday night a pair of jeans that fit just right and the radio up well ive seen the sunrise see the love in my womans eyes feel the touch of a precious child and know a mothers loveyou know i like my chicken fried cold beer on a friday night a pair of jeans that fit just right and the radio up well ive seen the sunrise see the love in my womans eyes feel the touch of a precious child and know a mothers love ",1
82,"diva","beyonce",2009," ima a diva hey ima ima a diva hey ima ima a diva hey ima ima a diva ima ima a diva hey ima ima a diva ima ima a diva hey ima imana na na diva is a female version of a hustler of a hustler of a of a hustler na na na diva is a female version of a hustler of a hustler of a of a hustlerstop the track let me state facts i told you give me a minute and ill be right back fifty million round the world and they said that i couldnt get it i done got so sick and filthy with benjs i cant spend how you gone be talking shit you act like i just got up in it been the number one diva in this game for a minute i know you read the paper the one that they call a queen every radio round the world know me cause thats where i beima ima a diva hey ima ima a diva hey ima ima a diva hey ima ima a diva ima ima a diva hey ima ima a diva ima ima a diva hey ima imana na na diva is a female version of a hustler of a hustler of a of a hustler na na na diva is a female version of a hustler of a hustler of a of a hustlerwhen he pull up wanna pop my hood up bet he better have a six pack in the cooler getting moneydivas getting money if you aint getting money then you aint got nothing for me tell me something tell me something where your boss at where your boss at where my ladies up in there that like to talk back that like to talk back i wanna see ya i wanna see ya id like to meet ya id like to meet her what you said not to me she aint no diva she aint no divana na na diva is a female version of a hustler of a hustler of a of a hustler na na na diva is a female version of a hustler of a hustler of a of a hustlersince fifteen in my stilettos been strutting in this game whats your age was the question they asked when i hit the stage im a diva best believe her you see her she getting paid she aint calling him to greet her dont need himher beds madethis is a stick up stick up i need them bags of that money a stick up stick up you see them ask em where that money all my ladies get it up i see you i do the same take it to another level no passengers on my planeima ima a diva hey ima ima a diva hey ima ima a diva hey ima ima a divathis is a stick up stick up i need them bags of that money stick up stick up you see em ask where that moneyna na na diva is a female version of a hustler of a hustler of a of a hustler na na na diva is a female version of a hustler of a hustler of a of a hustlerima a diva ima ima a diva ima ima a diva ima ima a diva ima ima a diva ima ima a diva ima ima a diva ima ima a diva ima ima a diva ima ima a diva ima ima a diva ima ima a diva ima ima a diva ima ima a diva ima ima a diva ima ima a diva hey ",1
83,"replay","iyaz",2009," shawtys like a melody in my head that i cant keep out got me singin like na na na na everyday its like my ipod stuck on replay replayayayayshawtys like a melody in my head that i cant keep out got me singin like na na na na everyday its like my ipod stuck on replay replayayayayremember the first time we met you was at the mall wit you friend i was scared to approach ya but then you came closer hopin you would give me a chancewho would have ever knew that we would ever be more than friends were friends worldwide breakin all the rules she like a song played again and againthat girl like somethin off a poster that girl a dime they say that girl is a gun to my holster shes runnin through my mind all day ayshawtys like a melody in my head that i cant keep out got me singin like na na na na everyday its like my ipod stuck on replay replayayayayshawtys like a melody in my head that i cant keep out got me singin like na na na na everyday its like my ipod stuck on replay replayayayaysee you been all around the globe not once did you leave my mind we talk on the phone from night til the morn girl you really change my life doin things i never do im in the kitchen cookin things she likeswere friends worldwide breakin all the rules someday i wanna make you my wife that girl like somethin off a poster that girl a dime they say that girl is the gun to my holster shes runnin through my mind all day ayshawtys like a melody in my head that i cant keep out got me singin like na na na na everyday its like my ipod stuck on replay replayayayayshawtys like a melody in my head that i cant keep out got me singin like na na na na everyday its like my ipod stuck on replay replayayayayi can be your melody oh girl i could write you a symphony the one that could fill your fantasies so come baby girl lets sing with me ay i can be your melody a girl that could write you a symphony the one that could fill your fantasies so come baby girl lets sing with meay na na na na na na na na na na na na na shawty got me singin na na na na na na na na na na na na na na now she got me singinshawtys like a melody in my head that i cant keep out got me singin like na na na na everyday its like my ipod stuck on replay replayayayayshawtys like a melody in my head that i cant keep out got me singin like na na na na everyday its like my ipod stuck on replay replayayayay ",1
84,"then","brad paisley",2009," i remember trying not to stare the night that i first met you you had me mesmerized and three weeks later in the front porch light taking fortyfive minutes to kiss goodnight i hadnt told you yet but i thought i loved you thenand now youre my whole life now youre my whole world i just cant believe the way i feel about you girl like a river meets the sea stronger than its ever been weve come so far since that day and i thought i loved you thenand i remember taking you back to right where i first met you you were so surprised there were people around but i didnt care i got down on one knee right there and once again i thought i loved you thenbut now youre my whole life now youre my whole world i just cant believe the way i feel about you girl like a river meets the sea stronger than its ever been weve come so far since that day and i thought i loved you thenand i can just see you with a baby on the way and i can just see you when your hair is turning gray what i cant see is how im ever gonna love you more but ive said that beforeand now youre my whole life now youre my whole world i just cant believe the way i feel about you girl well look back someday at this moment that were in and ill look at you and say and i thought i loved you then and i thought i loved you then ",1
85,"her diamonds","rob thomas",2009," oh what the hell she says i just cant win for losing and she lays back down man theres so many times i dont know what im doin like i dont know nowby the light of the moon she rubs her eyes says its funny how the night can make you blind i can just imagine and i dont know what im supposed to do but if she feels bad then i do too so i let her beand she says oh i cant take no more her tears like diamonds on the floor and her diamonds bring me down cause i cant help her now shes down in it she tried her best and now she cant win its hard to see them on the ground her diamonds falling downway downwell she sits down and stares into the distance and it takes all night and i know i could break her concentration but it dont feel rightby the light of the moon she rubs her eyes sits down on the bed and starts to cry and theres something less about her and i dont know what im supposed to do so i sit down and i cry too but dont let her seeand she says oh i cant take no more her tears like diamonds on the floor and her diamonds bring me down cause i cant help her now shes down in it she tried her best and now she cant win its hard to see them on the ground her diamonds falling downshe shuts out the night tries to close her eyes if she can find daylight shell be alright shell be alright just not tonightand she says oh i cant take no more her tears like diamonds on the floor and her diamonds bring me down cause i cant help her now shes down in it she tried her best and now she cant win it hard to see them on the ground her diamonds fallingand she says oh i cant take no more her tears like diamonds on the floor and her diamonds bring me down cause i cant help her now shes down in it she tried her best and now she cant win its hard to see them on the ground her diamonds falling downi cant take no more diamonds on the floor no more no more no more diamonds falling down i cant take no more diamonds on the floor no more no more no more no more diamonds falling down yeah i cant take no more diamonds on the floor no no no no oh diamonds fall and oh her diamonds diamonds falling down i cant take these diamonds falling down ",1
86,"how do you sleep","jesse mccartney featuring ludacris",2009," its been about a year now aint seen or heard from you i been missing you crazy how do you how do you sleepi found the letter you wrote me it still smells just like you man those sweet memories how do you how do you sleep how do you sleeptried my best at moving on have yet to find a girl like you see things that i didnt before now im wishing i had more time with youhow do you stay awake knowing all i do is think of you all the things we thought about that never will happen again i can just see youif i had my way id come and get ya girl in your favorite car with the missing top remember round my way where we used to walk and did all those things to steal your heartits been about a year now aint seen or heard from you i been missing you crazy how do you how do you sleepi found the letter you wrote me it still smells just like you man those sweet memories how do you how do you sleepits been about a year now aint seen or heard from you i been missing you crazy how do you how do you sleepi found the letter you wrote me it still smells just like you man those sweet memories how do you how do you sleep how do you sleepbaby all that i hear from my friends again again and again compliments bout you they say we saw your girl at the game and man we gotta say a big mistake by younot only do i miss your ways but i miss the conversation too tell me that you gettin no sleep cant think cant eat until i come see youif i had my way id come and get ya girl in your favorite car with the missing top remember round my way where we used to walk and did all those things to steal your heartits been about a year now aint seen or heard from you i been missing you crazy how do you how do you sleepi found the letter you wrote me it still smells just like you man those sweet memories how do you how do you sleep how do you sleepits been about a year now aint seen or heard from you i been missing you crazy how do you how do you sleepi found the letter you wrote me it still smells just like you man those sweet memories how do you how do you sleepits been about a year now aint seen or heard from you i been missing you crazy how do you how do you sleepi found the letter you wrote me it still smells just like you man those sweet memories how do you how do you sleep how do you sleep ",1
87,"3","britney spears",2009," one two three not only you and me got one eighty degrees and im caught in between countin one two three peter paul and mary gettin down with 3p everybody loves me ohbabe pick a night to come out and play if its alright what do you saymerrier the more triple fun that way twister on the floor what do you sayare you in livin in sin is the new thing yeah are you in i am countinone two three not only you and me got one eighty degrees and im caught in between countin one two three peter paul and mary gettin down with 3p everybody loves me ohone two three not only you and me got one eighty degrees and im caught in between countin one two three peter paul and mary gettin down with 3p everybody loves me ohthree is a charm two is not the same i dont see the harm so are you gamelets make a team make em say my name lovin the extreme now are you gameare you in livin in sin is the new thing are you in i am countinone two three not only you and me got one eighty degrees and im caught in between countin one two three peter paul and mary gettin down with 3p everybody loves meone two three not only you and me got one eighty degrees and im caught in between countin one two three peter paul and mary gettin down with 3p everybody loves mewhat we do is innocent just for fun and nothin meant if you dont like the company lets just do it you and me you and me or three or four on the floorone two three not only you and me got one eighty degrees and im caught in between countin one two three peter paul and mary gettin down with 3p everybody loves me ohone two three not only you and me got one eighty degrees and im caught in between countin one two three peter paul and mary gettin down with 3p everybody loves me oh ",1
88,"forever","drake featuring kanye west lil wayne and eminem",2009," it may not mean nothing to yall but understand nothing was done for me so i dont plan on stopping at all i want this shit forever mayne ever mayne ever mayne im shutting shit down at the mall and telling every girl she the one for me and i aint even planning to call i want this shit forever mayne ever mayne ever maynelast name ever first name greatest like a sprained ankle boy aint nothing to play with it started off local but thanks to all the haters i know g4 pilots on a first name basis in your city faded off the brown nino she insists she got more class we know swimming in the money come and find me nemo if i was at the club you know i balled chemo dropped the mixtape that shit sounded like an album whod have thought a country wide tour would be the outcome labels want my name beside the x like malcolm everybody got a deal i did it without one yeah nigga im about my business killing all these rappers you would swear i had a hit list everyone who doubted me is asking for forgiveness if you aint been a part of it at least you got to witness bitchesit may not mean nothing to yall but understand nothing was done for me so i dont plan on stopping at all i want this shit forever mayne ever mayne ever mayne im shutting shit down at the mall and telling every girl she the one for me and i aint even planning to call i want this shit forever mayne ever mayne ever mayneforever ever mr west is in da building aint no question who about to kill em i used to have hood dreams big fame big chains i stuck my dick inside this life until that bitch came i went hard all fall like the ball teams just so i can make it rain all spring yall seen my story my glory i had raped the game young you can call it statutory when a nigga blow up they can build statures of me old money benjamin button what nothin now superbad chicks giving me mclovin you would think i ran the world like michelles husband you would think these niggas would know me when they really doesnt like they was down with the old me no you fucking wasnt youre such a fucking loser he didnt even go to class bueller trade the grammy plaques just to have my granny back remember she had that bad hip like a fanny pack chasing that stardom would turn you into a maniac all the way in hollywood and i cant even act they pull their cameras out and god damn they snap i used to want this thing forever yall can have it backit may not mean nothing to yall but understand nothing was done for me so i dont plan on stopping at all i want this shit forever mayne ever mayne ever mayne im shutting shit down at the mall and telling every girl she the one for me and i aint even planning to call i want this shit forever mayne ever mayne ever mayneok hello its the martian space jam jordans i want this shit forever wake up and smell the garden fresher than the harvest step up to the target if i had one guess than i guess im just new orleans and i will never stop like im running from the cops hopped up in my car and told my chauffeur to the top life is such a fucking roller coaster then it drops but what should i scream for this is my theme park my minds shine even when my thoughts seem dark pistol on my side you dont wanna hear that thing talk let the king talk check the price and pay attention lil wayne thats what they got to say or mention im like nevada in the middle of the summer im resting in the lead i need a pillow and a cover shh my foots sleeping on the gas no brake pads no such thing as lastit may not mean nothing to yall but understand nothing was done for me so i dont plan on stopping at all i want this shit forever mayne ever mayne ever mayne im shutting shit down at the mall and telling every girl she the one for me and i aint even planning to call i want this shit forever mayne ever mayne ever maynethere they go packing stadiums as shady spits his flow nuts they go macadamian they go so ballistic wow we can make them look like bozos hes wondering if he should spit this slow fuck no go for broke his cup just runneth over oh no he aint had a buzz like this since the last time he overdosed theyve been waiting patiently for pinocchio to poke his nose back into the game and they know rap will never be the same as before bashing in the brains of these hoes and establishing a name as he goes the passion and the flame is ignited you cant put it out once we light it this shit is exactly what the fuck im talking about when we riot you dealin with a few true villains whose staying inside of the booth truth spillin and spit true feelings til our tooth fillings come flying up out of our mouths now rewind it payback muthafucka for the way you got at me so hows it taste when i slap the taste out your mouth with the bass so loud that it shakes the place im hannibal lecter so just in case youre thinking of saving face you aint gonna have no face to save by the time im through with this place so drakeit may not mean nothing to yall but understand nothing was done for me so i dont plan on stopping at all i want this shit forever mayne ever mayne ever mayne im shutting shit down at the mall and telling every girl she the one for me and i aint even planning to call i want this shit forever mayne ever mayne ever mayne ",1
89,"one time","justin bieber",2009," me plus you im a tell you one time me plus you im a tell you one time me plus you im a tell you one timeone time one timewhen i met you girl my heart went knock knock knock now them butterflies in my stomach wont stop stop and even though its a struggle love is all we got so we gonna keep keep climbin till the mountain topyour world is my world and my fight is your fight my breath is your breath and your heartis my heartyour my one love my one heart my one life for sure let me tell you one time girl i love girl i love you im a tell you one time girl i love girl i love you and im a be your one guy youll be my number one girl always makin time for you ima tell you one time girl i love girl i love you ima tell you one time girl i love girl i love youyou look so deep you know that it humbles me your by my side and what troubles them dont trouble me many have called but the chosen is you whatever you want shawty ill give it to youyour world is my world and my fight is your fight my breath is your breath and your heart is my heartyour my one love my one heart my one life for sure let me tell you one time girl i love girl i love you im a tell you one time girl i love girl i love you and im a be your one guy youll be my number one girl always makin time for you ima tell you one time girl i love girl i love you ima tell you one time girl i love girl i love youshawty right there shes got everything i need and im a tell her one time one time one time give you everything you need down to my last dime she makes me happy i know where ill be right by your side cause she is the one for meyoure my one love my one heart my one life for sure let me tell you one time girl i love girl i love you im a tell you one time girl i love girl i love you and im a be your one guy youll be my number one girl always makin time for you im a me tell you one time girl i love girl i love you im a tell you one time girl i love girl i love youme plus you im a tell you one time me plus you im a tell you one time me plus you im a tell you one timeone time one time ",1
90,"i run to you","lady antebellum",2009," i run from hate i run from prejudice i run from pessimists but i run too late i run my life or is it running me run from my past i run too fast or too slow it seems when lies become the truth thats when i run to youthis world keeps spinning faster into a new disaster so i run to you i run to you baby and when it all starts coming undone baby youre the only one i run to i run to youwe run on fumes your life and mine like the sands of time slippin right on through and our loves the only truth thats why i run to youthis world keeps spinning faster into a new disaster so i run to you i run to you baby when it all starts coming undone baby youre the only one i run to i run to you whoa oh oh i run to youthis world keeps spinning faster into a new disaster so i run to you i run to you baby and when it all starts coming undone baby youre the only one i run to i run to you i run to you yeah whoa whoa oh i run to you i run to you girli run to youi always run to you run to you run to you ",1
91,"i do not hook up","kelly clarkson",2009," oh sweetheart put the bottle down youve got too much talent i see you through those bloodshot eyes theres a cure youve found it slow motion sparks youve caught that chill now dont deny it but boys will be boys oh yes they will they dont wanna define it just give up the game and get into me if youre looking for thrills then get cold feetoh no i do not hook up up i go slow so if you want me i dont come cheap keep your hand in my hand your heart on your sleeve oh no i do not hook up up i fall deep cause the more that you try the harder ill fight to say goodnighti cant cook no but i can clean up the mess she left lay your head down and feel the beat as i kiss your forehead this may not last but this is now so love the one youre with you wanna chase but youre chasin your tail a quick fix wont ever get you welloh no i do not hook up up i go slow so if you want me i dont come cheap keep your hand in my hand your heart on your sleeve oh no i do not hook up up i fall deep cause the more that you try the harder ill fight to saycause i feel the distance between us could be over with the snap of your finger oh nooh no i do not hook up up i go slow so if you want me i dont come cheap keep your hand in my hand your heart on your sleeve oh no i do not hook up up i fall deep cause the more that you try the harder ill fight to say cause the more that you try the harder ill fight to say goodnightoh sweetheart put the bottle down cause you dont wanna miss out ",1
92,"green light","john legend featuring andre 3000",2009," give me the green light give me just one night im ready to go right now im ready to go right nowim ready to go right now im ready to go right nowi see you move im checking your smile working your back like its going out of style shake just a little bit faster shake just a little now girl dying to meet you so lets mess around ive got an obsession of us getting down come just a little bit closer i just need permission so justgive me the green light give me just one night im ready to go right now im ready to go right now we can go all night give me the green light im ready to go right now im ready to go right nowone two three green light but if its what it seems like the you moving baby lets me know its gon be right im ready to go right now im ready to go right nowone two three red light i wanna see what you dance like but if i can be your buddy help you study and get your head right im ready to go right now im ready to go right nowdo i have a girlfriend technically no if youll be my girlfriend then ill make it so youll be my only true lover no competition no others baby its just the thrill of the chase but ive got a feeling that im winning this race baby im gettin closer i just need permission sogive me the green light give me just one night im ready to go right now im ready to go right now we can go all night give me the green light im ready to go right now im ready to go right nowone two three green light but if its what it seems like the you moving baby lets me know its gon be right im ready to go right now im ready to go right nowone two three red light i wanna see what your dance like but if i can be your buddy get your study and get your head right im ready to go right now im ready to go right nowso i went hard like medusa staring at me i told her lets go lets blow this lame nigga factory she said what type of girl do you think i are the kind that you meet in a bar you think you can get whatever you want cause you some kinda star no im a comet i just want you woman hey if i were you then it would be me that i go home with three the one and only one thing you aint considered i heard you when you told your girl ooh he can get it admit it you did it lets hop a cab and split it im kiddin we both going to where you livin ha i got you gigglin like im piglet oh thats the ticket i hope you are more like anita baker than robin givens no i dont know that lady so let me quit it im just style freein freestylin with yall seldom do this is what im telling you to the bed im nailing you like ive been in jail for two years and then they let me loosegive me the green light give me just one night im ready to go right now im ready to go right now we can go all night give me the green light im ready to go right now im ready to go right now ",1
93,"people are crazy","billy currington",2009," this old man and me were at the bar and we were having us some beers and swaping i dont cares talking politics blond and redhead chicks old dogs and new tricks and habits we aint kickedwe talked about gods grace and all the hell we raised then i heard the ol man say god is great beer is good and people are crazyhe said i fought two wars been married and divorced what brings you to ohio he said damned if i know we talked an hour or two about every girl we knew what all we put em through like two old boys will dowe pondered life and death he light a cigarette he said these damn things will kill me yet but god is great beer is good and people are crazylast call its two am i said goodbye to him i never talked to him again then one sunny day i saw the old mans face front page obituary he was a millionaire he left his fortune to some guy he barely knew his kids were mad as hell but me im doing well and i drop by today to just say thanks and pray and i left a sixpack right there on his grave and i said god is great beer is good and people are crazygod is great beer is good and people are crazygod is great beer is good and people are crazy ",1
94,"whatever it is","zac brown band",2009," shes got eyes that cut you like a knife and lips that taste like sweet red wine and pretty legs go to heaven every time she got a gentle way that puts me at ease when she walks in the room i can hardly breathe got a devastating smile knock a grown man to his kneesshes got whatever it is it blows me away shes everything i wanted to say to a woman but couldnt find the words to say shes got whatever it is i dont know what to do because every time i try and tell her how i feel it comes out i love you you got whatever it isyou know ive never been the type that would ever want to stay bring em home at night and theyre gone the next day but that all changed when she walked into my life people ask me what it is i tell them i dont know just something about the woman makes my heart go haywire shes gonna be my wifeshes got whatever it is it blows me away shes everything i wanted to say to a woman but couldnt find the words to say shes got whatever it is i dont know what to do because every time i try and tell her how i feel it comes out i love you you got whatever it iscause when she loves me girl thats how i feel cause when she loves me im on top of the world because when she loves me i can live forever when she loves me i am untouchableshes got whatever it is it blows me away shes everything i wanted to say to a woman but couldnt find the words to say shes got whatever it is i dont know what to do because every time i try and tell her how i feel it comes out i love you i do you got whatever it is ",1
95,"already gone","kelly clarkson",2009," remember all the things we wanted now all our memories theyre haunted we were always meant to say goodbye even without fists held high yeah never would have worked out right yeah we were never meant for do or diei didnt want us to burn out i didnt come here to hurt you now i cant stopi want you to know that it doesnt matter where we take this road someones gotta go and i want you to know you couldnt have loved me better but i want you to move on so im already gonelooking at you makes it harder but i know that youll find another that doesnt always make you wanna cry started with a perfect kiss then we could feel the poison set in perfect couldnt keep this love aliveyou know that i love you so i love you enough to let you goi want you to know that it doesnt matter where we take this road someones gotta go and i want you to know you couldnt have loved me better but i want you to move on so im already goneim already gone im already gone you cant make it feel right when you know that its wrong im already gone already gone theres no moving on so im already gonealready gone already gone already goneoh ohalready gone already gone already goneyeahremember all these things we wanted now all our memories theyre haunted we were always meant to say goodbyei want you to know that it doesnt matter where we take this road someones gotta go and i want you to know you couldnt have loved me better but i want you to move on so im already goneim already gone im already gone you cant make it feel right when you know that its wrong im already gone already gone theres no moving on so im already gone ",1
96,"goodbye","kristinia debarge",2009," am i supposed to put my life on hold because you dont know how to act and you dont know where your life is going am i supposed to be torn apart broken hearted in a corner crying pardon me if i dont show it i dont care if i never see you again ill be alright take this final piece of advice and get yourself together but either way baby im goneim so over it ive been there and back changed all my numbers and just in case youre wondering i got that new im a single girl swag got me with my girls and were singin it na na na na na na na na hey hey hey goodbye na na na na na na na na hey hey hey goodbyecut my hair cuz it reminded me of you i know you like the long do had to switch my attitude up thinkin of changing up how i ride no more on the passenger side too bad you miss out on the way that i drive it i dont care if i never see you again ill be alright take this final piece of advice and get yourself together but either way baby im goneim so over it ive been there and back changed all my numbers and just in case youre wondering i got that new im a single girl swag got me with my girls and were singin it na na na na na na na na hey hey hey goodbye na na na na na na na na hey hey hey goodbyehey hey hey hey hey hey goodbyeim so over it ive been there and back changed all my numbers and just in case youre wondering i got that new im a single girl swag got me with my girls and were singin it na na na na na na na na hey hey hey goodbye na na na na na na na na hey hey hey goodbyegoodbye na na na na na na na na hey hey hey goodbye na na na na na na na na hey hey hey goodbye goodbye ",1
97,"say hey i love you","michael franti  spearhead featuring cherine anderson",2009,"this one goes out to you and yours worldwide i say hey i be gone today but i be back around the way seems like everywhere i go the more i see the less i know but i know one thing that i love you baby girl i love you i love you i love you ive been a lot of places all around the way ive seen a lot of joy and ive seen a lot of pain but i dont want to write a love song for the world i just want to write a song about a boy and a girl junkies on the corner always calling my name and the kids on the corner playing ghetto games when i saw you getting down girl i hoped it was you and when i looked into your eyes i knew it was true i say hey i be gone today but i be back around the way seems like everywhere i go the more i see the less i know but i know one thing that i love you baby girl i love you i love you i love you now im not a highly metaphysical man but i know when the stars are aligned you can bump into a person in the middle of the road look into their eyes and you suddenly know rocking in the dance hall moving with you dancing in the night in the middle of june my momma told me dont lose you cause the best luck i had was you i say hey i be gone today but i be back around the way it seems like everywhere i go the more i see the less i know but i know one thing that i love you baby girl i love you i love you i love you and i say rocking in the dance hall moving with you i say hey momma hey momma close to you rocking in the dance hall moving with you i say hey trippa trippa got to shoot rocking in the dance hall moving with you i say hey momma close to you rocking in the dance hall moving with you i say hey momma hey momma hey momma hey momma hey momma hey momma hey momma hey momma my momma told me dont lose you cause the best luck i had was you and i know one thing that i love you i say hey i be gone today but ill be back around the way it seems like everywhere i go the more i see the less i know i say hey i be gone today but ill be back around the way it seems like everywhere i go the more i see the less i know but i know one thing that i love you baby girl i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you rocking in the dance hall moving with you i say hey papa hey papa hey momma hey momma rocking in the dance hall moving with you come on hey papa hey papa come to shoot  hey mama hey mama",3
98,"pop champagne","jim jones featuring ron browz and juelz santana",2009," ether boy heyhow we ball in the club i know you hate it mami dancing on the floor all like she naked when she lay down with you i know she fake it all the girls give it to me i aint gotta take it oh pop champagne oh pop champagne oh we pop champagne oh we pop champagnewe need more bottles tell ma hurry up tell em ron browz here hottest in america gimme sixteen bars and you know i tear it up know its me when you see this fur in your area and she call me all night cause you can get it up on my neck on my wrist everything is litted up drinking bottles of that clique till i spit it up only get one life so you gotta live it up hey if you in the things im in shorty we can be friends shorty we can be friends right now i wanna see you dance see you dance i wanna see you dance see you dance i wanna see you dance see you dance i wanna see you dance see you dancewhen i go to the dealer you know i cop that whats that brand new rarri and the roof drop back the 60 came through harlem like the rooftop back money in the bank man you know dont stop that stop that stop that stop that oh now we trying to get up in the club oh try to tell me no cause im rolling with the thugs we got money bitch until i flash a couple of dollars yep tell em we only want tables and we buying out the bottles oh yall know the order tell em ten roses and a few cold waters right only petron and a couple of lemons lets go ten thousand dollars stuffed up in the denims what else we standing on couches a couple of women hey baby we was balling hard it was just the ninth inning early he told shorty we could be friends yep and your friends could meet with my friends what else and we could do this on the weekend or on the weekday we could do this on the freeway and get in the freak way shit we could get in on three way oh blackberry two way souped up cars on the thruway yep we superstars no lupe we could do this like a duet but yall be the singers on the mic wait let me dim the lights this was in the car while i was stopping at the lighthow we ball in the club i know you hate it mami dancing on the floor all like she naked when she lay down with you i know she fake it all the girls give it to me i aint gotta take it oh pop champagne oh pop champagne oh we pop champagne oh we pop champagnebaby i wanna see you work go see you dance go without no shirt without those pants pop champagne aint a damn thing change spray it in the air make it champagne rain buckets of ice keep the champagne cool mami got a body see that damn thing move its no sex in the champagne room says who baby ill break all rules bring it here and ill break off you she see me in vip and wanna break on through when she with you she lyin but she fake it when she with me she like it she never fake iti wanna see you dance see you dance i wanna see you dance see you dance i wanna see you dance see you dance i wanna see you dance see you dancehow we ball in the club i know you hate it mami dancing on the floor all like she naked when she lay down with you i know she fake it all the girls give it to me i aint gotta take it oh pop champagne oh pop champagne oh we pop champagne oh we pop champagne ",1
99,"pretty wings","maxwell",2009," time will bring the real end of our trial one day theyll be no remnants no trace no residual feelings within ya one day you wont remember meyour face will be the reason i smile but i will not see why i cannot have forever ill always love ya i hope you feel the sameoh you played me dirty your game was so bad you toyed with my affliction had to fill out my prescription found the remedy i had to set you freeaway from me to see clearly the way that love can be when you are not with me i had to leave i had to live i had to leave i had to liveif i cant have you let love set you free to fly your pretty wings around pretty wings your pretty wings your pretty wings pretty wings aroundi came wrong you were right transformed your love into like baby believe me im sorry i told you liesi turned day into night sleep till i die a thousand times i could have showed you better nights better times better days i miss you more and moreif i cant have you let love set you free to fly your pretty wings around pretty wings your pretty wings your pretty wings your pretty wings aroundpretty wings your pretty wings your pretty wings your pretty wings around pretty wings pretty wings pretty wings your pretty wings aroundpretty wings your pretty wings around pretty wings your pretty wings around pretty wings your pretty wings around pretty wings your pretty wings aroundpretty wings your pretty wings around pretty wings your pretty wings around pretty wings your pretty wings around ",1
100,"never say never","the fray",2009,"some things we dont talk about rather do without and just hold the smile falling in and out of love ashamed and proud of together all the while you can never say never while we dont know when but time and time again younger now than we were before dont let me go dont let me go dont let me go dont let me go dont let me go dont let me go picture youre the queen of everything far as the eye can see under your command i will be your guardian when all is crumbling ill steady your hand you can never say never while we dont know when but time time and time again younger now than we were before dont let me go dont let me go dont let me go dont let me go dont let me go dont let me go were pulling apart and coming together again and again were growing apart but we pull it together pull it together together again dont let me go dont let me go dont let me go dont let me go dont let me go dont let me go dont let me go dont let me go dont let me go dont let me go dont let me go dont let me go",3
1,"tik tok","keha",2010," wake up in the morning feeling like p diddy hey what up girl grab my glasses im out the door im gonna hit this city lets go before i leave brush my teeth with a bottle of jack cause when i leave for the night i aint coming backim talking pedicure on our toes toes trying on all our clothes clothes boys blowing up our phones phones droptopping playing our favorite cds rollin up to the parties trying to get a little bit tipsydont stop make it pop dj blow my speakers up tonight ima fight till we see the sunlight ticktock on the clock but the party dont stop nodont stop make it pop dj blow my speakers up tonight ima fight til we see the sunlight ticktock on the clock but the party dont stop noaint got a care in world but got plenty of beer aint got no money in my pocket but im already here and now the dudes are lining up cause they hear we got swagger but we kick em to the curb unless they look like mick jaggerim talking about everybody getting crunk crunk boys tried to touch my junk junk gonna smack him if he getting too drunk drunknow now we goin till they kick us out out or the police shut us down down police shut us down down popo shut usdont stop make it pop dj blow my speakers up tonight ima fight till we see the sunlight ticktock on the clock but the party dont stop nodont stop make it pop dj blow my speakers up tonight ima fight till we see the sunlight ticktock on the clock but the party dont stop nodj you build me up you break me down my heart it pounds yeah you got me with my hands up you got me now you got that sound yeah you got medj you build me up you break me down my heart it pounds yeah you got me with my hands up put your hands up put your hands upnow the party dont start till i walk indont stop make it pop dj blow my speakers up tonight ima fight till we see the sunlight ticktock on the clock but the party dont stop nodont stop make it pop dj blow my speakers up tonight ima fight till we see the sunlight ticktock on the clock but the party dont stop no ",1
2,"need you now","lady antebellum",2010," picture perfect memories scattered all around the floor reaching for the phone cause i cant fight it any more and i wonder if i ever cross your mind for me it happens all the timeits a quarter after one im all alone and i need you now said i wouldnt call but i lost all control and i need you now and i dont know how i can do without i just need you nowanother shot of whiskey cant stop looking at the door wishing youd come sweepin in the way you did before and i wonder if i ever cross your mind for me it happens all the timeits a quarter after one im a little drunk and i need you now said i wouldnt call but i lost all control and i need you now and i dont know how i can do without i just need you nowguess id rather hurt than feel nothing at all its a quarter after one im all alone and i need you now and i said i wouldnt call but im a little drunk and i need you now and i dont know how i can do without i just need you now i just need you nowoh baby i need you now ",1
3,"hey soul sister","train",2010," hey hey hey hey hey heyyour lipstick stains on the front part of my left side brain i knew i wouldnt forget you and so i went and let you blow my mindyour sweet moonbeam the smell of you in every single dream i dream i knew when we collided youre the one i have decided whos one of my kindhey soul sister aint that mr mister on the radio stereo the way you move aint fair you knowhey soul sister i dont wanna miss a single thing you do tonighthey hey heyjust in time im so glad you have a one track mind like me you gave my life direction a game show love connection we cant denyim so obsessed my heart is bound to beat right out my untrimmed chest i believe in you like a virgin youre madonna and im always gonna wanna blow your mindhey soul sister aint that mr mister on the radio stereo the way you move aint fair you know hey soul sister i dont wanna miss a single thing you do tonightthe way you can cut a rug watching you is the only drug i need so gangster im so thug youre the only one im dreaming ofyou see i can be myself now finally in fact theres nothing i cant be i want the world to see youll be with mehey soul sister aint that mr mister on the radio stereo the way you move aint fair you know hey soul sister i dont wanna miss a single thing you do tonighthey soul sister i dont wanna miss a single thing you do tonighthey hey hey tonight hey hey hey tonight ",1
4,"california gurls","katy perry featuring snoop dogg",2010," snoop dogg greetings loved ones lets take a journeykaty perry i know a place where the grass is really greener warm wet and wild there must be something in the water sippin gin and juice laying underneath the palm trees undone the boys break their necks trying to creep a little sneak peek at usyou could travel the world but nothing comes close to the golden coast once you party with us youll be falling in love oh oh oh ohcalifornia gurls were unforgettable daisy dukes bikinis on top sunkissed skin so hot well melt your popsicle oh oh oh ohcalifornia gurls were undeniable fine fresh fierce we got it on lock west coast represent now put your hands up oh oh oh ohsex on the beach we dont mind sand in our stilettos we freak in my jeep snoop doggy dogg on the stereo oh ohyou could travel the world but nothing comes close to the golden coast once you party with us youll be falling in love oh oh oh ohcalifornia gurls were unforgettable daisy dukes bikinis on top sunkissed skin so hot well melt your popsicle oh oh oh ohcalifornia gurls were undeniable fine fresh fierce we got it on lock west coast represent now put your hands up oh oh oh ohsnoop dogg toned tan fit and ready turn it up cause its getting heavy wild wild west coast these are the girls i love the most i mean the ones i mean like shes the one kiss her touch her squeeze her bunsthe girls a freak she drives a jeep and live on the beach im okay i wont play i love the bait just like i love la venice beach and palm springs summer time is everythinghomeboys bangin out all that ass hangin out bikinis zucchinis martinis no weenies just a king and a queenie katy my ladykaty perry yeahsnoop dogg you lookie here babykaty perry uh huhim all up on you cause you representin californiakaty perry ohhh yeahhcalifornia gurls were unforgettable daisy dukes bikinis on top sunkissed skin so hot well melt your popsicle oh oh oh ohcalifornia gurls were undeniable fine fresh fierce we got it on lock west coast representsnoop dogg west coast west coastkaty perry now put your hands up oh oh oh ohcalifornia california gurlssnoop dogg california gurls mankaty perry california california gurls ",1
5,"omg","usher featuring william",2010," oh my gosh baby let me did it again so imma let the beat rock oh mybaby let me love you down theres so many ways to love ya baby i can break you down theres so many ways to love ya got me like ooh my gosh im so in love i found you finally you make me wanna say oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh my goshyou make me want to say oh oh oh oh oh oh oh oh ohi fell in love with shawty when i seen her on the dance floor she was dancing sexy pop pop popping dropping dropping low never ever has a lady hit me at the first sight this was something special this was just like dynamite honey got a booty like pow pow pow honey got some boobies like wow oh wow girl you know im loving your loving your style check check check check check checking you out like ooh ooh she got it all sexy from her head to her toes and i want it all n all n allbaby let me love you down theres so many ways to love ya baby i can break you down theres so many ways to love ya got me like ooh my gosh im so in love i found you finally you make me want to say oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh my goshyou make me want to say you make me want to say oh oh oh oh oh oh oh oh oh ohfell so hard for honey out of all the girls up in this club this one got me whipped just off one look yep i fell in love this one something special this one just like dynamite oh oh oh oh oh oh oh out of sight fell in love with honey like my oh my honey looking wonderful fly so fly honey like a supermodel my oh my baby how you do that make a grown man cryooh ooh baby you got it all sexy from her head to her toes and i want it all n all n allso honey let me love you down theres so many ways to love ya baby i can break it down theres so many ways to love ya got me like ooh my gosh im so in love i found you finally you make me want to sayoh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh my goshoh my gosh oh my oh my oh oh my goshoh my gosh i did it again so im gone let the beat rockoh oh oh my oh oh oh my my my my ooh my goshoh oh oh my oh oh oh my my my my ooh my gosh oh my gosh ",1
6,"airplanes","bob featuring hayley williams",2010," can we pretend that airplanes in the night sky are like shootin stars i could really use a wish right now wish right now wish right now can we pretend that airplanes in the night sky are like shootin stars i could really use a wish right now wish right now wish right nowyeah yeah i could use a dream or a genie or a wish to go back to a place much simpler than this cause after all the partying and smashing and crashing and all the glitz and glam and the fashion and all the pandemonium and all the madness there comes a time when you fade to the blackness and when youre staring at the phone in your lap and you hoping but them people never call you back but thats just how the story unfolds you get another hand soon after you fold and when your plans unravel in the sand what would you wish for if you had one chance so airplane airplane sorry im late im on my way so dont close that gate if i dont make that then ill switch my flight and ill be right back at it by the end of the nightcan we pretend that airplanes in the night sky are like shootin stars i could really use a wish right now wish right now wish right now can we pretend that airplanes in the night sky are like shootin stars i could really use a wish right now wish right now wish right nowyeah yeah somebody take me back to the days before this was a job before i got paid before it ever mattered what i had in my bank yeah back when i was trying to get a tip at subway and back then i was rapping for the hell of it but nowadays we rapping to stay relevant im guessing if can make some wishes out of airplanes then maybe oh maybe ill go back to the days before the politics that we call the rap game and back when aint nobody listened to my mix tape and back before when i tried to cover up my slang but this is for the decatur whats up bobby ray so can i get a wish to end the politics and get back to the music that started this shit so here i stand and then again i say im hoping we can make some wishes outta airplanescan we pretend that airplanes in the night sky are like shootin stars i could really use a wish right now wish right now wish right now can we pretend that airplanes in the night sky are like shootin stars i could really use a wish right now wish right now wish right nowi could really use a wish right now i i i could really use a wish right now like like like shootin stars i i i could really use a wish right now a wish a wish right now ",1
7,"love the way you lie","eminem featuring rihanna",2010," just gonna stand there and watch me burn but thats alright because i like the way it hurts just gonna stand there and hear me cry but thats alright because i love the way you lie i love the way you liei cant tell you what it really is i can only tell you what it feels like and right now theres a steel knife in my windpipe i cant breathe but i still fight while i can fight as long as the wrong feels right its like im in flight high off of love drunk from my hate its like im huffing paint and i love it the more that i suffer i suffocate and right before im about to drown she resuscitates me she fucking hates me and i love it wait where you going im leaving you no you aint come back were running right back here we go again its so insane cause when its going good its going great im superman with the wind at his back shes lois lane but when its bad its awful i feel so ashamed i snapped whos that dude i dont even know his name i laid hands on her ill never stoop so low again i guess i dont know my own strengthjust gonna stand there and watch me burn but thats alright because i like the way it hurts just gonna stand there and hear me cry but thats alright because i love the way you lie i love the way you lie i love the way you lieyou ever love somebody so much you can barely breathe when youre with them you meet and neither one of you even know what hit em got that warm fuzzy feeling yeah them chills used to get em now youre getting fucking sick of looking at em you swore youve never hit em never do nothing to hurt em now youre in each others face spewing venom and these words when you spit em you push pull each others hair scratch claw bit em throw em down pin em so lost in the moments when youre in em its the rage thats the culprit it controls you both so they say its best to go your separate ways guess that they dont know ya cause today that was yesterday yesterday is over its a different day sound like broken records playin over but you promised her next time youll show restraint you dont get another chance life is no nintendo game but you lied again now you get to watch her leave out the window guess thats why they call it window panejust gonna stand there and watch me burn but thats alright because i like the way it hurts just gonna stand there and hear me cry but thats alright because i love the way you lie i love the way you lie i love the way you lienow i know we said things did things that we didnt mean and we fall back into the same patterns same routine but your tempers just as bad as mine is youre the same as me but when it comes to love youre just as blinded baby please come back it wasnt you baby it was me maybe our relationship isnt as crazy as it seems maybe thats what happens when a tornado meets a volcano all i know is i love you too much to walk away now come inside pick up your bags off the sidewalk dont you hear sincerity in my voice when i talk told you this is my fault look me in the eyeball next time im pissed ill aim my fist at the dry wall next time there will be no next time i apologize even though i know its lies im tired of the games i just want her back i know im a liar if she ever tries to fucking leave again im a tie her to the bed and set this house on firejust gonna stand there and watch me burn but thats alright because i like the way it hurts just gonna stand there and hear me cry but thats alright because i love the way you lie i love the way you lie i love the way you lie ",1
8,"bad romance","lady gaga",2010," ohohohohoh ohohohohohoh caught in a bad romance ohohohohoh ohohohohohoh caught in a bad romancerah rah ahahah ro mah romahmah gaga ohlala want your bad romancerah rah ahahah ro mah romahmah gaga oohlala want your bad romancei want your ugly i want your disease i want your everything as long as its free i want your love lovelovelove i want your lovei want your drama the touch of your hand i want your leather studded kiss in the sand i want your love lovelovelove i want your love lovelovelove i want your loveyou know that i want you and you know that i need you i want it bad your bad romancei want your love and i want your revenge you and me could write a bad romance ohohohohoooh i want your love and all your lovers revenge you and me could write a bad romanceohohohohoh ohohohohohoh caught in a bad romanceohohohohooh ohohoohohohoh caught in a bad romancerah rah ahahah ro mah romahmah gaga oohlala want your bad romancei want your horror i want your design cause youre a criminal as long as your mine i want your love lovelovelove i want your lovei want your psycho your vertigo shtick want you in my rear window baby youre sick i want your love lovelovelove i want your love lovelovelove i want your loveyou know that i want you and you know that i need you i want it bad bad romancei want your love and i want your revenge you and me could write a bad romance ohohohohooh i want your love and all your lovers revenge you and me could write a bad romanceohohohohooh ohohoohohohoh caught in a bad romanceohohohohooh ohohoohohohoh caught in a bad romancerah rah ahahah ro mah romahmah gaga oohlala want your bad romancerah rah ahahah ro mah romahmah gaga ohlala want your bad romancewalk walk fashion baby work it move that bitch crazy walkwalk fashion baby work it move that bitch crazy walkwalk fashion baby work it move that bitch crazy walkwalk passion baby work it im a free bitch babyi want your love and i want your revenge i want your love i dont wanna be friendsjveux ton amour et je veux ta revanche jveux ton amour i dont wanna be friends i dont wanna be friends i dont wanna be friends i dont wanna be friends want your bad romance caught in a bad romance want your bad romancei want your love and i want your revenge you and me could write a bad romance ohohohohooh i want your love and all your lovers revenge you and me could write a bad romanceohohohohooh want your bad romance caught in a bad romance want your bad romance ohohohohooh want your bad romance caught in a bad romancerah rah ahahah ro mah romahmah gaga oohlala want your bad romance ",1
9,"dynamite","taio cruz",2010," i came to dancedancedancedance yeah i hit the floor cause thats my plans plans plans plans yeah im wearing all my favorite brands brands brands brands yeah give me some space for both my hands hands hands hands yeah yeah cause it goes on and on and on and it goes on and on and on yeahi throw my hands up in the air sometimes saying ayeoh gotta let go i wanna celebrate and live my life saying ayoh baby lets go cause we gon rock this club we gon go all night we gon light it up like its dynamite cause i told you once now i told you twice we gon light it up like its dynamitei came to move move move move get out the way of me and my crew crew crew crew yea im in the club so im gonna do do do do yea just what i came here to do do do do yeah yeah cause it goes on and on and on and it goes on and on and on yeahi throw my hands up in the air sometimes saying ayoh gotta let go i wanna celebrate and live my life saying ayoh baby lets go cause we gon rock this club we gon go all night we gon light it up like its dynamite cause i told you once now i told you twice we gon light it up like its dynamiteim gonna take it all i im gonna be the last one standing higher overall i im gonna be the last one landing cause i i i believe it and i i i i just want it all i just want it all im gonna put my hands in the air hands in the air put your hands in the airi throw my hands up in the air sometimes saying ayoh gotta let go i wanna celebrate and live my life saying ayoh baby lets go cause we gon rock this club we gon go all night we gon light it up like its dynamite cause i told you once now i told you twice we gon light it up like its dynamite ",1
10,"break your heart","taio cruz featuring ludacris",2010," whoa luda now i may not be the worst or the best but you gotta respect my honesty whoa and i may break your heart but i dont really think theres anybody as bomb as me whoa so you can take this chance in the end everybodys gonna be wondering how you deal whoa you might say this is ludacris but taio cruz tell her how you feelnow listen to me baby uh uh oh oh before i love and leave you uh uh oh oh they call me heart breaker uh uh oh oh i dont wanna deceive you uh uh oh oh ohif you fall for me im not easy to please i might tear you apart told you from the start baby from the startim only gonna break break your break break your heartim only gonna break break your break break your heartim only gonna break break your break break your heartim only gonna break break your break break your heart whoa whoatheres no point trying to hide it uh uh oh oh no point trying to evade it uh uh oh oh i know i got a problem uh uh oh oh problem with misbehaving uh uh oh oh ohif you fall for me im not easy to please i might tear you apart told you from the start baby from the startim only gonna break break your break break your heartim only gonna break break your break break your heartim only gonna break break your break break your heartim only gonna break break your break break your heartthats all im gonna do woman whoa listen now im only gonna break your heart and shatter and splatter it all into little bitty pieces whether or not you get it all together then its finders keepers and losers weepers see im not trying to lead you on no im only trying to keep it real whoa you might say this is ludacris but taio cruz tell her how you feeleh and i know karmas gonna get me back for being so cold eh like a big bad wolf im born to be bad and bad to the bone eh if you fall for me im only gonna tear you apart eh told ya from the start ehim only gonna break break your break break your heartim only gonna break break your break break your heartim only gonna break break your break break your heartim only gonna break break your break break your heart whoa whoa whoa whoa ",1
11,"nothin on you","bob featuring bruno mars",2010," beautiful girls all over the world i could be chasing but my time would be wasted they got nothin on you baby nothin on you babythey might say hi and i might say hey but you shouldnt worry about what they say cause they got nothin on you baby nothin on you babyno no no nothin on you babe no no nothin on you i know you feel where im coming from regardless of the things in my past that ive done most of it really was for the hell of the fun on the carousel so around i spun spun with no directions just tryna get some some tryna chase skirts living in the summer sun sun an so i lost more than i had ever won and honestly i ended up with nonetheres so much nonsense its on my conscience im thinking baby i should get it out and i dont wanna sound redundant but i was wondering if there was something that you wanna know that you wanna know but never mind that we should let it go we should let it go cause we dont wanna be a tv episode tv episode and all the bad thoughts just let them go go go gobeautiful girls all over the world i could be chasing but my time would be wasted they got nothin on you baby no no no nothin on you babe no no nothin on you nothin on you baby no no no nothin on you babe no no nothin on you they might say hi hi and i might say hey hey but you shouldnt worry about what they say cause they got nothin on you baby no no no nothin on you babe no no nothin on you nothin on you baby no no no nothin on you babe no no nothin on youhands down there will never be another one i been around and i never seen another one because your style i aint really got nothin on and you wow when you got nothin on baby you the whole package plus you pay your taxes and you keep it real while them other stay plastic youre my wonder women call me mr fantastic stop now think about itive been to london ive been to paris even way out there in tokyo back home down in georgia to new orleans but you always steal the show steal the show and just like that girl you got a fro got a fro like a nintendo 64 64 if you never knew well now you know know know knowbeautiful girls all over the world all over i could be chasing but my time would be wasted haha they got nothin on you baby no no no nothin on you babe no no nothin on you nothin on you baby no no no nothin on you babe no no nothin on you they might say hi hi and i might say hey hey but you shouldnt worry about what they say why cause they got nothin on you baby no no no nothin on you babe no no nothin on you nothin on you baby no no no nothin on you babe no no nothin on youeverywhere i go im always hearing your name name name and no matter where im at girl you make me wanna sing sing whether a bus or a plane plane or a car or a train train no other girls in my brain and you the one to blame blamebeautiful girls all over the world all over i could be chasing but my time would be wasted why they got nothin on you baby no no no nothin on you babe no no nothin on you nothin on you baby no no no nothin on you babe no no nothin on you they might say hi hi and i might say hey hello but you shouldnt worry about what they say why cause they got nothin on you baby no no no nothin on you babe no no nothin on you nothin on you baby no no no nothin on you babe no no nothin on youyeah and thats just how we do it ha ha and im a let this ride bob and bruno mars ",1
12,"i like it","enrique iglesias featuring pitbull",2010," one life one love enrique iglesias pitbull yall know what time it is go go go deejay we go set it off tonight just go go go go deejay set the club on fire just go go go go deejay the club is on fire enrique holler at them likegirl please excuse me if im coming too strong but tonight is the night we can really let go my girlfriends out of town and im all alone your boyfriends on vacation and he doesnt have to know no oh oh oh oh no one can do the things im gonna wanna do to you no oh oh oh oh shout out loud scream out loud let me hear you gobaby i like it the way you move on the floor baby i like it come on and give me some more oh yes i like it screaming like never before baby i like it i i i like itparty caramba fiesta forevergirl please excuse me if im misbehaving oh im trying to keep my hands off but youre begging me for more round round round give a low low low let the time time pass cause were never getting old no oh oh oh oh no one can do it better turn around ill give you more no oh oh oh oh shout out loud scream out loud let me hear you gobaby i like it the way you move on the floor baby i like it come on and give me some more oh yes i like it screaming like never before baby i like it i i i like itcome deejay thats my deejay im a miami boy you know how we play i aint playing with you but i want to play with you get me got me good now watch meits a different species meet me in dc lets party on the white house lawn tiger woods times jesse james equals pitbull all night long wake up barack and michelle let em know that its on pa fuera pa la calle dale mamita tirame ese baile dale mamita tirame ese baile i see you watchin me you see me watchin you i love the way you move i like them things you do likedont stop baby dont stop baby just keep on shaking along i wont stop baby wont stop baby until you get enoughparty caramba fiesta foreverbaby i like it the way you move on the floor baby i like it come on and give me some more oh yes i like it screaming like never before baby i like it i i i like itbaby i like it the way you move on the floor baby i like it come on and give me some more oh yes i like it screaming like never before baby i like it i i i like itparty oh yes i like it caramba fiesta forever oh yes i like it party caramba oh yes i like it fiesta forever oh i like it ",1
13,"bedrock","young money featuring lloyd",2010," iii i can make your bed rock young money iii i can make your bed rock girl iii i can make your bed rock iii i can make your bed rockshe got that good good she michael jackson bad im attracted to her with her attractive ass and now we murderers because we kill time i knock her lights out and she still shine i hate to see her go but i love to watch her leave but i keep her running back and forth like a soccer team cold as a winters day hot as a summers eve young money thieves steal your love and leavei like the way you walk you walkin if you walkin my way im that red bull now lets fly away lets buy a place with all kind of space i let you be the judge an an and im the case im gudda gudda i put her under i see me with her no stevie wonder she dont even wonder cause she know she bad and i got her nigga grocery bagooh ooh baby i be stuck to you like glue glue baby wanna spend it all on you you baby my room is the g spot call me mr flintstone i can make your bed rock ooh iii i can make your bed rock ooh iii i can make your bed rock girl ooh iii i can make your bed rock ooh iii i can make your bed rockok i get it let me think i guess its my turn maybe its time to put this pussy on ya sideburns he say im bad he probably right he pressing me like button downs on a friday night haha im so pretty like be on my pedal bike be on my low starch be on my ecko whites he say nicki dont stop you the bestest and i just be coming off the top asbestosi love ya sushi roll hotter than wasabi i race for your love shake and bake ricky bobby im at the w but i cant meet you in the lobby girl i gotta watch my back cause im not just anybody i seen em stand in line just to get beside her i let her see the aston and let the rest surprise her thats when we disappear and you need gps to find her oh that was your girl i thought i recognized herooh ooh baby baby i be stuck to you like glue glue baby wanna spend it all on you you baby my room is the g spot call me mrflintstone i can make your bed rock ooh iii i can make your bed rock ooh iii i can make your bed rock girl ooh iii i can make your bed rock ooh iii i can make your bed rockshe like tanning i like staying in she like romancing i like rolling with friends she said im caged in i think her conscience is she watching that oxygen im watching espn but when that show end she all on my skin lotion slow motions while we roller coastin like back forth hold it hold it hold it hold it hold it she pose like its for posters and i poke like im suppose to take this photo if you for me she said dont you ever show this im too loyal loyal loyal and too focused focused focused to be losing losin losin and be hopeless hopeless hopeless when i spoke this she rejoiced it said your word get me open so i closed it where your clothes is im only lovin for the moment for the moment for the momentshe aint got a man but shes not alone miss independent yea she got her own hey gorgeous um i mean flawless well thats what you are how i see it is how i call it yea llook at how she walk mhmm she know she bad ddo your thing baby i aint even mad and i aint leavin fast im a stay a while hold ya head chris iim a take her downoh baby i be stuck to you like glue glue baby wanna spend it all on you you baby my room is the g spot call me mr flintstone i can make your bed rock girl young money yeah iii i can make your bed rock ooh iii i can make your bed rock girl ooh gudda gudda iii i can make your bed rock ooh tstreetz mack maine iii i can make your bed rock jae millzoh baby drizzy drake i be stuck to you nicki minaj like glue glue baby hey shanell wanna spend it all on you you lil twist baby lil chuckey my room is the g spot and young lloyd call me mr flintstone i can make your bed rock girl hey iii i can make your bed rock ooh we young money iii i can make your bed rock girl ooh iii i can make your bed rock ooh iii i can make your bed rock ",1
14,"in my head","jason der""ulo",2010,"jason deṛlo beluga heights j j j r come on everybodys looking for love oh aint that the reason youre at this club oh you aint gon find it dancing with him no no i got a better solution for you girl oh just leave with me now say the word and well go ill be your teacher ill show you the ropes youll see a side of love youve never known i can see it goin down goin down in my head i see you all over me in my head you fulfill my fantasy my head youll be screaming oh in my head its going down my head its going down in my head yeah in my head oh yeah some dudes know all the right things to say oh when it comes down to it its all just game so instead of talking lemme demonstrate yeah get down to business and skip foreplay just leave with me now say the word and well go ill be your teacher ill show you the ropes youll see a side of love youve never known i can see it goin down goin down in my head i see you all over me in my head you fulfill my fantasy my head youll be screaming oh in my head its going down my head its going down in my head break it down come on lets go you singin to me baby in my head right now come on shell be screaming out when it all goes down just leave with me now say the word and well go ill be your teacher ill show you the ropes youll see a side of love youve never known i can see it goin down goin down in my head i see you all over me in my head you fulfill my fantasy my head youll be screaming oh in my head its going down my head its going down in my head i see you all over me in my head you fulfill my fantasy my head youll be screaming oh in my head its going down my head its going down its going down in my head",3
15,"rude boy","rihanna",2010," come here rude boy boy can you get it up come here rude boy boy is you big enough take it take it yeah baby baby yeah take it take it yeah love me love me yeahcome here rude boy boy can you get it up come here rude boy boy is you big enough take it take it yeah baby baby yeah take it take it yeah love me love me yeahtonight imma let you be the captain tonight imma let you do your thing yeah tonight imma let you be a rider giddy up giddy up giddy up babetonight imma let it be fire tonight imma let you take me higher tonight baby we can get it on yeah we can get it on yeahdo you like it boy i wawawant what you wawawant give it to me baby like boom boom boom what i wawawant is what you wawawant na naahcome here rude boy boy can you get it up come here rude boy boy is you big enough take it take it yeah baby baby yeah take it take it yeah love me love me yeahcome here rude boy boy can you get it up come here rude boy boy is you big enough take it take it yeah baby baby yeah take it take it yeah love me love me yeahtonight imma give it to you harder tonight imma turn your body out relax let me do it how i wanna if you got it i need it and imma put it downbuckle up imma give it to you stronger hands up we can go a little longer tonight imma get a little crazy get a little crazy babydo you like it boy i wawawant what you wawawant give it to me baby like boom boom boom what i wawawant is what you wawawant na naahcome here rude boy boy can you get it up come here rude boy boy is you big enough take it take it yeah baby baby yeah take it take it yeah love me love me yeahcome here rude boy boy can you get it up come here rude boy boy is you big enough take it take it yeah baby baby yeah take it take it yeah love me love me yeahi like the way you touch me there i like the way you pull my hair babe if i dont feel it i aint faking no noi like when you tell me kiss me there i like when you tell me move it thereso giddy up time to giddy up you say youre a rude boy show me what you got nowcome here right nowtake it take it baby baby take it take it love me love mecome here rude boy boy can you get it up come here rude boy boy is you big enough oh take it take it yeah baby baby yeah take it take it yeah love me love me yeahcome here rude boy boy can you get it up come here come here rude boy boy is you big enough oh take it take it yeah baby baby yeah take it take it yeah love me love me yeahlove me love me love me love me love me love metake it take it take it baby baby take it take it love me love melove me yeah love me love me yeah love me love me yeah love metake it take it baby baby take it take it love me love me ",1
16,"telephone","lady gaga featuring beyonce",2010," hello hello baby you called i cant hear a thing i have got no service in the club you see see whawhawhat did you say oh youre breaking up on me sorry i cannot hear you im kinda busykkinda busy kkinda busy sorry i cannot hear you im kinda busyjust a second its my favorite song theyre gonna play and i cannot text you with a drink in my hand eh you shoulda made some plans with me you knew that i was free and now you wont stop calling me im kinda busystop callin stop callin i dont wanna think any more i left my head and heart on the dance floor stop callin stop callin i dont wanna talk anymore its got my head and my heart on the dance flooreh eh eh eh eh eh eh eh eh eh stop telephonin me eh eh eh eh eh eh eh eh eh im busy eh eh eh eh eh eh eh eh stop telephonin me eh eh eh eh eh eh ehcall all you want but theres no one home and youre not gonna reach my telephone out in the club and im sippin that bub and youre not gonna reach my telephonecall all you want but theres no one home and youre not gonna reach my telephone out in the club and im sippin that bub and youre not gonna reach my telephoneboy the way you blowin up my phone wont make me leave no faster put my coat on faster leave my girls no faster i shoulda left my phone at home cause this is a disaster callin like a collector sorry i cannot answernot that i dont like you im just at a party and i am sick and tired of my phone ringin sometimes i feel like i live in grand central station tonight im not takin no calls cause ill be dancincause ill be dancin cause ill be dancin tonight im not takin no calls cause ill be dancinstop callin stop callin i dont wanna think any more i left my head and my heart on the dance floor stop callin stop callin i dont wanna talk any more i left my head and my heart on the dance floorstop callin stop callin i dont wanna think any more i left my head and my heart on the dance floor stop callin stop callin i dont wanna talk any more i left my head and my heart on the dance flooreh eh eh eh eh eh eh eh eh eh stop telephonin me eh eh eh eh eh eh eh eh eh im busy eh eh eh eh eh eh eh stop telephonin me eh eh eh eh eh eh ehcan call all you want but theres no one home youre not gonna reach my telephone cause im out in the club and im sippin that bub and youre not gonna reach my telephonecall when you want but theres no one home and youre not gonna reach my telephone cause im out in the club and im sippin that bub and youre not gonna reach my telephonemy telephone mmmy telephone cause im out in the club and im sippin that bub and youre not gonna reach my telephonemy telephone mmmy telephone cause im out in the club and im sippin that bub and youre not gonna reach my telephonewere sorry the number you have reached is not in service at this time please check the number or try your call again ",1
17,"teenage dream","katy perry",2010," you think im pretty without any makeup on you think im funny when i tell the punch line wrong i know you get me so i let my walls come down downbefore you met me i was all right but things were kinda heavy you brought me to life now every february youll be my valentine valentinelets go all the way tonight no regrets just love we can dance until we die you and i will be young foreveryou make me feel like im living a teenage dream the way you turn me on i cant sleep lets run away and dont ever look back dont ever look backmy heart stops when you look at me just one touch now baby i believe this is real so take a chance and dont ever look back dont ever look backwe drove to cali and got drunk on the beach got a motel and built a fort out of sheets i finally found you my missing puzzle piece im completelets go all the way tonight no regrets just love we can dance until we die you and i well be young foreveryou make me feel like im living a teenage dream the way you turn me on i cant sleep lets run away and dont ever look back dont ever look backmy heart stops when you look at me just one touch now baby i believe this is real so take a chance and dont ever look back dont ever look backima get your heart racing in my skintight jeans be your teenage dream tonight let you put your hands on me in my skintight jeans be your teenage dream tonightyouuuu you make me feel like im living a teenage dream the way you turn me on i cant sleep lets runaway and dont ever look back dont ever look backmy heart stops when you look at me just one touch now baby i believe this is real so take a chance and dont ever look back dont ever look backima get your heart racing in my skintight jeans be your teenage dream tonight let you put your hands on me in my skintight jeans be your teenage dream tonight ",1
18,"just the way you are","bruno mars",2010," oh her eyes her eyes make the stars look like theyre not shining her hair her hair falls perfectly without her trying shes so beautiful and i tell her everydayyeah i know i know when i compliment her she wont believe me and its so its so sad to think that she doesnt see what i see but every time she ask me do i look okay i saywhen i see your face theres not a thing that i would change cause youre amazing just the way you areand when you smile the whole world stops and stares for a while cause girl youre amazing just the way you areher lips her lips i could kiss them all day if shed let me her laugh her laugh she hates but i think its so sexy shes so beautiful and i tell her everydayoh you know you know you know id never ask you to change if perfects what youre searching for then just stay the same so dont even bother asking if you look okay you know ill saywhen i see your face theres not a thing that i would change cause girl youre amazing just the way you areand when you smile the whole world stops and stares for a while cause girl youre amazing just the way you arethe way you are the way you are girl youre amazing just the way you arewhen i see your face theres not a thing that i would change cause girl youre amazing just the way you areand when you smile the whole world stops and stares for a while cause girl youre amazing just the way you are yeah ",1
19,"cooler than me","mike posner",2010," if i could write you a song and make you fall in love i would already have you up under my arm i used up all my tricks i hope that you like this but you probably wont you think youre cooler than meyou got designer shades just to hide your face and you wear them around like youre cooler than me and you never say hey or remember my name its probably cause you think youre cooler than meyou got your high brow shoes on your feet and you wear them around like they aint wrong but you dont know the way that you look when your steps make that much noisesee i got you all figured out you meet everyones eyes just to feel seen behind your makeup nobody knows who you really are who you think that you areif i could write you a song and make you fall in love i would already have you up under my arm i used up all my tricks i hope that you like this but you probably wont you think youre cooler than meyou got designer shades just to hide your face and you wear them around like youre cooler than me and you never say hey or remember my name its probably cause you think youre cooler than meyou got your hot crowd switch in your walk and you dont even look when you pass by but you dont know the way that you look when your steps make that much noiseand dont you dare act like you dont know know whats up cause your nose is up im approaching up like i cant give you winter in the summer or summer in the winter miami in december trying to look bored in them diors she probably is was acting shallow til she found out how deep that my pockets is mrs prima madonna this is your reminder that i think youre fine but im finercause it sure seems cause it sure seems you got no doubt that you got no doubt but we all see we all see you got your head in the clouds cloudsif i could write you a song and make you fall in love i would already have you up under my arm i used up all my tricks i hope that you like this but you probably wont you think youre cooler than meyou got designer shades just to hide your face and you wear them around like youre cooler than me and you never say hey or remember my name its probably cause you think youre cooler than me ",1
20,"imma be","the black eyed peas",2010," imma be imma be imma imma imma be imma be imma be imma imma imma be imma be imma be imma imma imma beimma be be be be imma imma be imma be be be be imma imma be imma be be be be imma imma beimma be on the next level imma be rockin over that bass treble imma be chillin with my mutha mutha crew imma be makin all them deals you wanna doimma be up in them alist flicks doin onehanded flips and imma be sippin on drinks cause imma be shakin my hips you gon be lickin your lipsimma be takin them pics lookin all fly and shit imma be the flyest chick so fly imma be spreadin my wings imma be doin my thang do it do it okayimma imma swing it this way imma imma imma imma swing it that way this is fergie ferg and imma imma be here to say the 21st century until infinityimma be imma be imma imma imma be imma be imma be imma imma imma berich baby quick quick imma imma imma be the shit baby check me out be imma be imma be on top never stop be be imma imma be imma be be beimma imma be imma be fuckin her imma imma imma be imma be be be imma imma beimma be the upgraded new negro imma be the average brother with soul imma be worldwide international imma be in rio rockin tokyoimma be brilliant with my millions loan out a billion and get back a trillion imma be a brother but my name aint lehman imma be ya bank i be loaning out semenhoneys in debt baby bouncin them checks but i dont really mind when they bouncin them chicks imma be imma be imma imma imma be rich baby imma be imma be immaimma be sick with the flow when the goal is to rock the whole globe imma be the future imma be the whole reason why you even wanna come to a show you can see me while im rockin and im kickin down the door thenimma be up in the club doin whatever i like imma be poppin that bubbly coolin and livin that good life oh lets make this last forever partyin with you together on and on and on and on and on and on and on and on andimma be rockin like this wat yall niggas wanna talk shit but why dont you put it on the blog nigga rockin like this my job niggawe cant help that we popular and all these folks want to flock to us come to a show and just rock with us a million plus with binocularsimma be imma be imma be imma be imma be livin that good life imma be livin that good good imma be imma be imma be imma be imma be livin that good life imma be livin that good goodimma be imma be imma be imma be imma be livin that good life imma be livin that good good imma be imma be imma be imma be imma be livin that good life imma be livin that good good imma be imma be imma be imma be imma be imma beimma imma imma be rockin their ipod to the infinite bep we definitely on some next level shit futuristic musically powerful with energy from the soul we sonically sending positivitycrossed the globe and seven seas take care of our families rockin shows makin cheese imma be out with my peas livin life feelin free thats how its supposed to be come join my festivities celebrate like imma beimma be imma be imma be imma be imma be imma be imma be imma be imma be imma be imma be imma be ",1
21,"empire state of mind","jayz and alicia keys",2010," yea yea im out that brooklyn now im down in tribeca right next to deniro but ill be hood forever im the new sinatra and since i made it here i can make it anywhere yea they love me everywhere i used to cop in harlem all of my dominicanos right there up on broadway pull me back to that mcdonalds took it to my stashbox 560 state st catch me in the kitchen like a simmons wippin pastrys cruisin down 8th st off white lexus drivin so slow but bk is from texas me im out that bedstuy home of that boy biggie now i live on billboard and i brought my boys with me say whattup to tyty still sippin mai tais sittin courtside knicks and nets give me high five nigga i be spiked out i could trip a referee tell by my attitude that im most definitely fromin new york concrete jungle where dreams are made of theres nothin you cant do now youre in new york these streets will make you feel brand new big lights will inspire you lets hear it for new york new york new yorkcatch me at the x with og at a yankee game shit i made the yankee hat more famous then a yankee can you should know i bleed blue but i aint a crip though but i got a gang of niggas walkin with my clique though welcome to the melting pot corners where we sellin rock afrika bambataa shit home of the hiphop yellow cab gypsy cab dollar cab holla back for foreigners it aint for they act like they forgot how to act eight million stories out there in it naked city is a pity half of yall wont make it me i got a plug special ed i got it made if jesus payin lebron im payin dwayne wade three dice ceelo three card monte labor day parade rest in peace bob marley statue of liberty long live the world trade long live the king yo im from the empire st thatsin new york concrete jungle where dreams are made of theres nothin you cant do now youre in new york these streets will make you feel brand new big lights will inspire you lets hear it for new york new york new yorklights is blinding girls need blinders so they can step out of bounds quick the sidelines is lined with casualties who sip to life casually then gradually become worse dont bite the apple eve caught up in the incrowd now youre in style end of the winter gets cold en vogue with your skin out city of sin its a pity on the whim good girls gone bad the citys filled with them mommy took a bus trip now she got her bust out everybody ride her just like a bus route hail mary to the city youre a virgin and jesus cant save you life starts when the church end came here for school graduated to the high life ball players rap stars addicted to the limelight mdma got you feelin like a champion the city never sleeps better slip you an ambienin new york concrete jungle where dreams are made of theres nothin you cant do now youre in new york these streets will make you feel brand new big lights will inspire you lets hear it for new york new york new yorkone hand in the air for the big city street lights big dreams all lookin pretty no place in the world that could compare put your lighters in the air everybody say yeah yeah yea yeain new york concrete jungle where dreams are made of theres nothin you cant do now youre in new york these streets will make you feel brand new big lights will inspire you lets hear it for new york new york new york ",1
22,"dj got us fallin in love","usher featuring pitbull",2010," usher yeah man so we back in the club with our bodies rockin from side to side side to side thank god the week is done i feel like a zombie goin back to life back to life hands up and suddenly we all got our hands up no control of my body aint i seen you before i think i remember those eyes eyes eyes eyescause baby tonight dj got us fallin in love again yeah baby tonight dj got us fallin in love again so dance dance like its the last last night of your life life gon get you right cause baby tonight dj got us fallin in love againkeep downing drinks like theres no tomorrow theres just right now now now now now nowgonna set the roof on fire gonna burn this mother fucker down down down down down downhands up when the music drops we both put our hands up put your hands on my body swear i seen you before i think i remember those eyes eyes eyes eyescause baby tonight dj got us fallin in love again yeah baby tonight dj got us fallin in love again so dance dance like its the last last night of your life life gonna get you right cause baby tonight dj got us fallin in love againusher dont lie hear no evil or speak no evil or see no evil get it baby hope you catch that like to thats how we roll my life is a movie and you just tivo mami got me twisted like a dreadlock she dont wrestle but i got her in a headlock yabadabadoo make her bedrock mami on fire psh red hots bada bing bada boom mr worldwide as i step in the room im a hustler baby but that you knew and tonight its just me and youcause baby tonight the dj got us fallin in love again yeah baby tonight the dj got us fallin in love again so dance dance like its the last last night of your life life gon get you rightcause baby tonight the dj got us fallin in love again yeah baby tonight the dj got us fallin in love again so dance dance like its the last last night of your life life gonna get you rightcause baby tonight the dj got us fallin in love again yeah thank you dj ",1
23,"billionaire","travie mccoy featuring bruno mars",2010," i wanna be a billionaire so freakin bad buy all of the things i never had uh i wanna be on the cover of forbes magazine smiling next to oprah and the queenoh every time i close my eyes i see my name in shining lights yeah a different city every night oh right i swear the world better prepare for when im a billionaireyeah i would have a show like oprah i would be the host of everyday christmas give travie a wish list id probably pull an angelina and brad pitt and adopt a bunch of babies that aint never had shit give away a few mercedes like here lady have this and last but not least grant somebody their last wish its been a couple months that ive been single so you can call me travie claus minus the ho ho get it hehe id probably visit where katrina hit and damn sure do a lot more than fema did yeah cant forget about me stupid everywhere i go imma have my own theme musicoh every time i close my eyes i see my name in shining lights a different city every night oh right i swear the world better prepare for when im a billionaire oh ooh oh ooh for when im a billionaire oh ooh oh ooh for when im a billionaireill be playing basketball with the president dunking on his delegates then ill compliment him on his political etiquette toss a couple milli in the air just for the heck of it but keep the five twenties tens and bens completely separate and yeah ill be in a whole new tax bracket we in recession but let me take a crack at it ill probably take whatevers left and just split it up so everybody that i love can have a couple bucks and not a single tummy around me would know what hungry was eating good sleeping soundly i know we all have a similar dream go in your pocket pull out your wallet and put it in the air and singi wanna be a billionaire so fuckin bad buy all of the things i never had uh i wanna be on the cover of forbes magazine smiling next to oprah and the queen oh every time i close my eyes i see my name in shining lights a different city every night all right i swear the world better prepare for when im a billionaire oh ooh oh ooh for when im a billionaire oh ooh oh ooh for when im a billionairei wanna be a billionaire so fuckin bad ",1
24,"not afraid","eminem",2010," im not afraid im not afraid yeah to take a stand its been a ride everybody i guess i had to go to that place to get to this one now some of you might still be in that place if youre tryin to get out just follow me ill get you thereyou can try and read my lyrics off of this paper before i lay em but you wont take the sting out these words before i say em cause aint no way im a let you stop me from causin mayhem when i say im a do somethin i do it i dont give a damn what you think im doin this for me so fuck the world feed it beans its gassed up if it thinks its stoppin me im a be what i set out to be without a doubt undoubtedly and all those who look down on me im tearin down your balcony no if ands or buts dont try to ask him why or how can he from infinite down to the last relapse album hes still shittin whether hes on salary paid hourly until he bows out or he shits his bowels out of him whichever comes first for better or worse hes married to the game like a fuck you for christmas his gift is a curse forget the earth hes got the urge to pull his dick from the dirt and fuck the whole universe    memory  byamandah   editor    a 12yearold eminem superfan named sparsh shah released an inspirational cover of not afraid earlier this year and its starting to go viral we still    see all   im not afraid im not afraid to take a stand to take a stand everybody everybody come take my hand come come take my hand well walk this road together through the storm whatever weather cold or warm just letting you know that youre not alone holla if you feel like youve been down the same roadokay quit playin with the scissors and shit and cut the crap i shouldnt have to rhyme these words in the rhythm for you to know its a rap you said you was king you lied through your teeth for that fuck your feelings instead of gettin crowned youre gettin capped and to the fans ill never let you down again im back i promise to never go back on that promise in fact lets be honest that last relapse cd was eh perhaps i ran them accents into the ground relax i aint goin back to that now all im tryin to say is get back clickclack blow cause i aint playin around its a game called circle and i dont know how im way too up to back down but i think im still tryin to figure this crap out thought i had it mapped out but i guess i didnt this fuckin black cloud still follows me around but its time to exercise these demons these muhfuckers are doin jumpin jacks nowim not afraid im not afraid to take a stand to take a stand everybody everybody come take my hand come come take my hand well walk this road together through the storm whatever weather cold or warm just letting you know that youre not alone holla if you feel like youve been down the same roadand i just cant keep living this way so starting today im breaking out of this cage im standing up im a face my demons im manning up im a hold my ground ive had enough now im so fed up time to put my life back together right now nowit was my decision to get clean i did it for me admittedly i probably did it subliminally for you so i could come back a brand new me you helped see me through and dont realize what you did believe me you i been through the ringer but they could do little to the middle finger i think i got a tear in my eye i feel like the king of my world haters can make like bees with no stingers and drop dead no more bee flingers no more drama from now on i promise to focus solely on handlin my responsibilities as a father so i solemnly swear to always treat this roof like my daughters and raise it you couldnt lift a single shingle on it cause the way i feel im strong enough to go to the club or the corner pub and lift the whole liquor counter up cause im raising the bar id shoot for the moon but im too busy gazin at stars i feel amazing and im notim not afraid im not afraid to take a stand to take a stand everybody everybody come take my hand come come take my hand well walk this road together through the storm whatever weather cold or warm just letting you know that youre not alone holla if you feel like youve been down the same road ",1
25,"replay","iyaz",2010," shawtys like a melody in my head that i cant keep out got me singin like na na na na everyday its like my ipod stuck on replay replayayayayshawtys like a melody in my head that i cant keep out got me singin like na na na na everyday its like my ipod stuck on replay replayayayayremember the first time we met you was at the mall wit you friend i was scared to approach ya but then you came closer hopin you would give me a chancewho would have ever knew that we would ever be more than friends were friends worldwide breakin all the rules she like a song played again and againthat girl like somethin off a poster that girl a dime they say that girl is a gun to my holster shes runnin through my mind all day ayshawtys like a melody in my head that i cant keep out got me singin like na na na na everyday its like my ipod stuck on replay replayayayayshawtys like a melody in my head that i cant keep out got me singin like na na na na everyday its like my ipod stuck on replay replayayayaysee you been all around the globe not once did you leave my mind we talk on the phone from night til the morn girl you really change my life doin things i never do im in the kitchen cookin things she likeswere friends worldwide breakin all the rules someday i wanna make you my wife that girl like somethin off a poster that girl a dime they say that girl is the gun to my holster shes runnin through my mind all day ayshawtys like a melody in my head that i cant keep out got me singin like na na na na everyday its like my ipod stuck on replay replayayayayshawtys like a melody in my head that i cant keep out got me singin like na na na na everyday its like my ipod stuck on replay replayayayayi can be your melody oh girl i could write you a symphony the one that could fill your fantasies so come baby girl lets sing with me ay i can be your melody a girl that could write you a symphony the one that could fill your fantasies so come baby girl lets sing with meay na na na na na na na na na na na na na shawty got me singin na na na na na na na na na na na na na na now she got me singinshawtys like a melody in my head that i cant keep out got me singin like na na na na everyday its like my ipod stuck on replay replayayayayshawtys like a melody in my head that i cant keep out got me singin like na na na na everyday its like my ipod stuck on replay replayayayay ",1
26,"sexy bitch","david guetta featuring akon",2010," yes i can see her cause every girl in here wanna be her oh shes a diva i feel the same and i wanna meet herthey say she low down its just a rumor and i dont believe em they say she needs to slow down the baddest thing around townshes nothing like a girl youve ever seen before nothing you can compare to your neighborhood hoe im tryna find the words to describe this girl without being disrespectful the way that booty movin i cant take no more had to stop what im doin so i can pull up close im tryna find the words to describe this girl without being disrespectfuldamn girl damn whos a sexy bitch a sexy bitch damn whos a sexy bitch damn girldamn whos a sexy bitch a sexy bitch damn whos a sexy bitch damn girlyes i can see her cause every girl in here wanna be her oh shes a diva i feel the same and i wanna meet herthey say she low down its just a rumor and i dont believe em they say she needs to slow down the baddest thing around townshes nothing like a girl youve ever seen before nothing you can compare to your neighborhood hoe im tryna find the words to describe this girl without being disrespectful the way that booty movin i cant take no more have to stop what im doin so i can pull up close im tryna find the words to describe this girl without being disrespectfuldamn girl damn whos a sexy bitch a sexy bitch damn whos a sexy bitch damn girldamn whos a sexy bitch a sexy bitch damn whos a sexy bitch damn girldamn whos a sexy bitch a sexy bitch damn whos a sexy bitch damn girldamn whos a sexy bitch a sexy bitch damn whos a sexy bitchdamn whos a sexy bitch ",1
27,"breakeven","the script",2010,"im still alive but im barely breathing just prayed to a god that i dont believe in cause i got time while she got freedom cause when a heart breaks no it dont breakeven her best days will be some of my worst she finally met a man thats gonna put her first while im wide awake shes no trouble sleeping cause when a heart breaks no it dont breakeven even no what am i suppose to do when the best part of me was always you and what am i suppose to say when im all choked up and youre okay im falling to pieces yeah im falling to pieces they say bad things happen for a reason but no wise words gonna stop the bleeding cause shes moved on while im still grieving and when a heart breaks no it dont breakeven even no what am i gonna do when the best part of me was always you and what am i suppose to say when im all choked up and youre okay im falling to pieces yeah im falling to pieces yeah im falling to pieces   ones still in love while the other ones leaving im falling to pieces   cause when a heart breaks no it dont breakeven you got his heart and my heart and none of the pain you took your suitcase i took the blame now im tryna make sense of what little remains oh cause you left me with no love and no love to my name im still alive but im barely breathing just prayed to a god that i dont believe in cause i got time while she got freedom cause when a heart breaks no it dont break no it dont break no it dont breakeven no what am i gonna do when the best part of me was always you and what am i supposed to say when im all choked up and youre okay im falling to pieces yeah im falling to pieces yeah im falling to pieces   ones still in love while the other ones leaving im falling to pieces   cause when a heart breaks no it dont breakeven oh it dont breakeven no oh it dont breakeven no oh it dont breakeven no",3
28,"your love is my drug","keha",2010," maybe i need some rehab or maybe just need some sleep i got a sick obsession im seein it in my dreams im lookin down every alley im makin those desperate calls im stayin up all night hopin hitin my head against the wallwhat you got boy is hard to find i think about it all the time im all strung out my heart is fried i just cant get you off my mindbecause your love your love your love is my drug your love your love your love i said your love your love your love is my drug your love your love your lovewont listen to any advice mommas tellin me i should think twice but look into my own devices im addicted its a crisis my friends think ive gone crazy my judgments gettin kinda hazy my esteem is gonna be affected if i keep it up like a love sick crack headwhat you got boy is hard to find i think about it all the time im all strung out my heart is fried i just cant get you off my mindbecause your love your love your love is my drug your love your love your love i said your love your love your love is my drug your love your love your lovei dont care what people say the rush is worth the price i pay i get so high when your with me but crash and crave you when you leavehey so i got a question do you wanna have a slumber party in my basement do i make your heart beat like an 808 drum is my love your drug your drug hi your drug hi your drug is my love your drugbecause your love your love your love is my drug your love your love your love i said your love your love your love is my drug your love your love your lovebecause your love your love your love is my drug your love your love your love i said your love your love your love is my drug your love your love your lovehey hey so you love your love your love is my drug i like your beard ",1
29,"i gotta feeling","the black eyed peas",2010," i gotta feeling that tonights gonna be a good night that tonights gonna be a good night that tonights gonna be a good good nighta feeling that tonights gonna be a good night that tonights gonna be a good night that tonights gonna be a good good nighta feeling woohoo that tonights gonna be a good night that tonights gonna be a good night that tonights gonna be a good good nighta feeling woohoo that tonights gonna be a good night that tonights gonna be a good night that tonights gonna be a good good nighttonights the night lets live it up i got my money lets spend it up go out and smash it like oh my god jump off that sofa lets get get offi know that well have a ball if we get down and go out and just lose it all i feel stressed out i wanna let it go lets go way out spaced out and losing all controlfill up my cup mazel tov look at her dancing just take it off lets paint the town well shut it down lets burn the roof and then well do it againlets do it lets do it lets do it lets do it and do it and do it lets live it up and do it and do it and do it do it do it lets do it lets do it lets do itcause i gotta feeling woohoo that tonights gonna be a good night that tonights gonna be a good night that tonights gonna be a good good nighta feeling woohoo that tonights gonna be a good night that tonights gonna be a good night that tonights gonna be a good good nighttonights the night hey  lets live it up lets live it up i got my money my pay lets spend it up lets spend it upgo out and smash it smash it like oh my god like oh my god jump off that sofa come on lets get get offfill up my cup drink mazel tov lchaim look at her dancing move it move it just take it offlets paint the town paint the town well shut it down lets shut it down lets burn the roof and then well do it againlets do it lets do it lets do it lets do it and do it and do it lets live it up and do it and do it and do it do it do it lets do it lets do it lets do it do it do it do ithere we come here we go we gotta rock rock rock rock rock rock easy come easy go now we on top top top top top top feel the shot body rock rock it dont stop stop stop stop stop stop round and round up and down around the clock rock rock rock rock rockmonday tuesday wednesday and thursday friday saturday saturday to sunday get get get get get with us you know what we say say party every day pppparty every dayand im feelin woohoo that tonights gonna be a good night that tonights gonna be a good night that tonights gonna be a good good nighta feelin woohoo that tonights gonna be a good night that tonights gonna be a good night that tonights gonna be a good good night woohoo ",1
30,"fireflies","owl city",2010," you would not believe your eyes if ten million fireflies lit up the world as i fell asleepcause they fill the open air and leave teardrops everywhere youd think me rude but i would just stand and stareid like to make myself believe that planet earth turns slowly its hard to say that id rather stay awake when im asleep cause everything is never as it seemscause id get a thousand hugs from ten thousand lightning bugs as they tried to teach me how to dancea foxtrot above my head a sock hop beneath my bed a disco ball is just hanging by a thread thread threadid like to make myself believe that planet earth turns slowly its hard to say that id rather stay awake when im asleep cause everything is never as it seems when i fall asleepleave my door open just a crack please take me away from here cause i feel like such an insomniac please take me away from here why do i tire of counting sheep please take me away from here when im far too tired to fall asleepto ten million fireflies im weird cause i hate goodbyes i got misty eyes as they said farewell said farewellbut ill know where several are if my dreams get real bizarre cause i saved a few and i keep them in a jar jar jarid like to make myself believe that planet earth turns slowly its hard to say that id rather stay awake when im asleep cause everything is never as it seems when i fall asleepid like to make myself believe that planet earth turns slowly its hard to say that id rather stay awake when im asleep cause everything is never as it seems when i fall asleepid like to make myself believe that planet earth turns slowly its hard to say that id rather stay awake when im asleep because my dreams are bursting at the seams ",1
31,"say aah","trey songz featuring fabolous",2010," aye when i give you these keys homeboy dont move my car man i ride in the front ya dig dont move my shit man oh oh baby whats your namego girl its your birthday open wide i know you thirsty say aah aah aah aah aah say aah aah aah aah aah and we dont buy no drinks at the bar we pop champagne cause we got that dough let me hear you say aah aah aah aah aah you want me say aah aah aah aah aahpocket full of money money club dont jump til i walk inside the doorway doorway bottles of that rose smellin like dolce and gabbana yup shawty you the baddest and to meet you is an honor honor lil mama i got a table waiting what you think about a convo and if you like it baby we could take it to the condo and if you like the condo we could move the party to the bedroom imma beat your body like a congosince were in the club for now for now might as well get another round round notice there aint nothing in your cup so give here baby let me fill it up fill it upgo girl its your birthday open wide know you thirsty say aah aah aah aah aah say aah aah aah aah aah and we dont buy no drinks at the bar we pop champagne cause we got that dough let me hear you say ah aah aah aah aah you want me say aah aah aah aah aahshawty dance like a video vixen said her man be on that bullshit pimpin well i retire from the bull like pippen tryin to get you home or would you be marge simpson whip out front we could leave like pronto maple leaf dash got you feelin like toronto make your body rise like your puffin on a joint though girl thats only if you want though you readybut since were in the club for now for now might as well get another round notice there aint nothin in your cup so get here baby let me fill it up fill it upgo girl its your birthday open wide i know you thirsty say aah aah aah aah aah say aah aah aah aah aah and we dont buy no drinks at the bar we pop champagne cause we got that dough let me hear you say aah aah aah aah aah its loso you might be too drunk to know so you want me say aah aah aah aah aahi make em say aah just like im your doctor all i prescribe is cranberry and vodka them im tryna kick it play a little soccer and bust a couple off blacka blacka the henny in ya system you start drunk texting and suddenly you miss him or even wanna diss him then you call your girl like what the hell you gave me she like dont blame me you better do like jamie and blame it on the liquor he works every time patron you my nigga know its somebody birthday well where ya and i know you thirsty but dont know where your glass atgo girl its your birthday open wide i know your thirsty say aah aah aah aah aah say aah aah aah aah aah and we dont buy no drinks at the bar we pop champagne cause we got that dough let me hear you say aah aah aah aah aah if you want me say aah aah aah aah aahgo girl its your birthday open wide i know your thirsty say aah aah aah aah aah say aah aah aah aah aah and we dont buy no drinks at the bar we pop champagne cause we got that dough let me hear you say aah aah aah aah aah if you want me say aah aah aah aah aah ",1
32,"find your love","drake",2010," im more than just an option hey hey hey refuse to be forgotten hey hey hey i took a chance with my heart hey hey hey and i feel it taking overi better find your lovin i better find your heart i better find your lovin i better find your heart i better find your lovin i better find your heart i bet if i give all my love then nothings gonna tear us apartim more than just a number hey hey hey i doubt youll find another hey hey hey so every single summer hey hey hey ill be the one that you rememberi better find your lovin i better find your heart i better find your lovin i better find your heart i better find your lovin i better find your heart i bet if i give all my love then nothings gonna tear us apartits more than just a mission hey hey hey you hear but you dont listen hey hey hey you better pay attention hey hey hey and get what you been missingi better find your lovin i better find your heart i better find your lovin i better find your heart i better find your lovin i better find your heart i bet if i give all my love then nothings gonna tear us aparttoo many times ive been wrong i guess being right takes too long im done waiting theres nothing left to do but give all i have to you and i better find your lovin i better find your heart i better find your lovin i bet if i give all my love then nothings gonna tear us aparti bet if i give all my love then nothings gonna tear us apart ",1
33,"alejandro","lady gaga",2010," i know that we are young and i know that you may love me but i just cant be with you like this anymore alejandroshes got both hands in her pocket and she wont look at you wont look at you she hides true love en su bolsillo she got a halo around her finger around youyou know that i love you boy hot like mexico rejoice at this point i gotta choose nothing to losedont call my name dont call my name alejandro im not your babe im not your babe fernandodont wanna kiss dont wanna touch just smoke my cigarette and hush dont call my name dont call my name robertoalejandro alejandro alealejandro alealejandroalejandro alejandro alealejandro alealejandrostop please just let me go alejandro just let me goshes not broken shes just a baby but her boyfriends like a dad just like a dad and all those flames that burned before him now hes gonna fire fight gotta cool the badyou know that i love you boy hot like mexico rejoice at this point ive gotta choose nothing to losedont call my name dont call my name alejandro im not your babe im not your babe fernandodont wanna kiss dont wanna touch just smoke my cigarette and hush dont call my name dont call my name robertoalejandro alejandro alealejandro alealejandroalejandro alejandro alealejandro alealejandrodont bother me dont bother me alejandro dont call my name dont call my name bye fernando im not your babe im not your babe alejandro dont wanna kiss dont wanna touch fernandodont call my name dont call my name alejandro im not your babe im not your babe fernando dont wanna kiss dont wanna touch just smoke my cigarette and hush dont call my name dont call my name robertoalejandro alejandro alealejandro alealejandroalejandro alejandro alealejandro alealejandrodont call my name dont call my name alejandro im not your babe im not your babe fernando dont wanna kiss dont wanna touch just smoke my cigarette and hush dont call my name dont call my name robertoalejandro ",1
34,"ridin solo","jason der""ulo",2010,"im feeling like a star you cant stop my shine im lovin cloud nine my heads in the sky im solo im ridin solo im ridin solo im ridin solo solo yeah im feelin good tonight finally doing me and it feels so right oh time to do the things i like going to the club everythings alright oh no one to answer to no one thats gonna argue no and since i got that hold off me im livin life now that im free yeah told me get my shit together now i got my shit together yeah now i made it through the weather better days are gonna get better im so sorry that it didnt work out im movin on im so sorry but its over now the pain is gone im puttin on my shades to cover up my eyes im jumpin in my ride im headin out tonight im solo im ridin solo im ridin solo im ridin solo solo im feelin like a star you cant stop my shine im lovin cloud nine my heads in the sky im solo im ridin solo im ridin solo im ridin solo solo now im feelin how i should never knew single could feel this good oh stop playin misunderstood back in the game who knew i would oh so flat imma spread my wings loving myself makes me wanna sing oh oh yeah yeah yeah yeah yeah told me get my shit together now i got my shit together yeah now i made it through the weather better days are gonna get better im so sorry that it didnt work out im movin on im so sorry but its over now the pain is gone im puttin on my shades to cover up my eyes im jumpin in my ride im headin out tonight im solo im ridin solo im ridin solo im ridin solo solo im feelin like a star you cant stop my shine im lovin cloud nine my heads in the sky im solo im ridin solo im ridin solo im ridin solo solo ridin solo solo im ridin solo solo solo solo solo its like solo solo solo  im living my life aint got stress no more im putting on my shades to cover up my eyes im jumpin in my ride im headin out tonight im solo im ridin solo im ridin solo im ridin solo solo im feeling like a star you cant stop my shine im lovin cloud nine my heads in the sky im solo im ridin solo im ridin solo im ridin solo solo im ridin solo im ridin solo solo im ridin solo solo im ridin solo solo",3
35,"just a dream","nelly",2010," i was thinking bout her thinkin bout me thinkin bout us what we gon be open my eyes yeah it was only just a dream so i traveled back down that road will she come back no one knows i realize yeah it was only just a dreami was at the top and now its like im in the basement number one spot and now she find her a replacement i swear now i cant take it knowing somebodys got my baby and now you aint around baby i cant think i shouldve put it down shouldve got the ring cause i can still feel it in the air see her pretty face run my fingers through her hair my lover my life my shawty my wife she left me im tied cause i knew that it just aint righti was thinking bout her thinkin bout me thinkin bout us what we gon be open my eyes yeah it was only just a dream so i traveled back down that road will she come back no one knows i realize yeah it was only just a dreamwhen i be ridin man i swear i see her face at every turn tryna get my usher on but i cant let it burn and i just hopes she know that she the only one i yearn for more and more i miss her when will i learn didnt give her all my love i guess now i got my payback now im in the club thinking all about my baby hey she was so easy to love but wait i guess that love wasnt enough im going through it every time that im alone and now im missing wishing shed pick up the phone but she made the decision that she wanted to move on cause i was wrongi was thinking bout her thinkin bout me thinkin bout us what we gon be open my eyes yeah it was only just a dream so i traveled back down that road will she come back no one knows i realize yeah it was only just a dreamif you ever loved somebody put your hands up if you ever loved somebody put your hands up and now theyre gone and youre wishing you could give them everything said if you ever loved somebody put your hands up if you ever loved somebody put your hands up now theyre gone and youre wishing you could give them everythingi was thinking bout her thinkin bout me thinkin bout us what we gon be open my eyes yeah it was only just a dream so i traveled back down that road will she come back no one knows i realize yeah it was only just a dreami was thinking bout her thinkin bout me thinkin bout us what we gon be open my eyes yeah it was only just a dream so i traveled back down that road will she come back no one knows i realize yeah it was only just a dream ",1
36,"how low","ludacris",2010," how low can you go how low can you go how low can you go how low can you go how low can you go how low can you go how low can you go how low can you go how low can you go how low can you go how low can you go how low can you go how low can you go how low can you go how low can you go how low can you goluda she could go lower than i ever really thought she could face down ass up the top of your booty jiggling out your jeans baby pull your pants up i like it when i see you do it better then i ever seen it done before a lot of women drop it to the ground but how low can you go lower then your mamas ever seen it in her life time never wouldve imagined did not even in her right mind practice in front of that mirror now you doing it on the dance floor mad cause i cant get wit chick ya just show me how to dance oh i may not wanna get low so i post it up kinda like a playa do but if you come to the crib then i might show you girls a thang or two yea i think you a superstar wit a ass like that you gotta blow before you make it big theres just one thing that i gotta knowhow low can you go how low can you go how low can you go how low can you go how low can you go how low can you go how low can you go how low can you goi could go low go low lower than you know i could go lowgo low lower than you know go low go low lower than you know go low go low lower than you knowi be like nicknacpaddywack oh where my kitty cat give a dog a bone how many licks does it takes till i get to the center and let a realer nigga take you home i could make me show stop soon as you hear this flow pop from atlanta and all the way down to your block put the needle on a record and i make her get lower than a lamborghini and if she really gettin low then im a shoot a video and put it all on tv cause i like that french vanilla and the caramel but when it comes to chocolate i know that very well asian persuasion no discrimination i love how they seem to please us i wanna taste them butterican pican peanut buttercups like reeses pieces cause i think you a superstar with a ass like that you gotta blow before you make it big well there just one thing i gotta knowhow low can you go how low can you go how low can you go how low can you go how low can you go how low can you go how low can you go how low can you goi could go low go low lower than you know i could go low go low lower than you know i could go low go low lower than you know go low go low lower than you knowdrop it hit it dump it split it dont stop get it get it put it on reverse just to rack it up let me put some luda in it show me what you workin wit ill show you some of this bank roll yea you a superstar but theres one thing i gotta know sohow low can you go how low can you go how low can you go how low can you go how low can you go how low can you go how low can you go how low can you goi could go low go low lower than you know i could go low go low lower than you know i could go low go low lower than you know go low go low lower than you know ",1
37,"like a g6","far east movement featuring the cataracs and dev",2010," poppin bottles in the ice like a blizzard when we drink we do it right gettin slizzard sippin sizzurp in my ride in my ride like three six now im feelin so fly like a g 6 like a g 6 like a g 6 now im feelin so fly like a g 6 like a g 6 like a g 6 now im feelin so fly like a g 6gimme that moet et gimme that crystal stal ladies love my style at my table gettin wild get them bottles poppin we get that drip and that drop now now give me two more bottles cause you know it dont stop808 hell yea drink it up drinkdrink it up these sober girls around me they be actin like they drunk they be actin like they drunk actinactin like they drunk when sober girls around me they be actinactin like they drunkpoppin bottles in the ice like a blizzard when we drink we do it right gettin slizzard sippin sizzurp in my ride in my ride like three six now im feelin so fly like a g 6 like a g 6 like a g 6 now im feelin so fly like a g 6 like a g 6 like a g 6 now im feelin so fly like a g 6sippin on sippin on sizz im a ma make it fizz girl i keep it gangsta poppin bottles at the crib this is how we live every single night take that bottle to the head and let me see you fly808 hell yea drink it up drinkdrink it up when sober girls around me they be actin like they drunk they be actin like they drunk actinactin like they drunk when sober girls around me actinactin like they drunkpoppin bottles in the ice like a blizzard when we drink we do it right gettin slizzard sippin sizzurp in my ride in my ride like three six now im feelin so fly like a g 6 like a g 6 like a g 6 now im feelin so fly like a g 6 like a g 6 like a g 6 now im feelin so fly like a g 6its that 808 bump make you put yo hands up make you put yo hands up put yo put yo hands up you cant touch this its that 808 bump make you put yo hands up make you put yo hands up put yo put yo hands up you cant touch this hell yea make you put yo hands up put yo put yo hands up hell yea make you put yo hands up put yo put yo hands uppoppin bottles in the ice like a blizzard when we drink we do it right gettin slizzard sippin sizzurp in my ride in my ride like three six now im feelin so fly like a g 6 like a g 6 like a g 6 now im feelin so fly like a g 6 like a g 6 like a g 6 now im feelin so fly like a g 6 ",1
38,"carry out","timbaland featuring justin timberlake",2010," eh eh eh baby youre looking fire hot ill have you open all night like an ihop i take you home baby let you keep me company you gimme some of you i give you some of me you look good baby must taste heavenly im pretty sure that you got your own recipe so pick it up pick it up yeah i like you i just cant get enough i got to drive through cause is me you you me me you all night have it your way foreplay before i feed your appetite let me get my ticket baby let me get in line i can tell the way you like baby super size hold on you got yours let me get mine i aint leave until they turn over the close sign check ittake my order cause your body like a carry out let me walk into your body until you hear me out turn me on my baby dont you cut me out turn me on my baby dont you cut me out take my order cause your body like a carry out let me walk into your body until this lights out turn me on my baby dont you cut me out turn me on my baby dont you cut me outnumber one ill take two number threes thats a whole lot of you and a side of me now is a fool of myself to want you full of me and if its room for dessert then i want a piece baby get my order right no errors im a touch you on the right areas i can feed you you can feed me girl deliver that to me come see me cause is me you you me me you all night have it your way foreplay before i feed you appetite do you like it well done cause i do it well cause im well seasoned if you couldnt tell now let me walk into your body until you hear me out and turn me on my baby dont you cut me out say take my order cause your body like a carry out let me walk into your body until you hear me out gimme allturn me on my baby dont you cut me out turn me on my baby dont you cut me out take my order cause your body like a carry out let me walk into your body until this lights out turn me on my baby dont you cut me out turn me on my baby dont you cut me out cut me outwhats your name whats your number im glad i came can you take my order whats your name girl whats your number im glad i came can you take my ordercome over here whats your name come closer whats your number im over here im glad i came a little closer can you take my order come over here whats your name come closer whats your number over here im glad i came a little closer can you take my ordertake my order cause your body like a carry out let me walk into your body until you gimme all turn me on my baby dont you cut me out turn me on my baby dont you cut me out take my order cause your body like a carry out let me walk into your body until this lights out turn me on my baby dont you cut me out turn me on my baby dont you cut me out take my order cause your body like a carry out let me walk into your body until you gimme allturn me on my baby dont you cut me out turn me on my baby dont you cut me out take my order cause your body like a carry out let me walk into your body until this lights out turn me on my baby dont you cut me out turn me on my baby dont you cut me out dont you cut me out ",1
39,"havent met you yet","michael buble",2010," im not surprised not everything lasts ive broken my heart so many times i stopped keepin track talk myself in i talk myself out i get all worked up then i let myself downi tried so very hard not to lose it i came up with a million excuses i thought i thought of every possibilityand i know someday that itll all turn out youll make me work so we can work to work it out and i promise you kid that ill give so much more than i get i just havent met you yetmmm mmm mmm mmm mmmi might have to wait ill never give up i guess its half timing and the other halfs luck wherever you are whenever its right you come out of nowhere and into my lifeand i know that we can be so amazing and baby your love is gonna change me and now i can see every possibilitymmmbut somehow i know that will all turn out and youll make me work so we can work to work it out and i promise you kid ill give so much more than i get i just havent met you yetthey say alls fair in love and war but i wont need to fight it well get it right and well be unitedand i know that we can be so amazing and being in your life is gonna change me and now i can see every single possibilitymmmand someday i know itll all turn out and ill work to work it out promise you kid ill give more than i get than i get than i get than i getoh you know it will all turn out and youll make me work so we can work to work it out and i promise you kid to give so much more than i get yeah i just havent met you yeti just havent met you yet oh promise you kid to give so much more than i geti said love love love love love love love i just havent met you yet love love love love love love i just havent met you yet ",1
40,"club cant handle me","flo rida featuring david guetta",2010," you know i know how to make em stop and stare as i zone out the club cant even handle me right now watchin you watchin me i go all out the club cant even handle me right now the club cant even handle me right nowhey i own the night and i dont need no help gotta be the feeling that scarface player stuntin go wild cant handle this plan life of the club arrogant like yeah top like money all the girls just melt want so many all know me like twelve look like cash and they all just stare bottles models standin on chairs fall out cause thats the business all out its so ridiculous zone out so much attention scream out im in the building hey they watchin i know this im rockin im rolling im holding i know it you know ityou know i know how to make em stop and stare as i zone out the club cant even handle me right now watchin you watchin me i go all out the club cant even handle me right now the club cant even handle me right nowhey still feelin myself im like outta control cant stop now more shots lets go ten more rounds can i get a ko paparazzi trying to make me pose came to party till i can no more celebrate cause thats all i know tip the groupies takin off their clothes grand finale like superbowl go hard run the show thats right wild out got money to blow more lights more ice when i walk in the door no hype i do it big all over the globe yeah i said it go tell it confetti who ready im ready you ready lets get ityou know i know how to make em stop and stare as i zone out the club cant even handle me right now watchin you watchin me i go all out the club cant even handle me right now put your hands up put your hands up put your hands up the club cant even handle me right now put your hands up put your hands up put your hands upyou got me watchin now hey got my attention now hey got everybody in the club wanting to know now i am a ladies man come be my lady and we can ball so ah bring ya body here let me switch up your atmosphere take you out of this club and in my new lear fly you all around the world what you want baby girl are you ready to go nowyou know i know how to make em stop and stare as i zone out the club cant even handle me right now watchin you watchin me i go all out the club cant even handle me right now put your hands up put your hands up put your hands up the club cant even handle me right now put your hands up lets celebrate now put your hands up you know who shut it down ",1
41,"down","jay sean featuring lil wayne",2010," baby are you down down down down down down down even if the sky is falling down down downyou oughta know tonight is the night to let it go put on a show i wanna see how you lose control so leave it behind cause we have a night to get away so come on and fly with me as we make our great escapeso baby dont worry you are my only you wont be lonely even if the sky is falling down youll be my only no need to worry baby are you down down down down down down down baby are you down down down down down down down even if the sky is falling down down downjust let it be come on and bring your body next to me ill take you away hey turn this place into our private getaway so leave it behind cause we have a night to get away so come on and fly with me as we make our great escape so why dont we run awayso baby dont worry you are my only you wont be lonely even if the sky is falling down youll be my only no need to worry baby are you down down down down down down down baby are you down down down down down down down even if the sky is falling downeven if the sky is falling down like she posed to be she gets down low for me down like her temperature cause to me she zero degrees she cold over freeze i got that girl from overseas now she my miss america now can i be her soldier please im fighting for this girl on a battlefield of love dont it look like baby cupid sendin arrows from above dont you ever leave the side of me indefinitely not probably and honestly im down like the economy yeahso baby dont worry you are my only you wont be lonely even if the sky is falling down youll be my only no need to worry baby are you down down down down down down down baby are you down down down down down down down even if the sky is falling down ",1
42,"bulletproof","la roux",2010," been there done that messed around im having fun dont put me down ill never let you sweep me off my feeti wont let you in again the messages ive tried to send my informations just not going inburning bridges shore to shore ill break away from something more im not turned on to love until its cheapbeen there done that messed around im having fun dont put me down ill never let you sweep me off my feetthis time baby ill be bulletproof this time baby ill be bulletproofi wont let you turn around and tell me now im much too proud to walk away from something when its deaddo do do your dirty words come out to play when you are hurt theres certain things that should be left unsaidtick tick tick tick on the watch and lifes too short for me to stop oh baby your time is running outi wont let you turn around and tell me now im much too proud all you do is fill me up with doubtthis time baby ill be bulletproof this time baby ill be bulletproofthis time baby ill be bulletproof this time baby ill be bulletproofthis time baby ill be bulletproof this time baby ill be bulletproofthis time baby ill be bulletproof this time baby ill be bulletproofthis time baby ill be bulletproof this time baby ill be bulletproof ",1
43,"whatcha say","jason der""ulo",2010," what did she sayi was so wrong for so long only tryin to please myself myself girl i was caught up in her lust when i dont really want no one else so no i know i should of treated you better but me and you were meant to last foreverso let me in let me in give me another chance another chance to really be your man cause when the roof caved in and the truth came out i just didnt know what to do but when i become a star well be living so large ill do anything for you so tell me girlwhatchu say whatchu say what did she sayhow could i live with myself knowing that i let our love go love go and ooh what id do with one chance i just gotta let you know i know what i did wasnt clever but me and you were meant to be togetherso let me in let me in give me another chance another chance to really be your man cause when the roof caved in and the truth came out i just didnt know what to do but when i become a star well be living so large ill do anything for you so tell me girlmmmm whatcha say mmm that you only meant well well of course you did mmmm whatcha say whatcha say whatcha say mmmm that its all for the best of course it isgirl tell me whatcha said said i dont want you to leave me though you caught me cheatin tell me tell me whatcha said said i really need you in my life cause things aint right girl tell me tell me whatcha said said i dont want you to leave me though you caught me cheatin tell me tell me whatcha said said i really need you in my life cause things aint rightcause when the roof caved in and the truth came out i just didnt know what to do but when i become a star well be living so large ill do anything for you so baby watcha saymmmm whatcha say mmm that you only meant well well of course you did mmmm whatcha say whatcha say whatcha say mmmm that its all for the best of course it is mmmm whatcha say mmm that you only meant well well of course you did mmmm whatcha say whatcha say whatcha say mmmm that its all for the best ",1
44,"baby","justin bieber featuring ludacris",2010," oh whoa oh whoa oh whoayou know you love me i know you care just shout whenever and ill be there you are my love you are my heart and we will never ever  ever be apartare we an item girl quit playing were just friends what are you saying said theres another and looked right in my eyes my first love broke my heart for the first timeand i was like baby baby baby oh like baby baby baby oh like baby baby baby oh i thought youd always be mine minebaby baby baby oh like baby baby baby no like baby baby baby oh i thought youd always be mine minefor you i would have done whatever and i just cant believe we arent together and i want to play it cool but im losing you ill buy you anything ill buy you diamond ringand im in pieces baby fix me and just shake me till you wake me from this bad dream im going down down down down and i just cant believe my first love wont be aroundand im like baby baby baby oh like baby baby baby no like baby baby baby oh i thought youd always be mine minebaby baby baby oh like baby baby baby no like baby baby baby oh i thought youd always be mine minewhen i was 13 i had my first love there was nobody that compared to my baby and nobody came between us who could ever come above she had me going crazy oh i was starstruck she woke me up daily dont need no starbucksshe made my heart pound i skip a beat when i see her in the street and at school on the playground but i really want to see her on the weekend she knows she got me dazing cause she was so amazing and now my heart is breaking but i just keep on sayingbaby baby baby oh like baby baby baby no like baby baby baby oh i thought youd always be mine minebaby baby baby oh like baby baby baby no like baby baby baby oh i thought youd always be mine mineim all gone yeah yeah yeah yeah yeah yeah now im all gone yeah yeah yeah yeah yeah yeah now im all gone yeah yeah yeah yeah yeah yeah now im all gone gone gone gone im gone ",1
45,"whataya want from me","adam lambert",2010," hey slow it down whataya want from me whataya want from me yeah im afraid whataya want from me whataya want from methere might have been a time when i would give myself away ooh once upon a time i didnt give a damn but now here we are so whataya want from me whataya want from mejust dont give up im workin it out please dont give in i wont let you down it messed me up need a second to breathe just keep coming around hey whataya want from me whataya want from meyeah its plain to see that baby youre beautiful and theres nothing wrong with you its me im a freak but thanks for lovin me cause youre doing it perfectlythere might have been a time when i would let you slip away i wouldnt even try but i think you could save my lifejust dont give up im workin it out please dont give in i wont let you down it messed me up need a second to breathe just keep coming around hey whataya want from me whataya want from me whataya want from me whataya want from mejust dont give up on me i wont let you down no i wont let you downso just dont give up im workin it out please dont give in i wont let you down it messed me up need a second to breathe just keep coming around hey whataya want from mejust dont give up im workin it out please dont give in i wont let you down it messed me up need a second to breathe just keep coming around hey whataya want from me whataya want from me whataya want from me whataya want from me whataya want from me ",1
46,"mine","taylor swift",2010," oh oh oh oh oh ohyou were in college working parttime waiting tables left a small town never looked back i was a flight risk with a fear of fallin wondering why we bother with love if it never lastsi say can you believe it as were lyin on the couch the moment i can see it yes yes i can see it nowdo you remember we were sittin there by the water you put your arm around me for the first time you made a rebel of a careless mans careful daughter you are the best thing thats ever been mineflash forward and were takin on the world together and theres a drawer of my things at your place you learn my secrets and you figure out why im guarded you say well never make my parents mistakesand we got bills to pay we got nothin figured out when it was hard to take yes yes this is what i thought aboutdo you remember we were sittin there by the water you put your arm around me for the first time you made a rebel of a careless mans careful daughter you are the best thing thats ever been minedo you remember all the city lights on the water you saw me start to believe for the first time you made a rebel of a careless mans careful daughter you are the best thing thats ever been mineoh oh oh ohand i remember that fight twothirty am cause everything was slipping right out of our hands i ran out crying and you followed me out into the streetbraced myself for the goodbye cause thats all ive ever known then you took me by surprise you said ill never leave you aloneyou said i remember how we felt sitting by the water and every time i look at you its like the first time i fell in love with a careless mans careful daughter she is the best thing thats ever been mineyou made a rebel of a careless mans careful daughter you are the best thing thats ever been minedo you believe it were gonna make it now and i can see iti can see it now ",1
47,"only girl in the world","rihanna",2010," la la la la la la la la la la la la yeah la la la lai want you to love me like im a hot ride uh yeah keep thinkin of me uh doin what you like so boy forget about the world cause its gon be me and you tonight yeah i wanna make your beg for it then imma make you swallow your pridewant you to make me feel like im the only girl in the world like im the only one that youll ever love like im the only one who knows your heart only girl in the world like im the only one thats in command cause im the only one who understands how to make you feel like a manyeah want you to make me feel like im the only girl in the world like im the only one that youll ever love like im the only one who knows your heart only onewant you to take it like a thief in the night hold me like a pillow make me feel right baby ill tell you all my secrets that im keepin you can come inside yeah and when you enter you aint leavin be my prisoner for the night ohwant you to make me feel like im the only girl in the world like im the only one that youll ever love like im the only one who knows your heart only girl in the world like im the only one thats in command cause im the only one who understands like im the only one who knows your heart only onetake me for a ride ride oh baby take me high high let me make you rise rise oh make it last all night nighttake me for a ride ride oh baby take me high high let me make you rise rise make it last all nightwant you to make me feel like im the only girl in the world like im the only one that youll ever love like im the only one who knows your heart only girl in the world like im the only one thats in command cause im the only one who understands how to make you feel like a manonly girl in the world girl in the world only girl in the world girl in the world ",1
48,"live like were dying","allen kriskris allen",2010,NA,NA
49,"hard","rihanna featuring jeezy",2010," yeah yeah yeah yeah yeah yeah yeah yeah yeah ah yeah yeah yeah ah yeah yeah yeah ah yeah yeah yeah ah yeah ah yeah ah yeah yeah ah yeah ah yeah ah yeah yeahthey can say whatever ima do whatever no pain is forever yup you know this tougher than a lion aint no need in tryin i live where the sky ends yup you know this never lyin truth teller that rihanna reign just wont let up all black on blacked out shades blacked out maybach ima rock this shit like fashion as in goin til they say stop and my runway never looked so clear but the hottest bitch in heels right here no fear and while you getting your cry on im getting my fly on sincere i see you aiming at my pedestal i betta let ya knowthat i i i im so hard so hard ah yeah yeah yeah im so hard too hard that i i i im so hardso hard ah yeah yeah yeah im so hard too hard that i i i im so hard so hard ah yeah yeah yeah im so hard too hard so hard so hard so hard so hardah yeah yeah yeah that rihanna reign just wont let up ah yeah yeah yeah that rihanna reign just wont let up ah yeah yeah yeah that rihanna reign just wont let up so hard so hard so hard so hardall up on it know you wanna clone it aint like me that chick too phony ride this beat beat beat like a pony meet me at the top top top gettin loaded who think they test me now run through your town i shut it down brilliant resilient fan mail from 27 million and i want it all its gonna take more than that hope that aint all you got i need it all the money the fame the cars the clothes i cant just let you run up on me like that all on me like that yeah i see you aiming at my pedestal so i think i gotta let ya knowthat i i i im so hard so hard ah yeah yeah yeah im so hard too hard that i i i im so hardso hard ah yeah yeah yeah im so hard too hard that i i i im so hard so hard ah yeah yeah yeah im so hard too hard so hard so hard so hard so hardgo hard or go home back to your residence soon the red dogs will give the block back to the presidents i used to run my own block like obama did you aint gotta believe me go ask my momma then you couldnt even come in my room it smelled like a kilo looked like me and two of my boys playing casino trying to sell they peeping my bag they cant afford it tell em to give me back my swag they tryin to clone me see my louis tux louis flag louis frames louis belt what that make me louis mane im in an all white party wearin all black with my new black watch call it the heart attack cardiac arrest cardiac a wrist yeah they say theyre hard they aint hard as this hard the one word describes me if i wasnt doin this you know where i be too hardwhere dem girls talkin trash where dem girls talkin trash where they at where they at where they at where dem bloggers at where dem bloggers at where they at where they at where they at where your lighters at where your lighters at where they at where they at where they at so hard so hard so hard so hardthat i i i im so hard yeah yeah yeah im so hard that i i i im so hardso hard yeah yeah yeah im so hard too hard so hard so hardso hard so hard so hard too hard that i i i ",1
50,"young forever","jayz featuring mr hudson",2010," lets dance in style lets dance for a while heaven can wait were only watching the skies hoping for the best but expecting the worst are you gonna drop the bomb or not let us die young or let us live forever we dont have the power but we never say never sitting in a sandpit life is a short trip the musics for the sad manforever young i wanna be forever young do you really want to live forever forever and ever forever young i wanna be forever young do you really want to live forever forever forever youngso we live a life like a video when the sun is always out and you never get old and the champagnes always cold and the music is always good and the pretty girls just happened to stop by in the hood and they hop their pretty ass up on the hood of that pretty ass car without a wrinkle in today cause there is no tomorrow just some picture perfect day to last a whole lifetime and it never ends cause all we have to do is hit rewind so lets just stay in the moment smoke some weed drink some wine reminisce talk some shit forever young is in your mind leave a mark that cant erase neither space nor time so when the director yells cut ill be fine im forever youngforever young i wanna be forever young do you really want to live forever forever and ever forever young i wanna be forever young do you really want to live forever forever foreverfear not when fear not why fear not much while were alive life is for living not living up tight see ya somewhere up in the sky fear not die ill be alive for a million years bye bye so not for legends im forever young my name shall survive through the darkest blocks over kitchen stoves over pyrex pots my name shall be passed down to generations while debating up in barber shops young slung hung here shorty the nigga from here with a little ambition just what we can become here and as the father passed his story down to his sons ears younger kid younger every year yeah so if you love me baby this is how you let me know dont ever let me go thats how you let me know babyforever young i wanna be forever young do you really want to live forever forever and ever forever young i wanna be forever young do you really want to live forever forever foreverslamming bentley doors hopping out of porsches popping up on forbes lists gorgeous hold up niggas thought i lost it they be talking bullshit i be talking more shit they nauseous hold up ill be here forever you know im on my fall shit and i aint waiting for closure i will never forfeit less than four bars guru bring the chorus in did you get the picture yet im painting you a portrait of youngforever young i wanna be forever young do you really want to live forever forever young forever young i wanna be forever young do you really want to live forever forever forever young forever and ever ",1
51,"blah blah blah","keha featuring 3oh3",2010," blah blah blah blah blah blah blah comin out your mouth with your blah blah blah zip your lips like a padlock and meet me in the back with a jack and the jukebox dont really care where you live at just turn around boy let me hit that dont be a little bitch with your chit chat just show me where your dicks atmusics up listen hot stuff im in love with this song so just hush baby shut up heard enough stop tatatalkin thatblah blah blah think youll be gettin this nah nah nah not in the back of my car car car if you keep talkin that blah blah blah blah blahboy gonna be a rockstar come put a little love in my glovebox gonna dance with no pants on holla meet me in the back with a jack and the jukebox just cut to the chase kid cause i know you dont care what my middle name is i wanna be naked but youre wastedmusics up listen hot stuff im in love with this song so just hush baby shut up heard enough stop tatatalkin thatblah blah blah think youll be gettin this nah nah nah not in the back of my car car car if you keep talkin that blah blah blah blah blahyou be delayin you always sayin some shit you say im playin im never layin that bitch sayin blah blah blah cause i dont care who you are in this bar it only matters who i is stop tatatalkin thatblah blah blah think youll be gettin this nah nah nah not in the back of my car car car if you keep talkin that blah blah blah blah blahblah blah blah think youll be gettin this nah nah nah not in the back of my car car car if you keep talkin that blah blah blah blah blah blah blah blah stop talkin stop tatatalkin that ",1
52,"bottoms up","trey songz featuring nicki minaj",2010," yeah come here ooh this mister steal your girl this mister steal your girl aye girl aye girl aye girl let gobottoms up bottoms up up aye whats in ya cup got a couple bottles but a couple aint enough bottoms up bottoms up up throw ya hands up tell security we bout to tear this club up bottoms up bottoms up up pocket full of green girl you know i love the way you shake it in them jeans bottoms up bottoms up up throw yo hands up bottoms up up bottoms up up bottoms up up up up up bottomsyou know what it is girl we back up in this thang thang money stay in my pocket girl im like a walkin bank bank tell me what you drank drank tell me what you thank thank if i go get these bottles we go alcohol insane insanecallin all the girls girls do you hear me all around the world world city to city citycheers to the girls throw deuce to the guys now i got a chicken and a goose in the ride gettin loose in the ride hatin ass nigga you can move to the move to the move to the sidebottoms up bottoms up up aye whats in ya cup got a couple bottles but a couple aint enough bottoms up bottoms up up throw ya hands up tell security we bouta tear this club up bottoms up bottoms up up pocket full of green girl you know i love the way you shake it in them jeans bottoms up bottoms up up throw yo hands up bottoms up up bottoms up up bottoms up up up up up bottomsmy visions blurd comere my words slur comere its jam packed yea a million girls aye and i aint trynna leave though we drunk so let me be yo alcohol herocallin all the girls girls do you hear me girl all around the world world city to city yeahcheers to the girls throw deuce to the guys now i got a chicken and a goose in the ride gettin loose in the ride hatin ass nigga you can move to the move to the move to the sidebottoms up bottoms up up aye whats in ya cup got a couple bottles but a couple aint enough bottoms up bottoms up up throw ya hands up tell security we bouta tear this club up bottoms up bottoms up up pocket full of green girl you know i love the way you shake it in them jeans bottoms up bottoms up up uh huh throw yo hands up uh bottoms up up bottoms up up bottoms up up up up up bottoms uh yocan i get that tron can i get that remmy can i get that coke can i get that henny can i get that margarita on the rock rock rock can i get salt all around that rim rim rim rim trey i was like yo trey do you think you can buy me a bottle of rosay okay lets get it now im wit a bad bitch hes wit his friends i dont say i hi i say keys to the benz keys to the benz keys to the benz mufuckin rite yea v to the 10 if a bitch try to get cute im a stomp her throw alotta money at her then yell fuck her fuck her fuck her then yell fuck her then im go and get my louisville slugger excuse me im sorry im really such a lady i rep young money you know slim baby and we be doin donuts while we wave in the 380 we give a lot of money to the babies out in haiti yellin all around the world do you hear me do you like my body anna nicki rest in peace to ana nicole smith yes my dear your so explosive say hi to mary mary and joseph now bottoms up and double my dosagebottoms up bottoms up up aye whats in ya cup got a couple bottles but a couple aint enough turn your bottoms up bottoms up up throw ya hands up tell security we bouta tear this club up bottoms up bottoms up up pocket full of green girl you know i love the way you shake it in them jeans bottoms up bottoms up up throw yo hands up bottoms up up bottoms up up bottoms up up up up up bottoms bottoms up com erebottoms up up bottoms up up bottoms up up bottoms up up ",1
53,"do you remember","jay sean featuring sean paul and lil jon",2010," hey jay sean yeah sean paul lil jon this one right here is for all the ladies ladies who want to take it back alright alright oh no holler at them jayive been thinking about you and how we used to be then back when it didnt have to end we can start againtheres nothing left to say dont waste another day just you and me tonight everything will be okay if its alright with you then its alright with me baby lets take this time lets make new memories lets godo you remember do you remember do you remember all of the fun times we had do you remember do you remember do you remember all of the fun times we had lets bring it back bring it back lets bring it back bring it back lets bring it back bring it back lets bring it back bring it back lets bring it backyo jay sing to these ladies so long since youve been missing its good to see you again how you how you doing and how about we dont let this happen againtheres nothing left to say dont waste another day just you and me tonight everything will be okay if its alright with you then its alright with me baby lets take this time lets make new memoriesdo you remember do you remember do you remember all of the fun times we had do you remember do you remember do you remember all of the fun times we had lets bring it back bring it back lets bring it back bring it back lets bring it back bring it back lets bring it back bring it backyo ay girl yo bring it back to the time when you and me had just begun when i was still your number one well it might be farfetched baby girl but it can be done ive got this feeling fire blazing and its hot just like the sun know you feel it too my girl just freeze up may the good vibes run girl take a sip of the champagne take a lil trip down my lane my girl while you know every night youll feel alright look i tell you dis girl atta my world dont change im a na rearrange ay girl im a tell you straight dis atta my world how many years do you want come kiss dis i know you miss this thats what i heard thats what i heard thats what i heard word girltheres nothing left to say dont waste another day just you and me tonight everything will be okay if its alright with you then its alright with me baby lets take this time lets make new memoriesdo you remember do you remember do you remember all of the fun times we had do you remember do you remember do you remember all of the fun times we had lets bring it back lets bring it back lets bring it back bring it back lets bring it back lets bring it back lets bring it back oh lets bring it back ",1
54,"all the right moves","onerepublic",2010," all the right friends in all the right places so yeah were going down all the right moves in all the right places so yeah were going downpaint a picture of the perfect place theyve got it better than when anyones told ya ill be the king of hearts youre the queen of spades and well fight for you like we were soldiersi know weve got it good but theyve got it made and the grass is getting greener each day i know things are looking up but soon theyll take us down before anybodys knowing our nametheyve got all the right friends in all the right places so yeah were going down theyve got all the right moves in all the right faces so yeah were going downeverybody knows everybody knows where were going yeah were going down i said everybody knows everybody knows where were going yeah were going downdo you think im special do you think im nice am i bright enough to shine in your spaces between the noise you hear and the sound you like are we just sinking in the ocean of facesit cant be possible that rain can fall only when its over our heads the sun is shining everyday but its far away over the world its said theyve got theyve gotall the right friends in all the right places so yeah were going down we got all the right moves in all the right places so yeah were going downeverybody knows everybody knows where were going yeah were going down everybody knows everybody knows where were going yeah were going down going down going down going down going downit dont matter what you see i know i could never be someone thatll look like you it dont matter what you say i know i could never face someone that could sound like youall the right friends in all the right places so yeah were going down they got all the right moves in all the right places so yeah were going downall the right friends in all the right places so yeah were going down they got all the right moves in all the right places so yeah were going downsaid everybody knows everybody knows where were going yeah were going down i said everybody knows everybody knows where were going yeah were going down going down going down going downyeah were going down yeah were going down all the right moves hey yeah were going down all the right moves hey yeah were going down ",1
55,"according to you","orianthi",2010," according to you im stupid im useless i cant do anything right according to you im difficult hard to please forever changing my mind im a mess in a dress cant show up on time even if it would save my life according to you according to you but according to him im beautiful incredible he cant get me out of his head according to him im funny irresistible everything he ever wanted everything is opposite i dont feel like stopping it so baby tell me what i got to lose hes into me for everything im not according to you according to you im boring im moody and you cant take me any place according to you i suck at telling jokes cause i always give it away im the girl with the worst attention span youre the boy who puts up with that according to you according to you but according to him im beautiful incredible he cant get me out of his head according to him im funny irresistible everything he ever wanted everything is opposite i dont feel like stopping it so baby tell me what i got to lose hes into me for everything im not according to you i need to feel appreciated like im not hated oh no why cant you see me through his eyes its too bad youre making me decide but according to me youre stupid youre useless you cant do anything rightbut according to him im beautiful incredible he cant get me out of his head according to him im funny irresistible everything he ever wanted everything is opposite i dont feel like stopping it babe ill tell you what you got to lose hes into me for everything im not according to youaccording to you im stupid im useless i cant do anything right ",1
56,"my chick bad","ludacris featuring nicki minaj",2010," my chick bad my chick hood my chick do stuff that yo chick wish she could my my chick bad my chick hood my chick do stuff that yo chick wish she couldmy my chick bad better better than yours my my chick bad better better than yours my my my chick bad better better than yours my my chick bad better better than yourslisten im saying my chick bad my chick hood my chick do stuff that yo chick wish she could my chick bad better than yours my chick do stuff that i cant even put in wordsher swagger dont stop her body wont quit so fool pipe down you aint talkin bout shit my chick bad tell me if youve seen her she always bring the racket like venus and serenaall white top all white belt and all white jeans body looking like milk no time for games shes full grown my chick bad tell your chick to go homemy chick bad my chick hood my chick do stuff that yo chick wish she could my my chick bad my chick hood my chick do stuff that yo chick wish she couldmy my chick bad better better than yours my my chick bad better better than yours my my my chick bad better better than yours my my chick bad better better than yoursnow your girl might be sick but my girl sicker she rides that dick and she handles her liquor i knock a bitch out and fight comin out swingin like tiger woodss wifeyeah she can get a lil hasty chicks better cover up their chests like pastys couple girlfriends and they all a lil crazy comin down the street like a parade macysi fill her up balloons test her and guns get drawn like cartoons doh but i aint talk about homer chick so bad the whole crew wanna bone hermy chick bad my chick hood my chick do stuff that yo chick wish she could my my chick bad my chick hood my chick do stuff that yo chick wish she couldmy my chick bad better better than yours my my chick bad better better than yours my my my chick bad better better than yours my my chick bad better better than yoursnow will these bitches wanna try and be my bestie but i take a left and leave em hangin like a testie trash talk to em then i put em in a hefty running down the court im dunkin on em lisa leslieits going down basement friday the 13th guess whos playing jason tuck yourself in you better hold on to your teddy its nightmare on elm street and guess whos playing freddychef cooking for me they say my shoe came crazy the mental asylum looking for me you a rookie to me im in that whambampurplelam damn bitch you been a fanmy chick bad my chick hood my chick do stuff that yo chick wish she could my my chick bad my chick hood my chick do stuff that yo chick wish she couldmy my chick bad better better than yours my my chick bad better better than yours my my my chick bad better better than yours my my chick badand when we all alone i might just tip her she slides down the pole like a certified stripper when we all alone i might tip her she slides down the pole like a certified stripperwhen we all alone i might just tip her she slides down the pole like a certified stripper when we all alone i might tip her she slides down the pole like a certified stripper ",1
57,"you belong with me","taylor swift",2010," youre on the phone with your girlfriend shes upset shes going off about something that you said cause she doesnt get your humor like i do im in my room its a typical tuesday night im listening to the kind of music she doesnt like and shell never know your story like i dobut she wears short skirts i wear tshirts shes cheer captain and im on the bleachers dreaming about the day when you wake up and find that what youre looking for has been here the whole timeif you can see im the one who understands you been here all along so why cant you see you belong with me you belong with mewalkin the streets with you and your wornout jeans i cant help thinking this is how it ought to be laughing on a park bench thinking to myself hey isnt this easyand youve got a smile that could light up this whole town i havent seen it in a while since she brought you down you say your fine i know you better then that hey what you doing with a girl like thatshe wears high heels i wear sneakers shes cheer captain and im on the bleachers dreaming about the day when you wake up and find that what what youre looking for has been here the whole timeif you can see that im the one who understands you been here all along so why cant you see you belong with mestanding by and waiting at your back door all this time how could you not know baby you belong with me you belong with meoh i remember you drivin to my house in the middle of the night im the one who makes you laugh when you know youre about to cry and i know your favorite songs and you tell me about your dreams i think i know where you belong i think i know its with mecant you see that im the one who understands you been here all along so why cant you see you belong with mestanding by and waiting at your back door all this time how could you not know baby you belong with me you belong with meyou belong with me have you ever thought just maybe you belong with me you belong with me ",1
58,"meet me halfway","the black eyed peas",2010," i cant go any further than this i want you so badly its my biggest wishi spent my time just thinking thinking thinking bout you every single day yes im really missin missin you and all those things we use to use to use to do hey girl whats up it use it use to be just me and you i spent my time just thinking thinking thinking bout you every single day yes im really missing missing you and all those things we use to use to use to do hey girl whats up whats up whats up whats upcan you meet me halfway right at the borderline is where im gonna wait for you ill be looking out night n day took my heart to the limit and this is where i stay i cant go any further than this i want you so bad its my only wishgirl i travel round the world and even sail the seven seas across the universe i go to other galaxies just tell me where to go just tell me where you wanna to meet i navigate myself myself to take me where you be cause girl i want i i i want you right now i travel uptown town i travel downtown i wanna to have you around round like every single day i love you alway wayscan you meet me half way ill meet you halfway right at the borderline thats where im gonna wait for you ill be looking out night n day took my heart to the limit and this is where ill stay i cant go any further than this i want you so bad its my only wish i cant go any further than this i want you so bad its my only wishlets walk the bridge to the other side just you and i just you and i i will fly ill fly the skies for you and i for you and i i will try until i die for you and i for you and i for for you and i for for you and i for for you and i for you and ican you meet me half way can you meet me half way can you meet me half way can you meet me half waymeet me half way right at the borderline thats where im gonna wait for you ill be looking out night n day took my heart to the limit and this is where ill stay i cant go any further than this i want you so bad its my only wish i cant go any further than this i want you so bad its my only wish ",1
59,"take it off","keha",2010," theres a place downtown where the freaks all come around its a hole in the wall its a dirty free for allwhen the dark off the night comes around thats the time that the animal comes alive looking for something wildand now we lookin like pimps in my gold transam got a water bottle full of whiskey in my handbag got my drunk text on ill regret it in the mornin but tonight i dont give a i dont give a i dont give atheres a place downtown where the freaks all come around its a hole in the wall its a dirty free for alland they turn me on when they take it off when they take it off everybody take it offtheres a place i know if youre looking for a show where they go hardcore and theres glitter on the floorand they turn me on when they take it off when they take it off everybody take it offlose your mind lose it now lose your clothes in the crowd were delirious tear it down til the sun comes back aroundnnow were getting so smashed knocking over trash cans everybody breakin bottles its a filthy hot mess gonna get laid im not the designated driver so i dont give a i dont give a i dont give atheres a place downtown where the freaks all come around its a hole in the wall its a dirty free for alland they turn me on when they take it off when they take it off everybody take it offtheres a place i know if youre looking for a show where they go hardcore and theres glitter on the floorand they turn me on when they take it off when they take it off everybody take it offoh oh oh everybody take it off oh oh oheverybody take it off right now take it off right now take it off right now take it off ohright now take it off right now take it off right now take it off everybody take it offtheres a place downtown where the freaks all come around its a hole in the wall its a dirty free for alland they turn me on when they take it off when they take it off everybody take it offtheres a place i know if youre looking for a show where they go hardcore and theres glitter on the floorand they turn me on when they take it off when they take it off everybody take it off ",1
60,"over","drake",2010," i know way too many people here right now that i didnt know last year who the fuck are yall i swear it feels like the last few nights we been everywhere and back but i just cant remember it allwhat am i doin what am i doin oh yeah thats right im doin me im doin me im livin life right now mayneand this what im a do til its over til its over but its far from overbottles on me long as someone drink it never drop the ball fuck are yall thinkin makin sure the young money ship is never sinkin bout to set it off in this bitch jada pinkett i shouldntve drove tell me how im gettin home you too fine to be layin down in bed alone i could teach you how to speak my language rosetta stone i swear this life is like the sweetest thing ive ever known bout to go thriller mike jackson on these niggas all i needs a fucking red jacket with some zippers super good smiddoke a package of the swishers i did it overnight it couldnt happen any quicker yall know them well fuck it me either but point the biggest skeptic out ill make him a believer it wouldnt be the first time i done it throwin hundreds when i should be throwin ones bitch i run it ahi know way too many people here right now that i didnt know last year who the fuck are yall i swear it feels like the last few nights we been everywhere and back but i just cant remember it allwhat am i doin what am i doin oh yeah thats right im doin me im doin me im livin life right now mayneand this what im a do til its over til its over but its far from overone thing bout music when it hits you feel no pain and i swear i got that shit that make these bitches go insane so they tell me that they love me i know better than that its just game its just what comes with the fame and im ready for that im just sayin but i really cant complain everything is kosher two thumbs up ebert and roeper i really cant see the end getting any closer but i probly still be the man when everything is over so im riding through the city with my high beams on can you see me can you see me get your visine on yall just do not fit the picture turn your widescreen on if you thinkin im a quit before i die dream on man they treat me like a legend am i really this cold im really too young to be feelin this old its about time you admit it who you kiddin man man nobodys never done it like i did it ughi know way too many people here right now that i didnt know last year who the fuck are yall i swear it feels like the last few nights we been everywhere and back but i just cant remember it allwhat am i doin what am i doin oh yeah thats right im doin me im doin me im livin life right now mayneand this what im a do til its over til its over but its far from over yeah thats right im doin me im doin me im livin life right now mayneand this what im a do til its over til its over but its far from over ",1
61,"animal","neon trees",2010," here we go again i kinda wanna be more than friends so take it easy on me im afraid youre never satisfiedhere we go again were sick like animals we play pretend youre just a cannibal and im afraid i wont get out alive no i wont sleep tonightoh oh i want some more oh oh what are you waitin for take a bite of my heart tonight oh oh i want some more oh oh what are you waitin for what are you waitin for say goodbye to my heart tonighthere we are again i feel the chemicals kickin in its gettin heavier i wanna run and hide i wanna run and hide i do it every time youre killin me now and i wont be denied by you the animal inside of youoh oh i want some more oh oh what are you waitin for take a bite of my heart tonight oh oh i want some more oh oh what are you waitin for what are you waitin for say goodbye to my heart tonighthush hush the world is quiet hush hush we both cant fight it its us that made this mess why cant you understand whoa i wont sleep tonight i wont sleep tonighthere we go againoh oh i want some more oh oh what are you waitin for take a bite of my heart tonight oh oh i want some more oh oh what are you waitin for what are you waitin for what are you waitin take a bite of my heart tonightoh oh i want some more oh oh what are you waitin for what are you waitin for say goodbye to my heart tonight ",1
62,"misery","maroon 5",2010," oh yeah oh yeah so scared of breaking it that you wont let it bend and i wrote two hundred letters i will never send sometimes these cuts are so much deeper then they seem youd rather cover up id rather let them bleed so let me be and ill set you freei am in misery there aint nobody who can comfort me why wont you answer me the silence is slowly killing me girl you really got me bad you really got me bad im gonna get you back gonna get you backyour salty skin and how it mixes in with mine the way it feels to be completely intertwined its not that i didnt care its that i didnt know its not what i didnt feel its what i didnt show so let me be and ill set you freei am in misery there aint nobody who can comfort me why wont you answer me your silence is slowly killing me girl you really got me bad you really got me bad im gonna get you back gonna get you backyou say your faith is shaken you may be mistaken you keep me wide awake and waiting for the sun im desperate and confused so far away from you im getting there dont care where i have to runwhy do you do what you do to me yeah why wont you answer me answer me yeah why do you do what you do to me yeah why wont you answer me answer me yeahi am in misery there aint nobody who can comfort me why wont you answer me your silence is slowly killing me girl you really got me bad you really got me bad im gonna get you back gonna get you backgirl you really got me bad you really got me bad im gonna get you back gonna get you backgirl you really got me bad you really got me bad im gonna get you back gonna get you back ",1
63,"magic","bob featuring rivers cuomo",2010," i got the magic in me every time i touch that track it turns into gold everybody knows ive got the magic in me when i hit the flow the girls come snappin at me now everybody wants presto magicmagic magic magic magic magic magic magic magic magic i got the magic in methese tricks that ill attempt will blow your mind pick a verse any verse ill hypnotize you with every line ill need a volunteer how about you with the eyes come on down to the front and stand right here and dont be shy ill have you timetravellin have your mind babblin people tryin to inherit the skill so they askin me even david blaine had to go and take some classes and i see mindfreak like whats up man whats happenin so come one come all and see the show tonight prepare to be astounded no ghost or poltergeist you know im no pinocchio ive never told a lie so call me mr magic man i float on cloud 9i got the magic in me i got the magic baby every time i touch that track it turns into gold yes it turns to gold everybody knows ive got the magic in me i got the magic baby when i hit the flow the girls come snappin at me they be snappin baby now everybody wants some presto magicmagic magic magic magic magic magic magic magic magic i got the magic in mewell take a journey into my mind youll see why its venom i rhyme stay on the road so i call my mama when i got time i hit the stage go insane then jump into that crowd see see when i rhyme i flow on the beat like piddadowdow see i deceive you with my intergalactic ego i sing just like aretha so respect me like im caesar i kick it like adidas flowin sticky like adhesive be cautious cause what i be onll leave you with amnesia i break all the rules like evel knievel its a spectacular show cause my heart pumps diesel so whatever youre saying it dont entertain my ego i do this everyday hocus pocus is my steeloi got the magic in me i got the magic baby every time i touch that track it turns into gold yes it turns to gold everybody knows ive got the magic in me i got the magic baby when i hit the flow the girls come snappin at me they be snappin baby now everybody wants presto magicmagic magic magic magic magic magic magic magic magic i got the magic in me ",1
64,"paparazzi","lady gaga",2010," we are the crowd were ccoming out got my flash on its true need that picture of you its so magical wed be so fantasticalleather and jeans were rock glamorous not sure what it means but this photo of us it dont have a price ready for those flashing lights cause you know that baby iim your biggest fan ill follow you until you love me papapaparazzi baby theres no other superstar you know that ill be your papapaparazzi promise ill be kind but i wont stop until that boy is mine baby youll be famous chase you down until you love me papapaparazziill be a girl backstage at your show velvet ropes and guitars yeah cause youre my rockstar in between the sets eyeliner and cigarettesshadow is burnt yellow dance and we turn my lashes are dry purple teardrops i cry it dont have a price loving you is cherry pie cause you know that baby iim your biggest fan ill follow you until you love me papapaparazzi baby theres no other superstar you know that ill be your papapaparazzi promise ill be kind but i wont stop until that boy is mine baby youll be famous chase you down until you love me papapaparazzireal good were dancing in the studio snap snap to that shit on the radio dont stop for anyone were plastic but we still have funim your biggest fan ill follow you until you love me papapaparazzi baby theres no other superstar you know that ill be your papapaparazzi promise ill be kind but i wont stop until that boy is mine baby youll be famous chase you down until you love me papapaparazzi ",1
65,"tie me down","new boyz featuring ray j",2010," hey hey aye ayecause she aint gon tie me down cause she aint gon tie me downshe aint gon tie me down so why you on the road you wanted all the shirts all the hats all the clothes what you want right now what up right now i think you need to close yo mouth cause you aint gon tie me down tie me down tie me down you aint gon tie me down you aint gon tie me downknow we been together for a minute but a its kinda been forever since we been in the kinda situation not involving other women and its pretty obvious that youre kinda trippin like who the hell is this bitch lookin a hot mess what you fell for this chick you know we got problems and you failed to fix it im like you need to go somewhere else with this shit because i aint gon put up wit you talkin bout how she make you uncomfortable i mean shit im only 17 and um a perfect couples only in a dream and right now im pretty much away for this relationship i think we should wait for it i mean later we can try things out but not right nowshe aint gon tie me down so why you on the road you wanted all the shirts all the hats all the clothes what you want right now what up right now i think you need to close yo mouth cause you aint gon tie me down tie me down tie me down you aint gon tie me down you aint gon tie me downha ha aye girl waddup no im not gon make a scene but you cant tie me down like a pair of shoe strings yea you cute so what but lets get it through your head yea we make love sex weed all in the bed its the best and i love her but things dont change when im not faithful you be feelin ma pain now you stuck like a stain and i cant believe that baby girl one hundredi aint tryna do that got too many girls and i aint letting go cause my life is great and you aint nothin but a hoe yea you come to my shows and you very supportive just showed me a camera and my show recorded it was nice im surprised that you still standin here as you know im a man and i have no feelings ima start from the top girl this aint no lovin im a new boy girl soshe aint gon tie me down so why you on the road you wanted all the shirts all the hats all the clothes what you want right now what up right now i think you need to close yo mouth cause you aint gon tie me down tie me down tie me down you aint gon tie me down you aint gon tie me downshe aint gon tie me down so why you on the road you wanted all the shirts all the hats all the clothes what you want right now what up right now i think you need to close yo mouth cause you aint gon tie me down tie me down tie me down you aint gon tie me down you aint gon tie me down ",1
66,"your love","nicki minaj",2010," shawty im a only tell you this once you the illest bah ba bah bah oh and for your lovin im a die hard like bruce willis bah ba bah bah oh you got spark you you got spunk you you got something all the girls want youre like a candy store and im a toddler you got me wantin more and mo mo more andyour love your love yeahyour love your love yeahyour love your love yeahyour love your love yeahyour love your loveyour love your loveyour love your loveyour love your lovehe the type to pop tags and be cockin the brim might breeze through the ave might stop at the gym and he keep a du rag keep the wave on swim wa waves on swim so they hate on him anyway i think i met him sometime before in a different life or where i record i mean he was adam i think i was eve but my vision ends with the apple on the tree s on my chest cause im ready to save him ready to get buck on anybody that plays him and i think i love em i love em jus like i raised him when he call me momma lil momma i call him babyshawty im a only tell you this once you the illest bah ba bah bah oh and for your lovin im a die hard like bruce willis bah ba bah bah oh you got spark you you got spunk you you got something all the girls want youre like a candy store and im a toddler you got me wantin more and mo mo more andyour love your love yeahyour love your love yeahyour love your love yeahyour love your love yeahyour love your loveyour love your loveyour love your loveyour love your lovehe they type to keep a couple hundred grand in the rubber band just left money gram in the lemon lam hot damn make me scream like summer jam i mean that nigga must be from the motherland anyway i think i met him in the sky when i was a geisha he was a samurai somehow i understood him when he spoke thai never spoke lies and he never broke fly s on my chest lemme get my cape on hes so thugged out ghostface and raekwon konvict just like akon cause you know snitches be puttin the jake onshawty im a only tell you this once you the illest bah ba bah bah oh and for your lovin im a die hard like bruce willis bah ba bah bah oh you got spark you you got spunk you you got something all the girls want youre like a candy store and im a toddler you got me wantin more and mo mo more andyour love your love yeahyour love your love yeahyour love your love yeahyour love your love yeahyour love your loveyour love your loveyour love your loveyour love your lovefind me in the dark ill be in the stars find me in your heart im in need of your love your love your love your love baby your the illest illest illest your love love love your love love love ",1
67,"party in the usa","miley cyrus",2010," i hopped off the plane at lax with a dream and my cardigan welcome to the land of fame excess whoa am i gonna fit in jumped in the cab here i am for the first time look to my right and i see the hollywood signthis is all so crazy everybody seems so famous my tummys turnin and im feelin kinda homesick too much pressure and im nervous thats when the taxi man turned on the radioand the jayz song was on and the jayz song was on and the jayz song was onso i put my hands up theyre playin my song the butterflies fly away im noddin my head like yeah movin my hips like yeahgot my hands up theyre playin my song and now im gonna be okay yeah its a party in the usa yeah its a party in the usaget to the club in my taxi cab everybodys lookin at me now like whos that chick thats rockin kicks shes gotta be from out of townso hard with my girls not around me its definitely not a nashville party cause all i see are stilettos i guess i never got the memomy tummys turnin and im feelin kinda homesick too much pressure and im nervous thats when the dj dropped my favorite tuneand the britney song was on and the britney song was on and the britney song was onso i put my hands up theyre playin my song the butterflies fly away im noddin my head like yeah movin my hips like yeahgot my hands up theyre playin my song and now im gonna be okay yeah its a party in the usa yeah its a party in the usafeel like hoppin on a flight on a flight back to my hometown tonight town tonight something stops me every time every time the dj plays my song and i feel alrightso i put my hands up theyre playin my song the butterflies fly away im noddin my head like yeah movin my hips like yeahgot my hands up theyre playin my song and now im gonna be okay yeah its a party in the usa yeah its a party in the usaso i put my hands up theyre playin my song the butterflies fly away im noddin my head like yeah movin my hips like yeahgot my hands up theyre playin my song and now im gonna be okay yeah its a party in the usa yeah its a party in the usa ",1
68,"deuces","chris brown featuring tyga and kevin mccall",2010," all the bullshits for the birds you aint nothin but a vulture always hopin for the worst waiting for me to fuck up youll regret the day when i find another girl yeah who knows just what i need she knows just what i mean when i tell her keep it drama freeoh oh oh oh oh oh oh oh chuchuckin up the deuces oh oh oh oh oh oh oh oh i told you that im leaving deuces oh oh oh oh oh oh oh oh i know you mad but so what i wish you best of luck and now im bout to throw them deuces upim on some new shit im chuckin my deuces up to her deuces im moving on to something better better better no more tryin to make it work you made me wanna say bye bye say bye bye say bye bye to her you made me wanna say bye bye say bye bye say bye bye to heruh use to be valentines together all the time thought it was true love but you know women lie its like i sent my love with a text two times call cause i care but i aint gettin no reply tryna see eye to eye but its like we both blind fuck it lets hit the club i rarely sip but pour me somecause when its all said and done i aint gon be the one that she can always run to i hate liars fuck love im tired of tryin my heart big but it beat quiet how never feel like we vibin cause every time we alone its a awkward silenceso leave your keys on the kitchen counter and gimme back that ruby ring with the big diamond shit is over what you trippin for i dont wanna have to let you go but baby i think its better if i let you knowim on some new shit im chuckin my deuces up to her deuces im moving on to something better better better no more tryin to make it work you made me wanna say bye bye say bye bye say bye bye to her you made me wanna say bye bye say bye bye say bye bye to herlook my shorty always on some bullshit like chicago so i flip that middle finger and the index finger follow deuces we aint got no future in tomorrow im a dick so it shouldnt be that hard to swallow the other chick im with never complainin she make wanna leave the one im with usher raymondprobably didnt register dont trip later on it will shorty full of drama like gangsta grizzles i finally noticed it it finally hit me like tina did ike in the limo it finally hit me i got a new chick and she aint you she paula patton thick she give me deja vuand all that attitude i dont care about it but all that shit i do for her you gon hear bout it breezy rep two up two down but im just puttin two up chuckin up the deuce nowim on some new shit im chuckin my deuces up to her deuces im moving on to something better better better no more tryin to make it work you made me wanna say bye bye say bye bye say bye bye to her you made me wanna say bye bye say bye bye say bye bye to herdeuces ",1
69,"3","britney spears",2010," one two three not only you and me got one eighty degrees and im caught in between countin one two three peter paul and mary gettin down with 3p everybody loves me ohbabe pick a night to come out and play if its alright what do you saymerrier the more triple fun that way twister on the floor what do you sayare you in livin in sin is the new thing yeah are you in i am countinone two three not only you and me got one eighty degrees and im caught in between countin one two three peter paul and mary gettin down with 3p everybody loves me ohone two three not only you and me got one eighty degrees and im caught in between countin one two three peter paul and mary gettin down with 3p everybody loves me ohthree is a charm two is not the same i dont see the harm so are you gamelets make a team make em say my name lovin the extreme now are you gameare you in livin in sin is the new thing are you in i am countinone two three not only you and me got one eighty degrees and im caught in between countin one two three peter paul and mary gettin down with 3p everybody loves meone two three not only you and me got one eighty degrees and im caught in between countin one two three peter paul and mary gettin down with 3p everybody loves mewhat we do is innocent just for fun and nothin meant if you dont like the company lets just do it you and me you and me or three or four on the floorone two three not only you and me got one eighty degrees and im caught in between countin one two three peter paul and mary gettin down with 3p everybody loves me ohone two three not only you and me got one eighty degrees and im caught in between countin one two three peter paul and mary gettin down with 3p everybody loves me oh ",1
70,"impossible","shontelle",2010," i remember years ago someone told me i should take caution when it comes to love i did i did and you were strong and i was not my illusion my mistake i was careless i forgot i did and now when all is done there is nothing to say you have gone and so effortlessly you have won you can go ahead tell themtell them all i know now shout it from the roof tops write it on the skyline all we had is gone now tell them i was happy and my heart is broken all my scars are open tell them what i hoped would be impossible impossible impossible impossible falling out of love is hard falling for betrayal is worst broken trust and broken hearts i know i know thinking all you need is there building faith on love and words empty promises will wear i know i know and now when all is gone there is nothing to say and if youre done with embarrassing me on your own you can go ahead tell themtell them all i know now shout it from the roof tops write it on the skyline all we had is gone now tell them i was happy and my heart is broken all my scars are open tell them what i hoped would be impossible impossible impossible impossible impossible impossibleooh impossible yeah yeahi remember years ago someone told me i should take caution when it comes to love i didtell them all i know now shout it from the roof top write it on the skyline all we had is gone now tell them i was happy i was happy and my heart is broken all my scars are open tell them what i hoped would be impossible impossible impossible impossible impossible impossiblei remember years ago someone told me i should take caution when it comes to love i did ",1
71,"forever","drake featuring kanye west lil wayne and eminem",2010," it may not mean nothing to yall but understand nothing was done for me so i dont plan on stopping at all i want this shit forever mayne ever mayne ever mayne im shutting shit down at the mall and telling every girl she the one for me and i aint even planning to call i want this shit forever mayne ever mayne ever maynelast name ever first name greatest like a sprained ankle boy aint nothing to play with it started off local but thanks to all the haters i know g4 pilots on a first name basis in your city faded off the brown nino she insists she got more class we know swimming in the money come and find me nemo if i was at the club you know i balled chemo dropped the mixtape that shit sounded like an album whod have thought a country wide tour would be the outcome labels want my name beside the x like malcolm everybody got a deal i did it without one yeah nigga im about my business killing all these rappers you would swear i had a hit list everyone who doubted me is asking for forgiveness if you aint been a part of it at least you got to witness bitchesit may not mean nothing to yall but understand nothing was done for me so i dont plan on stopping at all i want this shit forever mayne ever mayne ever mayne im shutting shit down at the mall and telling every girl she the one for me and i aint even planning to call i want this shit forever mayne ever mayne ever mayneforever ever mr west is in da building aint no question who about to kill em i used to have hood dreams big fame big chains i stuck my dick inside this life until that bitch came i went hard all fall like the ball teams just so i can make it rain all spring yall seen my story my glory i had raped the game young you can call it statutory when a nigga blow up they can build statures of me old money benjamin button what nothin now superbad chicks giving me mclovin you would think i ran the world like michelles husband you would think these niggas would know me when they really doesnt like they was down with the old me no you fucking wasnt youre such a fucking loser he didnt even go to class bueller trade the grammy plaques just to have my granny back remember she had that bad hip like a fanny pack chasing that stardom would turn you into a maniac all the way in hollywood and i cant even act they pull their cameras out and god damn they snap i used to want this thing forever yall can have it backit may not mean nothing to yall but understand nothing was done for me so i dont plan on stopping at all i want this shit forever mayne ever mayne ever mayne im shutting shit down at the mall and telling every girl she the one for me and i aint even planning to call i want this shit forever mayne ever mayne ever mayneok hello its the martian space jam jordans i want this shit forever wake up and smell the garden fresher than the harvest step up to the target if i had one guess than i guess im just new orleans and i will never stop like im running from the cops hopped up in my car and told my chauffeur to the top life is such a fucking roller coaster then it drops but what should i scream for this is my theme park my minds shine even when my thoughts seem dark pistol on my side you dont wanna hear that thing talk let the king talk check the price and pay attention lil wayne thats what they got to say or mention im like nevada in the middle of the summer im resting in the lead i need a pillow and a cover shh my foots sleeping on the gas no brake pads no such thing as lastit may not mean nothing to yall but understand nothing was done for me so i dont plan on stopping at all i want this shit forever mayne ever mayne ever mayne im shutting shit down at the mall and telling every girl she the one for me and i aint even planning to call i want this shit forever mayne ever mayne ever maynethere they go packing stadiums as shady spits his flow nuts they go macadamian they go so ballistic wow we can make them look like bozos hes wondering if he should spit this slow fuck no go for broke his cup just runneth over oh no he aint had a buzz like this since the last time he overdosed theyve been waiting patiently for pinocchio to poke his nose back into the game and they know rap will never be the same as before bashing in the brains of these hoes and establishing a name as he goes the passion and the flame is ignited you cant put it out once we light it this shit is exactly what the fuck im talking about when we riot you dealin with a few true villains whose staying inside of the booth truth spillin and spit true feelings til our tooth fillings come flying up out of our mouths now rewind it payback muthafucka for the way you got at me so hows it taste when i slap the taste out your mouth with the bass so loud that it shakes the place im hannibal lecter so just in case youre thinking of saving face you aint gonna have no face to save by the time im through with this place so drakeit may not mean nothing to yall but understand nothing was done for me so i dont plan on stopping at all i want this shit forever mayne ever mayne ever mayne im shutting shit down at the mall and telling every girl she the one for me and i aint even planning to call i want this shit forever mayne ever mayne ever mayne ",1
72,"two is better than one","boys like girls featuring taylor swift",2010," i remember what you wore on our first date you came into my life and i thought hey you know this could be something cause everything you do and words you say you know that it all takes my breath away and now im left with nothingso maybe its true that i cant live without you well maybe two is better than one theres so much time to figure out the rest of my life and youve already got me coming undone and im thinking two is better than onei remember every look upon your face the way you roll your eyes the way you taste you make it hard for breathing cause when i close my eyes and drift away i think of you and everythings okay im finally now believinand maybe its true that i cant live without you well maybe two is better than one theres so much time to figure out the rest of my life and youve already got me coming undone and im thinking two is better than onei remember what you wore on the first date you came into my life and i thought heymaybe its true that i cant live without you maybe two is better than one theres so much time to figure out the rest of my life and youve already got me coming undone and im thinkingoooh i cant live without you cause baby two is better than one theres so much time to figure out the rest of my life and ive figured out with all thats said and done two is better than onetwo is better than one ",1
73,"my first kiss","3oh3 featuring keha",2010," my first kiss went a little like this mwah mwah and twist mwah mwah and twistwell my first kiss went a little like this and twist and twisti said no more teachers and no more books i got a kiss under the bleachers hoping that nobody looked lips like licorice tongue like candy excuse me miss but can i get you out your pantiesin the back of the car on the way to the bar i got you on my lips i got you on my lips at the foot of the stairs with my fingers in your hair baby this is itshe wont ever get enough once she gets a little touch if i had it my way you know that id make her say ooh ooh she wont ever get enough once she gets a little touch if i had it my way you know that id make her say ooh oohmy first kiss went a little like thisi said no more sailors and no more soldiers with your name in a heart tattooed up on the shoulders your kiss is like whiskey it gets me drunk and i wake up in the morning with the taste of your tonguein the back of the car on the way to the bar i got you on my lips i got you on my lips at the foot of the stairs with my fingers in your hair baby this is itshe wont ever get enough once she gets a little touch if i had it my way you know that id make her say ooh ooh she wont ever get enough once she gets a little touch if i had it my way you know that id make her say ooh oohmy first kiss went a little like this and twist and twist well my first kiss went a little like this and twist and twistyeah she wont ever get enough once she gets a little touch if i had it my way you know that id make her say oohshe wont ever get enough once she gets a little touch if i had it my way you know that id make her say ooh ooh she wont ever get enough once she gets a little touch if i had it my way you know that id make her say ooh oohshe wont ever get enough once she gets a little touch if i had it my way you know that id make her say ",1
74,"already gone","kelly clarkson",2010," remember all the things we wanted now all our memories theyre haunted we were always meant to say goodbye even without fists held high yeah never would have worked out right yeah we were never meant for do or diei didnt want us to burn out i didnt come here to hurt you now i cant stopi want you to know that it doesnt matter where we take this road someones gotta go and i want you to know you couldnt have loved me better but i want you to move on so im already gonelooking at you makes it harder but i know that youll find another that doesnt always make you wanna cry started with a perfect kiss then we could feel the poison set in perfect couldnt keep this love aliveyou know that i love you so i love you enough to let you goi want you to know that it doesnt matter where we take this road someones gotta go and i want you to know you couldnt have loved me better but i want you to move on so im already goneim already gone im already gone you cant make it feel right when you know that its wrong im already gone already gone theres no moving on so im already gonealready gone already gone already goneoh ohalready gone already gone already goneyeahremember all these things we wanted now all our memories theyre haunted we were always meant to say goodbyei want you to know that it doesnt matter where we take this road someones gotta go and i want you to know you couldnt have loved me better but i want you to move on so im already goneim already gone im already gone you cant make it feel right when you know that its wrong im already gone already gone theres no moving on so im already gone ",1
75,"rock that body","the black eyed peas",2010,"i wanna rock right now i wanna i wanna rock right now i wanna i wanna rock right now now now rock right now i wanna i wanna rock right now i wanna i wanna rock right now i wanna i wanna rock right now i wanna dance i wanna dance in the light i wanna rock i wanna rock your body i wanna go i wanna go for a ride hop in the music and rock your body right rock that body come on come on rock that body rock your body rock that body come on come on rock that body rock that body come on come on rock that body rock your body rock that body come on come on rock that body let me see your body rock shakin from the bottom to the top freak to what the dj drop we be the ones to make it hot to make it hot electric shock energy like a billion watts space be boomin the speakers pop galactic comb we missed a spot we bumpin your parkin lot when you comin up in the spot dont bring nothing we call pink dot cause we burnin around the clock hit the lights and then turn them off if you bring that dont make it soft like the jungle we run the block no one rollin the way we rock way we rock i wanna i wanna rock right now i wanna i wanna rock right now i wanna i wanna rock right now i wanna dance i wanna dance in the light i wanna rock i wanna rock your body i wanna go i wanna go for a ride hop in the music and rock your body right rock that body come on come on rock that body rock that body rock that body come on come on rock that body rock that body come on come on rock that body rock your body rock that body come on come on rorock thathat boody super fly ladies all of my super fly ladies all of my super fly ladies all of my super fly super fly ladies yeah you can be bigboned long as you feel like you own you could be the model type skinny with no appetite short stack black or white long as you do what you like body out of sight body body out of sight she does the two step and the tongue drop she does the cabbage patch and the bus stop she like electro she love hip hop she like the reggae she feel punk rock she likes samba and the mambo she like to break dance and calypso get a lil crazy get a lil stupid get a lil crazy crazy crazy i wanna dance i wanna dance in the light i wanna rock i wanna rock your body i wanna go i wanna go for a ride hop in the music and rock your body right rock your body right rock your body right come on yeah rock that body come on come on rock that body come on ya rock that body come on come on rock that body go oh oh oh oh oh oh oh now go oh oh oh oh oh oh oh now go oh oh oh oh oh oh oh now go oh oh oh oh oh oh oh i wanna i wanna rock right now i wanna i wanna rock i wanna i wanna rock now go oh oh oh oh oh oh oh i wanna i wanna rock i wanna i wanna rock now go oh oh oh oh oh oh oh now go oh oh oh oh oh oh oh i wanna i wanna rock right now i wanna i wanna rock right now i wanna i wanna rock right now now now rock right now i wanna i wanna rock right now i wanna i wanna rock right now i wanna i wanna rock right now",3
76,"secrets","onerepublic",2010," i need another story something to get off my chest my life gets kinda boring need something that i can confess til all my sleeves are stained red from all the truth that ive said come by it honestly i swear thought you saw me wink no ive been on the brink sotell me what you want to hear something that will light those ears sick of all the insincere im gonna give all my secrets away this time dont need another perfect lie dont care if critics ever jump in line im gonna give all my secrets awaymy god amazing how we got this far its like were chasing all those stars whos driving shiny big black cars and everyday i see the news all the problems that we could solve and when a situation rises just write it into an album send it straight to gold i dont really like my flow no sotell me what you want to hear something that are like those years sick of all the insincere im gonna give all my secrets away this time dont need another perfect lie dont care if critics never jump in line im gonna give all my secrets awayoh got no reason got no shame got no family i cant blame just dont let me disappear imma tell you everythingso tell me what you want to hear something thatll light those ears sick of all the insincere im gonna give all my secrets away this time dont need another perfect lie dont care if critics never jump in line im gonna give all my secrets awayso tell me what you want to hear something that delight those ears sick of all the insincere im gonna give all my secrets away this time dont need another perfect lie dont care if critics ever jump in line im gonna give all my secrets away all my secrets away all my secrets away ",1
77,"naturally","selena gomez  the scene",2010,"how you choose to express yourself its all your own and i can tell it comes naturally it comes naturally you follow what you feel inside its intuitive you dont have to try it comes naturally it comes naturally and it takes my breath away what you do so naturally you are the thunder and i am the lightning and i love the way you know who you are and to me its exciting when you know its meant to be everything comes naturally it comes naturally when youre with me baby everything comes naturally it comes naturally baybaybaby you have a way of moving me a force of nature your energy it comes naturally it comes naturally yeah and it takes my breath away what you do so naturally you are the thunder and i am the lightning and i love the way you know who you are and to me its exciting when you know its meant to be everything comes naturally it comes naturally when youre with me baby everything comes naturally it comes naturally baybaybaby when we collide sparks fly when you look in my eyes it takes my breath away you are the thunder and i am the lightning and i love the way you know who you are and to me its exciting when you know its meant to be everything comes naturally it comes naturally when youre with me baby everything comes naturally it comes naturally baybaybaby naturally naturally naturally baybaybaby naturally naturally naturally everything baby comes naturally naturally naturally everything baby comes naturally",3
78,"unthinkable im ready","alicia keys",2010," moment of honesty someones gotta take the lead tonight whos it gonna be im gonna sit right here and tell you all that comes to me if you have something to say you should say it right nowyou give me a feeling that i never felt before and i deserve it i think i deserve it its becoming something thats impossible to ignore and i cant take it i was wondering maybe could i make you my baby if we do the unthinkable would it make us look crazy if you ask me im ready if you ask me im readyi know you said to me this is exactly how it should feel when its meant to be time is only wasting so why wait for eventually if we gonna do something bout it we should do it right now we should do it right nowyou give me a feeling that i never felt before and i deserve it i know i deserve it its becoming something thats impossible to ignore it is what we make it i was wondering maybe could i make you my baby if we do the unthinkable would it make us look crazy or would it be so beautiful either way im sayin if you ask me im ready if you ask me im readywhy give up before we try feel the lows before the highs clip our wings before we fly away fly away i cant say i came prepared im suspended in the air wont you come be in the sky with mei was wondering maybe could i make you my baby if we do the unthinkable would it make us look crazy or would it be so beautiful either way im sayin if you ask me im ready if you ask me im ready if you ask me im ready if you ask me im ready ",1
79,"all i do is win","dj khaled featuring tpain ludacris snoop dogg and rick ross",2010," dj khaled hey yeah we the bestall i do is win win win no matter what got money on my mind i can never get enough and every time i step up in the buildin everybody hands go up and they stay there and they say yeah and they stay there up down up down up down cause all i do is win win win and if you goin in put your hands in the air make em stay thereluda ludacris goin in on the verse cause i never been defeated and i wont stop now keep your hands up get em in the sky for the homies that didnt make it and the folks locked down i never went no where but they saying ludas back blame it on that conjure the hood call it ludayac and im on this foolish track so i spit my foolish flow my hands go up and down like strippers bootys go my verses still be serving tight like a million virgins last time on a khaled remix now im on the original version cant never count me out yall better count me in got twenty bank accounts accountants count me in make millions every year the souths champion cause all i do all i all i all i all i do isall i do is win win win no matter what got money on my mind i can never get enough and every time i step up in the buildin everybody hands go up and they stay there and they say yeah and they stay there up down up down up down cause all i do is win win win and if you goin in put your hands in the air make em stay thereswerving in my lolo head on the swivel you know serving mes a no no clean as a whistle as i pull out in my rolls royce yellow bone passenger they see it they say oh boy tell khaled back it up my niggas call me loco down for armed trafficking dont make me pull that fofo ask you what you laughing at represent that mud life mud life dirty money bitch you better get your mug right mug right we come together holding hands and holla thug life thug life we all strapped in all black its like fuck life all we do is win you riding or what what cause we riding tonight night now she riding with me cause you wasnt ridin her rightall i do is win win win no matter what got money on my mind i can never get enough and every time i step up in the buildin everybody hands go up and they stay there and they say yeah and they stay there up down up down up down cause all i do is win win win and if you goin in put your hands in the air make em stay thereheat in the kitchen pot on the stove water getting boiled dope being sold snoopy in the hoopty system overload ive been runnin this rap game since i was twenty years old i hung with the worst of em bust till i burst on em floss em up toss em up hardaway cross em up pardon me im bossin up pressure up bless ya bruh dont mess with us we like the u in the 80s back to back set a trap hit the lick get it back hit the trick jump the track bitch i want my money back time and time again while im sipping on this gin al davis said it best just win baby winall i do is win win win no matter what got money on my mind i can never get enough and every time i step up in the buildin everybody hands go up and they stay there and they say yeah and they stay there up down up down up down cause all i do is win win win and if you goin in put your hands in the air make em stay there ",1
80,"i made it cash money heroes","kevin rudolf featuring birdman jay sean and lil wayne",2010,"yeah cash money heroes private jets polish fly i look up to the sky and now the world is mine ive known it all my life i made it i made it i used to dream about the life im living now i know that theres no doubt i made it i made it known from the city where no one believed in me but i never give up the fight yeah but now im on top i told you to let it rock the moneys fallin from the sky i made it i look up to the sky and now the world is mine ive known it all my life i made it i made it i used to dream about the life im living now i know that theres no doubt i made it i made it rooftop hella choppa burning smoke louis bag stay strapped with a priceless globe high life flippin and get some more paradise the luxury marble floor when i hit hit me full of that cash more money than i seen in a garbage can stunna island money and the power thats how we do it make it rain make it shower top floor bigtimer doing big things over city views bought shawty new range flip another 100 poppin throwing hundreds in a new bentley uptown stunna i look up to the sky to the sky and now the world is mine the world is mine ive known it all my life all my life i made it i made it i used to dream about the life im living now i know that theres no doubt i made it i made it i made it i made it i made it i made it i made it yo listen see i dont live for glamor and i dont care for fame im in this for the love of the game funny how things can change they didnt believe in me then they calling my name now look who cashed in they didnt wanna know me back then but ever since i done gon platinum everything turned around and now the sky is falling down i look up to the sky and now the world is mine ive known it all my life i made it i made it i used to dream about the life im living now i know that theres no doubt i made it i made it came from the gutter lookin like my mother made it to the goal line straight out the huddle cash money goldmine weezy stay loyal boy we getting money like we just found oil uh and thats word to my red flag i live first and leave the bullshit dead last i lay it down so hard i got a bed rash and i just tell em to loaf it when the bread pass staring at you from the top of the game man i might drop the world if i change hands uh it feel good to be here weezy in the building got this bitch rebuilt young money i look up to the sky and now the world is mine ive known it all my life i made it i made it i used to dream about the life im living now i know that theres no doubt i made it i made it i look up to the sky   i made it i made it i made it ooh i i i made it made it i made it   i made it yes i did yes i did yes i did yes i did yes i did i i i made it",3
81,"stuck like glue","sugarland",2010," absolutely no one who knows me better no one that can make me feel so good how did we stay so long togetherwhen everybody everybody said we never would and just when i i start to think theyre right that love has diedthere you go making my heart beat again heart beat again heart beat again there you go making me feel like a kid wont you do it and do it one time there you go pulling me right back in right back in right back in and i know im never letting this goim stuck on you whoaoh whoaoh stuck like glue you and me baby were stuck like gluewhoaoh whoaoh stuck like glue you and me baby were stuck like gluesome days i dont feel like trying some days you know i wanna just give up when it doesnt matter whos right fight about it all nighthad enough you give me that look im sorry baby lets make up you do that thing that makes me laugh and just like thatthere you go making my heart beat again heart beat again heart beat again there you go making me feel like a kid wont you do it and do it one time there you go pulling me right back in right back in right back in and i know im never letting this goim stuck on you whoaoh whoaoh stuck like glue you and me baby were stuck like gluewhoaoh whoaoh stuck like glue you and me baby were stuck like gluewhoaoh whoaoh you almost stay out too stuck together from the atlwhoaoh whoaoh feeling kinda sick just a spoon full of sugar make it better real quicki say whoaoh whoaoh whatcha gonna do with that whoaoh whoaoh come on over here with that sugar sticky sweet stuff come on give me that stuff everybody want some melodies that get stuckup in your head whoaoh whoaoh up in your head whoaoh whoaoh up in your head whoaoh whoaoh up in your head whoaoh whoaoh whoaoh whoaoh stuck like glue you and me together say its all i wanna do i saidthere you go making my heart beat again heart beat again heart beat again there you go making me feel like a kid wont you do it and do it one time there you go pulling me right back in right back in right back in and i know i know im never letting this go never letting this gothere you go making my heart beat again heart beat again heart beat again there you go making me feel like a kid wont you do it and do it one time there you go pulling me right back in right back in right back in and i know know im never letting this go never letting this go im stuck on youwhoaoh whoaoh stuck like glue you and me baby were stuck like gluewhoaoh whoaoh stuck like glue you and me baby were stuck like gluewhoaoh whoaoh stuck like glue you and me baby were stuck like glue ",1
82,"hey daddy daddys home","usher featuring plies",2010," i just wanna get your attention i really wanna be all up in your head cause when i got youre gonna wanna get some yeah but girl thats only if you aint scaredand i wont knock or ring no bells you just poke that bottom up in the air ill get you hot i know you oh so well and when im walk in all that i wanna hearis you say daddys home daddys home for me and i know youve been waiting for this love in your day you know your daddys home daddys home and its time to play so its time to play so you aint got to give my loving away so all my ladies say hey hey hey daddy hey hey hey daddy so all my ladies say hey hey hey daddy hey hey hey daddyi aint gotta do a lot of flexin shorty you already know what it is and girl tonight were gonna do a lot of sexin cant nobody do your body like this ohi wont knock or ring no bells you just float bottom up in the air said ill get you hot i know you oh so well and when i walk in all that i wanna hearis you say daddys home home for me and i know youve been waiting for this lovin all day you know your daddys home daddys home its time to play so its time to play so you aint got to give my loving away so all my ladies say hey hey hey daddy daddy know what you like hey hey hey daddy so all my ladies say hey hey hey daddy hey hey hey daddypoke it on out poke it out right there im a fall back while you work that chair do that damn thing let the neighbors hearpoke it on out poke it out right there im a fall back let you work that chair do that damn thing all i wanna hearis you say daddys home home for me and i know youve been waiting for this lovin all day you know your daddys home daddys home its time to play so its time to play so you aint got to give my loving awaydaddys home home for me and i know youve been waiting for this love in your day you know your daddys home daddys home its time to play so its time to play so you aint got to give my loving awayso all my ladies say hey hey hey daddyhey hey hey daddy call me daddy babeso all my ladies say hey hey hey daddyhey hey hey daddyhey daddy know what you like yeah ",1
83,"there goes my baby","usher",2010," yeah right usher baby ok yeah man rightthere goes my baby ooh girl look at you you dont know how good it feels to call you my girl there goes my baby loving everything you do ooh girl look at youbet you aint know that i be checking you out when you be putting your heels on i swear your bodys so perfect baby how you work it baby yea i love the way that you be poking it out girl give me something to feel on so please believe we gone be twerking it out by the end of the night babyive been waiting all day to wrap my hands around your waist and kiss your face wouldnt trade this feeling for nothing not even for a minute and ill sit here long as it takes to get you all alone but as soon as you come walking my way you gon hear me saythere goes my baby there she goes there she goes there she goes ooh girl look at you you dont know how good it feels to call you my girl you dont know there goes my baby there she goes there she goes there she goes no no no loving everything you do ooh girl look at youi get the chills whenever i see your face and you in the place girl feel like im in a movie baby im like ooh wee baby oh like waterfalls your hair falls down to your waist can i get a taste girl no need to keep this baby i aint ashamed of calling your name girlive been waiting all day to wrap my hands around your waist and kiss your face wouldnt trade this feeling for nothing not even for a minute and ill sit here long as it takes to get you all alone but as soon as you come walking my way you gon hear me saythere goes my baby thats my baby ooh girl look at you you dont know how good it feels to call you my girl you dont know there goes my baby my baby oh loving everything you do ooh girl look at youand girl i feel like its our first time every time we get together baby loving you feels better than everything anything put on my heart you dont need a ring and i promise our time away wont change my lovethere goes my baby there she goes ooh girl look at you you dont know how good it feels to call you my girl there goes my baby there she goes there she goes there she goes now loving everything you do ooh girl look at youthere goes my baby ooh girl look at you you dont know how good it feels to call you my girl oh yeah there goes my baby loving everything you do ooh girl look at you ",1
84,"today was a fairytale","taylor swift",2010," today was a fairytale you were the prince i used to be a damsel in distress you took me by the hand and you picked me up at six today was a fairytale today was a fairytaletoday was a fairytale i wore a dress you wore a dark gray tshirt you told me i was pretty when i looked like a mess today was a fairytaletime slows down whenever youre around but can you feel this magic in the air it must have been the way you kissed me fell in love when i saw you standing thereit must have been the way today was a fairytale it must have been the way today was a fairytaletoday was a fairytale youve got a smile that takes me to another planet every move you make everything you say is right today was a fairytaletoday was a fairytale all that i can say is now its getting so much clearer nothing made sense until the time i saw your face today was a fairytaletime slows down whenever youre around yeah yeahbut can you feel this magic in the air it must have been the way you kissed me fell in love when i saw you standing thereit must have been the way today was a fairytale it must have been the way today was a fairytaletime slows down whenever youre around i can feel my heart its beating in my chest did you feel it i cant put this downbut can you feel this magic in the air it must have been the way you kissed me fell in love when i saw you standing there it must have been the waybut can you feel this magic in the air it must have been the way you kissed me fell in love when i saw you standing thereit must have been the way today was a fairytale it must have been the way today was a fairytale oh oh yeaah ohhh today was a fairytale ",1
85,"say something","timbaland featuring drake",2010," this shit was all i knew you and me only i did it all for you still you were lonely we can work it out uhh but i guess things change its funny how someone elses success brings pain when youre no longer involved that person has it all you just stuck standin there im gonna need you to say something baby say say something baby say something baby say something baby im gonna need you to say something baby im gonna need you to say something babyyeah it really sucks whenever since ive been long gone i traded in my senorita for a microphone i hate the way you fell apart girl its sad to see your life is good but me and you were a catastrophe if i was unsuccessful would you be satisfied i need a paramedic girl im feeling paralyzed if i could choose you will always be a friend to me the more money i made you acting like my enemy its crazy i cant help it if youre really ashamed all the pressure would turn you into my diamond babe how can something so familiar be so strange closest friends get estranged when the status change ah is it my mistake think that where i am and where you at and my homeboy larry live is the only one that had my back you were the perfect girl now it seems we dont match is it the money want me to give it backthis shit was all i knew you and me only i did it all for you still you were lonely we can work it out uhh but i guess things change its funny how someone elses success brings pain when youre no longer involved that person has it all you just stuck standin there but im gonna need you to say something baby say say something baby say something baby say something baby im gonna need you to say something baby im gonna need you to say something babyi am the topic of conversation this is celebration lets toast to the fact that ive moved out my mamas basement to a condo downtown cause its all about location im sitting drink wine and watch californication of life you should have been here to kick it with me we could have split this whole thing up fifty fifty but now im at the forty forty getting bitches tipsy killing shit the ever so talented mr ripley how i go from being the man that you argue with to me and dwayne carter putting out the hardest shit i should want to go back to the one i started with but im addicted to this life its gonna be hard to quit yeah just ask me how things are coming along you could tell me that youve never heard none of my songs as long as you end up saying one day you plan to listen cause whats a star when its most important fan is missing ",1
86,"sweet dreams","beyonce",2010," turn the lights onevery night i rush to my bed with hopes that maybe ill get a chance to see you when i close my eyes im going out of my head lost in a fairytale can you hold my hands and be my guideclouds filled with stars cover your skies and i hope it rains youre the perfect lullaby what kinda dream is thisyou can be a sweet dream or a beautiful nightmare either way i dont wanna wake up from you turn the lights on sweet dream or a beautiful nightmare somebody pinch meyour loves too good to be true turn the lights on my guilty pleasurei aint going nowhere baby long as youre here ill be floating on air cause youre my you can be a sweet dream or a beautiful nightmare either way i dont wanna wake up from you turn the lights oni mention you when i say my prayers i wrap you around all of my thoughts boy youre my temporary high i wish that when i wake up youre there to wrap your arms around me for real and tell me youll stay by my sideclouds filled with stars cover the skies and i hope it rains youre the perfect lullaby what kinda dream is thisyou can be a sweet dream or a beautiful nightmare either way i dont wanna wake up from you turn the lights on sweet dream or a beautiful nightmare somebody pinch meyour loves too good to be true turn the lights on my guilty pleasurei aint going nowhere baby long as youre here ill be floating on air cause youre my you can be a sweet dream or a beautiful nightmare either way i dont wanna wake up from you turn the lights ontattoo your name across my heart so it will remain not even death can make us part what kind of dream is thisyou can be a sweet dream or a beautiful nightmare either way i dont wanna wake up from you turn the lights on sweet dream or a beautiful nightmare somebody pinch meyour loves too good to be true turn the lights on my guilty pleasurei aint going nowhere baby long as youre here ill be floating on air cause youre my you can be a sweet dream or a beautiful nightmare either way i dont wanna wake up from you turn the lights oneither way i dont wanna wake up from you ",1
87,"use somebody","kings of leon",2010," ive been roaming around always looking down at all i see painted faces fill the places i cant reachyou know that i could use somebody you know that i could use somebodysomeone like you and all you know and how you speak countless lovers under cover of the streetyou know that i could use somebody you know that i could use somebody someone like youoff in the night while you live it up im off to sleep waging wars to shape the poet and the beat i hope its gonna make you notice i hope its gonna make you noticesomeone like me someone like me someone like me somebodysomeone like you somebody someone like you somebody someone like you somebodyive been roaming around always looking down at all i see ",1
88,"undo it","carrie underwood",2010," shouldve known by the way you pass me by there was something in your eyes and it wasnt right i shouldve walked but i never had the chance everything got out of hand and i let it slide now i only have myself to blame for falling for your stupid games i wish my life could be the way it was before i saw your faceyou stole my happy you made me cry you took the lonely and took me for a ride and i wanna un un un un undo it you had my heart now i want it back im starting to see everything you lack boy you blew it you put me through it i wanna un un un un undo it na na na na na na na na na na na na na na na nanow your photos dont have a picture frame and i never say your name and i never will and all your things well i threw them in the trash and im not even sad now you only have yourself to blame for playing all those stupid games youre always gonna be the same oh no youll never changeyou stole my happy you made me cry you took the lonely and took me for a ride and i wanna un un un un undo it you had my heart now i want it back im starting to see everything you lack boy you blew it you put me through it i wanna un un un un undo it na na na na na na na na na na na na na na na nayou want my future you cant have it still trying to erase you from my past i need you gone so fastyou stole my happy you made me cry you took the lonely and took me for a ride and i wanna un un un un undo it you had my heart now i want it back im starting to see everything you lack boy you blew it you put me through it i wanna un un un un undo ityou stole my happy you made me cry you took the lonely and took me for a ride boy you blew it you put me through it i wanna un un un un undo it ",1
89,"eenie meenie","sean kingston and justin bieber",2010," sean kingstoneenie meenie miney mo catch a bad chick by her toe if she holla if if if she holla let her goshes indecisive she cant decide she keeps on lookin from left to rightgirl cmon get closer look in my eyes searchin is so wrong im mr rightyou seem like the type to love em and leave em and disappear right after the song so give me the night to show you hold you dont leave me out here dancin aloneyou cant make up your mind mind mind mind mind please dont waste my time time time time time im not tryin to rewind wind wind wind wind i wish our hearts could come together as onecause shawty is a eenie meenie miney mo lova shawty is a eenie meenie miney mo lova shawty is a eenie meenie miney mo lova shawty is a eenie meenie miney mo lovajustin bieber let me show you what your missin paradise with me youre winning girl you dont have to roll the dice tell me what youre really here for them other guys i can see right through yayou seem like the type to love em and leave em and disappear right after the song so give me the night to show you hold you dont leave me out here dancin alonecant make up your mind mind mind mind mind please dont waste my time time time time time not tryin to rewind winf wind wind i wish our hearts could come together as onecause shawty is a eenie meenie miney mo lova shawty is a eenie meenie miney mo lova shawty is a eenie meenie miney mo lova shawty is a eenie meenie miney mo lovasean kingston eenie meenie miney moe catch a bad chick by her toe if she holla if if if she holla let her go eenie meenie miney moe catch a bad chick by her toe if she holla x2 let her goshawty is a eenie meenie miney mo lova shawty is a eenie meenie miney mo lova shawty is a eenie meenie miney mo lova shawty is a eenie meenie miney mo lovacant make up your mind please dont waste my time not tryin to rewind i wish our hearts could come together as one x2 ",1
90,"right above it","lil wayne featuring drake",2010," kane is in the building nigganow tell me how you love it you know you at the top when only heavens right above it we on cause we onwho else really tryna fuck with hollywood co im with marley g bro flying hollygrove chicks to my hollywood shows and i wanna tell you something that you prolly should know this that slumdog millionaire bollywood flow and uh my real friends never hearin from me fake friends write the wrong answers on the mirror for me thats why i pick and choose i dont get shit confused i got a small circle im not with different crews we walk the same path but got on different shoes live in the same building but we got different views i got a couple cars i never get to use dont like my women single i like my chicks in twos and these days all the girls is down to roll i hit the strip club and all them bitches find a pole plus i been sippin so this shit is movin kinda slow just tell my girl to tell her friend that its time to gonow tell me how you love it you know you at the top when only heavens right above it we on its young money motherfucker if you aint runnin wit it run from it motherfucker all right now somebody show some money in this bitch and i got my bs with me like some honey in this bitch ya dig i got my gun in my boo purse and i dont bust back because i shoot firstmeet me on the fresh train yes im in the building you just on the list of guest names and all of my riders do not give a fuck xgames guns turn you boys into pussies sex change and i smoke til i got chest pains and you niggas know i rep my gang like jesse james women are possessive and they wanna possess wayne i been fly so long i fell asleep on the fuckin plane skinny pants and some vans call me triplea get my advance in advance amen as the world spin and dance in my hands life is a beach im just playin in the sand uh wake up and smell the pussy you niggas cant see me but never overlook me im on the paper trail it aint no tellin where it took me yeah and i aint a killa but dont push men now tell me how you love it you know you at the top when only heavens right above it we on its young money motherfucker if you aint runnin wit it run from it motherfucker all right now somebody show some money in this bitch and i got my bees with me like some honey in this bitch ya dig i got my gun in my boo purse and i dont bust back because i shoot firstuh how do he say whats never said beautiful black woman i bet that bitch look better red limpin off tour cause i made more off my second leg mafuckin birdman junior eleventh grade ball on automatic start i could hand it to drake or do a quarterback draw wildcat offense check the paw prints we in the building you niggas in apartments nonow cmon be my blood donor flo so nice you aint gotta put a rug on her do it big and let the small fall under that damn where you stumbled at from where they make gumbo at kane got the fuckin beat jumpin like a jumping jack but you know me i get on this bitch and have a heart attack hiphop im the heart of that nigga nothin short of that president carter young money democratnow tell me how you love it you know you at the top when only heavens right above it we on its young money motherfucker if you aint runnin wit it run from it motherfucker all right now somebody show some money in this bitch and i got my bs with me like some honey in this bitch ya dig soo woo i got my gun in my boo purse and i dont bust back because i shoot firstwe on young young mula baby ",1
91,"the house that built me","miranda lambert",2010," i know they say you cant go home again well i just had to come back one last time and maam i know you dont know me from adam but these hand prints on the front steps are mineup those stairs in that little back bedroom is where i did my homework and i learned to play guitar and i bet you didnt know under that live oak my favorite dog is buried in the yardi thought if i could touch this place or feel it this brokenness inside me might start healing out here its like im someone else i thought that maybe i could find myselfif i could just come in i swear ill leave wont take nothing but a memory from the house that built memama cut out pictures of houses for years from better homes and garden magazine plans were drawn and concrete poured and nail by nail and board by board daddy gave life to mamas dreami thought if i could touch this place or feel it this brokenness inside me might start healing out here its like im someone else i thought that maybe i could find myselfif i could just come in i swear ill leave wont take nothing but a memory from the house that built meyou leave home you move on and you do the best you can i got lost in this whole world and forgot who i ami thought if i could touch this place or feel it this brokenness inside me might start healing out here its like im someone else i thought that maybe i could find myselfif i could walk around i swear ill leave wont take nothing but a memory from the house that built me ",1
92,"if i die young","the band perry",2010," if i die young bury me in satin lay me down on a bed of roses sink me in the river at dawn send me away with the words of a love song uh oh uh ohlord make me a rainbow ill shine down on my mother shell know im safe with you when she stands under my colors oh and life aint always what you think it ought to be no aint even grey but sheburies her babythe sharp knife of a short life oh well ive had just enough timeif i die young bury me in satin lay me down on a bed of roses sink me in the river at dawn send me away with the words of a love songthe sharp knife of a short life oh well ive had just enough timeand ill be wearing white when i come into your kingdom as green as the ring on my little cold finger ive never known the loving of a man but it sure felt nice when he was holding my handtheres a boy here in town says hell love me forever who would have thought forever could be severed by the sharp knife of a short life oh well ive had just enough timeso put on your best boys and ill wear my pearls what i never did is done a penny for my thoughts oh no ill sell em for a dollar theyre worth so much more after im a goner and maybe then youll hear the words ive been singing funny when youre dead how people start listennif i die young bury me in satin lay me down on a bed of roses sink me in the river at dawn send me away with the words of a love songthe ballad of a dove go with peace and love gather up your tears keep em in your pocket save them for a time when youre really gonna need them the sharp knife of a short life oh well ive had just enough time so put on your best boys and ill wear my pearls ",1
93,"the only exception","paramore",2010," when i was younger i saw my daddy cry and curse at the wind he broke his own heart and i watched as he tried to reassemble itand my momma swore that she would never let herself forget and that was the day that i promised id never sing of love if it does not exist but darlinyou are the only exception you are the only exception you are the only exception you are the only exceptionmaybe i know somewhere deep in my soul that love never lasts and weve got to find other ways to make it alone but keep a straight faceand ive always lived like this keeping a comfortable distance and up until now i had sworn to myself that im content with lonelinessbecause none of it was ever worth the riskbut you are the only exception you are the only exception you are the only exception you are the only exceptionive got a tight grip on reality but i cant let go of whats in front of me here i know your leaving in the morning when you wake up leave me with some kind of proof its not a dream ohyou are the only exception you are the only exception you are the only exception you are the only exceptionyou are the only exception you are the only exception you are the only exception you are the only exceptionand im on my way to believing oh and im on my way to believing ",1
94,"american honey","lady antebellum",2010," she grew up on a side of the road where the church bells ring and strong love grows she grew up good she grew up slow like american honeysteady as a preacher free as a weed couldnt wait to get goin but wasnt quite ready to leave so innocent pure and sweet american honeytheres a wild wild whisper blowin in the wind callin out my name like a long lost friend oh i miss those days as the years go by oh nothings sweeter than summertime and american honeyget caught in the race of this crazy life tryin to be everything can make you lose your mind i just wanna go back in time to american honey yeatheres a wild wild whisper blowin in the wind callin out my name like a long lost friend oh i miss those days as the years go by oh nothings sweeter than summertime and american honeygone for so long now i gotta get back to her somehow to american honeyooo theres a wild wild whisper blowin in the wind callin out my name like a long lost friend oh i miss those days as the years go by oh nothins sweeter than summertime and american honey and american honey ",1
95,"king of anything","sara bareilles",2010," keep drinking coffee stare me down across the table while i look outside so many things id say if only i were able but i just keep quiet and count the cars that pass byyouve got opinions man were all entitled to em but i never asked so let me thank you for your time and try not to waste anymore of mine and get out of here fasti hate to break it to you babe but im not drowning theres no one here to savewho cares if you disagree you are not me who made you king of anything so you dare tell me who to be who died and made you king of anythingyou sound so innocent all full of good intent swear you know best but you expect me to jump up on board with you and ride off into your delusional sunsetim not the one whos lost with no direction but youll never see youre so busy making masks with my name on them in all caps you got the talking down just not the listeningand who cares if you disagree you are not me who made you king of anything so you dare tell me who to be who died and made you king of anythingall my life ive tried to make everybody happy while i just hurt and hide waiting for someone to tell me its my turn to decidewho cares if you disagree you are not me who made you king of anything so you dare tell me who to be who died and made you king of anythingwho cares if you disagree you are not me who made you king of anything so you dare tell me who to be who died and made you king of anythinglet me hold your crown babe ",1
96,"life after you","daughtry",2010," ten miles from town and i just broke down spitting out smoke on the side of the road im out here alone just trying to get home to tell you i was wrong but you already know believe me i wont stop at nothing to see you so ive started runningall that im after is a life full of laughter as long as im laughing with you and i think that all that still matters is love ever after after the life weve been through cause i know theres no life after youlast time we talked the night that i walked burns like an iron in the back of my mind i must have been high to say you and i werent meant to be and just wasting my time oh why did i ever doubt you you know i would die here without youall that im after is a life full of laughter as long as im laughing with you and i think that all that still matters is love ever after after the life weve been through cause i know theres no life after youyou and i right or wrong theres no other one after this time spent alone its hard to believe that a man with sight could be so blind thinking about the better times mustve been out of my mind so im running back to tell youall that im after is a life full of laughter without you god knows what id do all that im after is a life full of laughter as long as im laughing with youand i think that all that still matters is love ever after after the life weve been through i know theres no life after you no theres no life after you no theres no life after you no theres no life after you no theres no life after you no theres no life after you no theres no life after you ya ",1
97,"smile","uncle kracker",2010," youre better than the best im lucky just to linger in your light cooler then the flip side of my pillow thats right completely unaware nothing can compare to where you send me lets me know that its ok yeah its ok and the moments where my good times start to fadeyou make me smile like the sun fall out of bed sing like a bird dizzy in my head spin like a record crazy on a sunday night you make me dance like a fool forget how to breathe shine like gold buzz like a bee just the thought of you can drive me wild oh you make me smileeven when youre gone somehow you come along just like a flower poking through the sidewalk crack and just like that you steal away the rain and just like thatyou make me smile like the sun fall out of bed sing like a bird dizzy in my head spin like a record crazy on a sunday night you make me dance like a fool forget how to breathe shine like gold buzz like a bee just the thought of you can drive me wild oh you make me smiledont know how i lived without you cause every time that i get around ya i see the best of me inside your eyes you make me smile you make me dance like a fool forget how to breathe shine like gold buzz like a bee just the thought of you can drive me wildyou make me smile like the sun fall out of bed sing like a bird dizzy in my head spin like a record crazy on a sunday night you make me dance like a fool forget how to breathe shine like gold buzz like a bee just the thought of you can drive me wild oh you make me smile oh you make me smile oh you make me smile ",1
98,"teach me how to dougie","cali swag district",2010," aye aye teach me how to dougie ayethey be like smooth what can you teach me how to dougie you know why cause all da bitches love me aye all i need is a beat thats super bumpin and for you you you to back it up and dougieput your arms out front lean side to side they gonna be on you when they see you hit dat dougie right aint nobody fuckin with my bro from morningside he go by bubba and he hit dat dance like thunder i aint from dallas but i dtown boogie i show my moves off now everybody tryna do me i leave da functions and all the ladies tryna screw me now you just do you and im a do me all day niggas love to hate so they try to shoo me bitches be stuck to me i think they tryna glue me i make the party shine bright when it start to gloomin this beat was bubblegum so i had to chew itteach me how to dougie tteach me how to dougie teach me how to dougie tteach me how to dougie all my bitches love me all my all my bitches love me all my bitches love me you aint fuckin with my dougieteach me how to dougie tteach me how to dougie teach me how to dougie tteach me how to dougie all my bitches love me all my all my bitches love me all my bitches love me you aint fuckin with my dougiethe name is young for them dudes who dont know me i know im from the west but i can teach you how to dougie i step up in da club and all these bitches bug me only nigga dancin none of them know me i hear this crowd screamin like aye get it brody so im on my shoulders and i take it real low they like how he do that  he can dougie on the floor and when dat nigga stop they like dougie some more im like a nigga kinda tired so and i pass it to the bro mbone show these cats how to do dat down south dance dat we learned a lil too fast and bought it to the hood and got da whole crew assteach me how to dougie tteach me how to dougie teach me how to dougie tteach me how to dougie all my bitches love me all my all my bitches love me all my bitches love me you aint fuckin with my dougieteach me how to dougie tteach me how to dougie teach me how to dougie tteach me how to dougie all my bitches love me all my all my bitches love me all my bitches love me you aint fuckin with my dougieback of the party i dont really like to boogie im just tryna get bent and meet a thick red bone mmm she do her dougie and all dem bitches hatin but im bout to escape with a bitch and head home fuck it she got her friends so its a two man and i wanna run it even if her legs long she like you hubby i think she love me but i change the subject and i do my dougie cause i dont give a fuck blow trees get money me smooth heff in the back with some playboy bunnies we gon make em do da dougie in the middle of the bed and when i asked for some head this bitch looked at me funny die bitch you cant tell me nothin starr made the beat and i just took it out the oven i just hit the dougie when everybody clubbin and i hate skinny jeans cause da burner keep rubbin ohteach me how to dougie tteach me how to dougie teach me how to dougie tteach me how to dougie all my bitches love me all my all my bitches love me all my bitches love me you aint fuckin with my dougieteach me how to dougie tteach me how to dougie teach me how to dougie tteach me how to dougie all my bitches love me all my all my bitches love me all my bitches love me you aint fuckin with my dougie ",1
99,"try sleeping with a broken heart","alicia keys",2010," even if you were a million miles away i can still feel you in my bed near me touch me feel meand even at the bottom of the sea i could still hear inside my head telling me touch me feel me and all the time you were telling me liesso tonight im gonna find a way to make it without you tonight im gonna find a way to make it without you im gonna hold on to the times that we had tonight im gonna find a way to make it without youhave you ever try sleeping with a broken heart well you could try sleeping in my bed lonely own me nobody ever shut it down like youyou wore the crown you made my body feel heaven bound why dont you hold me need me i thought you told me youd never leave melooking in the sky i could see your face then i knew right where i fit in take me make me you know that ill always be in love with you right till the endso tonight im gonna find a way to make it without you tonight im gonna find a way to make it without you im gonna hold on to the times that we had tonight im gonna find a way to make it without youanybody couldve told you right from the start its bout to fall apart so rather than hold on to a broken dream ill just hold on to love and i could find a way to make it dont hold on too tight ill make it without you tonightso tonight im gonna find a way to make it without you tonight im gonna find a way to make it without you im gonna hold on to the times that we had tonight im gonna find a way to make it without you ",1
100,"lover lover","jerrod niemann",2010," well the truth well it hurts to say im gonna pack up my bags and im gonna go away im just gonna split i cant stand it im gonna give it up and quit aint never coming backbroke up before i get to go and i got to say i know you used to love me but that was yesterday and the truth i wont fight it when the love starts burning you got to do whats rightoh lover lover lover you dont treat me no good no more whoa lover lover lover you dont treat me no good no morewell the truth yeah it hurts to say im gonna pack up my bags and im gonna go away im gonna split i cant stand it im gonna give it up and quit aint never coming backbroke up before i get to go and i got to say there was a time oh woman when you used to shake it for me but now all you do is treat me cold aint gonna take it no more gonna walk out the doorlover lover lover you dont treat me no good no more no good no more more more lover lover lover you dont treat me no good no more yea yeah yeahwell i went with you on a starry night and im hurting too bad cause you dont treat me right oh woman oh woman you know i love you so but youre just so mean to me baby im walking out the doorlover lover lover you dont treat me no good no more no good no more more morei know you used to love me in every way but now im giving up and im tired of crying babe i cant stand it no longer it hurts me to say but im packing up my bags and going far awaylover lover lover you dont treat me no good no more lover lover lover you dont treat me good no more treat me good no morelover lover lover you dont treat me good no more treat me good no more lover lover lover you dont treat me good no more treat me good no morelover lover lover you dont treat me good no more ",1
1,"rolling in the deep","adele",2011," theres a fire starting in my heart reaching a fever pitch its bringing me out the dark finally i can see you crystal clear clean version go head and sell me out and ill lay your ship bare explicit version go head and sell me out and ill lay your shit bare see how i leave with every piece of you dont underestimate the things that i will dotheres a fire starting in my heart reaching a fever pitch and its bringing me out the darkthe scars of your love remind me of us they keep me thinking that we almost had it all the scars of your love they leave me breathless i cant help feeling we could have had it all youre gonna wish you never had met me rolling in the deep tears are gonna fall rolling in the deep you had my heart inside of your hand youre gonna wish you never had met me and you played it to the beat tears are gonna fall rolling in the deepbaby i have no story to be told but ive heard one on you and im gonna make your head burn think of me in the depths of your despair make a home down there as mine sure wont be sharedyoure gonna wish you never had met me the scars of your love remind me of us tears are gonna fall rolling in the deep they keep me thinking that we almost had it all youre gonna wish you never had met me the scars of your love they leave me breathless tears are gonna fall rolling in the deep i cant help feeling we could have had it all youre gonna wish you never had met me rolling in the deep tears are gonna fall rolling in the deep you had my heart inside of your hand youre gonna wish you never had met me and you played it to the beat tears are gonna fall rolling in the deep we could have had it all rolling in the deep you had my heart inside of your hand but you played it with a beatingthrow your soul through every open door woah count your blessings to find what you look for woah turn my sorrow into treasured gold woah youll pay me back in kind and reap just what you sow woah youre gonna wish you never had met me we could have had it all tears are gonna fall rolling in the deep we could have had it all youre gonna wish you never had met me it all it all it all tears are gonna fall rolling in the deepwe could have had it all youre gonna wish you never had met me rolling in the deep tears are gonna fall rolling in the deep you had my heart inside of your hand youre gonna wish you never had met me and you played it to the beat tears are gonna fall rolling in the deepwe could have had it all youre gonna wish you never had met me rolling in the deep tears are gonna fall rolling in the deep you had my heart inside of your hand youre gonna wish you never had met mebut you played it you played it you played it you played it to the beat ",1
2,"party rock anthem","lmfao featuring lauren bennett and goonrock",2011," party rock yeah woo lets goparty rock is in the house tonight everybody just have a good time and we gonna make you lose your mind everybody just have a good timeparty rock is in the house tonight everybody just have a good time and we gonna make you lose your mind we just wanna see ya shake that ass in the club party rock lookin for your girl she on the top nonstop when we in the spot party movin like its on the block where the dance i gots to know tight jeans cool shoes cause im rock n roll half black half white domino game the money opadoeyo im runnin through these streets like drano i got that devilish flow rock n roll no halo we party rock yeah thats the crew that im with on the rise to the top no lead in our zeppelin heyparty rock is in the house tonight everybody just have a good time and we gonna make you lose your mind everybody just have a good timeparty rock is in the house tonight everybody just have a good time and we gonna make you lose your mind we just wanna see ya shake thateveryday im shufflin shufflin shufflinstep up fast and be the first one to make me blow this cash we gettin money dont be mad now stop hating is badone more shot for us another round please fill up my cup dont mess around we just wanna see you shake it now now you wanna be youre shakin nowget up get down put your hands up to the sound get up get down put your hands up to the sound get up get down put your hands up to the sound put your hands up to the sound put your hands up to the soundget up get up get up get up get up get up get up get up get up put your hands up to the sound to the sound put your hands up put your hands up put your hands up put your hands upparty rock is in the house tonight put your hands up everybody just have a good time put your hands up and we gonna make you lose your mind put your hands up everybody just have a good good good timeput your hands up put your hands up put your hands up shake that everyday im shufflinpush up push up push up push up push up push up push up push up push up push up ",1
3,"firework","katy perry",2011," do you ever feel like a plastic bag drifting through the wind wanting to start againdo you ever feel feel so paperthin like a house of cards one blow from caving indo you ever feel already buried deep six feet under screams but no one seems to hear a thingdo you know that theres still a chance for you cause theres a spark in you you just gottaignite the light and let it shine just own the night like the fourth of julycause baby youre a firework come on show them what youre worth make them go oh oh oh as you shoot across the skybaby youre a firework come on let your colors burst make them go oh oh oh youre gonna leave them all in aweyou dont have to feel like a waste of space youre original cannot be replacedif you only knew what the future holds after a hurricane comes a rainbowmaybe the reason why all the doors are closed so you could open one that leads you to the perfect roadlike a lightning bolt your heart will glow and when its time you know you just gottaignite the light and let it shine just own the night like the fourth of julycause baby youre a firework come on show them what youre worth make them go oh oh oh as you shoot across the skybaby youre a firework come on let your colors burst make them go oh oh oh youre gonna leave them all in aweboom boom boom even brighter than the moon moon moon its always been inside of you you you and now its time to let it throughcause baby youre a firework come on show them what youre worth make them go oh oh oh as you shoot across the skybaby youre a firework come on let your colors burst make them go oh oh oh youre gonna leave them all in aweboom boom boom even brighter than the moon moon moon boom boom boom even brighter than the moon moon moon ",1
4,"et","katy perry featuring kanye west",2011," youre so hypnotizing could you be the devil could you be an angel your touch magnetizing feels like im floating leaves my body glowingthey say be afraid youre not like the others futuristic lovers different dna they dont understand youyoure from a whole other world a different dimension you open my eyes and im ready to go lead me into the lightkiss me kkkiss me infect me with your love and fill me with your poison take me tttake me wanna be a victim ready for abduction boy youre an alien your touch so foreign its supernatural extraterrestrialyoure so supersonic wanna feel your powers stun me with your lasers your kiss is cosmic every move is magicyoure from a whole other world a different dimension you open my eyes and im ready to go lead me into the lightkiss me kkkiss me infect me with your love and fill me with your poison take me tttake me wanna be your victim ready for abduction boy youre an alien your touch so foreign its supernatural extraterrestrialthere is this transcendental on another level boy youre my lucky star i wanna walk on your wave length and be there when you vibrate for you i risk it all allkiss me kkkiss me infect me with your love and fill me with your poison take me tttake me wanna be your victim ready for abduction boy youre an alien your touch so foreign its supernatural extraterrestrial extraterrestrial extraterrestrialboy youre an alien your touch so foreign its supernatural extraterrestrial ",1
5,"give me everything","pitbull featuring neyo afrojack and nayer",2011," me not working hard yeah right picture that with a kodak or better yet go to times square take a picture of me with a kodak took my life from negative to positive i just want yall know that and tonight lets enjoy life pitbull nayer neyo tell us righttonight i want all of you tonight give me everything tonight for all we know we might not get tomorrow lets do it tonightdont care what they say all the games they play nothing is enough til they handle love lets do it tonighti want you tonight i want you to stay i want you tonightgrab somebody sexy tell em hey give me everything tonight give me everything tonight give me everything tonight give me everything tonighttake advantage of tonight cause tomorrow im also doin bad perform for a princess but tonight i can make you my queen and make love to you endless this is insane the way the name growin money keep flowin hustlers move aside so im tiptoein to keep flowin i got it locked up like lindsay lohanput it on my life baby i make you feel right baby cant promise tomorrow but i promise tonight darlingexcuse me and i might drink a little more than i should tonight and i might take you home with me if i could tonight and baby ima make you feel so good tonight cause we might not get tomorrowtonight i want all of you tonight give me everything tonight for all we know we might not get tomorrow lets do it tonightdont care what they say or what games they play nothing is enough til they handle love lets do it tonighti want you tonight i want you to stay i want you tonightgrab somebody sexy tell em hey give me everything tonight give me everything tonight give me everything tonight give me everything tonightreach for the stars and if you dont grab em at least youll fall on top of the world think about it cause if you slip im gon fall on top yo girl ha ha hawhat im involved with is deeper than the mazes baby baby and it aint no secret my grammys from cuba but im an american and i dont get money like seacrestput it on my life baby i make you feel right baby cant promise tomorrow but i promise tonight daleexcuse me but i might drink a little bit more than i should tonight and i might take you home with me if i could tonight and baby ima make you feel so good tonight cause we might not get tomorrowtonight i want all of you tonight give me everything tonight for all we know we might not get tomorrow lets do it tonightdont care what they say all the games they play nothing is enough til they handle love lets do it tonighti want you tonight i want you to stay i want you tonightgrab somebody sexy tell em hey give me everything tonight give me everything tonight give me everything tonight give me everything tonightexcuse me but i might drink a little bit more than i should tonight and i might take you home with me if i could tonight and baby ima make you feel so good tonight cause we might not get tomorrow ",1
6,"grenade","bruno mars",2011," easy come easy go thats just how you live oh take take take it all but you never give shouldve known you was trouble from the first kiss had your eyes wide open why were they opengave you all i had and you tossed it in the trash you tossed it in the trash you did to give me all your love is all i ever asked causewhat you dont understand is id catch a grenade for ya throw my hand on a blade for ya id jump in front of a train for ya you know id do anything for ya oh oh oh oh ohi would go through all this pain take a bullet straight right through my brain yes i would die for you baby but you wont do the sameno no no noblack black black and blue beat me til im numb tell the devil i said hey when you get back to where youre from mad woman bad woman thats just what you are yeah youll smile in my face then rip the brakes out my cargave you all i had and you tossed it in the trash you tossed it in the trash yes you did to give me all your love is all i ever asked causewhat you dont understand is id catch a grenade for ya throw my hand on a blade for ya id jump in front of a train for ya you know id do anything for ya oooh i would go through all this pain take a bullet straight right through my brain yes i would die for ya baby but you wont do the sameif my body was on fire ooh youd watch me burn down in flames you said you loved me youre a liar cause you never ever ever did babybut darling id still catch a grenade for ya throw my hand on a blade for ya id jump in front of a train for ya you know id do anything for yai would go through all this pain take a bullet straight right through my brain yes i would die for you baby but you wont do the sameno you wont do the same you wouldnt do the same ooh you never do the same no no no no ",1
7,"fuck you","cee lo green",2011," see you driving round town with the girl i love and im like fuck you ooh ooh ooh i guess the change in my pocket wasnt enough im like fuck you and forget her toosaid if i was richer id still be with ya ha oh aint that some ssh aint that some ssh and although theres pain in my chest i still wish you the best with a fuck you ooh ooh oohyeah im sorry i cant afford a ferrari but that dont mean i cant get you there i guess hes an xbox and im more atari but the way you play your game aint fairi pity the fool that falls in love with you oh oh ssh shes a gold digger well just thought you should know na ooh ooh oh ive got some news for you yeah go run and tell your little boyfriendsee you driving round town with the girl i love and im like fuck you ooh ooh ooh i guess the change in my pocket wasnt enough im like fuck you and forget her toosaid if i was richer id still be with ya ha aint that some ssh aint that some ssh and although theres pain in my chest i still wish you the best with a fuck you ooh ooh oohnow i know that i had to borrow beg and steal and lie and cheat trying to keep ya trying to please ya cause being in love with yo ass aint cheapi pity the fool that falls in love with you oh oh ssh shes a gold digger well just thought you should know na ooh ooh oh ive got some news for you ooh i really hate your ass right nowsee you driving round town with the girl i love and im like fuck you ooh ooh ooh i guess the change in my pocket wasnt enough im like fuck you and forget her toosaid if i was richer id still be with ya ha oh aint that some ssh aint that some ssh and although theres pain in my chest i still wish you the best with a fuck you ooh ooh oohnow baby baby baby whyd you wanna wanna hurt me so bad so bad so bad so bad i tried to tell my mamma but she told me this is one for your dad your dad your dad your dad yes she did uh why uh why uh why lady oh i love you i still love you ohi see you driving round town with the girl i love and im like fuck you ooh ooh ooh i guess the change in my pocket wasnt enough im like fuck you and forget her toosaid if i was richer id still be with ya ha aint that some shh aint that some shh and although theres pain in my chest i still wish you the best with a fuck you ooh ooh ooh ",1
8,"super bass","nicki minaj",2011," this one is for the boys with the boomin system top down ac with the coolin system when he come up in the club he be blazin up stacks on deck like he savin up and he ill he real he might got a deal he pop bottles and he got the right kind of build he cold he dope he might sell coke he always in the air but he never fly coach he a muthafuckin trip trip sailor of the ship shipwhen he make it drip drip kiss him on the lip lip thats the kind of dude i was lookin fo and yes youll get slapped if youre lookin ho i said excuse me youre a hell of a guy i mean my my my my youre like pelican fly i mean youre so shy and im loving your tie youre like slicker than the guy with the thing on his eye oh yes i did yes i did somebody please tell him who the eff i is i am nicki minaj i mack them dudes up back coupes up and chuck the deuce up    meaning  byamandah   editor    we sincerely hope sophia grace  rosie looked us up when learning the words to their 2011 megacover of super bass    see all   boy you got my heartbeat runnin away beating like a drum and its coming your way cant you hear that boom boombadoom boom boom badoomboom yeah thats the super bass boombadoom boom boom badoomboom you got that super bass boom boom boom boom boom boom boom boom boom boom boom bass boom boom boom boom cant you hear that boom boombadoom boom boom badoomboom you got that super bass boombadoom boom boom badoomboom you got that super bassthis one is for the boys in the polos entrepreneur niggas and the moguls he could ball with the crew he could solo but i think i like him better when he dolo and i think i like him better with the fitted cap on he aint even gotta try to put the mack on he just gotta give me that look when he give me that look then the panties comin off off uh excuse me youre a hell of a guy you know i really got a thing for american guys i mean sigh sickenin eyes i can tell that youre in touch with your feminine side uh yes i did yes i did somebody please tell him who the eff i is i am nicki minaj i mack them dudes up back coupes up and chuck the deuce upboy you got my heartbeat runnin away beating like a drum and its coming your way cant you hear that boom boombadoom boom boom badoomboom yeah thats the super bass boombadoom boom boom badoomboom you got that super bass boom boom boom boom boom boom boom boom boom boom boom bass boom boom boom boom cant you hear that boom boombadoom boom boom badoomboom you got that super bass boombadoom boom boom badoomboom you got that super basssee i need you in my life for me to stay no no no no no i know youll stay no no no no no dont go away boy you got my heartbeat runnin away dont you hear that heartbeat comin your way oh it be like boom badoomboom boom badoomboom bass cant you hear that boom badoomboom boom badoomboom bassboy you got my heartbeat runnin away beating like a drum and its coming your way cant you hear that boom boombadoom boom boom badoomboom yeah thats the super bass boombadoom boom boom badoomboom you got that super bass boom boom boom boom boom boom boom boom boom boom boom bass boom boom boom boom cant you hear that boom boombadoom boom boom badoomboom you got that super bass boombadoom boom boom badoomboom you got that super bass ",1
9,"moves like jagger","maroon 5 featuring christina aguilera",2011," just shoot for the stars if it feels right and aim for my heart if you feel like it take me away and make it okay i swear ill behaveyou wanted control so we waited i put on a show now were naked you say im a kid my ego is big i dont give a shit and it goes like thistake me by the tongue and ill know you kiss me til youre drunk and ill show you all the moves like jagger ive got the moves like jagger ive got the moves like jaggeri dont need to try to control you look into my eyes and ill own you with them moves like jagger ive got the moves like jagger ive got the moves like jaggerbaby its hard when you feel like youre broken and scarred nothing feels right but when youre with me i make you believe that ive got the keyoh so get in the car we can ride it wherever you want get inside it and you want to steer but im shifting gear ill take it from here oh yeah yeah and it goes like thistake me by the tongue and ill know you kiss me til youre drunk and ill show you all the moves like jagger ive got the moves like jagger ive got the moves like jaggeri dont need to try to control you look into my eyes and ill own you with them moves like jagger ive got the moves like jagger ive got the moves like jaggeryou want to know how to make me smile take control own me just for the night but if i share my secret youre gonna have to keep it nobody else can see thisso watch and learn i wont show you twice head to toe ooh baby rub me right but if i share my secret youre gonna have to keep it nobody else can see thisand it goes like thistake me by the tongue and ill know you kiss me til youre drunk and ill show you all the moves like jagger ive got the moves like jagger ive got the moves like jaggeri dont need to try to control you look into my eyes and ill own you with them moves like jagger ive got the moves like jagger ive got the moves like jagger ",1
10,"just cant get enough","the black eyed peas",2011," boy i think about it every night and day im addicted wanna jump inside your love i wouldnt wanna have it any other way im addicted and i just cant get enoughi just cant get enough i just cant get enough i just cant get enough i just cant get enoughhoney got a sexy all steamin she givin hotness a new meanin perfection mama you gleamin inception you got a brother dreamin dreamindamn baby im feignin im tryna holler at you im screamin let me love you down this evenin love you love you ya you know you are my demongirl we could form a team and i could be the king you could be the queen and my minds dirty and it dont need cleanin i love you long time so you know the meaninoh baby i cant come down so please come help me out you got me feelin high and i cant step off the cloud and i just cant get enoughboy i think about it every night and day im addicted wanna drown inside your love i wouldnt wanna have it any other way im addicted and i just cant get enoughi just cant get enough i just cant get enough i just cant get enough i just cant get enoughhoney got me runnin like im flo joe signs her name on my heart with an xo loves so sweet got me vexed oh i wanna wish it right back like presto yesmeantime i wait for the next time she come around fore i toast to the best time we lol back and forth on the text line she got me fishin for her love i confess imsomethin bout her smile and that combo got me high and i aint comin down yo my hearts pumpin out louder than electro she got me feelin like mr robotooh baby i cant come down so please come help me out you got me feelin high and i cant step off the cloud and i just cant get enoughboy i think about it every night and day im addicted wanna drown inside your love i wouldnt wanna have it any other way im addicted and i just cant get enoughthis has been a switch up switch up switch up i just cant not sunk in your bed rock caught up in your love shock knocked out by your cold shot im stuck in your head li switch up cant get out wont quit makin me feign give it to me i want it all know what i mean your love is a dose of ecstasy switch up addicted i cant get away from you afflicted i need it i miss it it switch up i want your lovin right next to me and i cant erase ya out of my memory i just cant switch up ",1
11,"on the floor","jennifer lopez featuring pitbull",2011," jlo ya tu sabes its a new generation mr worldwide of party people get on the floor dale get on the floor red onelet me introduce you to my party people in the club huhim loose loose and everybody knows i get off the chain baby its the truth its the truth im like inception i play with your brain so dont sleep or snooze i dont play no games so dont dont dont dont get it confused no cause you will lose yeah now no pupupupupump it up and back it up like a tonka truck daleif you go hard you gotta get on the floor if youre a party freak then step on the floor if youre an animal then tear up the floor break a sweat on the floor yeah we work on the floordont stop keep it movin put your drinks up pick your body up and drop it on the floor let the rhythm change your world on the floor you know were running shit tonight on the floor brazil morocco london to ibiza straight to la new york vegas to africadance the night away live your life and stay young on the floor dance the night way grab somebody drink a little more as�_ me gusta as�_ me gusta as�_ me gusta la la la la la la la la la la la la la la tonight we gon be it on the floor la la la la la la la la la la la la la la tonight we gon be it on the floori know you got it clap your hands on the floor and keep on rockin rock it up on the floor if youre a criminal kill it on the floor steal it quick on the floor on the floor dont stop keep it movin put your drinks upits getting ill its getting sick on the floor we never quit we never rest on the floor if i aint wrong wed probably die on the floor brazil morocco london to ibiza straight to la new york vegas to africadance the night away live your life and stay young on the floor dance the night way grab somebody drink a little more as�_ me gusta as�_ me gusta as�_ me gusta la la la la la la la la la la la la la la tonight we gon be it on the floor la la la la la la la la la la la la la la tonight we gon be it on the floorthat badonka donk is like a trunk full of bass on an old school chevy seven tray donkey donk all i need is some vodka some chonky konk and watch and she gon get donkey kong baby if youre ready for things to get heavy i get on the floor and act a fool if you let me dale dont believe me just bet me my name aint keith but i see why you sweat me la miami new york say no more get on the floorla la la la la la la la la la la la la la tonight we gon be it on the floor la la la la la la la la la la la la la la tonight we gon be it on the floor la la la la la la la la la la la la la la tonight we gon be it on the floor ",1
12,"sm","rihanna",2011," na na na come on na na na come on na na na na na come on na na na come on come on come on na nana na come on na na na come on na na na na na come on na na na come on come on come on na na na nafeels so good being bad theres no way im turning back now the pain is for pleasure cause nothing can measurelove is great love is fine out the box out of line the affliction of the feeling leaves me wanting morecause i may be bad but im perfectly good at it sex in the air i dont care i love the smell of it sticks and stones may break my bones but chains and whips excite mecause i may be bad but im perfectly good at it sex in the air i dont care i love the smell of it sticks and stones may break my bones but chains and whips excite mena na na come on come on come on i like it like it come on come on come on i like it like it come on come on come on i like it like it come on come on come on i like it like itlove is great love is fine out the box out of line the affliction of the feeling leaves me wanting morecause i may be bad but im perfectly good at it sex in the air i dont care i love the smell of it sticks and stones may break my bones but chains and whips excite mena na na come on come on come on i like it like it come on come on come on i like it like it come on come on come on i like it like it come on come on come on i like it like its s s and m m m s s s and m m moh i love the feeling you bring to me oh you turn me on its exactly what ive been yearning for give it to me strong and meet me in my boudoir make my body say ah ah ah i like it like itcause i may be bad but im perfectly good at it sex in the air i dont care i love the smell of it sticks and stones may break my bones but chains and whips excite mecause i may be bad but im perfectly good at it sex in the air i dont care i love the smell of it sticks and stones may break my bones but chains and whips excite mena na na come on come on come on i like it like it come on come on come on i like it like it come on come on come on i like it like it come on come on come on i like it like its s s and m m m s s s and m m m s s s and m m m s s s and m m m ",1
13,"pumped up kicks","foster the people",2011," roberts got a quick hand hell look around the room he wont tell you his plan hes got a rolled cigarette hanging out his mouth hes a cowboy kidyeah he found a sixshooter gun in his dads closet with the box of fun things i dont even know what but hes coming for you yeah hes coming for youall the other kids with the pumped up kicks you better run better run outrun my gun all the other kids with the pumped up kicks you better run better run faster than my bulletall the other kids with the pumped up kicks you better run better run outrun my gun all the other kids with the pumped up kicks you better run better run faster than my bulletdaddy works a long day he be coming home late and hes coming home late and hes bringing me a surprise cause dinners in the kitchen and its packed in iceive waited for a long time yeah the sleight of my hand is now a quickpull trigger i reason with my cigarette then say your hairs on fire you must have lost your wits yeahall the other kids with the pumped up kicks you better run better run outrun my gun all the other kids with the pumped up kicks you better run better run faster than my bulletall the other kids with the pumped up kicks you better run better run outrun my gun all the other kids with the pumped up kicks you better run better run faster than my bulletrun run run run run run rrun run run rrun rrun run run rrun run run run run run run runall the other kids with the pumped up kicks you better run better run outrun my gun all the other kids with the pumped up kicks you better run better run faster than my bulletall the other kids with the pumped up kicks you better run better run outrun my gun all the other kids with the pumped up kicks you better run better run faster than my bulletall the other kids with the pumped up kicks you better run better run outrun my gun all the other kids with the pumped up kicks you better run better run faster than my bulletall the other kids with the pumped up kicks you better run better run outrun my gun all the other kids with the pumped up kicks you better run better run faster than my bullet ",1
14,"last friday night tgif","katy perry",2011," theres a stranger in my bed theres a pounding in my head glitter all over the room pink flamingos in the pool i smell like a minibar djs passed out in the yard barbies on the barbecue is this a hickey or a bruisepictures of last night ended up online im screwed oh well its a blackedout blur but im pretty sure it ruled damnlast friday night yeah we danced on tabletops and we took too many shots think we kissed but i forgotlast friday night yeah we maxed our credit cards and got kicked out of the bar so we hit the boulevardlast friday night we went streaking in the park skinny dipping in the dark then had a menage a trioslast friday night yeah i think we broke the law always say were gonna stopop oohohhthis friday night do it all again this friday night do it all againtrying to connect the dots dont know what to tell my boss think the city towed my car chandelier is on the floor ripped my favorite party dress warrants out for my arrest think i need a ginger ale that was such an epic failpictures of last night ended up online im screwed oh well its a blackedout blur but im pretty sure it ruled damnlast friday night yeah we danced on tabletops and we took too many shots think we kissed but i forgotlast friday night yeah we maxed our credit cards and got kicked out of the bar so we hit the boulevardlast friday night we went streaking in the park skinny dipping in the dark then had a m̩nage �� troislast friday night yeah i think we broke the law always say were gonna stopop oohohhthis friday night do it all again do it all again this friday night do it all again do it all again this friday nighttgif tgif tgif tgif tgif tgif tgiflast friday night yeah we danced on tabletops and we took too many shots think we kissed but i forgotlast friday night yeah we maxed our credit cards and got kicked out of the bar so we hit the boulevardlast friday night we went streaking in the park skinny dipping in the dark then had a m̩nage �� troislast friday night yeah i think we broke the law always say were gonna stopop oohohhthis friday night do it all againwhooooo yeah wooo yeah ",1
15,"just the way you are","bruno mars",2011," oh her eyes her eyes make the stars look like theyre not shining her hair her hair falls perfectly without her trying shes so beautiful and i tell her everydayyeah i know i know when i compliment her she wont believe me and its so its so sad to think that she doesnt see what i see but every time she ask me do i look okay i saywhen i see your face theres not a thing that i would change cause youre amazing just the way you areand when you smile the whole world stops and stares for a while cause girl youre amazing just the way you areher lips her lips i could kiss them all day if shed let me her laugh her laugh she hates but i think its so sexy shes so beautiful and i tell her everydayoh you know you know you know id never ask you to change if perfects what youre searching for then just stay the same so dont even bother asking if you look okay you know ill saywhen i see your face theres not a thing that i would change cause girl youre amazing just the way you areand when you smile the whole world stops and stares for a while cause girl youre amazing just the way you arethe way you are the way you are girl youre amazing just the way you arewhen i see your face theres not a thing that i would change cause girl youre amazing just the way you areand when you smile the whole world stops and stares for a while cause girl youre amazing just the way you are yeah ",1
16,"tonight im lovin you","enrique iglesias featuring ludacris and dj frank e",2011," ooh oh oh i know you want me i made it obvious that i want you too so put it on me lets remove the space between me and you now rock your body ooh damn i like the way that you move so give it to me ooh cause i already know what you wanna doheres the situation been to every nation nobodys ever made me feel the way that you do you know my motivation given my reputation please excuse me i dont mean to be rudebut tonight im loving you oh you know that tonight im loving you oh you know that tonight im loving you oh you know that tonight im loving you oh you knowyoure so damn pretty if i had a type then baby it would be you i know your ready if i never lied than baby youd be the truthheres the situation been to every nation nobodys ever made me feel the way that you do you know my motivation given my reputation please excuse me i dont mean to be rudebut tonight im loving you oh you know that tonight im loving you oh you know that tonight im loving you oh you know that tonight im loving you oh you knowluda tonight im gonna do everything that i want with you everythin that you need everything that you want i wanna honey i wanna stunt with you from the window to the wall gonna give you my all winter or the summertime when i get you on the springs ima make you fall you got that body that make me wanna get on the floor just to see you dance and i love the way you shake that ass turn around and let me see them pants you stuck with me im stuck with you lets find something to do please excuse me i dont mean to be rudebut tonight im loving you oh you know that tonight im loving you oh you know that tonight im loving you oh you know that tonight im loving you oh you know that tonight im loving you that tonight im loving you yeah ",1
17,"raise your glass","pink",2011," right right turn off the lights we gonna lose our minds tonight whats the dealioi love when its all too much five am turn the radio up wheres the rock and rollparty crasher panty snatcher call me up if you want a gangsta dont be fancy just get dancy why so seriousso raise your glass if you are wrong in all the right ways all my underdogs we will never be never be anything but loud and nitty gritty dirty little freaks wont you come on and come on and raise your glass just come on and come on and raise your glassslam slam oh hot damn what part of party dont you understand wish youd just freak out freak out already cant stop comin in hot i should be locked up right on the spot its so on right now so fuckin on right nowparty crasher panty snatcher call me up if you want a gangsta dont be fancy just get dancy why so seriousso raise your glass if you are wrong in all the right ways all my underdogs we will never be never be anything but loud maybe gritty dirty little freaks wont you come on and come on and raise your glass just come on and come on and raise your glass wont you come on and come on and raise your glass just come on and come on and raise your glassoh shit my glass is empty that sucks so if youre too school for cool and youre treated like a fool treated like a fool you can choose to let it go we can always we can always party on our ownso raise your ah fuck so raise your glass if you are wrong in all the right ways all my underdogs we will never be never be anything but loud maybe nitty gritty dirty little freaks so raise your glass if you are wrong in all the right waysall my underdogs we will never be never be anything but loud maybe gritty dirty little freaks wont you come on and come on and raise your glass just come on and come on and raise your glass wont you come on and come on and raise your glass for me just come on and come on and raise your glass for me ",1
18,"born this way","lady gaga",2011," it doesnt matter if you love him or capital him just put your paws up cause you were born this way babymy mama told me when i was young we are all born superstars she rolled my hair and put my lipstick on in the glass of her boudoirtheres nothin wrong with lovin who you are she said cause he made you perfect babe so hold your head up girl and youll go far listen to me when i sayim beautiful in my way cause god makes no mistakes im on the right track baby i was born this waydont hide yourself in regret just love yourself and youre set im on the right track baby i was born this way born this wayooh there aint no other way baby i was born this way baby i was born this way ooh there aint no other way baby i was born this way im on the right track baby i was born this waydont be a drag just be a queen dont be a drag just be a queen dont be a drag just be a queen dont begive yourself prudence and love your friends subway kid rejoice of truth in the religion of the insecure i must be myself respect my youtha different lover is not a sin believe capital him i love my life i love this record and mi amore vole fe yahim beautiful in my way cause god makes no mistakes im on the right track baby i was born this waydont hide yourself in regret just love yourself and youre set im on the right track baby i was born this wayooh there aint no other way baby i was born this way baby i was born this way ooh there aint no other way baby i was born this way im on the right track baby i was born this waydont be drag just be a queen whether youre broke or evergreen youre black white beige chola descent youre lebanese youre orientwhether lifes disabilities left you outcast bullied or teased rejoice and love yourself today cause baby you were born this wayno matter gay straight or bi lesbian transgendered life im on the right track baby i was born to surviveno matter black white or beige chola or orient made im on the right track baby i was born to be braveim beautiful in my way cause god makes no mistakes im on the right track baby i was born this waydont hide yourself in regret just love yourself and youre set im on the right track baby i was born this way yeahooh there aint no other way baby i was born this way baby i was born this way ooh there aint no other way baby i was born this way im on the right track baby i was born this way i was born this way hey i was born this way hey im on the right track baby i was born this way heyi was born this way hey i was born this way hey im on the right track baby i was born this way hey ",1
19,"fuckin perfect","pink",2011," made a wrong turn once or twice dug my way out blood and fire bad decisions thats alright welcome to my silly life mistreated misplaced misunderstood miss no way its all good it didnt slow me down mistaken always second guessing underestimated look im still aroundpretty pretty please dont you ever ever feel like you are less than less than fuckin perfect pretty pretty please if you ever ever feel like youre nothing youre fuckin perfect to meyoure so mean when you talk about yourself you were wrong change the voices in your head make them like you instead so complicated look happy youll make it filled with so much hatred such a tired game its enough ive done all i can think of chased down all my demons ive seen you do the samepretty pretty please dont you ever ever feel like you are less than less than fuckin perfect pretty pretty please if you ever ever feel like youre nothing youre fuckin perfect to methe whole worlds scared so i swallow the fear the only thing i should be drinking is an ice cold beer so cool in line and we try try try but we try too hard and its a waste of my time done looking for the critics cause theyre everywhere they dont like my jeans they dont get my hair exchange ourselves and we do it all the time why do we do that why do i do thatwhy do i do that yeah oh oh baby pretty baby pretty pretty please dont you ever ever feel like youre less than fuckin perfect pretty pretty please if you ever ever feel like youre nothing youre fuckin perfect to me yeah youre perfect youre perfect oh pretty pretty please if you ever ever feel like youre nothin youre fuckin perfect to me ",1
20,"whats my name","rihanna featuring drake",2011," ooh na na whats my name ooh na na whats my nameooh na na whats my name ooh na na whats my name ooh na na whats my name whats my name whats my namei heard you good with them soft lips yeah you know word of mouth the square root of sixty nine is eight something right cause ive been tryna work it out ow good weed white wine uh i come alive in the night time okay away we go only thing we have on is the radiooh let it play say you gotta leave but i know you wanna stay you are waiting on the traffic jam to finish girl the things we could do in twenty minutes girl say my name say my name wear it out its getting hot crack a window air it out i can get you through a mighty long day soon as i go the text you goin right is goin sayooh na na whats my name ooh na na whats my name ooh na na whats my name whats my name whats my namenor everybody knows how to work my body knows how to make me want it but boy you stay up on it you got that something that keeps me so off balance baby youre a challenge lets explore your talenthey boy i wanna see if you can go downtown with a girl like me hey boy i wanna be with you cause you just my type ooh na na na na i need a boy to take it over looking for a guy to put your work up ooh oohhey boy i really wanna see if you can go downtown with a girl like me hey boy i really wanna be with you cause you just my typeooh na na na na i need a boy to take it over looking for a guy to put in worka ooh oohooh na na whats my name ooh na na whats my name ooh na na whats my name whats my name whats my namebaby you got me and aint nowhere that id be then with your arms around me back and forth you rock me yeah so i surrender to every word you whisper every door you enter i will let you inhey boy i really wanna see if you can go downtown with a girl like me hey boy i really wanna be with you cause you just my type ooh na na na na i need a boy to take it over looking for a guy to put in worka ooh oohyoure so amazing you took the time to figure me out thats why you take me way past the point of turning me on you bout to break me i swear you got me losing my mindooh na na whats my name ooh na na whats my nameooh na na whats my name ooh na na whats my name ooh na na whats my name whats my name whats my namehey boy i really wanna see if you can go downtown with a girl like me hey boy i really wanna be with you cause you just my type ooh na na na na i need a boy to take it over looking for a guy to put in worka ooh ooh ooh oohhey boy i really wanna see if you can go downtown with a girl like me hey boy i really wanna be with you cause you just my type ooh na na na na i need a boy to take it over looking for a guy to put in worka ooh ooh ooh ooh ",1
21,"look at me now","chris brown featuring lil wayne and busta rhymes",2011," i dont see how you can hate from outside of the club you cant even get in ha ha ha leggoyellow model chick yellow bottle sipping yellow lamborghini yellow top missing yeah yeah that shit look like a toupee i get what you get in ten years in two days ladies love me im on my cool j if you get what i get what would you say she wax it all off mister miyagi and them suicide doors hari karilook at me now look at me now oh im getting paper look at me now oh look at me now yeah fresher than a motherfuckerlil nigga bigger than gorilla cause im killing every nigga that try to be on my shit better cuff your chick if i want her i can get her and she accidentally slip and fall on my dick oops i said on my dick i aint really mean to say on my dick but since we talking about my dick all of you haters say hi to it im doneayo breezy let me show you how to keep the dice rolling when your doing that thing over there homielets go cause i feel like im running and im feeling like i gotta get away get away get away better know that i dont and i wont ever stop cause you know i gotta win everyday day day go see they dont really wanna pop me just know that you never flop me and i know that i can be a little cocky you aint never gonna stop me every time i come a nigga gotta set it then i gotta go and then i gotta get it then i gotta blowand then i gotta shudder any little thing that nigga think he be doing cause it doesnt matter cause im gonna dadadada then im gonna murder every thing and anything a badaboom a badabing i gotta do a lot of things to make it clearer to a couple niggas that im always winning and i gotta get it again and again and again and i be doing it to death and now i move a little foul a nigga better call a ref and everybody knows my style and niggas know im the the best when it come to doing thisand i be banging on my chest and i bang in the east and im banging in the west and i come to give you more and i will never give you less you will hear it in the street or you can read it in the press do you really wanna know whats next lets go see the way we on and we all up in the race and you know we gotta go dont try to keep up with the pace we struggling and hustling and sending it and getting it and always gotta take it to another place gotta taste it and i gotta grab it and i gotta cut all through his traffic just to be at the top of the throne better know i gotta have it have itlook at me now look at me now oh im getting paper look at me now oh look at me now yeah fresher than a motherfuckerman fuck these bitch ass niggas how yall doin im lil tunechi im a nuisance i go stupid i go dumb like the three stooges i dont eat sushi im the shit no im pollution no substitution got a bitch that play in movies in my jacuzzi pussy juicy i never gave a fuck about a hater got money on my radar dress like a skater got a big house came with an elevator you niggas aint eatin fuck it tell a waiter marley said shoot em and i said okay if you wanted bullshit then im like ole i dont care what you say so dont even speakyour girlfriend a freak like cirque du soleil thats word to my flag and my flag red im out of my head bitch im outta my mind from the bottom i climb you aint hotter than mine nope not on my time and im not even trying whats poppin slime nothin five and if they trippin fuck em five i aint got no time to shuck and jive these niggas as sweet as pumpkin pie ciroc and sprite on a private flight bitch i been tight since guiding light and my pockets white and my diamonds white and my mommas nice and my daddys dead you fagots scared cause im too wild been here for a while i was like fuck trial i puts it down im so young money if you got eyes look at me now bitchlook at me now look at me now oh im getting paper look at me now oh look at me now yeah im fresher than a motherfuckerokay okay is that right im fresher than a motherfucker ",1
22,"down on me","jeremih featuring 50 cent",2011," she want it i can tell she want it want me to push up on it fore she know when im all on it we get the party going liquor flowing this is fire 50 and jeremih number one theres nothing higher wont you go and get it get it i see you baby work it work it wont you just put it down get it get it work it work it break it break it downok she headed to the dance floor and she slowly start to poppin it something like my wrist cause everybody got to watching it girl you go that secret treasure im gon put that lock on it dont care what they say i would be stupid to be not on it heard you go that sticky lets go and take nine shots well just call it fifty and im gon lick it lick it lick it till her hicky have her rev running keep you running til you wit me bang bang bang bang oh you look so sweet what you work in paris look at your physique girl you are a beauty well i am a beast they must have been trippin to let me off the leashi love the way you grind that booty on me shawty you a dime why you looking lonely well buy another round and its all on me as long as im around put it down on me just put it down on me put it down on me down down on me put it down on me dont throw it off the mound show me how its gon be girl all i really want is you down on me put it down on mesystems thumping party jumping shawty shes a perfect ten she rock her hips than roll her hips than drop it down like its nothing she shaped just like an hour glass she see how fast an hour passed time flies when im on that ass but i wont put our shit on blast work it like a pro pro pro sit and watch it go go go do her thing all on the floor she bounce it fast and shake it slow so sexual incredible she beautiful she edible i got her i wont let her go i aint seen nothing better yo look at how she twerk it the way she work it make me wanna hit it hit it heaven when im in it in it if i do not fit im gonna make it girl you can take it dont stop get it get iti love the way you grind that booty on me shawty you a dime why you looking lonely well buy another round and its all on me as long as im around put it down on me just put it down on me put it down on me down down on me put it down on me dont throw it off the mound show me how its gon be girl all i really want is you down on me put it down on mesay you independent get it from your momma tell me if you with it do you really wanna wanna baby when you see me you know i be on it can you keep it up put it all up on mesay you independent get it from your momma tell me if you with it do you really wanna wanna baby when you see me you know i be on it can you keep it up put it all up on medown with that booty on me shawty you a dime why you looking lonely oh baby we can go low low low yeahi love the way you grind that booty on me shawty you a dime why you looking lonely well buy another round and its all on me as long as im around put it down on me just put it down on me put it down on me down down on me put it down on me dont throw it off the mound show me how its gon be girl all i really want is you down on me put it down on me ",1
23,"how to love","lil wayne",2011," turn the music up a lil louder yeahyou had a lot of crooks tryna steal your heart never really had luck couldnt never figure out how to love how to love how to love how to love mm you had a lot of moments that didnt last forever now you in the corner tryna put it together how to love how to love how to love how to lovemm for a second you were here now you over there its hard not to stare the way you moving your body like you never had a love had a love never had love had a lovewhen you was just a youngin your looks were so precious but now your grown up so fly its like a blessing but you cant have a man look at you for five seconds without you being insecure you never credit yourself so when you got older its seems like you came back ten times over now youre sitting here in this damn corner looking through all your thoughts and looking over your shouldersee you had a lot of crooks try to steal your heart never really had luck couldnt never figure out how to love how to love how to love how to love how to love how to love mm see you had a lot of moments that didnt last forever now you in this corner tryna put it together how to love how to love how to love how to lovemm for a second you were here now you over there its hard not to stare the way you moving your body like you never had a love had a love how to love how to loveooh you had a lot of dreams that transform to visions the fact that you saw the world affected all your decisions but it wasnt your fault wasnt in your intentions to be the one here talking to me be the one listeningbut i admire your poppin bottles and dippin just as much as you admire bartending and strippin baby so dont be mad nobody else trippin you see a lot of crooks and the crooks still crookyou see you had a lot of crooks try to steal your heart never really had luck couldnt never figure out how to love how to love how to love how to love mm see you had a lot of moments that didnt last forever now you in this corner tryna put it together how to love how to love how to love how to loveooh see i just want you to know you to know that you deserve the best youre beautiful youre beautiful yeah and i want you to know youre far from the usual far from the usualyou see you had a lot of crooks try to steal your heart never really had luck couldnt never figure out how to love how to love how to love how to love mm see you had a lot of moments that didnt last forever now you in this corner tryna put it together how to love how to love how to love how to lovemm see you had a lot of crooks try to steal your heart never really had luck couldnt never figure out how to love how to love how to love how to love yeah see you had a lot of moments that didnt last forever now you in this corner tryna put it together how to love how to love how to love mm ",1
24,"someone like you","adele",2011," i heard that youre settled down that you found a girl and youre married now i heard that your dreams came true guess she gave you things i didnt give to youold friend why are you so shy aint like you to hold back or hide from the lighti hate to turn up out of the blue uninvited but i couldnt stay away i couldnt fight it i had hoped youd see my face and that youd be reminded that for me it isnt over    meaning  byjamesg   editor    the songs cowriter dan wilson talked about writing the track with adele in an exclusive metrolyrics video interview    see all   never mind ill find someone like you i wish nothing but the best for you two dont forget me i beg i remember you said sometimes it lasts in love but sometimes it hurts instead sometimes it lasts in love but sometimes it hurts insteadyou know how the time flies only yesterday was the time of our lives we were born and raised in a summer haze bound by the surprise of our glory daysi hate to turn up out of the blue uninvited but i couldnt stay away i couldnt fight it i had hoped youd see my face and that youd be reminded that for me it isnt overnever mind ill find someone like you i wish nothing but the best for you two dont forget me i beg i remember you said sometimes it lasts in love but sometimes it hurts instead yeahnothing compares no worries or cares regrets and mistakes theyre memories made who would have known how bittersweet this would tastenever mind ill find someone like you i wish nothing but the best for you dont forget me i beg i remember you said sometimes it lasts in love but sometimes it hurts insteadnever mind ill find someone like you i wish nothing but the best for you two dont forget me i beg i remember you said sometimes it lasts in love but sometimes it hurts instead sometimes it lasts in love but sometimes it hurts instead ",1
25,"good life","onerepublic",2011," woke up in london yesterday found myself in the city near piccadilly dont really know how i got here i got some pictures on my phonenew names and numbers that i dont know address to places like abbey road day turns to night night turns to whatever we want were young enough to sayoh this has gotta be the good life this has gotta be the good life this could really be a good life good lifesay oh got this feeling that you cant fight like this city is on fire tonight this could really be a good life a good good lifeoh oh oh oh oh oh ohto my friends in new york i say hello my friends in la they dont know where ive been for the past few years or so from paris to china to coloradosometimes theres airplanes i cant jump out sometimes theres bullshit that dont work now we all got our stories but please tell me what there is to complain aboutwhen youre happy like a fool let it take you over when everything is out you gotta take it inoh this has gotta be the good life this has gotta be the good life this could really be a good life good lifesay oh got this feeling that you cant fight like this city is on fire tonight this could really be a good life a good good lifeoh oh oh oh oh oh oh a good good life oh oh oh oh oh oh ohhopelessly i feel like like there might be something that ill miss hopelessly i feel like the window closes oh so quick hopelessly im taking a mental picture of you now cause hopelessly the hope is we have so much to feel good aboutoh this has gotta be the good life this has gotta be the good life this could really be a good life good lifesay oh got this feeling that you cant fight like this city is on fire tonight this could really be a good life oh yeah a good good lifeoh oh oh oh oh oh oh oh yeah a good good life good life oh oh oh oh oh oh oh whoah woah listento my friends in new york i say hello my friends in la they dont know where ive been for the past few years or so from paris to china to coloradosometimes theres airplanes i cant jump out sometimes theres bullshit that dont work now we all got our stories but please tell me what there is to complain about ",1
26,"the lazy song","bruno mars",2011," today i dont feel like doing anything i just wanna lay in my bed dont feel like picking up my phone so leave a message at the tone cause today i swear im not doing anythinguh im gonna kick my feet up and stare at the fan turn the tv on throw my hand in my pants nobodys gon tell me i cant noill be loungin on the couch just chillin in my snuggie flip to mtv so they can teach me how to dougie cause in my castle im the freakin man ohyes i said it i said it i said it cause i can    meaning  byamandah   editor    bruno mars wrote the lazy song with his songwriting team the smeezingtons coincidentally with rapper knann in the studio it was a very tough song to    see all   today i dont feel like doing anything i just wanna lay in my bed dont feel like picking up my phone so leave a message at the tone cause today i swear im not doing anythingnothing at all ooh hoo ooh hoo hoo ooh ooh nothing at all ooh hoo ooh hoo hoo ooh oohtomorrow ill wake up do some p90x meet a really nice girl have some really nice sex and shes gonna scream out this is greati might mess around and get my college degree i bet my old man will be so proud of me but sorry pops youll just have to wait ohyes i said it i said it i said it cause i cantoday i dont feel like doing anything i just wanna lay in my bed dont feel like picking up my phone so leave a message at the tone cause today i swear im not doing anythingno i aint gonna comb my hair cause i aint goin anywhere no no no no no no no no no oh ill just strut in my birthday suit and let everything hang loose yeah yeah yeah yeah yeah yeah yeah yeah yeah yeahoh today i dont feel like doing anything i just wanna lay in my bed dont feel like picking up my phone so leave a message at the tone cause today i swear im not doing anythingnothing at all ooh hoo ooh hoo hoo ooh ooh nothing at all ooh hoo ooh hoo hoo ooh ooh nothing at all ",1
27,"till the world ends","britney spears",2011," this kittens got your tongue tied in knots i see spit it out cause im dying for companyi notice that you got it you notice that i want it you know that i can take it to the next level baby if you want this good bitch sicker than the remix baby let me blow your mind tonighti cant take it take it take no more never felt like felt like this before cmon get me get me on the floor dj whatcha whatcha waitin forwhoa oh oh oh oh oh oh oh whoa oh oh oh oh oh oh oh whoa oh oh oh oh oh oh oh whoa oh oh oh oh oh oh ohwhoa oh oh oh oh oh oh oh whoa oh oh oh oh oh oh oh whoa oh oh oh oh oh oh oh whoa oh oh oh oh oh oh ohwatch me move when i lose when i lose it hard get you off with the touch dancin in the darkyou notice what im wearing i noticing when youre staring you know that i can take it to the next level baby hotter than the alist next one on my hit list baby let me blow your mind tonighti cant take it take it take no more never felt like felt like this before cmon get me get me on the floor dj whatcha whatcha waitin forwhoa oh oh oh oh oh oh oh whoa oh oh oh oh oh oh oh whoa oh oh oh oh oh oh oh whoa oh oh oh oh oh oh ohwhoa oh oh oh oh oh oh oh whoa oh oh oh oh oh oh oh whoa oh oh oh oh oh oh oh whoa oh oh oh oh oh oh ohsee that sunlight we aint stopping keep on dancin till the world ends if you feel it let it happen keep on dancin till the world ends keep on dancin till the world ends keep on dancin till the world endswhoa oh oh oh oh oh oh oh whoa oh oh oh oh oh oh oh whoa oh oh oh oh oh oh oh whoa oh oh oh oh oh oh ohwhoa oh oh oh oh oh oh oh whoa oh oh oh oh oh oh oh whoa oh oh oh oh oh oh oh whoa oh oh oh oh oh oh ohsee that sunlight we aint stopping keep on dancin till the world ends if you feel it let it happen keep on dancin till the world ends ",1
28,"the show goes on","lupe fiasco",2011," laseralright already the show goes on all night till the morning we dream so long anybody ever wonder when they would see the sun up just remember when you come up the show goes on alright already the show goes on all night till the morning we dream so long anybody ever wonder when they would see the sun up just remember when you come up the show goes onhave you ever had the feeling that you was being had dont that shit that make you mad they treat you like a slave with chains all on your soul and put whips up on your back they be lying through they teeth hope you slip up off your path i dont switch up i just laugh put my kicks up on they desk unaffected by they threats than get busy on they ass see thats how that chitown made me thats how my daddy raised me that glittering may not be gold dont let nobody play me if you are my homeboy you never have to pay me go on and put your hands up when times are hard you stand up lup the man cause a brand that the fans trust so even if they ban us theyll never slow my plans upalright already the show goes on all night till the morning we dream so long anybody ever wonder when they would see the sun up just remember when you come up the show goes on alright already the show goes on all night till the morning we dream so long anybody ever wonder when they would see the sun up just remember when you come up the show goes onone in the air for the people that aint here two in the air for the father thats there three in the air for the kids in the ghetto four for the kids who dont wanna be there none for the niggas trying to hold them back five in the air for the teacher not scared to tell those kids thats living in the ghetto that the niggas holdin back that the world is theirs yeah yeah the world is yours i was once that little boy terrified of the world now im on a world tour i will give up everything even start a world war for these ghettos girls and boys im rapping round the world for africa to new york haiti then i detour oakland out to auckland gaza strip to detroit say hiphop only destroy tell em look at me boy i hope your son dont have a gun and never be a dboyalright already the show goes on all night till the morning we dream so long anybody ever wonder when they would see the sun up just remember when you come up the show goes on alright already the show goes on all night till the morning we dream so long anybody ever wonder when they would see the sun up just remember when you come up the show goes onso no matter what you been through no matter what you into no matter what you see when you look outside your window brown grass or green grass picket fence or barbed wire never ever put them down you just lift your arms higher raise em til your arms tired let em know youre there that you struggling and survivin that you gonna persevere yeah aint no body leavin no body goin home even if they turn the lights out the show is goin onalright already the show goes on all night till the morning we dream so long anybody ever wonder when they would see the sun up just remember when you come up the show goes on alright already the show goes on all night till the morning we dream so long anybody ever wonder when they would see the sun up just remember when you come up the show goes on ",1
29,"the edge of glory","lady gaga",2011,"there aint no reason you and me should be alone tonight yeah baby tonight yeah baby i got a reason that you who should take me home tonight i need a man that thinks its right when its all wrong tonight yeah baby tonight yeah baby right on the limb is where we know we both belong tonight its hard to feel the rush to brush the dangerous im gonna run right to to the edge with you where we can both fall far in love im on the edge of glory and im hanging on a moment of truth out on the edge of glory and im hanging on a moment with you im on the edge the edge the edge the edge the edge the edge im on the edge of glory and im hanging on a moment with you im on the edge with you another shot before we kiss the other side tonight yeah baby tonight yeah baby im on the edge of something final we call life tonight alright alright put on your shades cause ill be dancing in the flames tonight yeah baby tonight yeah baby it isnt hell if everybody knows my name tonight alright alright its hard to feel the rush to brush the dangerous im gonna run right to to the edge with you where we can both fall far in love im on the edge of glory and im hanging on a moment of truth out on the edge of glory and im hanging on a moment with you im on the edge the edge the edge the edge the edge the edge the edge im on the edge of glory and im hanging on a moment with you im on the edge with you im on the edge with you im on the edge with you im on the edge of glory and im hanging on a moment of truth out on the edge of glory and im hanging on a moment with you im on the edge the edge the edge the edge the edge the edge the edge im on the edge of glory and im hanging on a moment with you im on the edge with you with you with you with you with you im on the edge with you with you with you with you with you im on the edge with you with you with you with you with you im on the edge with you with you with you with you with you",3
30,"we r who we r","keha",2011," hot and dangerous if youre one of us then roll with us cause we make the hipsters fall in love when weve got our hot pants on and up and yes of course we does we running this town just like a club and no you dont wanna mess with us got jesus on my necklaceaceaceive got that glitter on my eyes stockings ripped all up the side looking sick and sexified so lets gooo lets gotonight were going har harhar hahahard just like the world is our ourour ourourours were tearin it apart partpart papapart you know were superstars we are who we are were dancing like were dum dumdum dumdumdumb our bodies goin num numnum numnumnumb well be forever young younyoun younyounyoung you know were superstars we are who we aredj turn it up its about damn time to live it up im so sick of being so serious its making my brain delirious im just talkin truth im telling you bout the shit we do were sellin our clothes sleepin in cars dressin it down hittin on dudes hardgot that glitter on my eyes stockings ripped all up the side looking sick and sexified so lets gooo lets gotonight were going har harhar hahahard just like the world is our ourour ourourours were tearin it apart partpart papapart you know were superstars we are who we are were dancing like were dum dumdum dumdumdumb our bodies go num numnum numnumnumb well be forever young younyoun younyounyoung you know were superstars we are who we aredj turn it upupupupupupup dj turn it upupupupupupup dj turn it upupupupupupup dj turn it upupupupupupuptonight were going har harhar hahahard just like the world is our ourour ourourours were tearin it apart partpart papapart you know were superstars we are who we are were dancing like were dum dumdum dumdumdumb our bodies go num numnum numnumnumb well be forever young younyoun younyounyoung you know were superstars we are who we are ow ",1
31,"black and yellow","wiz khalifa",2011," uh huh you know what it is black and yellow black and yellow black and yellow black and yellow yeah uh huh you know what it is black and yellow black and yellow black and yellow black and yellowyeah uh huh you know what it is what it is everything i do i do it big yeah uh huh screamin thats nothin what i pulled off the lot thats stuntin reppin my town when you see me you know everything black and yellow black and yellow black and yellow black and yellow i put it down from my whip to my diamonds im in black and yellow black and yellow black and yellow black and yellowblack stripes yellow paint them niggas scared of it but them hoes aint soon as i hit the club look at them hoes face hit the pedal once make the floor shake suede insides my engine roarin its the big boy you know what i payed for it and i got the pedal to the metal i got you niggas checkin game im ballin out on every level hear them haters talk but theres nothing you can tell em just made a million got another million on my schedule no love for em nigga breakin hearts no keys push to startyeah uh huh you know what it is everything i do i do it big yeah uh huh screamin thats nothin what i pulled off the lot thats stuntin reppin my town when you see me you know everything black and yellow black and yellow black and yellow black and yellow i put it down from my whip to my diamonds im in black and yellow black and yellow black and yellow black and yellowgot a call from my jeweler this just in them bitches love me cause im fuckin with their best friends not a lesbian but she a freak though this aint for one night im shinin all weak hoe im sippin cleeko and rockin yellow diamonds so many rocks up in the watch i cant tell what the time is got a pocket full of big faces throw it up cause every nigga that im with be taylordyeah uh huh you know what it is everything i do i do it big yeah uh huh screamin thats nothin what i pulled off the lot thats stuntin reppin my town when you see me you know everything black and yellow black and yellow black and yellow black and yellow i put it down from my whip to my diamonds im in black and yellow black and yellow black and yellow black and yellowstay high like how im supposed to do that crowd underneath them clouds cant get close to you and my car look unapproachable super clean but its super mean she wanna fuck with them cats smoke weed count stacks get fly take trips and thats that real rap i let her get high she wouldnt she feel that convertible drop fill eighty seven the top peel backyeah uh huh you know what it is yeah uh huh you know what it is reppin my town when you see me you know everything black and yellow black and yellow black and yellow black and yellow i put it down from my whip to my diamonds im in black and yellow black and yellow black and yellow black and yellowyeah uh huh you know what it is everything i do i do it big yeah uh huh screamin thats nothin what i pulled off the lot thats stuntin reppin my town when you see me you know everything black and yellow black and yellow black and yellow black and yellow i put it down from my whip to my diamonds im in black and yellow black and yellow black and yellow black and yellow ",1
32,"tonight tonight","hot chelle rae",2011," its been a really really messed up week seven days of torture seven days of bitter and my girlfriend went and cheating on me shes a california dime but its time for me to quit herla la la whatever la la la it doesnt matter la la la oh well la la lawere goin at it tonight tonight theres a party on the rooftop top of the world tonight tonight and were dancin on the edge of the hollywood signi dont know if ill make it but watch how good ill fake it its all right all right tonight tonighti woke up with a strange tattoo not sure how i got it not a dollar in my pocket and it kinda looks just like you mixed with zach galifianakisla la la whatever la la la it doesnt matter la la la oh well la la lawere goin at it tonight tonight theres a party on the rooftop top of the world tonight tonight and were dancin on the edge of the hollywood signi dont know if ill make it but watch how good ill fake it its all right all right tonight tonightyou got me singin like whoa come on oh it doesnt matter whoa everybody now ohjust dont stop lets keep the beat pumpin keep the beat up lets drop the beat down its my party dance if i want to we can get crazy let it all outjust dont stop lets keep the beat pumpin keep the beat up lets drop the beat down its my party dance if i want to we can get crazy let it all outits you and me and were runnin this town and its me and you and were shakin the ground and aint nobody gonna tell us to go cause this is our showeverybody whoa come on oh all you animals whoa let me hear you now ohtonight tonight theres a party on the rooftop top of the world tonight tonight and were dancin on the edge of the hollywood signi dont know if ill make it but watch how good ill fake it its all right all right tonight tonight its all right all right tonight tonight yeah its all right all right tonight tonightjust singin like whoa come on oh all you party people whoa all you singletons oh even the white kidsjust dont stop lets keep the beat pumpin keep the beat up lets drop the beat down its my party dance if i want to we can get crazy let it all out ",1
33,"blow","keha",2011," danceback door cracked we dont need a key we get in for free no vip sleaze drink that kool aid follow my lead now youre one of us youre coming with meits time to kill the lights and shut the dj down this places about to tonight were taken over no ones getting out this places about to blow ohohoh blowohohoh this places about to blow blowohohoh this places about to blow blowohohoh this places about to blow blowohohoh this places about tonow what were taking control we get what we want we do what you dont dirt and glitter cover the floor were pretty and sick were young and were bored its time to lose your mind and let the crazy out this places about to tonight were taking names cause we dont mess around this places about to blowohohoh blowohohoh this places about to blow blowohohoh this places about to blow blowohohoh this places about to blow blowohohoh this places about togo go go go insane go insane throw some glitter make it rain on and let me see them hands let me see their hands hands go insane go insane throw some glitter make it rain on and let me see them hands let me see their hands hands let me let me see their handswe are taking over blowohohoh get used to it ok this places about to blowohohoh blowohohoh this places about to blowohohoh blowohohoh this places about to blowohohoh blowohohoh this places about to blowohohoh blowohohoh this places about to blow ",1
34,"lighters","bad meets evil featuring bruno mars",2011," this ones for you and me living out our dreams were all right where we should be with my arms out wide i open my eyes and now all i wanna see is a sky full of lighters a sky full of lightersby the time you hear this i will have already spiraled up i would never do nothing to let you cowards fuck my world up if i was you i would duck or get struck like lightening fighters keep fighting put your lighters up point em skyward uh had a dream i was king i woke up still king this rap games nipple is mine for the milking till nobody else even fucking feels me till it kills me i swear to god ill be the fucking illest in this music there is or there ever will be disagree feel free but from now on im refusing to ever give up only thing i ever gave ups using no more excuses excuse me if my head is too big for this building and pardon me if im a cocky prick but you cocks are slick poppin shit on how you flipped ya life around crockoshit who you dicks try to kid flipped dick you did the opposite you stayed the same cause cock backwards is still cock you pricks i love it when i tell em shove it cause it wasnt that long ago when marshall sat luster lacked lustered cause he couldnt cut mustard muster up nothing brain fuzzy cause hes buzzin woke up from that buzz now you wonder why he does it how he does it wasnt cause he had buzzards circle around his head waiting for him to drop dead was it or was it cause them bitches wrote him off little hussy ass buzzards fuck it guess it doesnt matter now does it what difference it make what it take to get it through your thick skulls as if this aint some bullshit people dont usually come back this way from a place that was dark as i was in just to get to this place now let these words be like a switch blade to a haters rib cage and let it be known from this day forward i wanna just say thanks cause your hate is what gave me the strength so let em bics raise cause i came with five nine but i feel like im six eightthis ones for you and me living out our dreams were all right where we should be with my arms out wide i open my eyes and now all i wanna see is a sky full of lighters a sky full of lightersby the time you hear this ill probably already be outtie i advance like going from toting iron to going and buying four or five of the homies the iron man audi my daddy told me slow down boy you goin to blow it and i aint gotta stop the beat a minute to tell shady i love him the same way that he did drdre on the chronic tell him how real he is or how high i am or how i would kill for him for him to know it i cried plenty tears my daddy got a bad back so its only right that i right till he can march right into that post office and tell em to hang it up now his careers lebrons jersey in twenty years ill stop when im at the very top you shitted on me on your way up its bout to be a scary drop cause what goes up must come down you going down on something you dont wanna see like a hairy box every hour happy hour now life is wacky now used to have to eat the cat to get the pussy now im just the cats meow ow classic cow always down for the catch weight like pacquiao yall are doomed i remember when tpain aint wanna work with me my car starts itself parks itself and autotunes cause now im in the aston i went from having my city locked up to getting treated like kwame kilpatrick and now im fantastic compared to a weed high and yall niggas just gossipin like bitches on a radio and tv see me we fly yall buggin out like wendy williams staring at a beehive and how real is that i remember signing my first deal and now im the second best i can deal with that now bruno can show his ass without the mtv awards gagyou and i know what its like to be kicked down forced to fight but tonight were alright so hold up your light let it shine causethis ones for you and me living out our dreams were all right where we should be with my arms out wide i open my eyes and now all i wanna see is a sky full of lighters a sky full of lighters ",1
35,"if i die young","the band perry",2011," if i die young bury me in satin lay me down on a bed of roses sink me in the river at dawn send me away with the words of a love song uh oh uh ohlord make me a rainbow ill shine down on my mother shell know im safe with you when she stands under my colors oh and life aint always what you think it ought to be no aint even grey but sheburies her babythe sharp knife of a short life oh well ive had just enough timeif i die young bury me in satin lay me down on a bed of roses sink me in the river at dawn send me away with the words of a love songthe sharp knife of a short life oh well ive had just enough timeand ill be wearing white when i come into your kingdom as green as the ring on my little cold finger ive never known the loving of a man but it sure felt nice when he was holding my handtheres a boy here in town says hell love me forever who would have thought forever could be severed by the sharp knife of a short life oh well ive had just enough timeso put on your best boys and ill wear my pearls what i never did is done a penny for my thoughts oh no ill sell em for a dollar theyre worth so much more after im a goner and maybe then youll hear the words ive been singing funny when youre dead how people start listennif i die young bury me in satin lay me down on a bed of roses sink me in the river at dawn send me away with the words of a love songthe ballad of a dove go with peace and love gather up your tears keep em in your pocket save them for a time when youre really gonna need them the sharp knife of a short life oh well ive had just enough time so put on your best boys and ill wear my pearls ",1
36,"stereo hearts","gym class heroes featuring adam levine",2011," my hearts a stereo it beats for you so listen close hear my thoughts in every notemake me your radio turn me up when you feel low this melody was meant for you just sing along to my stereoif i was just another dusty record on the shelf would you blow me off and play me like everybody else if i ask you to scratch my back could you manage that like it read well check it travie i can handle that furthermore i apologize for any skipping tracks its just the last girl that played me left a couple cracks i used to used to used to used to now im over that cause holding grudges over love is ancient artifactsif i could only find a note to make you understand id sing it softly in your ear and grab you by the hand keep it stuck inside your head like your favorite tune and know my hearts a stereo that only plays for youmy hearts a stereo it beats for you so listen close hear my thoughts in every notemake me your radio turn me up when you feel low this melody was meant for you just sing along to my stereooh oh oh oh oh oh oh oh to my stereo oh oh oh oh so sing along to my stereo lets goif i was an oldschool fifty pound boom box would you hold me on your shoulder wherever you walk would you turn my volume up in front of the cops and crank it higher every time they told you to stop and all i ask is that you dont get mad at me when you have to purchase mad d batteries appreciate every mix tape your friends make you never know we come and go like were on the interstatei think finally found a note to make you understand if you can hit it sing along and take me by the hand keep myself inside your head like your favorite tune and know my hearts a stereo that only plays for youmy hearts a stereo it beats for you so listen close hear my thoughts in every notemake me your radio turn me up when you feel low this melody was meant for you just sing along to my stereooh oh oh oh oh oh oh oh to my stereo oh oh oh oh so sing along to my stereo lets goi only pray you never leave me behind never leave me because good music can be so hard to find so hard to find i take your hand and pull it closer to mine thought love was dead but now youre changing my mindmy hearts a stereo it beats for you so listen close hear my thoughts in every notemake me your radio turn me up when you feel low this melody was meant for you just sing along to my stereooh oh oh oh oh oh oh oh to my stereo oh oh oh oh so sing along to my stereo ",1
37,"the time dirty bit","the black eyed peas",2011,"this is international big mega radio smasher william ive had the time of my life and ive never felt this way before and i swear this is true and i owe it all to you fergie ive had the time of my life and ive never felt this way before and i swear this is true and i owe it all to you youyouyouyouyou youyouyouyouyou youyouyouyouyouyouyyyyyou dirty bit dirty bit william ii came up in here to rock light a fire make it hot i dont wanna take no pictures i just wanna take some shots so come on lets go lets lose control lets do it all night til we cant do it no mo people rockin to the sound turn it up and watch it pound we gon rock it to the top until the roof come burnin down yeah its hot in herrre the temperaturrre has got these ladies gettin freakierrr fergie i got freaky freaky baby i was chillin with my ladies i didnt come to get bougie i came here to get crazy i was born to get wiiild thats my styyyle if you didnt know that well baby now you know now cause im havin a good time with you im tellin you ive had the time of my life and ive never felt this way before and i swear this is true and i owe it all to you ive had the time of my life and ive never felt this way before and i swear this is true and i owe it all to you youyouyouyouyou youyouyouyouyou youyouyouyouyouyouyyyyyou dirty bit dirty bit taboo allall these girls they like my swagger they callin me mick jagger i be rollin like a stone jetsetter jetlagger we aint messin with no maggots messin with the baddest chicks in the club honey whats up apldeap mirror mirror on the wall whos the baddest of them all yeah its gotta be the apl im the mack daddy yall haters better step back ladies dont load your act im the party application rockin just like that this is international big mega radio smasher cause im havin a good time with you im tellin you iiiive had the time of my liiife and ive never felt this way beforefore and i swearwear this is truuue and i owe it all to youou oh iiiive had the time of my liiiow and ive never felt this way beforefore and i swearwear this is truuue and i owe it all to youou iiiive had the time of my liiife and ive never felt this way beforefore and i swearwear this is truuue and i owe it all to youou oh iiiive had the time of my liiiow and ive never felt this way beforefore and i swearwear this is truuue and i owe it all to youou dirty bit",3
38,"coming home","diddy  dirty money featuring skylar grey",2011,"im coming home im coming home tell the world im coming home let the rain wash away all the pain of yesterday i know my kingdom awaits and theyve forgiven my mistakes im coming home im coming home tell the world that im coming im back where i belong yeah i never felt so strong im feelin like theres nothing that i cant try   im back baby and if you with me put your hands high   put your hands high if you ever lost a life before this ones for you   and if you with me put your hands high and you and you and you and you   your dreams are filled youre rapping with the best i hear the tears of a clown i hate that song i feel like they talking to me when it comes on another day another dawn another keisha nice to meet ya get the math im gone what am i posed to do when the club lights come on its easy to be puff but its harder to be sean what if the twins ask why i aint marry they mom   why damn how do i respond what if my son stares with a face like my own and says he wants to be like me when hes grown damn but i aint finished growin another night the inevitable prolongs another day another dawn just tell keisha and teresa ill be better in the morn another lie that i carry on i need to get back to the place i belong im coming home im coming home tell the world im coming home let the rain wash away all the pain of yesterday i know my kingdom awaits and theyve forgiven my mistakes im coming home im coming home tell the world that im coming a house is not a home i hate this song is a house really a home when your loved ones is gone and people got the nerve to blame you for it and you know you woulda took the bullet if you saw it but you felt it and still feel it and money cant make up for it or conceal it but you deal with it and you keep ballin pour out some liquor play boy and we keep ballin baby weve been living in sin cause weve been really in love but weve been living as friends so youve been a guest in your own home its time to make your house your own pick up your phone come on im coming home im coming home tell the world im coming home let the rain wash away all the pain of yesterday i know my kingdom awaits and theyve forgiven my mistakes im coming home im coming home tell the world that im coming aint no stopping us now i love that song whenever it comes on it makes me feel strong i thought i told yall that we wont stop til back cruising through harlem viso blocks its what made me saved me drove me crazy drove me away than embraced me forgave me for all of my shortcomings welcome to my homecoming yeah its been a long time coming lot of fights lot of scars lot of bottles lot of cars lot of ups lot of downs made it back lost my dog i miss you big and here i stand a better man a better man thank you lord thank you lord im coming home im coming home tell the world im coming home let the rain wash away all the pain of yesterday i know my kingdom awaits and theyve forgiven my mistakes im coming home im coming home tell the world that im coming",3
39,"hey baby drop it to the floor","pitbull featuring tpain",2011," pitbull mr worldwide tpain el que no olle consejo no llega a viejo so listen uplet her go lalala if your girl wanna play let her go said let her go lalala if your girl wanna play let her go said let her go lalala if your girl wanna play let her go said let her go lalala if your girl wanna play let her go dale paintpain hey baby girl what you doing tonight i wanna see what you got in store hey hey baby youre giving it your all when youre dancing on me i want to see if you can give me some more hey hey baby you can be my girl i can be your man and we can pump this jam however you want hey hey baby pump it from the side pump it upside down or we can pump it from the back and the front hey hey babypitbull oooh baby baby lalalalala oooh baby baby lalalalala oooh baby baby lalalalala oooh baby baby lalalalalatpain ooh drop it to the floor make me wanna say hey baby get on whatever you want yeah you can shake some more make me wanna say hey baby get on whatever you like ooh you got it cause you make me wanna say hey baby youre the one i want yeah dont stop it cause you make me wanna say i want you tonightpitbull im a dade county self paid selfmade millionaire i used to play around the world now im around the world getting paid girl problems no problems dont hate the game cause that wont solve it i want to get with you mami now let me see where the lord split you daletpain hey baby girl what you doing tonight i wanna see what you got in store hey hey baby youre giving it your all when youre dancing on me i want to see if you can give me some more hey hey baby you can be my girl i can be your man and we can pump this jam however you want hey hey baby pump it from the side pump it upside down or we can pump it from the back and the front hey hey babypitbull oooh baby baby lalalalala oooh baby baby lalalalala oooh baby baby lalalalala oooh baby baby lalalalalatpain ooh drop it to the floor make me wanna say hey baby get on whatever you want yeah you can shake some more make me wanna say hey baby get on whatever you like ooh you got it cause you make me wanna say hey baby youre the one i want yeah dont stop it cause you make me wanna say i want you tonightpitbull make money make money this chico right here gotta eat baby your scared money dont make money thats how it goes in the street baby but enough about the the nonsense baby girl take a shot clear your conscience not a goon or a goblin im a monster cause i hit all baddest woman in the world gangstaoooh baby baby lalalalala oooh baby baby lalalalala oooh baby baby lalalalala oooh baby baby lalalalalatpain ooh drop it to the floor make me wanna say hey baby yeah you can shake some more make me wanna say hey baby ooh you got it cause you make me wanna say hey baby yeah dont stop it cause you make me wanna saypitbull oooh baby baby lalalalala oooh baby baby lalalalala oooh baby baby lalalalala oooh baby baby lalalalalatpain ooh drop it to the floor make me wanna say hey baby get on whatever you want yeah you can shake some more make me wanna say hey baby get on whatever you like ooh you got it cause you make me wanna say hey baby youre the one i want yeah dont stop it i want you tonight ",1
40,"only girl in the world","rihanna",2011," la la la la la la la la la la la la yeah la la la lai want you to love me like im a hot ride uh yeah keep thinkin of me uh doin what you like so boy forget about the world cause its gon be me and you tonight yeah i wanna make your beg for it then imma make you swallow your pridewant you to make me feel like im the only girl in the world like im the only one that youll ever love like im the only one who knows your heart only girl in the world like im the only one thats in command cause im the only one who understands how to make you feel like a manyeah want you to make me feel like im the only girl in the world like im the only one that youll ever love like im the only one who knows your heart only onewant you to take it like a thief in the night hold me like a pillow make me feel right baby ill tell you all my secrets that im keepin you can come inside yeah and when you enter you aint leavin be my prisoner for the night ohwant you to make me feel like im the only girl in the world like im the only one that youll ever love like im the only one who knows your heart only girl in the world like im the only one thats in command cause im the only one who understands like im the only one who knows your heart only onetake me for a ride ride oh baby take me high high let me make you rise rise oh make it last all night nighttake me for a ride ride oh baby take me high high let me make you rise rise make it last all nightwant you to make me feel like im the only girl in the world like im the only one that youll ever love like im the only one who knows your heart only girl in the world like im the only one thats in command cause im the only one who understands how to make you feel like a manonly girl in the world girl in the world only girl in the world girl in the world ",1
41,"6 foot 7 foot","lil wayne featuring cory gunz",2011," sixfoot sevenfoot eightfoot bunch sixfoot sevenfoot eightfoot bunchahem excuse my charisma vodka with a spritzer swagger down pat call my shit patricia young money militia and i am the commissioner you dont want start weezy cause the f is for finisher so misunderstood but whats a world without enigma two bitches at the same time synchronized swimmers got the girl twisted cause she open when you twist her never met the bitch but i fuck her like i missed her life is the bitch and death is her sister sleep is the cousin were a fuckin family picture you know father time we all know mother nature its all in the family but i am of no relation no matter whos buying im a celebration black and white diamonds fuck segregation fuck that shit my money up you niggas just honey nut young money running shit and you niggas just runnerups i dont feel i done enough so ima keep on doing this shit lil tunechi or young tunafishsixfoot sevenfoot eightfoot bunch sixfoot sevenfoot eightfoot bunchim going back in okay i lost my mind its somewhere out there stranded i think you stand under me if you dont understand me had my heart broken by this woman named tammy but hoes gon be hoes so i couldnt blame tammy just talked to moms told her she the sweetest i beat the beat up call it self defense swear man i be seeing through these niggas like sequins niggas think they hemen pow pow the end talking to myself because i am my own consultant married to the money fuck the world thats adultery you full of shit you close your mouth and let yo ass talk young money eating all you haters do is add salt stop playing bitch i got this game on deadbolt mind so sharp i fuck around and cut my head off real nigga all day and tomorrow but these mufuckers talking crazy like they jaw broke glass half empty half full ill spill ya try me and run into a wall outfielder you know ima ball til they turn off the field lights the fruits of my labor i enjoy em while they still ripe bitch stop playing i do it like a king do if these niggas animals then ima have a mink soon tell em bitches i say put my name on the wall i speak the truth but i guess thats a foreign language to yall and i call it like i see it and my glasses on but most of yall dont get the picture less the flash is on satisfied with nothing you dont know the half of it young money cash money paper chasing tell that paper look im right behind ya bitch real gs move in silence like lasagna people say im borderline crazy sorta kinda woman of my dreams i dont sleep so i cant find her you niggas are gelatin peanuts to an elephant i got through that sentence like a subject and a predicate yeah with a swag you would kill for money too strong pockets on bodybuilder jumped in a wishing well now wish me well tell em kiss my ass call it kiss and tell ",1
42,"just a kiss","lady antebellum",2011," lyin here with you so close to me its hard to fight these feelings when it feels so hard to breathe caught up in this moment caught up in your smileive never opened up to anyone so hard to hold back when im holding you in my arms we dont need to rush this lets just take it slowjust a kiss on your lips in the moonlight just a touch of the fire burning so bright and i dont want to mess this thing up i dont want to push too far just a shot in the dark that you just might be the one ive been waiting for my whole life so baby im alright with just a kiss goodnighti know that if we give this a little time itll only bring us closer to the love we wanna find its never felt so real no its never felt so rightjust a kiss on your lips in the moonlight just a touch of the fire burning so bright and i dont want to mess this thing up i dont want to push too far just a shot in the dark that you just might be the one ive been waiting for my whole life so baby im alright with just a kiss goodnightno i dont want to say goodnight i know its time to leave but youll be in my dreamstonight tonight tonightjust a kiss on your lips in the moonlight just a touch of the fire burning so bright no i dont want to mess this thing up i dont want to push too far just a shot in the dark that you just might be the one ive been waiting for my whole life so baby im alright oh lets do this rightwith just a kiss goodnight with a kiss goodnight kiss goodnight ",1
43,"dirt road anthem","jason aldean",2011," yeah im chilling on a dirt road laid back swervin like im george jones smoke rollin out the window an ice cold beer sittin in the console memory lane up in the headlights has got me reminiscing on the good times im turning off the real life driving thats right im hittin easy street in mud tiresback in the day pops farm was the place to go load the truck up hit the dirt road jump the barbwire spread the word light the bonfire then call the girls the king in the can and the marlboro man jack and jim were a few good men when we learned how to kiss and cuss and fight too better watch out for the boys in blue and all this small town he said she said aint it funny how rumors spread like i know something yall dont know man that talk is getting old man mind your business watch your mouth before i have to knock your loud mouth out im tired of talking man yall aint listenin them old dirt roads is what yall missinyeah im chilling on a dirt road laid back swervin like im george jones smoke rollin out the window an ice cold beer sittin in the console memory lane up in the headlights has got me reminiscing on the good times im turning off the real life driving thats right im hittin easy street in mud tiresi sit back and think about them good ol days the way we were raised and our southern ways and we like cornbread and biscuits if its broke round here we fix it i can take yall where you need to go down to my hood and back in them woods we do it different round here thats right and we sure do it good and we do it all night so if you really wanna know how it feels to get off the road with a truck and four wheel jump on in tell yo friends and well be raising hell where the black top endsim chilling on a dirt road laid back swervin like im george jones smoke rollin out the window an ice cold beer sittin in the console memory lane up in the headlights has got me reminiscing on the good times im turning off the real life driving thats right im hittin easy street in mud tires thats rightyeah im chillin on a dirt road laid back swervin like im george jones smoke rollin out the window an ice cold beer sittin in the console memory lane up in the headlights has got me reminiscing on the good times im turning off the real life driving thats right im hittin easy street in mud tires thats right ",1
44,"dynamite","taio cruz",2011," i came to dancedancedancedance yeah i hit the floor cause thats my plans plans plans plans yeah im wearing all my favorite brands brands brands brands yeah give me some space for both my hands hands hands hands yeah yeah cause it goes on and on and on and it goes on and on and on yeahi throw my hands up in the air sometimes saying ayeoh gotta let go i wanna celebrate and live my life saying ayoh baby lets go cause we gon rock this club we gon go all night we gon light it up like its dynamite cause i told you once now i told you twice we gon light it up like its dynamitei came to move move move move get out the way of me and my crew crew crew crew yea im in the club so im gonna do do do do yea just what i came here to do do do do yeah yeah cause it goes on and on and on and it goes on and on and on yeahi throw my hands up in the air sometimes saying ayoh gotta let go i wanna celebrate and live my life saying ayoh baby lets go cause we gon rock this club we gon go all night we gon light it up like its dynamite cause i told you once now i told you twice we gon light it up like its dynamiteim gonna take it all i im gonna be the last one standing higher overall i im gonna be the last one landing cause i i i believe it and i i i i just want it all i just want it all im gonna put my hands in the air hands in the air put your hands in the airi throw my hands up in the air sometimes saying ayoh gotta let go i wanna celebrate and live my life saying ayoh baby lets go cause we gon rock this club we gon go all night we gon light it up like its dynamite cause i told you once now i told you twice we gon light it up like its dynamite ",1
45,"no hands","waka flocka flame featuring wale and roscoe dash",2011," listen to this track bitchgirl the way youre movin got me in a trance dj turn me up ladies dis yo jam cmon ima sip moscato and you gon lose dem pants then ima throw this money while you do it with no hands girl drop it to the floor i love the way yo booty go all i want to do is sit back and watch you move and ill proceed to throw this cashwaka waka waka flocka whoa whoa all that ass in yo jeans can wale beat and roscoe skeet long hair she dont care when she walk she get stares brown skin or a yellowbone dj this my favorite song so ima make it thunderstorm bud want it flocka yea blowin fuck it i dont care dresses flyin everywhere got my partner roscoe like bruh im drunk as hell cant you tell booze help me hit them fifteen steps im fuckin well im tryna hit the hotel with two girls that swallow me take this dick while swallow pay moscato got her freaky aye you got me in a trance please take off yo pants pussy pop on her handstand you got me sweatin please pass me a fan damngirl the way youre movin got me in a trance dj turn me up ladies dis yo jam cmon ima sip moscato and you gon lose dem pants then ima throw this money while you do it with no hands girl drop it to the floor i love the way yo booty go all i want to do is sit back and watch you move and ill proceed to throw this cashaye aye wale uh she said look ma no hands she said look ma no hands and no darling i dont dance and im with roscoe im with waka i think i deserve a chance im a bad mothafucka gon ask some mothafuckas a young handsome mothafucka i sling that wood i just nun chuck em and who you wit and whats yo name and you not hear boo im wale and that dc shit i rep all day and my eyes red cause of all that haze dont blow my high let me shine drumma on the beat let me take my time nigga want beef we can take it outside fight for what broad these hoes aint mine is you out yo mind you out yo league i sweat no bitches just sweat out weaves where our tracks let me do my thing i got sixteen for this roscoe thing but im almost done let me get back to it whole lotta loud and a little backwood whole lotta money big tip i would i put her on the train little engine could bitchgirl the way youre movin got me in a trance dj turn me up ladies dis yo jam cmon ima sip moscato and you gon lose dem pants then ima throw this money while you do it with no hands girl drop it to the floor i love the way yo booty go all i want to do is sit back and watch you move and ill proceed to throw this cashroscoe dash lets go roscoemr shawty put it on me please i be goin ham shawty upgrade from baloney please them niggas tippin good girl but i can make it flood i can cause i walk around with pockets bigger that are than my bus whoa rain rain go away thats what all my haters say my pockets stuck on overload my rain never evaporates no need to elaborate most studies just exaggerate but ima get money nigga everyday stuntin nigga ducks might get a chance after me bitch im ballin like im comin off of free throws cause the head of the game no cheat codes lambo roscoe no street code and your booty got me lost like nemo go go go ggon and do yo dance and ima throw this money while you do it wit no hands go ongirl the way youre movin got me in a trance dj turn me up ladies dis yo jam cmon ima sip moscato and you gon lose dem pants then ima throw this money while you do it with no hands girl drop it to the floor i love the way yo booty go all i want to do is sit back and watch you move and ill proceed to throw this cash ",1
46,"i wanna go","britney spears",2011," lately ive been stuck imagining what i wanna do and what i really think time to blow outbe a little inappropriate cause i know that everybodys thinking it when the lights outshame on me to need release uncontrollablyi wanna go all the way taking out my freak tonight i wanna show all the dirt i got running through my mind whoai wanna go all the way taking out my freak tonight i wanna show all the dirt i got running through my mind whoalately people got me all tied up theres a countdown waiting for me to erupt time to blow outive been told do what you do with it we keep both my hands above the blanket when the lights outshame on me to need release uncontrollablyi wanna go all the way taking out my freak tonight i wanna show all the dirt i got running through my mind whoai wanna go all the way taking out my freak tonight i wanna show all the dirt i got running through my mind whoashame on me to need release uncontrollablyi wanna go all the way taking out my freak tonight i wanna show all the dirt i got running through my mind whoai wanna go all the way taking out my freak tonight i wanna show all the dirt i got running through my mind whoa ",1
47,"im on one","dj khaled featuring drake rick ross and lil wayne",2011," get em up im on one get em up fuck it im on one get em up i said im on one dj khaled uhim getting so throwed i aint work this hard since i was eighteen apologize if i say anything i dont mean like whats up with your best friend we could all have some fun believe me and whats up with these new niggas and why they think it all comes so easybut get it while you here boy cause all that hype dont feel the same next year boy yeah and ill be right here in my spot with a little more cash than i already got trippin off you cause you had your shot with my skin tanned and my hair long and my fans who been so patient me and forty back to work but we still smell like a vacation hate the rumors hate your bullshit hate these fucking allegations im just feeling like the throne is for the taking watch me take itall i care about is money and the city that im from ima sip until i feel it ima smoke it till its done and i dont really give a fuck and my excuse is that im young and im only getting older so somebody shoulda told ya im on one yeah fuck it im on one yeah i said im on one fuck it im on one two white cups and i got that drink could be purple it could be pink depending on how you mix that shit money to be gotten and ima get that shit cause im on one i said fuck it im on oneim burning purple flowers its burning my chest i bury the most cash and burning the rest walking on the clouds suspended in thin air do ones beneath me recognize the red bottoms i wear burner in the belt move the kids to the hills boss bend shawty on the sink do it for the thrill kiss you on ya neck and tell ya everything is great even though im out on bond i might be facin eights still running with the same niggas til the death of me ever seen a million cash gotta count it carefully ever made love to the woman of your dreams in a room full of money out in london as she screams baby i could take it there call marc jacobs personally to make a pair so yeah we on one the feeling aint fair khaled and its double m g until i get the chairall i care about is money and the city that im from ima sip until i feel it ima smoke it till its done and i dont really give a fuck and my excuse is that im young and im only getting older so somebody shoulda told ya im on one yeah fuck it im on one yeah i said im on one fuck it im on one two white cups and i got that drink could be purple it could be pink depending on how you mix that shit money to be gotten and ima get that shit cause im on one i said fuck it im on onei walk around the club fuck everybody and all my niggas got that heat i feel like pat riley yeah too much money aint enough money you know the feds listening nigga what money im a made nigga i should dust something you niggas on the bench like the bus coming huh aint nothing sweet but the swishas im focused might aswell say cheese for the pictures oh im about to go andre the giant you a sell out but i aint buying chopper dissect a nigga like science put an end to the world like mayans its a celebration bitches mazel tov its a slim chance i fall olive oil tunechi be the name dont ask me how i got it im killin these hoes i swear im tryna stop the violenceall i care about is money and the city that im from ima sip until i feel it ima smoke it till its done and i dont really give a fuck and my excuse is that im young and im only getting older so somebody shoulda told ya im on one yeah fuck it im on one yeah i said im on one fuck it im on one two white cups and i got that drink could be purple it could be pink depending on how you mix that shit money to be gotten and ima get that shit cause im on one i said fuck it im on oneget em up get em up get em up ",1
48,"you make me feel","cobra starship featuring sabi",2011," intro la la la la la la la la la la la la la la la la la la la la verse 1 girl ive been all over the world looking for you im known for taking what i think i deserve and youre overdue and if you listen you can hear me through the radio in that bright white noise what i been missing in my life for i been dreaming of you be that girl you be that girl you be sabi everything you want so let me get up there im the baddest baby in the atmosphere tell me what you want so we can do just what you like chorus you make me feel that la la la la la you make me feel so la la la la la you make me feel that la la la la la you make me feel so la la la la la you you make me feel so verse 2 get a little closer to me girl and youll understand cause if you want a guy that knows what you need well then im your man and if i listen i can hear you through my radio in that bright white noise what i been missing in my life what i been dreaming of you be that girl you be that girl you be sabi everything you want so let me get up there im the baddest baby in the atmosphere tell me what you want so we can do just what you like ooh everything you know im flipping upside down take you round the world you know i like it loud tell me what you want cause we can do just what you like chorus you make me feel so la la la la la you make me feel so la la la la la you make me feel so la la la la la you make me feel so la la la la la you make me feel oh la la la la la you make me feel so la la la la la you make me feel so la la la la la you make me feel oh la la la la la put your hands up put your hands up let the lights drop let the lights drop make my world stop make my world stop la la la la la la la la la la you make me feel that la la la la la you make me feel so la la la la la you make me feel that la la la la la you make me feel so la la la la la you make me feel oh la la la la la you make me feel so la la la la la you make me feel so la la la la la you make me feel so la la la la la ",1
49,"yeah 3x","chris brown",2011," move your body out on the floor put your troubles aside start living anybody can let go throw away all your problems cause right now its party timegirl dont feel outta place cause i im in love with this feeling now and i i hope that this will last a while we should make it last a whileyou like to drink so do we get more bottles bring em to me hold your glasses up people everywhere now everybody put your hands in the air sayyeah yeah yeah girl i wanna yeah yeah yeah i wanna see you tonight yeah yeah yeah girl i gotta yeah yeah yeah i gotta see you tonightoh oh oh whoa let me see your hands oh oh oh whoa oh oh tonight is the nightlost in the moment cant believe youre so beautiful feels like im in a dream baby were going somewhere youve never been before so take my hand and come with megirl dont feel outta place cause i im in love with this feeling now and i i hope that this will last a while we should make it last a whileyou like to drink so do we get more bottles bring em to me hold your glasses up people everywhere now everybody put your hands in the air sayyeah yeah yeah girl i wanna yeah yeah yeah i wanna see you tonight yeah yeah yeah girl i gotta yeah yeah yeah i gotta see you tonightoh oh oh whoa oh oh oh oh let me see your hands oh oh oh whoa oh oh oh oh tonight is the nightall the pretty young things in the party let me see your hands up and if they mad and they dont wanna party tell em to shut the fuck up so dj turn it loud and watch me turn it up dont worry bout it we here to party so jump jump jump jumpgirl i wanna i wanna see you tonight yeah yeah girl i gotta i gotta i gotta i gotta see you tonightyeah yeah yeah yeah yeah yeah i wanna see you tonight yeah yeah yeah yeah yeah yeah tonight is the nighttonight is the night tonight is the night ",1
50,"moment 4 life","nicki minaj featuring drake",2011," i fly with the stars in the skies i am no longer trying to survive i believe that life is a prize but to live doesnt mean youre alive dont worry bout me and who i fire i get what i desire its my empire and yes i call the shots i am the umpire i sprinkle holy water upon the vampire in this very moment im king this very moment i slay goliath with a sling this very moment i bring put it on everything that i will retire with the ring and i will retire with the crown yes no im not lucky im blessed yes clap for the heavyweight champ me but i couldnt do it all alone we young money raised me grew up out in baisley southside jamaica queens and its crazy cause im still hood hollywood couldnt change me shout out to my haters sorry that you couldnt phase me aint being cocky we just vindicated best believe that when were done this moment will be syndicated i dont know this night just remind me of everything that they deprived me of put ya drinks up its a celebration every time we link up we done did everything they can think of greatness is what we on the brink ofi wish that i could have this moment for life for life for life cause in this moment i just feel so alive alive alive i wish that i could have this moment for life for life for life this is my moment i just feel so alive alive alive yeah yeah yeah uhwhat i tell em hoes bow bow bow to me drop down to ya knees young money the mafia thats word to lil cease im in the dominican big papi ortiz doin target practice all these bitches just aiming to please shout out to the ceo five hundred degrees shout out to the ovo wear rings and fatigues ow niggas wanna be friends how coincidental this supposed to be yall year we aint get the memo a young king pay me in gold forty got a bunch of weed he aint even rolled these niggas be droppin songs they aint even cold weezy on top and that nigga aint even home yet yeah be very afraid these other rappers getting bodied and carried away fuck it me and nicki nick gettin married today and now you bitches that be hatin can catch a bouquet ooh yeah you a star in my eyes you and all them white girls party of five are we drinking a lil more i can hardly decide i cant believe we really made it im partly surprised i swear damn this one for the books man i swear this shit is as fun as it looks man im really tryna make it more than what it is cause everybody dies but not everybody lives ahi wish that i could have this moment for life for life for life cause in this moment i just feel so alive alive alive i wish that i could have this moment for life for life for life this is my moment i just feel so alive alive alive for lifethis is my moment i waited all my life i can tell its time drifting away im one with the sunsets i have become alivei wish that i could have this moment for life for life for life cause in this moment i just feel so alive alive alive i wish that i could have this moment for life for life for life this is my moment i just feel so alive alive alive for life ",1
51,"i need a doctor","dr dre featuring eminem and skylar grey",2011," im about to lose my mind youve been gone for so long im running out of time i need a doctor call me a doctor i need a doctor doctor to bring me back to lifei told the world one day i would pay it back say it on tape and lay it record it so that one day i could play it back but i dont even know if i believe it when im saying that yall starting to creep in everyday its so gray and black hope i just need a ray of that cause no one sees my vision when i play it for em they just say its wack but they dont know what dope is and i dont know if i was awake or asleep when i wrote this all i know is you came to me when i was at my lowest you picked me up breath new life in me i owe my life to you but for the life of me i dont see why you dont see like i do but it just dawned on me you lost a son demons fighting you its dark let me turn on the lights and brighten me itll enlighten you i dont think you realize what you mean to me not the slightest clue cause me and you were like a crew i was like your sidekick you gon either wanna fight me when i get off this fucking mic or you gon hug me but im out of options theres nothing else i can do causeim about to lose my mind youve been gone for so long im running out of time i need a doctor call me a doctor i need a doctor doctor to bring me back to lifeit hurts when i see you struggle you come to me with ideas you say there just pieces so im puzzled cause the shit i hear is crazy but your either getting lazy or you dont believe in you no more seems like your own opinions not one you can form cant make a decision you keep questioning yourself second guessing and its almost like your begging for my help like im your leader your supposed to fucking be my mentor i can endure no more i demand you remember who you are it was you who believed in me when everyone was telling you dont sign me everyone at the fucking label lets tell the truth you risked your career for me i know it as well as you nobody wanted to fuck with the white boy dre im crying in this booth you saved my life now maybe its my turn to save yours but i can never repay you what you did for me is way more but i aint giving up faith and you aint giving up on me get up dre im dying i need you come back for fucks sakeim about to lose my mind youve been gone for so long im running out of time i need a doctor call me a doctor i need a doctor doctor to bring me back to life bring me back to life bring me back to lifei need a doctor doctor to bring me back to lifeit literally feels like a lifetime ago but i still remember the shit like it was just yesterday though you walked in yellow jump suit whole room cracked jokes once you got inside the booth told you like smoke went through friends some of them i put on but they just left they said they was riding to the death but where the fuck are they now now that i need them i dont see none of them all i see is slim fuck all you fairweather friends all i need is him fucking backstabbers when the chips were down you just laughed at us now you bout to feel the fucking wrath of aftermath fagots you gon see us in our lab jackets and ask us where the fuck we been you can kiss my indecisive ass crack maggots and the crackers ass little crack a jack beat making wack ass backwards producers im back bastards one more cd and then im packing up my bags and as im leaving ill guarantee they scream dre dont leave us like that man causeim about to lose my mind youve been gone for so long im running out of time i need a doctor call me a doctor i need a doctor doctor to bring me back to life ",1
52,"just a dream","nelly",2011," i was thinking bout her thinkin bout me thinkin bout us what we gon be open my eyes yeah it was only just a dream so i traveled back down that road will she come back no one knows i realize yeah it was only just a dreami was at the top and now its like im in the basement number one spot and now she find her a replacement i swear now i cant take it knowing somebodys got my baby and now you aint around baby i cant think i shouldve put it down shouldve got the ring cause i can still feel it in the air see her pretty face run my fingers through her hair my lover my life my shawty my wife she left me im tied cause i knew that it just aint righti was thinking bout her thinkin bout me thinkin bout us what we gon be open my eyes yeah it was only just a dream so i traveled back down that road will she come back no one knows i realize yeah it was only just a dreamwhen i be ridin man i swear i see her face at every turn tryna get my usher on but i cant let it burn and i just hopes she know that she the only one i yearn for more and more i miss her when will i learn didnt give her all my love i guess now i got my payback now im in the club thinking all about my baby hey she was so easy to love but wait i guess that love wasnt enough im going through it every time that im alone and now im missing wishing shed pick up the phone but she made the decision that she wanted to move on cause i was wrongi was thinking bout her thinkin bout me thinkin bout us what we gon be open my eyes yeah it was only just a dream so i traveled back down that road will she come back no one knows i realize yeah it was only just a dreamif you ever loved somebody put your hands up if you ever loved somebody put your hands up and now theyre gone and youre wishing you could give them everything said if you ever loved somebody put your hands up if you ever loved somebody put your hands up now theyre gone and youre wishing you could give them everythingi was thinking bout her thinkin bout me thinkin bout us what we gon be open my eyes yeah it was only just a dream so i traveled back down that road will she come back no one knows i realize yeah it was only just a dreami was thinking bout her thinkin bout me thinkin bout us what we gon be open my eyes yeah it was only just a dream so i traveled back down that road will she come back no one knows i realize yeah it was only just a dream ",1
53,"motivation","kelly rowland featuring lil wayne",2011," oh lover dont you dare slow down go longer you can last more rounds push harder youre almost there now so go lover make momma proudand when were done i dont wanna feel my legs and when were done i just wanna feel your hands all over me baby but you cant stop there music still playin in the background and youre almost there you can do it i believe in you baby so close from herebaby ima be your motivation go go go go motivation go go go gouh girl i turn that thing into a rainforest rain on my head call that brainstorming yeah this is deep oh but i go deeper make you lose yourself and finders keepers it go green light go weezy go i like to taste that sugar that sweet and low but hold up wait new position i put her on my plate then i do the dishes she my motivation im her transportation cause i let her ride while i drive her crazy then i just keep going going like im racing when im done she hold me like a conversation weezy babyand when were done i dont wanna feel my legs and when were done i just wanna feel your hands all over me baby but you cant stop there music still playin in the background and youre almost there you can do it i believe in you baby so close from here baby ima be your motivationoh lover when you call my name no other can do that the same no i wont let ya get up out the game no so go lover dont it make me rainand when were done i dont wanna feel my legs and when were done i just wanna feel your hands all over me baby but you cant stop there music still playin in the background and youre almost there you can do it i believe in you baby so close from here baby ima be your motivation ",1
54,"stereo love","edward maya featuring vika jigulina",2011," when you gonna stop breaking my heart i dont wanna be another one paying for the things i never done dont let go dont let go to my lovecan i get to your soul can i get to my thoughts can you promise we wont let go all the things that i need all the things that you need you can make it feel so realcause you cant deny youve blown my mind when i touch your body i feel im losing control cause you cant deny youve blown my mind when i see you baby i just dont wanna let gowhen you gonna stop breaking my heart i dont wanna be another one paying for the things i never done dont let go dont let go to my lovei hate to see you cry your smile is a beautiful lie i hate to see you cry my love is dying insidei hate to see you cry your smile is a beautiful lie i hate to see you cry my love is dying insidei can fix all those lies oh babe oh babe i run but im running to you you wont see me cry im hiding inside my heart is in pain but im smiling for youoh baby ill try to make things right i need you more than air when im not with you please dont ask me why just kiss me this time my only dream is about you and ican i get to your soul can you get to my thoughts can you promise we wont let go all the things that i need all the things that you need you can make it feel so realcause you cant deny youve blown my mind when i touch your body i feel im losing control cause you cant deny youve blown my mind when i see you baby i just dont wanna let gowhen you gonna stop breaking my heart i dont wanna be another one paying for the things i never done dont let go dont let go to my lovei hate to see you cry your smile is a beautiful lie i hate to see you cry my love is dying insidei can fix all those lies oh babe oh babe i run but im running to you you wont see me cry im hiding inside my heart is in pain but im smiling for youoh baby ill try to make things right i need you more than air when im not with you please dont ask me why just kiss me this time my only dream is about you and i ",1
55,"jar of hearts","christina perri",2011," no i cant take one more step towards you cause all thats waiting is regret and dont you know im not your ghost anymore you lost the love i loved the mosti learned to live half alive and now you want me one more timeand who do you think you are runnin round leaving scars collecting your jar of hearts and tearing love apart youre gonna catch a cold from the ice inside your soul so dont come back for me who do you think you arei hear youre asking all around if i am anywhere to be found but i have grown too strong to ever fall back in your armsive learned to live halfalive and now you want me one more timeand who do you think you are runnin round leaving scars collecting your jar of hearts and tearing love apart youre gonna catch a cold from the ice inside your soul so dont come back for me who do you think you aredear it took so long just to feel alright remember how to put back the light in my eyes i wish i had missed the first time that we kissed cause you broke all your promisesand now youre back you dont get to get me backand who do you think you are runnin round leaving scars collecting your jar of hearts and tearing love apart youre gonna catch a cold from the ice inside your soul so dont come back for me dont come back at alland who do you think you are runnin round leaving scars collecting your jar of hearts and tearing love apart youre gonna catch a cold from the ice inside your soul dont come back for me dont come back at allwho do you think you are who do you think you are who do you think you are ",1
56,"roll up","wiz khalifa",2011," i roll up i roll up i roll up shawty i roll up i roll up i roll upits your anniversary isnt it and your man aint acting right so you packin your damier luggage up callin my cell phone tryin catch a flight you know one thing straight ill be there girl whenever you call me when you at home thats your man soon as you land you say thats all me cause shit aint all g with him no more you aint entertained since i meet you a couple months ago you aint been the same not sayin im the richest man alive but im in the game as long as you keep it one hundred imma spend this changewhenever you need me whenever want me you know you can call me ill be there shortly dont care what your friends say cause they dont know me i can be your best friend and you be my homie i aint gon flex im not gon front you know if i ball then we all gon stunt send her my way she aint gotta hold up whenever you call baby i roll up i roll up i roll up whenever you call baby i roll up i roll up i roll up whenever you call baby i roll upi try to stay out your business but on the real youre so obvious and if you keep fitting me in your plans and fuckin up your mans gonna catch onto us that white sand surrounding us he be handcuffing he should work for them officers if you rolling i got a spot where i can put you on this medical and send you home doctored up you wanna ride with me cause you say that he boring wake up you rollin weed cooking eggs in the morning aint scared to spend this money ill make more of it first you was in the sky now you say you in orbitwhenever you need me whenever want me you know you can call me ill be there shortly dont care what your friends say cause they dont know me i can be your best friend and you be my homie i aint gon flex im not gon front you know if i ball then we all gon stunt send her my way she aint gotta hold up whenever you call baby i roll up i roll up i roll up whenever you call baby i roll up i roll up i roll up whenever you call baby i roll upno matter where i am no matter where you are ill be there when its over baby cause i was there from the start no matter if im near dont matter if your far all you do is pick the phone up lady and ill be there when you callwhenever you need me whenever want me you know you can call me ill be there shortly dont care what your friends say cause they dont know me i can be your best friend and you be my homie i aint gon flex im not gon front you know if i ball then we all gon stunt send her my way she aint gotta hold up whenever you call baby i roll upwhenever you need me whenever want me you know you can call me ill be there shortly dont care what your friends say cause they dont know me i can be your best friend and you be my homie i aint gon flex im not gon front you know if i ball then we all gon stunt send her my way she aint gotta hold up whenever you call baby i roll up i roll up i roll up whenever you call baby i roll up i roll up i roll up whenever you call baby i roll upi roll up i roll up whenever you call baby i roll up ",1
57,"sexy and i know it","lmfao",2011," when i walk on by girls be looking like damn he fly i pimp to the beat walking on the street with in my new lafreak yeah this is how i roll animal print pants out control this is red foo with the big afro its like bruce lee rock at the clubgirl look at that body girl look at that body girl look at that bodyi work outgirl look at that body girl look at that body girl look at that bodyi work outwhen i walk in the spot this is what i see everybody stops and they staring at me i got passion in my pants and i aint afraid to show it show it show it show itim sexy and i know it im sexy and i know itwhen im at the mall security just cant fight em off when im at the beach im in a speedo trying to tan my cheeks this is how i roll come on ladies its time to go we headed to the bar baby dont be nervous no shoes no shirt and i still get servicedgirl look at that body girl look at that body girl look at that bodyi work outgirl look at that body girl look at that body girl look at that bodyi work outwhen i walk in the spot this is what i see everybody stops and they staring at me i got passion in my pants and i aint afraid to show it show it show it show itim sexy and i know it im sexy and i know itcheck it out check it outwiggle wiggle wiggle wiggle wiggle wiggle yeah wiggle wiggle wiggle wiggle wiggle wiggle yeah wiggle wiggle wiggle wiggle wiggle wiggle yeah wiggle wiggle wiggle wiggle wiggle wiggle yeahdo the wiggle man do the wiggle manim sexy and i know itgirl look at that body girl look at that body girl look at that bodyi work outgirl look at that body girl look at that body girl look at that body i work outim sexy and i know it ",1
58,"rocketeer","far east movement featuring ryan tedder",2011," here we go come with me theres a world out there that we should see take my hand close your eyes with you right here im a rocketeerlets fly fly fly fly up up here we go go up up here we go go lets fly fly fly fly up up here we go go where we stop nobody knows knowswhere we go we dont need roads roads where we stop nobody knows knows to the stars if you really want it got got a jet pack with your name on it above the clouds in the atmosphere phere just say the words and we outta here outta here hold my hand if you feelin scared scared we flyin up up outta herehere we go come with me theres a world out there that we should see take my hand close your eyes with you right here im a rocketeerlets fly fly fly fly up up here we go go up up here we go go lets fly fly fly fly up up here we go go here we go where we stop nobody knows knowsbaby we can stay fly like a g6 shop the streets of tokyo get your fly kicks girl you always on my mind got my head up in the sky and im never looking down feelin priceless yeah where we at only few have known were on some next level super mario i hope this works out cardio til then lets fly geronimohere we go come with me theres a world out there that we should see take my hand close your eyes with you right here im a rocketeerlets fly yo now i never been in space before but i aint ever seen a face like yours you make me feel like i could touch the planets you want the moon girl watch me grab it now i never seen a star this close you got me stuck by the way you glow im like oh oh oh oh im like oh oh oh ohhere we go come with me theres a world out there that we should see take my hand close your eyes with you right here im a rocketeerlets fly fly fly fly up up here we go go up up here we go go lets fly fly fly fly up up here we go go where we stop nobody knows knows knows ",1
59,"all of the lights","kanye west featuring rihanna",2011," all of the lights all of the lights lights lights all of the lightsturn up the lights in here baby extra bright i want yall to see this turn up the lights in here baby you know what i need want you to see everything want you to see all of the lightsfast cars shooting stars all of the lights all of the lights until its vegas everywhere we are all of the lightsif you want it you can get it for the rest of your life if you want it you can get it for the rest of your lifesomething wrong i hold my head mj gone our nigga dead i slapped my girl she called the feds i did that time and spent that bread im heading home im almost there im on my way headed up the stairs to my surprise a nigga replacing me i had to take em to that ghetto university all of the lightscop lights flash lights spot lights strobe lights street lights all of the lights all of the lights fast life drug life thug life rock life every night all of the lightsturn up the lights in here baby extra bright i want yall to see this turn up the lights in here baby you know what i need want you to see everything want you to see all of the lightsrestraining order cant see my daughter her mother brother grandmother hate me in that order public visitation we met at borders told her she take me back ill be more supportive i made mistakes i bump my head courts suck me dry i spent that bread she need a daddy baby please cant let her grow up in that ghetto university all of the lightscop lights flash lights spot lights strobe lights street lights all of the lights all of the lights fast life drug life thug life rock life every night all of the lightsturn up the lights in here baby extra bright i want yall to see this turn up the lights in here baby you know what i need want you to see everything want you to see all of the lightsgetting mine baby gotta let these niggas know yeah get it right eh you should go and get your owngetting mine baby gotta let these niggas know yeah get it right eh you should go and get your ownunemployment line credit card declined did i not mention i was about to lose my mind my mind my mind my mind and also was about to do that line line line line okay okay you know we going all the way this time time we going all the way this time time we going all the way this time we going all the way this time we going all the way this timeturn up the lights in here baby extra bright i want yall to see this turn up the lights in here baby you know what i need want you to see everything want you to see all of the lightswhoa whoa oh i tried to tell you but all i could say is ohwhoa whoa oh i tried to tell you but all i could say is ohwhoa whoa oh i tried to tell you but all i could say is ohwhoa whoa oh i tried to tell you but all i could say ",1
60,"hold it against me","britney spears",2011," hey over there please forgive me if im comin on too strong hate to stare but youre winnin and theyre playin my favorite song so come here a little closer wanna whisper in your ear make it clear a little question wanna know just how you feelif i said my heart was beating loud if we could escape the crowd somehow if i said i want your body now would you hold it against me cause you feel like paradise and i need a vacation tonight so if i said i want your body now would you hold it against mehey you might think that im crazy but you know im just your type i might be little hazy but you just cannot deny theres a spark in between us when were dancin on the floor i want more wanna see it so im askin you tonightif i said my heart was beating loud if we could escape the crowd somehow if i said i want your body now would you hold it against me cause you feel like paradise and i need a vacation tonight so if i said i want your body now would you hold it against meif i said i want your body would you hold it against me yeah uhhuh ohgive me somethin good dont wanna wait i want it now pop it like a hood and show me how you work it outalright if i said my heart was beating loud if i said i want your body now would you hold it against meif i said my heart was beating loud if we could escape the crowd somehow if i said i want your body now would you hold it against me cause you feel like paradise and i need a vacation tonight so if i said i want your body now would you hold it against me ",1
61,"more","usher",2011," watch me as i dance under the spotlight listen to the people screaming out more and more cause i create the feeling that keep em coming back yeah i create the feeling that keep em coming back so captivating when i get it on the floorknow yall been patiently waiting i know you need me i can feel it im a beast im an animal im that monster in the mirror the headliner finisher im the closer winner best when under pressure with seconds left i show upif you really want more scream it out louder get on the floor bring out the fire and light it up take it up higher gonna push it to the limit give it moreif you really want more scream it out louder get on the floor bring out the fire and light it up take it up higher gonna push it to the limit give it moreget up both your hands im in the zone tight put em in the air if you more and more cause i cant wait to feel it i go hard cant stop but if i stop just know that imma bring it back never quittin dont believe in thatknow yall been patiently waiting i know you need me i can feel it im a beast im an animal im that monster in the mirror the headliner finisher im the closer winner best when under pressure with seconds left i show upif you really want more scream it out louder get on the floor bring out the fire and light it up take it up higher gonna push it to the limit give it moreif you really want more scream it out louder get on the floor bring out the fire and light it up take it up higher gonna push it to the limit give it moreooh ooh ooh gotta push it to the limit give it more ooh ooh ooh gotta push it to the limit give it moreif you really want more scream it out louder get on the floor bring out the fire and light it up take it up higher gonna push it to the limit give it moreif you really want more scream it out louder get on the floor bring out the fire and light it up take it up higher gonna push it to the limit give it moreooh ooh ooh gotta push it to the limit give it more ",1
62,"what the hell","avril lavigne",2011," you say that im messing with your head yeah yeah yeah yeah all cause i was making out with your friend yeah yeah yeah yeah love hurts whether its right or wrong yeah yeah yeah yeah i cant stop cause im having too much fun yeah yeah yeah yeahyoure on your knees begging please stay with me but honestly i just need to be a little crazyall my life ive been good but now whoa im thinking what the hell all i want is to mess around and i dont really care about if you love me if you hate me you cant save me baby baby all my life ive been good but now whoa what the hellso what if i go out on a million dates yeah yeah yeah yeah you never call or listen to me anyway yeah yeah yeah yeah id rather rage than sit around and wait all day yeah yeah yeah yeah dont get me wrong i just need some time to playyoure on your knees begging please stay with me but honestly i just need to be a little crazyall my life ive been good but now im thinking what the hell all i want is to mess around and i dont really care aboutif you love me if you hate me you cant save me baby baby all my life ive been good but now whoa what the hellla la la la la la la la whoa whoa la la la la la la la la whoa whoayou say that im messing with your head boy i like messing in your bed yeah i am messing with your head when im messing with you in bedall my life ive been good but now oh im thinking what the hell all i want is to mess around and i dont really care about all my life ive been good but now oh im thinking what the hell all i want is to mess around and i dont really care about if you love me if you hate me you cant save me baby baby all my life ive been good but now whoa what the hellla la la la la la la la la la la la la la la la la ",1
63,"written in the stars","tinie tempah featuring eric turner",2011," oh written in the stars a million miles away a message to the mane oh seasons come and go but i will never change and im on my waylets go yeah youre listening now they say they aint heard nothing like this in a while thats why they play my song on so many different dials cause i got more fuckin hits than a disciplined child when they see me everybody brraps brraps man im like a young gun fully black barrack i cried tear drops over the massive attack i only make hits like i work with a racket and bat look at my jacket and hat so damn berserk so down to earth im bringing gravity back adopted by the major i want my family back people work hard just to get all their salary taxed look im just a writer from the ghetto like malory blackman where the hells all the sanity at damn i used to be the kid that no one cared about thats why you have to keep screaming til they hear you outoh written in the stars a million miles away a message to the mane oh seasons come and go but i will never change and im on my wayoh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh ohyeah i needed a change when we ate we never took because we needed a change i needed a break for a sec i even gave up believing and praying i even done illegal stuff and was leaded astray they say the money is the root to the evilest ways but have you ever been so hungry that it keeps you awake mate now my hunger would leave them amazed great it feels like a long time coming fam since the day i thought of that cunning plan one day i had a dream i tried to chase it but i wasnt going nowhere running man i knew that maybe someday i would understand trying to turn a tenner to a hundred grand everyones a kid that noone cares about you just have to keep screaming til they hear you outoh written in the stars a million miles away a message to the mane oh seasons come and go but i will never change and im on my wayoh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh ohoh seasons come and go but i will never change and im on my way ",1
64,"bottoms up","trey songz featuring nicki minaj",2011," yeah come here ooh this mister steal your girl this mister steal your girl aye girl aye girl aye girl let gobottoms up bottoms up up aye whats in ya cup got a couple bottles but a couple aint enough bottoms up bottoms up up throw ya hands up tell security we bout to tear this club up bottoms up bottoms up up pocket full of green girl you know i love the way you shake it in them jeans bottoms up bottoms up up throw yo hands up bottoms up up bottoms up up bottoms up up up up up bottomsyou know what it is girl we back up in this thang thang money stay in my pocket girl im like a walkin bank bank tell me what you drank drank tell me what you thank thank if i go get these bottles we go alcohol insane insanecallin all the girls girls do you hear me all around the world world city to city citycheers to the girls throw deuce to the guys now i got a chicken and a goose in the ride gettin loose in the ride hatin ass nigga you can move to the move to the move to the sidebottoms up bottoms up up aye whats in ya cup got a couple bottles but a couple aint enough bottoms up bottoms up up throw ya hands up tell security we bouta tear this club up bottoms up bottoms up up pocket full of green girl you know i love the way you shake it in them jeans bottoms up bottoms up up throw yo hands up bottoms up up bottoms up up bottoms up up up up up bottomsmy visions blurd comere my words slur comere its jam packed yea a million girls aye and i aint trynna leave though we drunk so let me be yo alcohol herocallin all the girls girls do you hear me girl all around the world world city to city yeahcheers to the girls throw deuce to the guys now i got a chicken and a goose in the ride gettin loose in the ride hatin ass nigga you can move to the move to the move to the sidebottoms up bottoms up up aye whats in ya cup got a couple bottles but a couple aint enough bottoms up bottoms up up throw ya hands up tell security we bouta tear this club up bottoms up bottoms up up pocket full of green girl you know i love the way you shake it in them jeans bottoms up bottoms up up uh huh throw yo hands up uh bottoms up up bottoms up up bottoms up up up up up bottoms uh yocan i get that tron can i get that remmy can i get that coke can i get that henny can i get that margarita on the rock rock rock can i get salt all around that rim rim rim rim trey i was like yo trey do you think you can buy me a bottle of rosay okay lets get it now im wit a bad bitch hes wit his friends i dont say i hi i say keys to the benz keys to the benz keys to the benz mufuckin rite yea v to the 10 if a bitch try to get cute im a stomp her throw alotta money at her then yell fuck her fuck her fuck her then yell fuck her then im go and get my louisville slugger excuse me im sorry im really such a lady i rep young money you know slim baby and we be doin donuts while we wave in the 380 we give a lot of money to the babies out in haiti yellin all around the world do you hear me do you like my body anna nicki rest in peace to ana nicole smith yes my dear your so explosive say hi to mary mary and joseph now bottoms up and double my dosagebottoms up bottoms up up aye whats in ya cup got a couple bottles but a couple aint enough turn your bottoms up bottoms up up throw ya hands up tell security we bouta tear this club up bottoms up bottoms up up pocket full of green girl you know i love the way you shake it in them jeans bottoms up bottoms up up throw yo hands up bottoms up up bottoms up up bottoms up up up up up bottoms bottoms up com erebottoms up up bottoms up up bottoms up up bottoms up up ",1
65,"dj got us fallin in love","usher featuring pitbull",2011," usher yeah man so we back in the club with our bodies rockin from side to side side to side thank god the week is done i feel like a zombie goin back to life back to life hands up and suddenly we all got our hands up no control of my body aint i seen you before i think i remember those eyes eyes eyes eyescause baby tonight dj got us fallin in love again yeah baby tonight dj got us fallin in love again so dance dance like its the last last night of your life life gon get you right cause baby tonight dj got us fallin in love againkeep downing drinks like theres no tomorrow theres just right now now now now now nowgonna set the roof on fire gonna burn this mother fucker down down down down down downhands up when the music drops we both put our hands up put your hands on my body swear i seen you before i think i remember those eyes eyes eyes eyescause baby tonight dj got us fallin in love again yeah baby tonight dj got us fallin in love again so dance dance like its the last last night of your life life gonna get you right cause baby tonight dj got us fallin in love againusher dont lie hear no evil or speak no evil or see no evil get it baby hope you catch that like to thats how we roll my life is a movie and you just tivo mami got me twisted like a dreadlock she dont wrestle but i got her in a headlock yabadabadoo make her bedrock mami on fire psh red hots bada bing bada boom mr worldwide as i step in the room im a hustler baby but that you knew and tonight its just me and youcause baby tonight the dj got us fallin in love again yeah baby tonight the dj got us fallin in love again so dance dance like its the last last night of your life life gon get you rightcause baby tonight the dj got us fallin in love again yeah baby tonight the dj got us fallin in love again so dance dance like its the last last night of your life life gonna get you rightcause baby tonight the dj got us fallin in love again yeah thank you dj ",1
66,"for the first time","the script",2011,"shes all laid up in bed with a broken heart while im drinking jack all alone in my local bar and we dont know how how we got into this mad situation only doing things out of frustration trying to make it work but man these times are hard she needs me now but i cant seem to find the time i got a new job now on the unemployment line and we dont know how how we got into this mess is it gods test someone help us cause were doing our best trying to make things work but man these times are hard but were gonna stop by drinking our cheap bottles of wine sit talking up all night saying things we havent for a while a while yeah were smiling but were close to tears even after all these years we just now got the feeling that were meeting for the first time shes in line at the dole with her head held high while i just lost my job but didnt lose my pride and we both now how how were going to make it work when it hurts when you pick yourself up you get kicked to the dirt tryin to make it work but man these times are hard but were gonna start by drinking our cheap bottles of wine sit talking up all night doing things we havent for a while a while yeah were smiling but were close to tears even after all these years we just now got the feeling that were meeting for the first time drinking our cheap bottles of wine sit talking up all night saying things we havent for a while a while yeah were smiling but were close to tears even after all these years we just now got the feeling that were meeting for the first time for the first time oh for the first time yeah for the first time we just now got the feeling that were meeting for the first time oh these times are hard yeah theyre making us crazy dont give up on me baby oh these times are hard yeah theyre making us crazy dont give up on me baby oh these times are hard yeah theyre making us crazy dont give up on me baby oh these times are hard yeah theyre making us crazy dont give up on me baby",3
67,"honey bee","blake shelton",2011," girl i been thinkin bout us and you know i aint good at this stuff these feelings pilin up wont give me no rest this might come out a little crazy a little sideways yeah maybe i dont know how long itll take me but ill do my bestyoull be my soft and sweet ill be your strong and steady youll be my glass of wine ill be your shot of whiskey youll be my sunny day ill be your shade tree youll be my honeysuckle ill be your honey beeyeah that came out a little country but every word was right on the money and i got you smilin honey right back at me now hold on cause i aint done theres more where that came from well you know im just havin fun but seriouslyif youll be my louisiana ill be your mississippi youll be my little loretta ill be your conway twitty youll be my sugar baby ill be your sweet iced tea youll be my honeysuckle ill be your honey beeyour kiss just said it all im glad we had this talk nothing left to do but fall in each others arms i coulda said i love you coulda wrote you a line or two baby all i know to do speak right from the heartif youll be my soft and sweet ill be your strong and steady youll be my glass of wine ill be your shot of whiskey youll be my sunny day ill be your shade tree youll be my honeysuckle ill be your honey beeyoull be my louisiana ill be your mississippi youll be my little loretta ill be your conway twitty youll be my sugar baby ill be your sweet iced tea youll be my honeysuckle and ill be your honey beeill be your honey bee ",1
68,"dont you wanna stay","jason aldean featuring kelly clarkson",2011," i really hate to let this moment go touching your skin and your hair falling slow when a goodbye kiss feels like thisdont you wanna stay here a little while dont you wanna hold each other tight dont you wanna fall asleep with me tonight dont you wanna stay here a little while we can make forever feel this way dont you wanna staylets take it slow i dont wanna move too fast i dont wanna just make love i wanna make love lastwhen your up this high its a sad goodbyedont you wanna stay here a little while dont you wanna hold each other tight dont you wanna fall asleep with me tonight dont you wanna stay here a little while we can make forever feel this way dont you wanna stayoh yeah oh you feel so perfect baby dont you wanna stay here a little whiledont you wanna stay here a little while dont you wanna hold each other tight dont you wanna fall asleep with me tonight dont you wanna stay here a little while we can make forever feel this way dont you wanna staydont you wanna stay yeah yeah yeah yeah yeah yeah ",1
69,"we found love","rihanna featuring calvin harris",2011," narration its like youre screaming and no one can hear you almost feel ashamed that someone could be that important that without them you feel like nothing no one will ever understand how much it hurts you feel hopeless like nothing can save you and when its over and its gone you almost wish that you could have all that bad stuff back so that you could have the goodrihanna yellow diamonds in the light and were standing side by side as your shadow crosses mine what it takes to come aliveits the way im feeling i just cant deny but ive gotta let it gowe found love in a hopeless place we found love in a hopeless place we found love in a hopeless place we found love in a hopeless placeshine a light through an open door love and life i will divide turn away cause i need you more feel the heartbeat in my mindits the way im feeling i just cant deny but ive gotta let it gowe found love in a hopeless place we found love in a hopeless place we found love in a hopeless place we found love in a hopeless placeyellow diamonds in the light and were standing side by side as your shadow crosses mine mine mine minewe found love in a hopeless place we found love in a hopeless place we found love in a hopeless place we found love in a hopeless placewe found love in a hopeless place we found love in a hopeless place we found love in a hopeless place we found love in a hopeless place ",1
70,"pretty girl rock","keri hilson",2011," uh uh uh uh ah uh uh do the pretty girl rock rock rock to the pretty girl rock rock rock now whats your namemy name is keri im so very fly oh my its a lil bit scary boys wanna marry looking at my derri ere you can stare but if you touch it ima bury pretty as a picture sweeter than a swisher mad cause im cuter than the girl thats witchya i dont gotta talk about it baby you can see it but if you want ill be happy to repeat itmy name is keri im so very fly oh my its a lil bit scary boys wanna marry looking at my derri ere you can stare but if you touch it ima bury pretty as a picture sweeter than a swisher mad cause im cuter than the girl thats witchya i can talk about it cause i know that im pretty and if you know it too then ladies sing it with me    meaning  byamandah   editor    back when this song came out in 2010 it received quite a lot of backlash because listeners were uncomfortable with the amount of bragging going on in    see all   all eyes on me when i walk in no question that this girls a ten dont hate me cause im beautiful dont hate me cause im beautifulmy walk my talk the way i dress its not my fault so please dont trip dont hate me cause im beautiful dont hate me cause im beautifulhey aye now do the pretty girl rock rock rock rock rock do the pretty girl rock rock rock rock rock do the pretty girl rock rock rock all my ladies do the pretty girl rock rock rock do the pretty girl rock rock rock do the pretty girl rock rock rock do the pretty girl rock now where you atif youre looking for me you can catch me pass by cameras flashing bet he turn his head just as soon as i pass him girls think im conceited cause i know im attractive dont worry about what i think why dont you ask him oh get yourself together dont hate never do it jealousys the ugliest trait dont ever do it i can talk about it cause i know that im pretty and if you know it too then ladies sing it with meall eyes on me when i walk in no question that this girls a ten dont hate me cause im beautiful dont hate me cause im beautiful my walk my talk the way i dress its not my fault so please dont trip dont hate me cause im beautiful dont hate me cause im beautifulall eyes on me when i walk in no question that this girls a ten dont hate me cause im beautiful dont hate me cause im beautiful my walk my talk the way i dress its not my fault so please dont trip dont hate me cause im beautiful dont hate me cause im beautiful ",1
71,"yo""u and i","lady gaga",2011,"its been a long time since i came around been a long time but im back in town this time im not leaving without you you taste like whiskey when you kiss me oh id give anything again to be your baby doll this time im not leaving without you you said sit back down where you belong in the corner of my bar with your high heels on sit back down on the couch where we made love the first time and you said to me something something about this place something bout lonely nights and my lipstick on your face something something about my cool nebraska guy yeah something about baby you and i its been two years since i let you go i couldnt listen to a joke or rock n roll muscle cars drove a truck right through my heart on my birthday you sang me a heart of gold with a guitar humming and no clothes this time im not leaving without you oohoh oohoh sit back down where you belong in the corner of my bar with your high heels on sit back down on the couch where we made love the first time and you said to me something something about this place something bout lonely nights and my lipstick on your face something something about my cool nebraska guy yeah something about baby you and i you and i you you and i you you and i you you and i i you and i you you and i oh yeah id rather die without you and i cmon put your drinks upwe got a whole lot of money but we still pay rent cause you cant buy a house in heaven theres only three men that imma serve my whole life its my daddy and nebraska and jesus christ something something about the chase six whole years im a new york woman born to run you down so have my lipstick all over your face something something about just knowing when its right so put your drinks up for nebraska for nebraska nebraska i love you you and i you you and i baby i rather die without you and i you and i you you and i nebraska i rather die without you and i its been a long time since i came around been a long time but im back in town this time im not leaving without you",3
72,"like a g6","far east movement featuring the cataracs and dev",2011," poppin bottles in the ice like a blizzard when we drink we do it right gettin slizzard sippin sizzurp in my ride in my ride like three six now im feelin so fly like a g 6 like a g 6 like a g 6 now im feelin so fly like a g 6 like a g 6 like a g 6 now im feelin so fly like a g 6gimme that moet et gimme that crystal stal ladies love my style at my table gettin wild get them bottles poppin we get that drip and that drop now now give me two more bottles cause you know it dont stop808 hell yea drink it up drinkdrink it up these sober girls around me they be actin like they drunk they be actin like they drunk actinactin like they drunk when sober girls around me they be actinactin like they drunkpoppin bottles in the ice like a blizzard when we drink we do it right gettin slizzard sippin sizzurp in my ride in my ride like three six now im feelin so fly like a g 6 like a g 6 like a g 6 now im feelin so fly like a g 6 like a g 6 like a g 6 now im feelin so fly like a g 6sippin on sippin on sizz im a ma make it fizz girl i keep it gangsta poppin bottles at the crib this is how we live every single night take that bottle to the head and let me see you fly808 hell yea drink it up drinkdrink it up when sober girls around me they be actin like they drunk they be actin like they drunk actinactin like they drunk when sober girls around me actinactin like they drunkpoppin bottles in the ice like a blizzard when we drink we do it right gettin slizzard sippin sizzurp in my ride in my ride like three six now im feelin so fly like a g 6 like a g 6 like a g 6 now im feelin so fly like a g 6 like a g 6 like a g 6 now im feelin so fly like a g 6its that 808 bump make you put yo hands up make you put yo hands up put yo put yo hands up you cant touch this its that 808 bump make you put yo hands up make you put yo hands up put yo put yo hands up you cant touch this hell yea make you put yo hands up put yo put yo hands up hell yea make you put yo hands up put yo put yo hands uppoppin bottles in the ice like a blizzard when we drink we do it right gettin slizzard sippin sizzurp in my ride in my ride like three six now im feelin so fly like a g 6 like a g 6 like a g 6 now im feelin so fly like a g 6 like a g 6 like a g 6 now im feelin so fly like a g 6 ",1
73,"without you","david guetta featuring usher",2011," i cant win i cant reign i will never win this game without you without you i am lost i am vain i will never be the same without you without youi wont run i wont fly i will never make it by without you without you i cant rest i cant fight all i need is you and i without you without youoh oh oh you you you without you you you without youcant erase so ill take blame but i cant accept that were estranged without you without you i cant quit now this cant be right i cant take one more sleepless night without you without you i wont soar i wont climb if youre not here im paralyzed without you without you i cant look im so blind i lost my heart i lost my mind without you without youoh oh oh you you you without you you you without youi am lost i am vain i will never be the same without you without you without you ",1
74,"back to december","taylor swift",2011," im so glad you made time to see me hows life tell me hows your family i havent seen them in a while youve been good busier then ever we small talk work and the weather your guard is up and i know whybecause the last time you saw me is still burned in the back of your mind you gave me roses and i left them there to dieso this is me swallowing my pride standing in front of you saying im sorry for that night and i go back to december all the time it turns out freedom aint nothing but missing you wishing id realized what i had when you were mine id go back to december turn around and make it all right i go back to december all the timethese days i havent been sleeping staying up playing back myself leaving when your birthday passed and i didnt call and i think about summer all the beautiful times i watched you laughing from the passenger side and realized id loved you in the fall and then the cold came the dark days when fear crept into my mind you gave me all your love and all i gave you was goodbyeso this is me swallowing my pride standing in front of you saying im sorry for that night and i go back to december all the time it turns out freedom aint nothing but missing you wishing id realized what i had when you were mine id go back to december turn around and change my own mind i go back to december all the timei miss your tan skin your sweet smile so good to me so right and how you held me in your arms that september night the first time you ever saw me cry maybe this is wishful thinking probably mindless dreaming but if we loved again i swear id love you rightid go back in time and change it but i cant so if the chain is on your door i understandbut this is me swallowing my pride standing in front of you saying im sorry for that night and i go back to december it turns out freedom aint nothing but missing you wishing id realized what i had when you were mine id go back to december turn around and make it all right id go back to december turn around and change my own mind i go back to december all the time all the time ",1
75,"teenage dream","katy perry",2011," you think im pretty without any makeup on you think im funny when i tell the punch line wrong i know you get me so i let my walls come down downbefore you met me i was all right but things were kinda heavy you brought me to life now every february youll be my valentine valentinelets go all the way tonight no regrets just love we can dance until we die you and i will be young foreveryou make me feel like im living a teenage dream the way you turn me on i cant sleep lets run away and dont ever look back dont ever look backmy heart stops when you look at me just one touch now baby i believe this is real so take a chance and dont ever look back dont ever look backwe drove to cali and got drunk on the beach got a motel and built a fort out of sheets i finally found you my missing puzzle piece im completelets go all the way tonight no regrets just love we can dance until we die you and i well be young foreveryou make me feel like im living a teenage dream the way you turn me on i cant sleep lets run away and dont ever look back dont ever look backmy heart stops when you look at me just one touch now baby i believe this is real so take a chance and dont ever look back dont ever look backima get your heart racing in my skintight jeans be your teenage dream tonight let you put your hands on me in my skintight jeans be your teenage dream tonightyouuuu you make me feel like im living a teenage dream the way you turn me on i cant sleep lets runaway and dont ever look back dont ever look backmy heart stops when you look at me just one touch now baby i believe this is real so take a chance and dont ever look back dont ever look backima get your heart racing in my skintight jeans be your teenage dream tonight let you put your hands on me in my skintight jeans be your teenage dream tonight ",1
76,"crazy girl","eli young band",2011," baby why you wanna cry you really oughta know that i just have to walk away sometimes were gonna do what lovers do were gonna have a fight or two but i aint ever changing my mindcrazy girl dont you know that i love you i wouldnt dream of going nowhere silly woman come here let me hold you have i told you lately i love you like crazy girli wouldnt last a single day id probably just fade away without you id lose my mind before you ever came along i was living life all wrong the smartest thing i ever did was make you all minecrazy girl dont you know that i love you i wouldnt dream of going nowhere silly woman come here let me hold you have i told you lately i love you like crazy girl like crazy girlcrazy girl dont you know that i love you i wouldnt dream of going nowhere silly woman come here let me hold you have i told you lately i love you likecrazy girl dont you know that i love you i wouldnt dream of going nowhere silly woman come here let me hold you have i told you lately i love you like crazy girllike crazy oh crazy girl like crazy oh crazy girl ",1
77,"cheers drink to that","rihanna",2011," 1 2 were taking shots in here you want oneyeah yeah yeah yeah yeah yeahcheers to the freakin weekend i drink to that yeah yeah oh let the jameson sink in i drink to that yeah yeah dont let the bastards get ya down turn it around with another round theres a party at the bar everybody putcha glasses up and i drink to that yeah yeah yeah i drink to that yeah yeah yeah yeah yeah yeahlifes too short to be sittin round miserable and people gon talk whether you doing bad or good yeah got a drink on my mind and my mind on my money yeah yeah looking so bomb gonna find me a honey got my ray bans on and im feelin hella cool tonight yeah everybodys vibin so dont nobody start a fight yeahcheers to the freakin weekend i drink to that yeah yeah oh let the jameson sink in i drink to that yeah yeah dont let the bastards get ya down turn it around with another round theres a party at the bar everybody putcha glasses up and i drink to that yeah yeah yeah i drink to that yeah yeah yeah yeah yeah yeahbout to hop on the bar put it all on my card tonight yeah might be mad in the morning but you know we goin hard tonight its getting coyote ugly up in here no tyra its only up from here no downward spiral got my ray bans on and im feelin hella cool tonight yeah everybodys vibin so dont nobody start a fight yeahcheers to the freakin weekend i drink to that yeah yeah oh let the jameson sink in i drink to that yeah yeah dont let the bastards get ya down turn it around with another round theres a party at the bar everybody putcha glasses up and i drink to that yeah yeah yeah yeah yeah yeah i drink to that yeah yeah yeah yeah yeah yeahand i drink to that i drink to thatcheers to the freakin weekend i drink to that yeah yeah oh let the jameson sink in i drink to that yeah yeah dont let the bastards get ya down turn it around with another round theres a party at the bar everybody putcha glasses up and i drink to that i drink to that and i drink to that i drink to that and i drink to ",1
78,"who says","selena gomez  the scene",2011,"i wouldnt wanna be anybody else hey you made me insecure to me i wasnt good enough but who are you to judge when youre a diamond in the rough im sure you got some things youd like to change about yourself but when it comes to me i wouldnt want to be anybody else im no beauty queen im just beautiful me you got every right to a beautiful life come on who says who says youre not perfect who says youre not worth it who says youre the only one thats hurting trust me thats the price of beauty who says youre not pretty who says youre not beautiful who says its such a funny thing how nothings funny when its you you tell em what you mean but they keep whitin out the the truth its like the work of art that never get to see the light keep you beneath the stars wont let you touch the sky im no beauty queen im just beautiful me you got every right to a beautiful life come on who says who says youre not perfect who says youre not worth it who says youre the only one thats hurting trust me thats the price of beauty who says youre not pretty who says youre not beautiful who sayswho says youre not star potential who says youre not presidential who says you cant be in movies listen to me listen to me who says you dont pass the test who says you cant be the best who said who said would you tell me who said that yeah who said who says who says youre not perfect who says youre not worth it who says youre the only one thats hurting trust me thats the price of beauty who says youre not pretty who says youre not beautiful who says who says youre not perfect who says youre not worth it who says youre the only one thats hurting trust me thats the price of beauty who says youre not pretty who says youre not beautiful who says",3
79,"barefoot blue jean night","jake owen",2011," a full moon shinin bright edge of the water we were feelin alright back down a country road the girls are always hot and the beer is ice coldcadillac horns on the hood my buddy frankie had his dad hook him up good girls smile when we roll by they hop in the back and we cruise to the river sidewhoaoh never gonna grow up whoaoh never gonna slow down whoaoh we were shinin like lighters in the dark in the middle of a rock show whoaoh we were doin it right whoaoh we were comin alive whoaoh yeah caught in a southern summer barefoot blue jean nightblue eyes and auburn hair sittin lookin pretty by the fire in a lawn chair new to town and new to me her ruby red lips was sippin on sweet tea shot me in love like a shootin star so i grabbed a beer and an old guitar then we sat around till the break of dawn howlin and singin our favorite songwhoaoh never gonna grow up whoaoh never gonna slow down whoaoh we were shinin like lighters in the dark in the middle of a rock show whoaoh we were doin it right whoaoh we were comin alive whoaoh yeah caught up in a southern summer barefoot blue jean nightwhoaoh never gonna grow up ha never gonna slow down we were shinin like lighters in the dark in the middle of a rock show whoaoh we were doin it right whoaoh we were comin alive whoaoh yeah caught in a southern summer barefoot blue jean nightwhoaoh barefoot blue jean night whoaoh barefoot blue jean night whoaoh barefoot blue jean night whoaoh barefoot blue jean night whoaoh barefoot blue jean night whoaoh barefoot blue jean night ",1
80,"knee deep","zac brown band featuring jimmy buffett",2011," gonna put the world away for a minute pretend i dont live in it sunshine gonna wash my blues away had sweet love but i lost it she got too close so i fought it now im lost in the world tryin to find me a better waywishin i was knee deep in the water somewhere got the blue sky breeze and it dont seem fair the only worry in the world is the tide gonna reach my chair sunrise theres a fire in the sky never been so happy never felt so high and i think i might have found me my own kind of paradisewrote a note said be back in a minute bought a boat and i sailed off in it dont think anybodys gonna miss me anyway mind on a permanent vacation the ocean is my only medication wishin my condition aint ever gonna go awaycause now im knee deep in the water somewhere got the blue sky breeze blowin wind through my hair only worry in the world is the tide gonna reach my chair sunrise theres a fire in the sky never been so happy never felt so high and i think i might have found me my own kind of paradisethis champagne shore watchin over me its a sweet sweet life livin by the salty sea one day you can be as lost as me change your geography and maybe you might beknee deep in the water somewhere got the blue sky breeze blowin wind through my hair only worry in the world is the tide gonna reach my chair sunrise theres a fire in the sky never been so happy never felt so high and i think i might have found me my own kind of paradisecome on in the waters nice find yourself a little slice grab a backpack otherwise youll never know until you try when you lose yourself you find a key to paradise ",1
81,"country girl shake it for me","luke bryan",2011," got a little boom in my big truck gonna open up the doors and turn it up gonna stomp my boots in the georgia mud gonna watch you make me fall in loveget up on the hood of my daddys tractor up on the toolbox it dont matter down on the tailgate girl i cant wait to watch you do your thingshake it for the young bucks sittin in the honkytonks for the rednecks rockin till the break of dawn for the dj spinning that country song cmon cmon cmonshake it for the birds shake it for the bees shake it for the catfish swimming down deep in the creek for the crickets and the critters and the squirrels shake it to the moon shake it for me girlcountry girl shake it for me girl shake it for me girl shake it for mecountry girl shake it for me girl shake it for me girl shake it for mesomebodys sweet little farmer child she got it in her blood to get a little wild pony tail and a pretty smile roped me in from a country mile so come on over here and get in my arms spin me around this big ol barn tangle me up like grandmas yarn yeah yeah yeahshake it for the young bucks sittin in the honkytonks for the rednecks rockin till the break of dawn for the dj spinning that country song cmon cmon cmonshake it for the birds shake it for the bees shake it for the catfish swimming down deep in the creek for the crickets and the critters and the squirrels shake it to the moon shake it for me girlcountry girl shake it for me girl shake it for me girl shake it for mecountry girl shake it for me girl shake it for me girl shake it for menow dance like a dandelion in the wind on the hill underneath the pines yeah move like the river flow feel the kick drum down deep in your toesall i wanna do is get to holdin you and get to knowin you and get to showin you and get to lovin you fore the night is through baby you know what to doshake it for the young bucks sittin in the honkytonks for the rednecks rockin till the break of dawn for the dj spinning that country song cmon cmon cmonshake it for the birds shake it for the bees shake it for the catfish swimming down deep in the creek for the crickets and the critters and the squirrels shake it to the moon shake it for me girlcountry girl shake it for me girl shake it for me girl shake it for mecountry girl shake it for me girl shake it for me girl shake it for mecountry girl shake it for me girl shake it for me girl shake it for mecountry girl shake it for me girl shake it for me girl shake it for me ",1
82,"remind me","brad paisley and carrie underwood",2011," we didnt care if people stared wed make out in a crowd somewhere somebodyd tell us to get a room its hard to believe that was me and younow we keep saying that were ok but i dont want to settle for good not great i miss the way that it felt back then i wanna feel that way againbeen so long that youd forget the way i used to kiss your neck remind me remind me so on fire so in love way back when we couldnt get enough remind me remind meremember the airport dropping me off we were kissing goodbye and we couldnt stop i felt bad cause you missed your flight but that meant we had one more nightdo you remember how it used to be wed turn out the lights and didnt just sleep remind me baby remind meoh so on fire so in love that look in your eyes that i miss so much remind me baby remind mei wanna feel that way yeah i wanna hold you close oh if you still love me dont just assume i knowoh baby remind me remind medo you remember the way it felt you mean back when we couldnt control ourselves remind me yeah remind meall those things that you used to do that made me fall in love with you remind me oh baby remind meyeah youd wake up in my old tshirt all those mornings i was late for work remind me oh baby remind me yeah oh baby remind me baby remind meyeah youd wake up in my old tshirt oh baby remind me ",1
83,"in the dark","dev",2011," on my waist through my hair think about it when you touch me there close my eyes here you are all alone dancing in the darktell me baby if its wrong to let my hands do what they want late at night i pretend we are dance dance dancing in the darkdancing in the dark oh la la oh la la oh la la dancing in the darkwhen you work on me open my body up and do some surgery now that you got me up i wanna taste it taste it and see those pocket aces i wanna see who you arei got a sex drive to push the start i got a sex drive to push the start i got a sex drive to push the starton my waist through my hair think about it when you touch me there close my eyes here you are dance dance dancing in the darkoh la la oh la la oh la la dancing in the dark oh la la oh la la oh la la dancing in the darki love to flirt to see im only talking to you if you wanna surf my seas now that you got me boy you know you better spice it flavor it get it right savor itwanna see who you are got a sex drive to push the start i got a sex drive to push the start i got a sex drive to push the starton my waist through my hair think about it when you touch me there close my eyes here you are here you are all alone dancing in the darktell me baby if its wrong to let my hands do what they want late at night i pretend we aredance dance dancing in the dark oh la latell me baby if its wrong dancing in the dark to let my hands do what they want dancing in the dark its the cataracs oh la la oh la la oh la la dancing in the dark oh la la oh la la oh la la dancing in the dark ",1
84,"backseat","new boyz featuring the cataracs and dev",2011,"dont say a word just turn around and let me see girl you got something special something special for me its way too many suckers in the vip tell her get my car out front tell me do you wanna kick it in the backseat i wanna get beside ya in the backseat so i can be your backseat driver in the backseat i wanna get beside ya in the backseat so i can be your backseat driver you see them girls with them high heels they got this party popping this aint no country club we bout to get this party rocking you got girls thats with the band lets get on top and let me see it though wait not in here we outta here jump in my vehicle camaro long shift she just trying to fit comfortably she like my orange camaro she said lets ride up and trick or treat like damn girl damn girl you function with the man girl like damn girl damn girl you function with the man girl dont say a word just turn around and let me see girl you got something special something special for me its way too many suckers in the vip tell her got my car out front tell me do you wanna kick it in the backseat i wanna get beside ya in the backseat so i can be your backseat driver in the backseat i wanna get beside ya in the backseat so i can be your backseat driver hey girl whats up all of this dancing gets you all off huh i notice you because your friends is freaking star struck hey you got more of that how you say it shy stack until you get it low quit playing with your fine ass i said dont try me baby ill make you hot trick lets do like fishburg dancing and shake this spot quick oh you a good girl its cool i play pretend too i heard you had a baby you want a new boy in you dont say a word just turn around and let me see girl you got something special something special for me its way too many suckers in the vip tell her got my car out front tell me do you wanna kick it in the backseat i wanna get beside ya in the backseat so i can be your backseat driver in the backseat i wanna get beside ya in the backseat so i can be your backseat driver i met a group of girls in a escalade i met a group of girls in a escalade met met a group of girls in a escalade they came with you and left with me i met a group of girls in a escalade i met a group of girls in a escalade met met a group of girls in a escalade they came with you and left with me dont say a word just turn around and let me see girl you got something special something special for me its way too many suckers in the vip tell her got my car out front tell me do you wanna kick it in the backseat i wanna get beside ya in the backseat so i can be your backseat driver in the backseat i wanna get beside ya in the backseat so i can be your backseat driver",3
85,"headlines","drake",2011," i might be too strung out on compliments overdosed on confidence started not to give a f and stopped fearing the consequence drinking every night because we drink to my accomplishments faded way too long im floating in and out of consciousness and they sayin im back id agree with that i just take my time with all this s i still believe in that i had someone tell me i fell off oh i needed that and they wanna see me pick back up well whered i leave it at i know i exaggerated things now i got it like that tuck my napkin in my shirt cause im just mobbin like that you know good and well that you dont want a problem like that you gone make someone around me catch a body like that no dont do it please dont do it cause one of us goes in and we all go through it drizzy got the money so drizzy gonna pay it those my brothers i aint even gotta say it thats just something they knowthey know they know they know they know they know they know they know they know they know yeah they know yeah that the real is on the rise f them other guys i even gave them a chance to decide now its something they know they know they know they knowyeah i be yelling out money over everything money on my mind then she wanna ask when it got so empty tell her i apologize it happened over time she says they missed the old drake girl dont tempt me if they dont get it theyll be over you that new s that you got is overdue you better do what you suppose to do im like why i gotta be all that but still i cant deny the fact that its true listen to you expressing all them feelings soap opera rappers all these ns sound like all my children and thats who you thinking is bout to come and make a killing i guess it really is just me myself and all my millions you know the game even got it like that you gone hype me up and make me catch a body like that cause i live for this it isnt just a hobby like that when they get my s and play it i aint even gotta say it they knowthey know they know they know they know they know they know they know they know they know yeah they know yeah that the real is on the rise f them other guys i even gave them a chance to decide now its something they know they know they know they know ",1
86,"best thing i never had","beyonce",2011,"what goes around comes back around hey my baby what goes around comes back around hey my baby i say what goes around comes back around hey my baby what goes around comes back around there was a time i thought that you did everything right no lies no wrong boy i mustve been outta my mind so when i think of the time that i almost loved you you showed your ass and i i saw the real you thank god you blew it i thank god i dodged a bullet im so over you so baby good looking out i wanted you bad im so through with it cause honestly you turned out to be the best thing i never had you turned out to be the best thing i never had and im gon always be the best thing youve never had oh yeah i bet it sucks to be you right now so sad youre hurt boo hoo oh did you expect me to care you dont deserve my tears i guess thats why they aint there when i think that there was a time that i almost loved you you showed your ass and baby yes i saw the real you thank god you blew it i thank god i dodged a bullet im so over you baby good lookin out i wanted you bad im so through with it cause honestly you turned out to be the best thing i never had said you turned out to be the best thing i never had hmm and ill never be the best thing youve never had oh baby i bet sucks to be you right now i know you want me back its time to face the facts that im the one thats got away lord knows that it would take another place another time another world another life thank god i found the good in goodbye i used to want you so bad so through with that cause honestly you turned out to be the best thing i never had oh you turned out to be the best thing i never had and i will always be the best thing you never had ooh best thing you never had i used to want you so bad im so through with that cause honestly you turned out to be the best thing i never had oh you turned out to be the best thing i never had oh i will never be the best thing you never had oh baby i bet it sucks to be you right now what goes around comes back around what goes around comes back around   i bet it sucks to be you right now what goes around comes back around   i bet it sucks to be you right now what goes around comes back around   i bet it sucks to be you right now",3
87,"dont wanna go home","jason derulo",2011," jason derulo check that out what they playin thats my song thats my song where my drinks ive been waiting much too long much too long and this girl in my lap passing out shes a blonde the last thing on my mind is goin homefrom the window from the window to the wall to the wall this club is jumpin this club is jumpin til tomorrow til tomorrow is it daylight is it daylight or is it night time is it night time one oclock two oclock three oclock four we gon tear the club up upupupupdayo me say dayo daylight come and we dont wanna go home yeah so we losin control turn the lights low cause we about to get blown let the club shut down we wont go oh oh oh burn it down to the floor oh oh oh dayo me say dayo daylight come and we dont wanna go homewe drink the whole bottle but it aint over over everybody jumping on the sofa sofa standing on the chairs standing on the bar no matter day or night im shining bitch im a starfrom the window from the window to the wall to the wall this club is jumpin this club is jumpin til tomorrow til tomorrow is it daylight is it daylight or is it night time is it night time one oclock two oclock three oclock four we gon tear the club up upupupupdayo me say dayo daylight come and we dont wanna go home yeah so we losin control turn the lights low cause we about to get blown let the club shut down we wont go oh oh oh burn it down to the floor oh oh oh dayo me say dayo daylight come and we dont wanna go homei just met this sexy haitian girl moving like a dancer told her and her girlfriends lets sleep in my cabana ask me where the partys at baby im the answer have another drink with me shorty where your manners take another shot another shot shot shot shot i can make it hot make it hot we go rock until thedayo me say dayo daylight come and we dont wanna go home yeah so we losin control turn the lights low cause we about to get blown let the club shut down we wont go oh oh oh burn it down to the floor oh oh oh dayo me say dayo daylight come and we dont wanna go home ",1
88,"where them girls at","david guetta featuring flo rida and nicki minaj",2011," so many girls in here where do i begin i see this one im bout to go in then she said im here with my friends she got me thinking and thats when i saidwhere them girls at girls at where them girls at girls at where them girls at girls at so go get them we can all be friendshey bring it on baby all your friends youre the shit and i love that body you wanna ball explicit i swear youre good i wont tell nobody you got a bff i wanna see that girl its all women invitedhairdos and nails that louie chanel all up in the party presidents in my wallet no rules im bout it blow the whistle for the hotties i got it shorty its never too much cant be doing too muchten to one of me i can handle that love outta of my reach we can all get buzzed holla cause im free to whatever its no rushso many boys in here where do i begin i see this one im bout to go in then he said im here with my friends he got to thinking and thats when he saidwhere them girls at girls at where them girls at girls at where them girls at girls at so go get them we can all be friendspeebe peebe whos peabo bryson two years ago i renewed my license anyway whyd i start my verse like that you can suck a dick you can suck on a ballsackno no i dont endorse that pppause that aaabort that just the other day me go a london saw dat kids down the street paparazzi all dat hey hey what can i say day day daday day day daycoming through the club all the girls in the back of me this aint football why the fuck they tryin tackle me really i pick dude at the bar like really looking like he wanna good time like really said he had a friend for my home girl lily lily lily lilyso many girls in here where do i begin i see this one im bout to go in then she said im here with my friends she got me thinking and thats when i saidwhere them girls at girls at where them girls at girls at where them girls at girls at so go get them we can all be friendsday day daday day day day day day daday day day day day day daday day day dayyo where my girls at uh hmm uh yo where my girls tryna get to jumpinso many girls in here where do i begin i see this one im bout to go in then she said im here with my friends she got me thinking thats when i saidwhere them girls at girls at where them girls at girls at where them girls at girls at so go get them we can all be friends ",1
89,"she aint you","chris brown",2011," you make it hard for me to see somebody else im calling her your name yeah its messed up cause im thinkin bout you its your fault babe i never wanted us to break up no not this way but you dont understand it girl when she touches me im wishing that they were your hands and when im with her its only bout the sex with you i had a bad romance and if i could just trade her in i would cause nobody can pass ya no yeahthink i better let her go cant leave you alone every day that im with her all i want is you i wanna leave but im afraid that you dont even feel the same and now i realize that she aint you no she aint you whoa oh oh whoa oh oh whoa oh oh she aint you no she aint youi been sleeping out for quite some nights now its not the same in my bed but if she found out whats going on in my head itll be all bad have me right back but you dont understand it girl when she touches me im wishing that they were your hands and when im with her its only bout the sex with you i had a bad romance and if i could just trade her in i would cause nobody can pass ya no yeahi think i better let her go cant leave you alone every day that im with her all i want is you i wanna leave but im afraid that you dont even feel the same and now i realize that she aint youno she aint she aint youno she aint she aint youno she aint she aint youno she aint she aint youno she aint she aint youno she aint she aint youno she aint she aint youno she aint she aint younothink i better let her go cant leave you alone every day that im with her all i want is you i wanna leave but im afraid that you dont even feel the same and now i realize that she aint you no she aint you whoa oh oh whoa oh oh whoa oh oh she aint you no she aint you ",1
90,"take a back road","rodney atkins",2011," sittin in six lane backed up traffic horns a honkin ive about had it im lookin for an exit sign gotta get outta here get it all off my mind then like a memory from your grandpas attic a song comes slippin through the radio static changin my mood a little george strait 1982and it makes me wanna take a back road makes me wanna take the long way home put a little gravel in my travel unwind unravel all night long makes me wanna grab my honey tear down some two lane country who knows get lost and get right with my soul makes me wanna take makes me wanna take a back roadive been cooped up tied down bout forgotten what a field looks like full of corn and cotton if im gonna hit a traffic jam well it better be a tractor man so sick and tired of this interstate system i need the curvin windin twistin dusty path to nowhere with the wind blowin through my babys hairyeah it makes me wanna take a back road makes me wanna take the long way home put a little gravel in my travel unwind unravel all night long makes me wanna grab my honey tear down some two lane country who knows get lost and get right with my soul makes me wanna take makes me wanna take a back road some old back roadmaybe its the feelin or maybe its the freedom maybe its that shady spot where we park the truck when things get hot girl we park the truck when things get hotand it makes me wanna take a back road makes me wanna take the long way home put a little gravel in my travel unwind unravel all night long makes me wanna grab you honey tear down some two lane country who knows get lost and get right with my soul makes me wanna take makes me wanna take a back roadsome old back road get back with my soul all i gotta do is take some old back road to the shady spot where things get hot girl way down way down way down some old back road ",1
91,"please dont go","mike posner",2011," lets run away from these lies back to yesterday safe tonight i feel the sun creepin up like tick tock ill try to keep you in my head but if not well just keep running from tomorrow with our lips locked yeah youve got me begging beggingbaby please dont go if i wake up tomorrow will you still be here i dont know if you feel the way i do if you leave im going to find you baby please dont go go go go baby please dont go go go go baby please dont go go go go baby please dont baby please dontbaby please dont run away from my bed start another day stay insteadi feel the sun creepin up like tick tock ill try to keep you in my head but if not well just keep running from tomorrow with our lips locked yeah youve got me begging begging baby please dont go if i wake up tomorrow will you still be here i dont know if you feel the way i do if you leave im going to find youbaby please dont go go go go baby please dont go go go go baby please dont go go go go baby please dont baby please dont baby please dontrunning from tomorrow i stay running from tomorrow i stay running from tomorrow i stay running from tomorrowbaby please dont go if i wake up tomorrow will you still be here i dont know if you feel the way i do if you leave im going to find youbaby please dont go go go go baby please dont go go go go baby please dont go go go go baby please dont baby please dont baby plase dont runaway ",1
92,"sure thing","miguel",2011," love you like a brother treat you like a friend respect you like a lover oh oh oh oh oh oh you could bet that never gotta sweat that you could bet that never gotta sweat that you could bet that never gotta sweat that you could bet that never gotta sweat thatif you be the cash ill be the rubber band you be the match i will be a fuse boom painter baby you could be the muse im the reporter baby you could be the news cause youre the cigarette and im the smoker we raise a bet cause youre the joker checked off you are a chalk and i can be the blackboard you could be the talk and i could be the walkeven when the sky comes falling even when the sun dont shine i got faith in you and i so put your pretty little hand in mine even when were down to the wire baby even when its do or die we could do it baby simple and plain cause this love is a sure thingyou could bet that never gotta sweat that you could bet that never gotta sweat that you could bet that never gotta sweat that you could bet that never gotta sweat thatbe the lover ill be the fighter baby if im the blunt you could be the lighter babe fire it up writer baby you could be the quote if im the lyric baby you could be the note record that saint im a sinner prize im a winner and its you what did i do to deserve that paper baby ill be the pen say that im the one cause you are a teneven when the sky comes falling even when the sun dont shine i got faith in you and i so put your pretty little hand in mine even when were down to the wire baby even when its do or die we could do it baby simple and plain cause this love is a sure thingnow rock with me baby let me hold you in my arms talk with me babe yeah yeahnow rock with me baby let me hold you in my arms talk with me babe yeah yeahthis love between you and i is simple as pie baby its such a sure thing such a sure thing ooh it such a sure thing such a sure thingeven when the sky comes falling even when the sun dont shine i got faith in you and i so put your pretty little hand in mine even when were down to the wire baby even when its do or die we could do it baby simple and plain cause this love is a sure thinglove you like a brother treat you like a friend respect you like a lover oh oh oh oh oh oh ",1
93,"price tag","jessie j featuring bob",2011," coconut man moon head and pea you readyseems like everybodys got a price i wonder how they sleep at night when the sale comes first and the truth comes second just stop for a minute and smile why is everybody so serious acting so damn mysterious got shades on your eyes and your heels so high that you cant even have a good timeeverybody look to their left everybody look to their right can you feel that yeah were paying with love tonight its not about the money money money we dont need your money money money we just wanna make the world dance forget about the price tag aint about the uh chaching chaching aint about the yeah bbling bbling wanna make the world dance forget about the price tag    meaning  byamandah   editor    time and time again jessie j has explained in interviews that price tag should not be seen as hypocritical as she is a rich pop star telling other to not    see all   we need to take it back in time when music made us all unite and it wasnt low blows and video hoes am i the only the one getting tired why is everybody so obsessed money cant buy us happiness can we all slow down and enjoy right now guarantee well be feeling alrighteverybody look to their left everybody look to their right can you feel yeah were paying with love tonightits not about the money money money we dont need your money money money we just wanna make the world dance forget about the price tag aint about the uh chaching chaching aint about the yeah bbling bbling wanna make the world dance forget about the price tagwell keep the price tag and take the cash back just give me six strings and a half stack and you can can keep the cars leave me the garage and all i yes all i need are keys and guitars and guess what in thirty seconds im leaving to mars yeah we leaping across these undefeatable odds its like this man you cant put a price on the life we do this for the love so we fight and sacrifice every night so we aint gonna stumble and fall never waiting to see us in a sign of defeat uh uh so we gonna keep everyone moving they feet so bring back the beat and then everyone sing its not about the moneyits not about the money money money we dont need your money money money we just wanna make the world dance forget about the price tag aint about the uh chaching chaching aint about the yeah bbling bbling wanna make the world dance forget about the price tagyeah yeah forgot the price tag ",1
94,"god gave me you","blake shelton",2011," ive been a walking heartache ive made a mess of me the person that ive been lately aint who i wanna be but you stay here right beside me watch as the storm goes through and i need youcause god gave me you for the ups and downs god gave me you for the days of doubt for when i think ive lost my way there are no words here left to say its true god gave me you gave me youtheres more here than what were seeing a divine conspiracy that you an angel lovely could somehow fall for me youll always be loves great martyr and ill be the flattered fool and i need you yeahgod gave me you for the ups and downs god gave me you for the days of doubt for when i think ive lost my way there are no words here left to say its true god gave me youon my own im only half of what i could be i cant do without you we are stitched together and what love has tethered i pray we never undocause god gave me you for the ups and downs god gave me you for the days of doubt god gave me you for the ups and downs god gave me you for the days of doubt and for when i think ive lost my way there are no words here left to say its true god gave me you gave me you he gave me you ",1
95,"she will","lil wayne featuring drake",2011," young money yeah fouri tell her now goin pop that p for a real n i already know that life is deep but i still dig her ns is jealous but really i could care less im in hells kitchen with an apron and a hair net devil on my shoulder the lord as my witness so on my libra scale im weighing sins and forgiveness what goes around comes around like a hula hoop karma is a b well just make sure that b is beautiful life on the edge im dangling my feet i tried to pay attention but attention paid me haters cant see me nose bleed seats and today i went shopping and talk is still cheap i rock to the beat of my drum set ive been at the top for a while and i aint jump yet ha ha but im ray charles to the bulls now jump up on that dick and do a full splituh she just started to pop it for a n and look back and told me baby its real and i say i aint doubt you for a second i squeeze it and i can tell how it feel i wish we could take off and go anywhere but here baby you know the deal and she bad so maybe she wont uh but s than again maybe she will yeah do it for the realest ns in the fin game right now she will yeah do it for the realest ns in the fin game right now she will she will she will maybe for the money and the power and the fame right now she will she will she will uh do it for the realest ns in the fin game right now she will she will she will she will she willyeah i tell her now go on pop that p for me haters cant see me but them bes still looking for me and you could take that to the bank and deposit that put your two cents in and get a dollar back some people hang you out to dry like a towel rack im all about i give the rest of the vowels back i like my girl thick not just kinda fine eat her til she cry call that wine and dine try to check me and ima have em checkin pulses they say chose wisely thats why i was chosen rocking like asphalt its the cash fault looked in the face of death and took its mask off now i like my house big and my gra soft i like my girl face south and her a north but im ray charles to the bulls now hop up on that dick and do a full splituh she just started to pop it for a n and look back and told me baby its real and i say i aint doubt you for a second i squeeze it and i can tell how it feel i wish we could take off and go anywhere but here baby you know the deal and she bad so maybe she wont uh but s than again maybe she will yeah do it for the realest ns in the fin game right now she will yeah do it for the realest ns in the fin game right now she will she will she will maybe for the money and the power and the fame right now she will she will she will uh do it for the realest ns in the fin game right now she will she will she will she will she willladies and gentleman drizzyuh she just started to pop it for a n and look back and told me baby its real and i say i aint doubt you for a second i squeeze it and i can tell how it feel i wish we could take off and go anywhere but here baby you know the deal and she bad so maybe she wont uh but s than again maybe she will yeah do it for the realest ns in the fin game right now she will yeah do it for the realest ns in the fin game right now she will she will she will maybe for the money and the power and the fame right now she will she will she will uh do it for the realest ns in the fin game right now she will she will she will she will she will ",1
96,"are you gonna kiss me or not","thompson square",2011," we were sittin up there on your mommas roof talkin bout everything under the moon with the smell of honeysuckle and your perfume all i could think about was my next moveoh but you were so shy so was i maybe thats why it was so hard to believe when you smiled and said to me are you gonna kiss me or notare we gonna do this or what i think you know i like you a lot but youre bout to miss your shot are you gonna kiss me or notit was the best dang kiss that i ever had except for that long one after that and i knew if i wanted this thing to last sooner or later id have to ask for your handso i took a chance bought a wedding band and i got down on one knee and you smiled and said to me are you gonna kiss me or notare we gonna do this or what i think you know i love you a lot i think weve got a real good shot are you gonna kiss me or notso we planned it all out for the middle of june from the wedding cake to the honeymoon and your momma cried when you walked down the aislewhen the preacher man said say i do i did and you did too then i lifted that veil and saw your pretty smile and i said are you gonna kiss me or notare we gonna do this or what look at all the love that we got it aint never gonna stop are you gonna kiss me or notyeah baby i love you a lot i really think weve got a shot are you gonna kiss me or not ",1
97,"animal","neon trees",2011," here we go again i kinda wanna be more than friends so take it easy on me im afraid youre never satisfiedhere we go again were sick like animals we play pretend youre just a cannibal and im afraid i wont get out alive no i wont sleep tonightoh oh i want some more oh oh what are you waitin for take a bite of my heart tonight oh oh i want some more oh oh what are you waitin for what are you waitin for say goodbye to my heart tonighthere we are again i feel the chemicals kickin in its gettin heavier i wanna run and hide i wanna run and hide i do it every time youre killin me now and i wont be denied by you the animal inside of youoh oh i want some more oh oh what are you waitin for take a bite of my heart tonight oh oh i want some more oh oh what are you waitin for what are you waitin for say goodbye to my heart tonighthush hush the world is quiet hush hush we both cant fight it its us that made this mess why cant you understand whoa i wont sleep tonight i wont sleep tonighthere we go againoh oh i want some more oh oh what are you waitin for take a bite of my heart tonight oh oh i want some more oh oh what are you waitin for what are you waitin for what are you waitin take a bite of my heart tonightoh oh i want some more oh oh what are you waitin for what are you waitin for say goodbye to my heart tonight ",1
98,"you and tequila","kenny chesney featuring grace potter",2011," baby here i am again kicking dust in the canyon wind waiting for that sun to go down made it up mulholland drive hell bent on getting high high above the lights of towncause you and tequila make me crazy run like poison in my blood one more night could kill me baby one is one too many one more is never enoughthirty days and thirty nights been putting up a real good fight and there were times i thought youd win its so easy to forget the bitter taste the morning left swore i wouldnt go back there againcause you and tequila make me crazy run like poison in my blood one more night could kill me baby one is one too many one more is never enoughwhen it comes to you oh the damage i could do its always your favorite sins that do you inyou and tequila make me crazy run like poison in my blood one more night could kill me baby one is one too many one more is never enough never enough you and tequila you and tequila make me crazy ",1
99,"colder weather","zac brown band",2011," shed trade colorado if hed take her with him closes the door before the winter lets the cold in and wonders if her love is strong enough to make him stay shes answered by the tail lights shining through the window panehe said i wanna see you again but im stuck in colder weather maybe tomorrow will be better can i call you then she said youre ramblin man you aint ever gonna change you gotta gypsy soul to blame and you were born for leavinat a truck stop diner just outside of lincoln the night is black as the coffee he was drinkin and in the waitress eyes he sees the same ol light shinin he thinks of colorado and the girl he left behindhe said i wanna see you again but im stuck in colder weather maybe tomorrow will be better can i call you then she said youre ramblin man you aint ever gonna change you gotta gypsy soul to blame and you were born for leavinborn for leavinwell its a winding road when your in the lost and found youre a lover im a runner we go round n round and i love you but i leave you i dont want you but i need you you know its you who calls me back hereoh i wanna see you again but im stuck in colder weather maybe tomorrow will be better can i call you then cause im a ramblin man i aint ever gonna change i gotta gypsy soul and i was born for leavin born for leavinwhen i close my eyes i see you no matter where i am i can smell your perfume through these whispering pines im with your ghost again its a shame about the weather i know soon well be together and i cant wait til then i cant wait til then ",1
100,"my last","big sean featuring chris brown",2011," hands up in the air i just want the i just want the baddest bitch in the world right here on my lapand imma hit this drink up like its my last imma imma hit this night up like its my last imma imma hit this ass up like its my last swear imma swear imma do it like like i never had it at all all all all all all all all like i like i never had it at all all all all all all all allokay now where that alcohol you aint even got to ask cause imma drink it all like like its my last she a seven in the face but a ten in the ass she even look better by the end of my glass see i just walked in fresher than the shirts off in this mufucka ima need a baddest broad to twirk off in this motherfucka imma go hard till it hurts off in this motherfucka imma ball so you gotta work off in this motherfucka the work and i can get you anything you want i could i could i could put you on see you look like beyonce so do it like beyon do it like beyonce and put it on sean grind hard but a got a lot to show for it always had drive like i had to chauffeur it my teams so true we should get a camera crew to follow us around and make a show for usand imma hit this drink up like its my last imma imma hit this night up like its my last imma imma hit this ass up like its my last swear imma swear imma do it like like i never had it at all all all all all all all all like i like i never had it at all all all all all all all allnow imma fill this glass up like its my last imma imma blow this bag up like its my last imma spend this cash up like its my last and imma make it last like its my last and im gone cant remember where i am but she forget about her man when they tell her who i am and they introduce my fan now she all up in space all all up in my face like you remember who i am since i signed to kan im louie vuitton sean up in benny han han eating all the wontons rose rose over a little chandon put her hands down my pants now she rocking sean john man i just ended up on everybody guest list im just doing better than what erryone projected knew that id be here so if you asked me how i feel imma just tell you its everything that i expected bitchhands up in the air one time for the west side let me see them hands hands up in the air two times if you love good music hands up in the air and three times for the baddest chick in the world who got her hands up in the air hands up in the airand imma hit this drink up like its my last imma imma hit this night up like its my last imma imma hit this ass up like its my last swear imma swear imma do it like like i never had it at all all all all all all all all like i like i never had it at all all all all all all all allbig ass bottles big ice buckets i work too hard to be ballin on a budget me and my people do it big out in public cause cause if you dont do it big bitch you aint doing nothingand imma hit this drink up like its my last imma imma hit this night up like its my last imma imma hit this ass up like its my last boi swear imma swear imma do it like like i like i never had it at all all all all all all all all like i like i never had it at all all all all all all all all all all all all all all all all like i like i never had it at all all all all all all all all ",1
1,"somebody that i used to know","gotye featuring kimbra",2012," gotye now and then i think of when we were together like when you said you felt so happy you could die told myself that you were right for me but felt so lonely in your company but that was love and its an ache i still rememberyou can get addicted to a certain kind of sadness like resignation to the end always the end so when we found that we could not make sense well you said that we would still be friends but ill admit that i was glad it was over    meaning  byjamesg   editor    somebody that i used to know is a song by australian and belgianborn artist gotye real name wally de backer featuring new zealand singer kimbra it is the    see all   but you didnt have to cut me off make out like it never happened and that we were nothing and i dont even need your love but you treat me like a stranger and that feels so rough no you didnt have to stoop so low have your friends collect your records and then change your number i guess that i dont need that though now youre just somebody that i used to knownow youre just somebody that i used to know now youre just somebody that i used to knowkimbra now and then i think of all the times you screwed me over but had me believing it was always something that id done but i dont wanna live that way reading into every word you say you said that you could let it go and i wouldnt catch you hung up on somebody that you used to knowgotye but you didnt have to cut me off make out like it never happened and that we were nothing and i dont even need your love but you treat me like a stranger and that feels so rough and you didnt have to stoop so low have your friends collect your records and then change your number i guess that i dont need that though now youre just somebody that i used to knowsomebody i used to know somebody now youre just somebody that i used to knowi used to know that i used to know i used to know somebody ",1
2,"call me maybe","carly rae jepsen",2012," i threw a wish in the well dont ask me ill never tell i looked at you as it fell and now youre in my wayi trade my soul for a wish pennies and dimes for a kiss i wasnt looking for this but now youre in my wayyour stare was holding ripped jeans skin was showing hot night wind was blowing where you think youre going babyhey i just met you and this is crazy but heres my number so call me maybe its hard to look right at you baby but heres my number so call me maybehey i just met you and this is crazy but heres my number so call me maybe and all the other boys try to chase me but heres my number so call me maybeyou took your time with the call i took no time with the fall you gave me nothing at all but still youre in my wayi beg and borrow and steal at first sight and its real i didnt know i would feel it but its in my wayyour stare was holding ripped jeans skin was showing hot night wind was blowing where you think youre going babyhey i just met you and this is crazy but heres my number so call me maybe its hard to look right at you baby but heres my number so call me maybebefore you came into my life i missed you so bad i missed you so bad i missed you so so bad before you came into my life i missed you so bad and you should know that i missed you so so bad bad bad badits hard to look right at you baby but heres my number so call me maybehey i just met you and this is crazy but heres my number so call me maybe and all the other boys try to chase me but heres my number so call me maybebefore you came into my life i missed you so bad i missed you so bad i missed you so so bad before you came into my life i missed you so bad and you should know that so call me maybe ",1
3,"we are young","fun featuring janelle mon'ae",2012," give me a second i i need to get my story straight my friends are in the bathroom getting higher than the empire state my lover shes waiting for me just across the bar my seats been taken by some sunglasses asking about a scar andi know i gave it to you months ago i know youre trying to forget but between the drinks and suddle things the holes in my apologies you know im trying hard to take it backso if by the time the bar closes and you feel like falling down ill carry you hooometonight we are young so lets set the world on fire we can burn brighter than the suntonight we are young so lets set the world on fire we can burn brighter than the sun now i know that im not all that you got i guess that i i just thought maybe we could find new ways to fall apart but our friends are back so lets raise a cup cause i found someone to carry me hometonight we are young so lets the set the world on fire we can burn brighter than the suntonight we are young so lets set the world on fire we can burn brighter than the suncarry me home tonight just carry me home tonight carry me home tonight just carry me home tonightthe world is on my side nanananannanana i have no reason to run anananananananan so will someone come and carry me home tonight nananananana the angels never arrived nananananananan but i can hear the choir nanannananananan so will someone come and carry me home ananananatonight we are young so lets set the world on fire we can burn brighter than the suntonight we are young so lets set the world on fire we can burn brighter than the sunso if by the time the bar closes and you feel like falling down ill carry you hometonight ",1
4,"payphone","maroon 5 featuring wiz khalifa",2012," adam levineim at a payphone trying to call home all of my change ive spent on you where have the times gone baby its all wrong where are the plans we made for twoyeah i i know its hard to remember the people we used to be its even harder to picture that youre not here next to meyou say its too late to make it but is it too late to try and in our time that you wasted all of our bridges burned downive wasted my nights you turned out the lights now im paralyzed still stuck in that time when we called it love but even the sun sets in paradiseim at a payphone trying to call home all of my change ive spent on you where have the times gone baby its all wrong where are the plans we made for twoif happy ever after did exist i would still be holding you like this all those fairy tales are full of shit one more stupid love song ill be sickyou turned your back on tomorrow cause you forgot yesterday i gave you my love to borrow but you just gave it awayyou cant expect me to be fine i dont expect you to care i know i said it before but all of our bridges burned downive wasted my nights you turned out the lights now im paralyzed still stuck in that time when we called it love but even the sun sets in paradiseim at a payphone trying to call home all of my change i spent on you where have the times gone baby its all wrong where are the plans we made for twoif happy ever after did exist i would still be holding you like this all those fairy tales are full of shit one more stupid love song ill be sick now im at a payphonewiz khalifaman fuck that shit ill be out spending all this money while youre sitting round wondering why it wasnt you who came up from nothingmade it from the bottom now when you see me im stuntin and all cars start with the push of a button telling me the chances i blew up or whatever you call it switch the number to my phone so you never could call itdont need my name on my show you can tell it im ballin swish what a shame could have got picked had a really good game but you missed your last shot so you talk about who you see at the top or what you could have sawbut sad to say its over for phantom pulled up valet open doors wiz like go away got what you was looking for now its me who they want so you can go and take that little piece of shit with youadam levineim at a payphone trying to call home all of my change i spent on you where have the times gone baby its all wrong where are the plans we made for twoif happy ever after did exist i would still be holding you like this and all these fairy tales are full of shit yeah one more stupid love song ill be sick now im at a payphone ",1
5,"lights","ellie goulding",2012," i had a way then losing it all on my own i had a heart then but the queen has been overthrown and im not sleeping now the dark is too hard to beat and im not keeping now the strength i need to push meyou show the lights that stop me turn to stone you shine it when im alone and so i tell myself that ill be strong and dreaming when theyre gonecause theyre calling calling calling me home calling calling calling home you show the lights that stop me turn to stone you shine it when im alone homevoices i play within my head touch my own skin and hope that im still breathing and i think back to when my brother and my sister slept in an unknown place the only time i feel safe    memory  byamandah   editor    in her april 2016 seventeen cover story ellie goulding explained how she wanted to be a role model for young girls growing up i want to write lyrics that    see all   you show the lights that stop me turn to stone you shine it when im alone and so i tell myself that ill be strong and dreaming when theyre gonecause theyre calling calling calling me home calling calling calling home you show the lights that stop me turn to stone you shine it when im alone homelight lights lights lights light lights lights lights home home light lights lights lights light lightsyou show the lights that stop me turn to stone you shine it when im alone and so i tell myself that ill be strong and dreaming when theyre gonecause theyre calling calling calling me home calling calling calling home you show the lights that stop me turn to stone you shine it when im alonehome home light lights lights lights light lights lights lightshome home light lights lights lights light lights lights lightshome home light lights lights lights light lights lights lightshome home light lights lights lights light lights lights lights ",1
6,"glad you came","the wanted",2012," the sun goes down the stars come out and all that counts is here and now my universe will never be the same im glad you cameyou cast a spell on me spell on me you hit me like the sky fell on me fell on me and i decided you look well on me well on me so lets go somewhere noone else can see you and meturn the lights out now now ill take you by the hand hand you another drink drink it if you can can you spend a little time time is slipping away away from us so stay stay with me i can make make you glad you camethe sun goes down the stars come out and all that counts is here and now my universe will never be the same im glad you came im glad you cameyou cast a spell on me spell on me you hit me like the sky fell on me fell on me and i decided you look well on me well on me so lets go somewhere noone else can see you and meturn the lights out now now ill take you by the hand hand you another drink drink it if you can can you spend a little time time is slipping away away from us so stay stay with me i can make make you glad you camethe sun goes down the stars come out and all that counts is here and now my universe will never be the same im glad you came im glad you cameim glad you came so glad you came im glad you came im glad you camethe sun goes down the stars come out and all that counts is here and now my universe will never be the same im glad you came im glad you came ",1
7,"stronger what doesnt kill you","kelly clarkson",2012," you know the bed feels warmer sleeping here alone you know i dream in color and do the things i wantyou think you got the best of me think youve had the last laugh bet you think that everything good is gone think you left me broken down think that id come running back baby you dont know me cause youre dead wrongwhat doesnt kill you makes you stronger stand a little taller doesnt mean im lonely when im alone what doesnt kill you makes a fighter footsteps even lighter doesnt mean im over cause youre gonewhat doesnt kill you makes you stronger stronger just me myself and i what doesnt kill you makes you stronger stand a little taller doesnt mean im lonely when im aloneyou heard that i was starting over with someone new they told you i was moving on over youyou didnt think that id come back id come back swinging you try to break me but you seewhat doesnt kill you makes you stronger stand a little taller doesnt mean im lonely when im alone what doesnt kill you makes a fighter footsteps even lighter doesnt mean im over cause youre gonewhat doesnt kill you makes you stronger stronger just me myself and i what doesnt kill you makes you stronger stand a little taller doesnt mean im lonely when im alonethanks to you i got a new thing started thanks to you im not the broken hearted thanks to you im finally thinking about me you know in the end the day you left was just my beginning in the endwhat doesnt kill you makes you stronger stand a little taller doesnt mean im lonely when im alone what doesnt kill you makes a fighter footsteps even lighter doesnt mean im over cause youre gonewhat doesnt kill you makes you stronger stronger just me myself and i what doesnt kill you makes you stronger stand a little taller doesnt mean im lonely when im alonewhat doesnt kill you makes you stronger stronger just me myself and i what doesnt kill you makes you stronger stand a little taller doesnt mean im lonely when im alonewhen im alone ",1
8,"we found love","rihanna featuring calvin harris",2012," narration its like youre screaming and no one can hear you almost feel ashamed that someone could be that important that without them you feel like nothing no one will ever understand how much it hurts you feel hopeless like nothing can save you and when its over and its gone you almost wish that you could have all that bad stuff back so that you could have the goodrihanna yellow diamonds in the light and were standing side by side as your shadow crosses mine what it takes to come aliveits the way im feeling i just cant deny but ive gotta let it gowe found love in a hopeless place we found love in a hopeless place we found love in a hopeless place we found love in a hopeless placeshine a light through an open door love and life i will divide turn away cause i need you more feel the heartbeat in my mindits the way im feeling i just cant deny but ive gotta let it gowe found love in a hopeless place we found love in a hopeless place we found love in a hopeless place we found love in a hopeless placeyellow diamonds in the light and were standing side by side as your shadow crosses mine mine mine minewe found love in a hopeless place we found love in a hopeless place we found love in a hopeless place we found love in a hopeless placewe found love in a hopeless place we found love in a hopeless place we found love in a hopeless place we found love in a hopeless place ",1
9,"starships","nicki minaj",2012," nicki minaj lets go to the beach each lets go get away they say what they gonna say have a drink clink found the bud light bad btches like me is hard to come by the patron on lets go get it on the zone on yes im in the zone is it two three leave a good tip imma blow off my money and dont give two shtsim on the floor floor i love to dance so give me more more till i cant stand get on the floor floor like its your last chance if you want more more then here i amstarships were meant to fly hands up and touch the sky cant stop cause were so high lets do this one more timestarships were meant to fly hands up and touch the sky lets do this one last time cant stopwere higher than a motherfckr were higher than a motherfckr were higher than a motherfckrjump in my hoopty hoopty hoop i own that and i aint paying my rent this month i owe that but fck who you want and fck who you like dance our life theres no end in sight twinkle twinkle little starnow everybody let me hear you say ray ray ray now spend all your money cause they pay pay pay and if youre a g you a ggg my name is onika you can call me nickiget on the floor floor like its your last chance if you want more more then here i amstarships were meant to fly hands up and touch the sky cant stop cause were so high lets do this one more timestarships were meant to fly hands up and touch the sky lets do this one last time cant stopwere higher than a motherfckr were higher than a motherfckr were higher than a motherfckrstarships were meant to fly hands up and touch the sky cant stop cause were so high lets do this one more timestarships were meant to fly hands up and touch the sky lets do this one last time cant stopwere higher than a motherfckr were higher than a motherfckr were higher than a motherfckr ",1
10,"what makes you beautiful","one direction",2012," youre insecure dont know what for youre turning heads when you walk through the door dont need makeup to cover up being the way that you are is enougheveryone else in the room can see it everyone else but youbaby you light up my world like nobody else the way that you flip your hair gets me overwhelmed but when you smile at the ground it aint hard to tell you dont know oh oh you dont know youre beautiful if only you saw what i can see youll understand why i want you so desperately right now im looking at you and i cant believe you dont know oh oh you dont know youre beautiful oh oh thats what makes you beautifulso come on you got it wrong to prove im right i put it in a song i dont know why youre being shy and turn away when i look into your eye eye eyeseveryone else in the room can see it everyone else but youbaby you light up my world like nobody else the way that you flip your hair gets me overwhelmed but when you smile at the ground it aint hard to tell you dont know oh oh you dont know youre beautiful if only you saw what i can see youll understand why i want you so desperately right now im looking at you and i cant believe you dont know oh oh you dont know youre beautiful oh oh thats what makes you beautifulna na na na na na nababy you light up my world like nobody else the way that you flip your hair gets me overwhelmed but when you smile at the ground it aint hard to tell you dont know oh oh you dont know youre beautifulbaby you light up my world like nobody else the way that you flip your hair gets me overwhelmed but when you smile at the ground it aint hard to tell you dont know oh oh you dont know youre beautiful if only you saw what i can see youll understand why i want you so desperately right now im looking at you and i cant believe you dont know oh oh you dont know youre beautiful oh oh you dont know youre beautiful oh oh thats what makes you beautiful ",1
11,"wild ones","flo rida featuring sia",2012," hey i heard you were a wild one ooh if i took you home itd be a home run show me how you doi want to shut down the club with you hey i heard you like the wild ones wild ones wild ones oohi like crazy foolish stupid party going wild fist pumping music i might lose it blast to the roof that how we doz it doz it doz it i dont care the night she dont care we like almost dared the right five ready to get live aint no surprise take me so high jump and dont stop surfing the crowd ooh said i gotta be the man when they heading my van mic check one two shut them down in the club while the playboy does it and yall get lose lose out the bottle we all get bent and again tomorrow gotta break loose cause thats the motto club shuts down a hundred super modelshey i heard you were a wild one ooh if i took you home itd be a home run show me how you doi wanna shut down the club with you hey i heard you like the wild ones wild ones wild ones oohparty rocker fashow stopper more shampoo number one club popper got a hangover like too much vodka cant see me with ten binoculars so cool no doubt by the end of the night got the clothes coming off til i make that move somehow someway gotta raise the roof roof all black shades when the sun come through oh its on like everything goes round up baby til the freaky show what happens to that body its a private show stays right here private show i like em untamed dont tell me hide pain tolerance bottoms up with the champagne my life coming harder when we hit fame do you busy with the bail we get insanehey i heard you were a wild one ooh if i took you home itd be a home run show me how you doi want to shut down the club with you hey i heard you like the wild ones wild ones wild ones oohi am a wild one break me in saddle me up and lets begin i am a wild one tame me now running with wolves and im on the prowlshow you another side of me a side you would never thought you would see tear up that body dominate you til you had nough i hear you like the wild stuffhey i heard you were a wild one ooh if i took you home itd be a home run show me how youll do i want to shut down the club with you hey i heard you like the wild ones wild ones wild ones oohi am a wild one break me in saddle me up and lets begin i am a wild one tame me now running with wolves and im on the prowl ",1
12,"set fire to the rain","adele",2012," i let it fall my heart and as it fell you rose to claim it it was dark and i was over until you kissed my lips and you saved memy hands theyre strong but my knees were far too weak to stand in your arms without falling to your feetbut theres a side to you that i never knew never knew all the things youd say they were never true never true and the games youd play you would always win always winbut i set fire to the rain watched it pour as i touched your face let it burn while i cry cause i heard it screaming out your name your name  misheard  bysissyhilo5     i thought it was i said fire to the rain for so long until one day my mom laughed at me and i had to check the lyrics and then realized how stupid i was    see all   when laying with you i could stay there close my eyes feel you here forever you and me together nothing gets bettercause theres a side to you that i never knew never knew all the things youd say they were never true never true and the games youd play you would always win always winbut i set fire to the rain watched it pour as i touched your face let it burn while i cried cause i heard it screaming out your name your namei set fire to the rain and i threw us into the flames where i felt something die cause i knew that that was the last time the last timesometimes i wake up by the door as if that heart you caught is still waiting for you even now when its already over i cant help myself from looking for youi set fire to the rain watched it pour as i touched your face let it burn while i cried cause i heard it screaming out your name your namei set fire to the rain and i threw us into the flames where i felt something die cause i knew that that was the last time the last time oh oh ohlet it burn oh let it burn let it burn ",1
13,"sexy and i know it","lmfao",2012," when i walk on by girls be looking like damn he fly i pimp to the beat walking on the street with in my new lafreak yeah this is how i roll animal print pants out control this is red foo with the big afro its like bruce lee rock at the clubgirl look at that body girl look at that body girl look at that bodyi work outgirl look at that body girl look at that body girl look at that bodyi work outwhen i walk in the spot this is what i see everybody stops and they staring at me i got passion in my pants and i aint afraid to show it show it show it show itim sexy and i know it im sexy and i know itwhen im at the mall security just cant fight em off when im at the beach im in a speedo trying to tan my cheeks this is how i roll come on ladies its time to go we headed to the bar baby dont be nervous no shoes no shirt and i still get servicedgirl look at that body girl look at that body girl look at that bodyi work outgirl look at that body girl look at that body girl look at that bodyi work outwhen i walk in the spot this is what i see everybody stops and they staring at me i got passion in my pants and i aint afraid to show it show it show it show itim sexy and i know it im sexy and i know itcheck it out check it outwiggle wiggle wiggle wiggle wiggle wiggle yeah wiggle wiggle wiggle wiggle wiggle wiggle yeah wiggle wiggle wiggle wiggle wiggle wiggle yeah wiggle wiggle wiggle wiggle wiggle wiggle yeahdo the wiggle man do the wiggle manim sexy and i know itgirl look at that body girl look at that body girl look at that bodyi work outgirl look at that body girl look at that body girl look at that body i work outim sexy and i know it ",1
14,"some nights","fun",2012," some nights i stay up cashing in my bad luck some nights i call it a drawsome nights i wish that my lips could build a castle some nights i wish theyd just fall offbut i still wake up i still see your ghost oh lord im still not sure what i stand for oh oh oh what do i stand for oh what do i stand for most nights i dont know anymore oh whoa oh whoa oh whoa oh oh oh whoa oh whoa oh whoa oh ohthis is it boys this is war what are we waiting for why dont we break the rules already i was never one to believe the hype save that for the black and white i try twice as hard and im half as liked but here they come again to jack my stylethats alright i found a martyr in my bed tonight stops my bones from wondering just who i who i who i am oh who am i mm mmwell some nights i wish that this all would end cause i could use some friends for a change and some nights im scared youll forget me again some nights i always win i always winbut i still wake up i still see your ghost oh lord im still not sure what i stand for oh what do i stand for oh what do i stand for most nights i dont know come onso this is it i sold my soul for this washed my hands of that for this i miss my mom and dad for this no when i see stars when i see stars thats all they are when i hear songs they sound like a swan so come on oh come on oh come on oh come onwell that is it guys that is all five minutes in and im bored again ten years of this im not sure if anybody understands this is not one for the folks at home im sorry to leave mom i had to go who the fuck wants to die alone all dried up in the desert sun my heart is breaking for my sister and the con that she called love but when i look into my nephews eyes man you wouldnt believe the most amazing things that can come from some terrible nights ah oh whoa oh whoa oh whoa oh ohoh whoa oh whoa oh whoa oh oh oh whoa oh whoa oh whoa oh ohthe other night you wouldnt believe the dream i just had about you and me i called you up but wed both agree its for the best you didnt listen its for the best we get our distance oh its for the best you didnt listen its for the best we get our distance oh ",1
15,"wide awake","katy perry",2012," im wide awake im wide awakeim wide awake yeah i was in the dark i was falling hard with an open heart im wide awake how did i read the stars so wrongim wide awake and now its clear to me that everything you see aint always what it seems im wide awake yeah i was dreaming for so longi wish i knew then what i know now wouldnt dive in wouldnt bow down gravity hurts you made it so sweet till i woke up on on the concretefalling from cloud nine crashing from the high im letting go tonight im falling from cloud nineim wide awake not losing any sleep picked up every piece and landed on my feet im wide awake need nothing to complete myself noim wide awake yeah i am born again out of the lions den i dont have to pretend and its too late the storys over now the endi wish i knew then what i know now wouldnt dive in wouldnt bow down gravity hurts you made it so sweet till i woke up on on the concretefalling from cloud nine crashing from the high im letting go tonight im falling from cloud ninethunder rumbling castles crumbling i am trying to hold on god knows that i tried seeing the bright side but im not blind anymore im wide awake im wide awakefalling from cloud nine crashing from the high im letting go tonight im falling from cloud nineim wide awake im wide awake im wide awake im wide awake im wide awake ",1
16,"good feeling","flo rida",2012," oh oh oh oh oh sometimes i get a good feeling yeah i get a feeling that i never never never never had before no no i get a good feeling yeah oh oh sometimes i get a good feeling yeah i get a feeling that i never never never never had before no no i get a good feeling yeahyes i can doubt better leave im running with this plan pull me grab me crabs in the bucket cant have me ill be the president one day january first oh you like that gossip like you the one drinking what god sip dot com now i gotta work with your tongue how many rolling stones you want yeah i got a brand new spirit speak it and its done rolled up on the side of the bed like i won talk like a winner my chest to that sun g5 dealer us to taiwan now who can say that i wanna play back mama knew i was a needle in a hay stack a bugatti boy plus maybach i got a feeling its a wrap asapoh oh sometimes i get a good feeling yeah i get a feeling that i never never never never had before no no i get a good feeling yeah oh oh sometimes i get a good feeling yeah i get a feeling that i never never never never had before no no i get a good feeling yeahthe mountain top walk on water i got power feel so royal one second imma strike oil diamond platinum no more for you gotta drill it in never giving in giving ups not an option gotta get it in witness i got the heart of twenty men no fear go to sleep in the lions den that flow that spark that crown you looking at the king of the jungle now stronger than ever cant hold me down a hundred miles feelin from the picture smile straight game face its game day see me running through the crowd full of melee no trick plays im bill gates take a genius to understand meoh oh sometimes i get a good feeling yeah i get a feeling that i never never never never had before no no i get a good feeling yeah oh oh sometimes i get a good feeling yeah i get a feeling that i never never never never had before no no i get a good feeling yeahgood feelin good feelin i know you got the good feelin lets get it lets get it gotta love the life that we livin lets get it lets get it i know you got the good feelin lets get it lets get it gotta love the life that we livinoh oh sometimes i get a good feeling yeah i get a feeling that i never never never never had before no no i get a good feeling yeah oh oh sometimes i get a good feeling yeah i get a feeling that i never never never never had before no no i get a good feeling yeahsometimes i get a good feeling ",1
17,"whistle","flo rida",2012," can you blow my whistle baby whistle baby let me know girl im gonna show you how to do it and we start real slow you just put your lips together and you come real close can you blow my whistle baby whistle baby here we goim betting you like people and im betting you love creep mode and im betting you like girls that give love to girls and stroke your little ego i bet im guilty your honor but thats how we live in my genre when i hell i pay rottweiler theres only one flo and rida im a damn shame order more champagne pull it down hell stream tryna put it on ya bet your lips spin back around corner slow it down baby take a little longercan you blow my whistle baby whistle baby let me know girl im gonna show you how to do it and we start real slow you just put your lips together and you come real close can you blow my whistle baby whistle baby here we gowhistle baby whistle baby whistle baby whistle babyits like everywhere i go my whistle ready to blow shorty dont leave a note she can get any by the low permission not approved its okay its under control show me soprano cause girl you can handle baby we start snagging you come in part clothes girl im losing wing my bugatti the same road show me your perfect pitch you got it my banjo talented with your lips like you blew out candles so amusing now you can make a whistle with the music hope you aint got no issue you can do it give me the perfect picture never lose itcan you blow my whistle baby whistle baby let me know girl im gonna show you how to do it and we start real slow you just put your lips together and you come real close can you blow my whistle baby whistle baby here we gowhistle baby whistle baby whistle baby whistle babygo girl you can work it let me see your whistle while you work it ima lay it back dont stop it cause i love it how you drop it drop it drop it on me now shorty let that whistle blow yeah baby let that whistle blowcan you blow my whistle baby whistle baby let me know girl im gonna show you how to do it and we start real slow you just put your lips together and you come real close can you blow my whistle baby whistle baby here we gowhistle baby whistle baby whistle baby whistle baby ",1
18,"one more night","maroon 5",2012," you and i go hard at each other like were going to war you and i go rough we keep throwing things and slamming the door you and i get so damn dysfunctional we start keeping score you and i get sick yeah i know that we cant do this no morebut baby there you go again there you go again making me love you yeah i stopped using my head using my head let it all go got you stuck on my body on my body like a tattoo and now im feeling stupid feeling stupid crawling back to youso i cross my heart and i hope to die that ill only stay with you one more night and i know i said it a million times but ill only stay with you one more nighttry to tell you no but my body keeps on telling you yes try to tell you stop but your lipstick got me so out of breath ill be waking up in the morning probably hating myself and ill be waking up feeling satisfied but guilty as hellbut baby there you go again there you go again making me love you and i stopped using my head using my head let it all go got you stuck on my body on my body like a tattoo and now im feeling stupid feeling stupid crawling back to youso i cross my heart and i hope to die that ill only stay with you one more night and i know i said it a million times but ill only stay with you one more nightyeah baby give me one more night yeah baby give me one more night yeah baby give me one more nightbaby there you go again there you go again making me love you and i stopped using my head using my head let it all go got you stuck on my body on my body like a tattoo yeah yeah yeah yeahso i cross my heart and i hope to die that ill only stay with you one more night and i know i said it a million times but ill only stay with you one more night yeah baby give me one more nightso i cross my heart and i hope to die that ill only stay with you one more night and i know i said it a million times but ill only stay with you one more night ",1
19,"drive by","train",2012," on the other side of a street i knew stood a girl that looked like you i guess thats deja vu but i thought this cant be true cause you moved to west la or new york or santa fe or where ever to get away from meoh but that one night was more than just right i didnt leave you cause i was all through oh i was overwhelmed and frankly scared as hell because i really fell for youoh i swear to ya ill be there for ya this is not a drive by just a shy guy looking for a two ply hefty bag to hold my love when you move me everything is groovy they dont like it sue me mm way you do me oh i swear to you ill be there for you this is not a drive byon the other side of a downward spiral my love for you went viral and i loved you every mile you drove away but now here you are again so lets skip the how you been and get down to the more than friends at lastoh but that one night is still the highlight i didnt need you until i came toand i was overwhelmed and frankly scared as hell because i really fell for youoh i swear to you ill be there for you this is not a drive by just a shy guy looking for a two ply hefty bag to hold my love when you move me everything is groovy they dont like it sue me mm way you do me oh i swear to ya ill be there for ya this is not a drive byplease believe that when i leave theres nothing up my sleeve but love for you and a little time to get my head together tooon the other side of a street i knew stood a girl that looked like you i guess thats deja vu but i thought this cant be true causeoh i swear to you ill be there for you this is not a drive by just a shy guy looking for a two ply hefty bag to hold my love when you move me everything is groovy they dont like it sue me mm way you do me oh i swear to ya ill be there for ya this is not a drive by ",1
20,"the motto","drake featuring lil wayne",2012," im the fin man you dont get it do ya type of money everybody acting like they knew ya go uptown new york city b some spanish girls love me like im aventura tell uncle luke im out in miami too clubbing hard fin women aint much to do wrist bling got a condo up in biscayne still getting brain from a thang aint s changed how you feel how you feel how you feel twenty five sittin on twentyfive mil uh im in the building and im feeling myself rest in peace mac dre imma do it for the bay okay getting paid well holla wen ever that stop my team good we dont really need a mascot tell tune light one pa it like a relay ymcmb you ns more ymca me freddie marley marl at the cribbo shout goes out to niko j and chubbs shout to gibbo we got santa margarita by the liter she know even if im fin with her i dont really need her ahhh thats how you feel man thats really how you feel cause the pimpin ice cold all these bes wanna chill i mean maybe she wont then again maybe she will i can almost guarantee she know the deal real n wassapnow she want a photo ya you already know though you only live once thats the motto n yolo we bout it every day every day every day like we sittin on the bench n we dont really play every day every day f what anybody say cant see em cause the money in the way real n wassupone time f one time im calling ns out like the umpire seven grams in the blunt almost drowned in her p so i swam to her butt its eastside we in this b wish a n would like a tree in this b and if a leaf fall put some weed in that b thats my mo add a b to that s im fed up torn down im twisted door knob talk stupid off with your head n money talks and mr ed ya im so young money got a drum on the gun energizer bunny funny how honey aint sweet like sugar aint s sweet ns on the street like hookers i tongue kiss her other tongue skeet skeet skeet water gun oh my god becky look at her butttunechinow she want a photo ya you already know though you only live once thats the motto n yolo we bout it every day every day every day like we sittin on the bench n we dont really play every day every day f what anybody say cant see em cause the money in the way real n wassupwassap wassap real n wassup real n wassupnow she want a photo ya you already know though you only live once thats the motto n yolo we bout it every day every day every day like we sittin on the bench n we dont really play every day every day f what anybody say cant see em cause the money in the way real n wassupwassap wassap ",1
21,"where have you been","rihanna",2012," ive been everywhere man looking for someone someone who can please me love me all night long ive been everywhere man looking for you babe looking for you babe searching for you babewhere have you been cause i never see you out are you hiding from me yeah somewhere in the crowdwhere have you been all my life all my life where have you been all my life where have you been all my life where have you been all my life where have you been all my lifeive been everywhere man looking for someone someone who can please me love me all night long ive been everywhere man looking for you babe looking for you babe searching for you babewhere have you been cause i never see you out are you hiding from me yeah somewhere in the crowdwhere have you been all my life all my life where have you been all my life where have you been all my life where have you been all my life where have you been all my lifewhere have you been all my lifeyou can have me all you want any way any day to show me where you are tonightive been everywhere man looking for someone someone who can please me love me all night long ive been everywhere man looking for you babe looking for you babe searching for you babe ",1
22,"everybody talks","neon trees",2012," hey baby wont you look my way i could be your new addiction hey baby what you got to say all youre giving me is fiction im a sorry sucker and this happens all the time i find out that everybody talks everybody talks everybody talks everybody talkschorus it started with a whisper and that was when i kissed her and then she made my lips hurt i can even chitchat take me to your love shack mamas always got a backtrack and everybody talks babehey honey you could be my drug you could be my new prescription too much get me an overdose all this stress talk make me itching on my mouth yeah everybody talks everybody talks everybody talks too muchchorus it started with a whisper and that was when i kissed her and then she made my lips hurt i can even chitchat take me to your love shack mamas always got a backtrack and everybody talks babenever thought id live to see the day when everybodys words got in the wayhey sugar show me all your love all youre giving me is friction hey sugar what you got to saychorus it started with a whisper and that was when i kissed her and then she made my lips hurt i can even chitchat take me to your love shack mamas always got a backtrack and everybody talks babeeverybody talks everybody talks everybody talks it started with a whisper and that was when i kissed her everybody talks everybody talks everybody talks yeah ",1
23,"take care","drake featuring rihanna",2012," i know youve been hurt by someone else i can tell by the way you carry yourself if you let me heres what ill do ill take care of you ive loved and ive lostive asked about you and theyve told me things but my mind didnt change i still the feel the same whats a life with no fun please dont be so ashamed ive had mine youve had yours we both know we know they dont get you like i will my only wish is i die real cause that truth hurts and those lies heal and you cant sleep thinking that he lies still so you cry still tears all in the pillow case big girls all get a little taste pushing me away so i give her space dealing with a heart that i didnt break ill be there for you i will care for you i keep thanking you just dont know trying to run from that say youre done with that on your face girl it just dont show when youre ready just say youre ready when all the baggage just aint as heavy and the parties over just dont forget me well change the pace and well just go slow you wont ever have to worry you wont ever have to hide and you seen all my mistakes so look me in my eyescause if you let me heres what ill do ill take care of you ive loved and ive lostits my birthday i get high if i want to cant deny that i want you but i lie if have to cause you dont say you love me to your friends when they ask you even though we both know that you do you do one time been in love one time you and all your girls in the club one time all so convinced that youre following your heart cause your mind dont control what it does sometimes we all have our nights though dont be so ashamed ive had mine youve had yours we both know we know you hate being alone you aint the only one you hate the fact that you bought the dream and they sold you one you love your friends but somebody shoulda told you somin to save you instead they say ",1
24,"titanium","david guetta featuring sia",2012," sia you shout it out but i cant hear a word you say im talking loud not saying much im criticized but all your bullets ricochet you shoot me down but i get upchorus im bulletproof nothing to lose fire away fire away ricochet you take your aim fire away fire away you shoot me down but i wont fall i am titanium you shoot me down but i wont fall i am titanium    meaning  byjamesg   editor    titanium is a song by french dj and music producer david guetta featuring vocals by australian recording artist sia it was released on guettas fifth    see all   sia cut me down but its you wholl have further to fall ghost town and haunted love raise your voice sticks and stones may break my bones im talking loud not saying muchchorus im bulletproof nothing to lose fire away fire away ricochet you take your aim fire away fire away you shoot me down but i wont fall i am titanium you shoot me down but i wont fall i am titanium i am titanium i am titaniumsia stonehard machine gun firing at the ones who run stonehard as bulletproof glasschorus you shoot me down but i wont fall i am titanium you shoot me down but i wont fall i am titanium you shoot me down but i wont fall i am titanium you shoot me down but i wont fall i am titanium i am titanium ",1
25,"i wont give up","jason mraz",2012," when i look into your eyes its like watching the night skies or a beautiful sunrise theres so much they hold and just like them old stars i see that youve come so far to be right where you are how old is your souli wont give up on us even if the skies get rough im giving you all my love im still looking upand when youre needing your space to do some navigating ill be here patiently waiting to see what you findcause even the stars they burn some even fall to the earth weve got a lot to learn god knows were worth it no i wont give upi dont wanna be someone who walks away so easily im here to stay and make the difference that i can make our differences they do a lot to teach us how to use the tools and gifts we got yeah we got a lot at stake and in the end youre still my friend at least we did intend for us to work we didnt break we didnt burn we had to learn how to bend without the world caving in i had to learn what ive got and what im not and who i ami wont give up on us even if the skies get rough im giving you all my love im still looking up still looking upi wont give up on us no im not giving up god knows im tough enough i am tough i am loved weve got a lot to learn were alive we are loved god knows were worth it and were worth iti wont give up on us even if the skies get rough im giving you all my love im still looking up ",1
26,"it will rain","bruno mars",2012," if you ever leave me baby leave some morphine at my door cause it would take a whole lot of medication to realize what we used to have we dont have it anymoretheres no religion that could save me no matter how long my knees are on the floor ooh so keep in mind all the sacrifices im makin to keep you by my side to keep you from walkin out the doorcause therell be no sunlight if i lose you baby therell be no clear skies if i lose you baby just like the clouds my eyes will do the same if you walk away everyday itll rain rain raaaainill never be your mothers favorite your daddy cant even look me in the eye ooh if i was in their shoes id be doing the same thing sayin there goes my little girl walkin with that troublesome guybut theyre just afraid of something they cant understand ooh but little darlin watch me change their minds yeah for you ill try ill try ill try ill try and pick up these broken pieces til im bleeding if thatll make you minecause therell be no sunlight if i lose you baby therell be no clear skies if i lose you baby just like the clouds my eyes will do the same if you walk away everyday itll rain rain raaaainoh dont you say dont you say goodbye goodbye dont you say dont you say goodbye goodbye ill pick up these broken pieces til im bleeding if thatll make it rightcause therell be no sunlight if i lose you baby therell be no clear skies if i lose you baby and just like the clouds my eyes will do the same if you walk away everyday itll rain rain raaaain ",1
27,"mercy","kanye west big sean pusha t and 2 chainz",2012,NA,NA
28,"boyfriend","justin bieber",2012," verse 1if i was your boyfriend id never let you go i can take you places you aint never been before baby take a chance or youll never ever know i got money in my hands that id really like to blow swag swag swag on you chillin by the fire while we eatin fondue i dunno about me but i know about you so say hello to falsetto in three two swagpre hookid like to be everything you want hey girl let me talk to youhookif i was your boyfriend id never let you go keep you on my arm girl youd never be alone i can be a gentleman anything you want if i was your boyfriend id never let you go id never let you goverse 2tell me what you like yeah tell me what you dont i could be your buzz lightyear fly across the globe i dont ever wanna fight yeah you already know imma make you shine bright like youre laying in the snow burr girlfriend girlfriend you could be my girlfriend you could be my girlfriend until the epic world endsmake you dance do a spin and a twirl voice goin crazy on this hook like a whirl wind swaggiepre hookid like to be everything you want hey girl let me talk to youhookif i was your boyfriend id never let you go keep you on my arm girl youd never be alone i can be a gentleman anything you want if i was your boyfriend id never let you go id never let you gobridgeso give me a chance cause youre all i need girl spend a week with your boy ill be calling you my girlfriend if i was your man id never leave you girl i just want to love you and treat you righthookif i was your boyfriend id never let you go keep you on my arm girl youd never be alone i can be a gentleman anything you want if i was your boyfriend id never let you go never let you gona na na na na na na na na ya girl na na na na na na na na na ey if i was your boyfriend na na na na na na na na na ey na na na na na na na na na ey if i was your boyfriend ",1
29,"party rock anthem","lmfao featuring lauren bennett and goonrock",2012," party rock yeah woo lets goparty rock is in the house tonight everybody just have a good time and we gonna make you lose your mind everybody just have a good timeparty rock is in the house tonight everybody just have a good time and we gonna make you lose your mind we just wanna see ya shake that ass in the club party rock lookin for your girl she on the top nonstop when we in the spot party movin like its on the block where the dance i gots to know tight jeans cool shoes cause im rock n roll half black half white domino game the money opadoeyo im runnin through these streets like drano i got that devilish flow rock n roll no halo we party rock yeah thats the crew that im with on the rise to the top no lead in our zeppelin heyparty rock is in the house tonight everybody just have a good time and we gonna make you lose your mind everybody just have a good timeparty rock is in the house tonight everybody just have a good time and we gonna make you lose your mind we just wanna see ya shake thateveryday im shufflin shufflin shufflinstep up fast and be the first one to make me blow this cash we gettin money dont be mad now stop hating is badone more shot for us another round please fill up my cup dont mess around we just wanna see you shake it now now you wanna be youre shakin nowget up get down put your hands up to the sound get up get down put your hands up to the sound get up get down put your hands up to the sound put your hands up to the sound put your hands up to the soundget up get up get up get up get up get up get up get up get up put your hands up to the sound to the sound put your hands up put your hands up put your hands up put your hands upparty rock is in the house tonight put your hands up everybody just have a good time put your hands up and we gonna make you lose your mind put your hands up everybody just have a good good good timeput your hands up put your hands up put your hands up shake that everyday im shufflinpush up push up push up push up push up push up push up push up push up push up ",1
30,"too close","alex clare",2012," you know im not one to break promises i dont want to hurt you but i need to breathe at the end of it all youre still my best friend but theres something inside that i need to release which way is right which way is wrong how do i say that i need to move on you know were heading separate waysand it feels like i am just too close to love you theres nothing i can really say i can lie no more i can hide no more got to be true to myself and it feels like i am just too close to love you so ill be on my wayyouve given me more than i can return yet theres oh so much you deserve nothing to say nothing to do ive nothing to give i must live without you you know were heading separate waysand it feels like i am just too close to love you theres nothing i can really say i can lie no more i can hide no more got to be true to myself and it feels like i am just too close to love you so ill be on my way so ill be on my way ",1
31,"part of me","katy perry",2012," days like this i want to drive awaypack my bags and watch your shadow fadeyou chewed me up and spit me out like i was poison in your mouthyou took my light you drained me down but that was then and this is nownow look at methis is the part of me that youre never gonna ever take away from me nothis is the part of me that youre never gonna ever take away from me nothrow your sticks and stones throw your bombs and bones but youre not gonna break my soulthis is the part of me that youre never gonna ever take away from me noi just wanna throw my phone away find out who is really there for meyou ripped me off your love was cheap it was always tearing at the seams i fell deep you let me down but that was then and this is nownow look at methis is the part of me that youre never gonna ever take away from me nothis is the part of me that youre never gonna ever take away from me nothrow your sticks and stones throw your bombs and bones but youre not gonna break my soulthis is the part of me that youre never gonna ever take away from me nonow look at me im sparkling a firework a dancing flame you wont ever put me out again im glowing oh woahso you can keep the diamond ring it dont mean nothing anyway in fact you can keep everything yeah yeah yeah except for methis is the part of me that youre never gonna ever take away from me nothis is the part of me that youre never gonna ever take away from me nothrow your sticks and stones throw your bombs and bones but youre not gonna break my soulthis is the part of me that youre never gonna ever take away from me nothis is the part of me that youre never gonna ever take away from me nothis is the part of me that youre never gonna ever take away from me nothrow your sticks and stones throw your bombs and bones but youre not gonna break my soulthis is the part of me that youre never gonna ever take away from me no no no ",1
32,"young wild  free","snoop dogg and wiz khalifa featuring bruno mars",2012,"so what we get drunk so what we smoke weed were just having fun we dont care who sees so what we go out thats how its supposed to be living young and wild and free so what i keep em rolled up saggin my pants not caring what i show keep it real with my niggas keep it player for these hoes and look clean dont it washed it the other day watch how you lean on it give me some 501 jeans on it roll joints bigger than king kongs fingers and smoke them hoes down til they stingers you a class clown and if i skip for the day im with your bitch smokin grade a you know what its like im 17 again peach fuzz on my face lookin on the case tryna find a hella taste oh my god im on the chase chevy its gettin kinda heavy relevant sellin it dippin away time keeps slippin away zip in the safe flippin for pay tippin like im drippin in paint up front four blunts like khalifa put the weed in a j so what we get drunk so what we smoke weed were just having fun we dont care who sees so what we go out thats how its supposed to be living young and wild and free and i dont even care cause if me and my team in there theres gonna be some weed in the air tell em mac blowin everywhere we goin and now you knowin when i step right up get my lighter so i can light up thats how it should be done soon as you thinkin youre down find how to turn things around now things are lookin up from the ground up pound up this taylor gang so turn my sound up and mount up and do my thang now im chillin fresh outta class feelin like im on my own and i could probably own a building got my own car no job no children had a science project me and mac killed it thc mac dev hd3 high as me this is us we gon fuss and we gon fight and we gon roll and live off life so what we get drunk so what we smoke weed were just having fun we dont care who sees so what we go out thats how its supposed to be living young and wild and free yea roll one smoke one when you live like this youre supposed to party roll one smoke one and we all just having fun so we just roll one smoke one when you live like this youre supposed to party roll one smoke one and we all just having fun so what we get drunk so what we smoke weed were just having fun we dont care who sees so what we go out thats how its supposed to be living young and wild and free",3
33,"we are never ever getting back together","taylor swift",2012," i remember when we broke up the first time saying this is it ive had enough cause like we hadnt seen each other in a month when you said you needed space what then you come around again and say baby i miss you and i swear im gonna change trust me remember how that lasted for a day i say i hate you we break up you call me i love youooh we called it off again last night but ooh this time im telling you im telling youwe are never ever ever getting back together we are never ever ever getting back together you go talk to your friends talk to my friends talk to me but we are never ever ever ever getting back togetherlike everim really gonna miss you picking fights and me falling for it screaming that im right and you would hide away and find your peace of mind with some indie record thats much cooler than mineooh you called me up again tonight but ooh this time im telling you im telling youwe are never ever ever ever getting back together we are never ever ever ever getting back together you go talk to your friends talk to my friends talk to me but we are never ever ever ever getting back togetherooh yeah ooh yeah ooh yeah ooh yeah ooh yeah ooh yeah ooh yeah ooh yeah ooh yeah oh oh ohi used to think that we were forever ever and i used to say never say never uggg so he calls me up and hes like i still love you and im like i just i mean this is exhausting you know like we are never getting back together like evernowe are never ever ever getting back together we are never ever ever getting back together you go talk to your friends talk to my friends talk to me but we are never ever ever ever getting back togetherwe ooh getting back together ohhh we ooh getting back togetheryou go talk to your friends talk to my friends talk to me talk to me but we are never ever ever ever getting back together ",1
34,"as long as you love me","justin bieber featuring big sean",2012," as long as you love me as long as you love me as long as you love meverse 1 were under pressure seven billion people in the world trying to fit in keep it together smile on your face even though your heart is frowning but hey now you know girl we both know its a cruel world but i will take my chanceschorus as long as you love me we could be starving we could be homeless we could be broke as long as you love me ill be your platinum ill be your silver ill be your gold as long as you love love me love me as long as you love love me love meverse 2 ill be your soldier fighting every second of the day for your dreams girl ill be your whole world you can be my destinys child on a scene girl so dont stress dont cry we dont need no wings to fly just take my handbridge as you love me we could be starving we could be homeless we could be broke as long as you love me ill be your platinum ill be your silver ill be your gold as long as you love love me love me as long as you love love me love mebig sean yobig i dont know if this makes sense butyoure my hallelujah give me a time and placeill rendezvous itill fly you to it ill beat you there girl you know i got you us trust a couple of things i cant spell without you now we are on top of the world cause thats just how we do do used to tell me skys the limit now the skys is our point of view view man now we stepping out like whoa oh god cameras point and shoot ask me whats my best side i stand back and point at you you you the one that ive argue with i feel like i need a new girl to be bother with but the grass aint always greener on the other side its green where you water it so i knowwe got issues baby true true true but id rather work on this with you than go ahead and start with someone new as long as you love mechorus as long as you love me we could be starving we could be homeless we could be broke as long as you love me ill be your platinum ill be your silver ill be your gold as long as you love love me love me as long as you love love me love me ill be your silver ill be your gold love me love me love me as long as you love love me love me as long as you love love me love me as long as you love me ",1
35,"turn me on","david guetta featuring nicki minaj",2012," docta docta need you bad call me babe docta docta where you at give me something i need your love i need your love i need your loving you got that kind of medicine that keeps me cominmy body needs a hero come and save me something tells me you know how to save me ive been feeling real low oh i need you to come and rescue memake me come alive come on and turn me on touch me save my life come on and turn me on im too young to die come on and turn me on turn me on turn me on turn me on turn me onmake me come alive come on and turn me on touche me save my life come on and turn me on im too young to die come on and turn me on turn me on turn me on turn me on turn me onboy im achin make it right my temperature is super high if i scream if i cry its only cause i feel alivemy body needs a hero come and save me something tells me you know how to save me ive been feeling real low oh i need you to come and rescue memake me come alive come on and turn me on touch me save my life come on and turn me on im too young to die come on and turn me on turn me on turn me on turn me on turn me onmake me come alive come on and turn me on touche me save my life come on and turn me on im too young to die come on and turn me on turn me on turn me on turn me on turn me onyouve got my life in the palm of your hands palm of your hands come and save me now i know you can i know you candont let me die young i just want you to fire at my young i just want you to be my docta we can get it crackin chiropractor i i i ii know you can save me and make me feel alivemake me come alive come on and turn me on touch me save my life come on and turn me on im too young to die come on and turn me on turn me on turn me on turn me on turn me on ",1
36,"moves like jagger","maroon 5 featuring christina aguilera",2012," just shoot for the stars if it feels right and aim for my heart if you feel like it take me away and make it okay i swear ill behaveyou wanted control so we waited i put on a show now were naked you say im a kid my ego is big i dont give a shit and it goes like thistake me by the tongue and ill know you kiss me til youre drunk and ill show you all the moves like jagger ive got the moves like jagger ive got the moves like jaggeri dont need to try to control you look into my eyes and ill own you with them moves like jagger ive got the moves like jagger ive got the moves like jaggerbaby its hard when you feel like youre broken and scarred nothing feels right but when youre with me i make you believe that ive got the keyoh so get in the car we can ride it wherever you want get inside it and you want to steer but im shifting gear ill take it from here oh yeah yeah and it goes like thistake me by the tongue and ill know you kiss me til youre drunk and ill show you all the moves like jagger ive got the moves like jagger ive got the moves like jaggeri dont need to try to control you look into my eyes and ill own you with them moves like jagger ive got the moves like jagger ive got the moves like jaggeryou want to know how to make me smile take control own me just for the night but if i share my secret youre gonna have to keep it nobody else can see thisso watch and learn i wont show you twice head to toe ooh baby rub me right but if i share my secret youre gonna have to keep it nobody else can see thisand it goes like thistake me by the tongue and ill know you kiss me til youre drunk and ill show you all the moves like jagger ive got the moves like jagger ive got the moves like jaggeri dont need to try to control you look into my eyes and ill own you with them moves like jagger ive got the moves like jagger ive got the moves like jagger ",1
37,"blow me one last kiss","pink",2012," white knuckles and sweaty palms from hanging on too tight clenched shut jaw ive got another headache again tonighteyes on fire eyes on fire and they burn from all the tears ive been crying ive been crying ive been dying over youtie a knot in the rope trying to hold trying to hold but theres nothing to grab so i let goi think ive finally had enough i think i maybe think too much i think this might be it for us blow me one last kissyou think im just too serious i think youre full of shit my head is spinning so blow me one last kissjust when it cant get worse ive had a shit day youve had a shit day weve had a shit dayi think that lifes too short for this want back my ignorance and bliss i think ive had enough of this blow me one last kissi wont miss all of the fighting that we always did take it in i mean what i say when i say there is nothing leftno more sick whiskey dick no more battles from me youll be calling a trick cause you no longer sleepill dress nice ill look good ill go dancing alone i will laugh ill get drunk ill take somebody homei think ive finally had enough i think i maybe think too much i think this might be it for us blow me one last kissyou think im just too serious i think youre full of shit my head is spinning so blow me one last kissjust when it cant get worse ive had a shit day youve had a shit day weve had a shit dayi think that lifes too short for this want back my ignorance and bliss i think ive had enough of this blow me one last kissblow me one last kiss blow me one last kissi will do what i please anything that i want i will breathe i will breathe i wont worry at allyou will pay for your sins youll be sorry my dear all the lies all the whys will all be crystal cleari think ive finally had enough i think i maybe think too much i think this might be it for us blow me one last kissyou think im just too serious i think youre full of shit my head is spinning so blow me one last kissjust when it cant get worse ive had a shit day youve had a shit day weve had a shit dayi think that lifes too short for this want back my ignorance and bliss i think ive had enough of this blow me one last kissblow me one last kiss blow me one last kissjust when it cant get worse ive had a shit day youve had a shit day weve had a shit dayi think that lifes too short for this want back my ignorance and bliss i think ive had enough of this blow me one last kiss ",1
38,"good time","owl city and carly rae jepsen",2012," hmmmm woahohohoh its always a good time woahohohoh its always a good timewoke up on the right side of the bed whats up with this prince song inside my head hands up if youre down to get down tonight hmmmm cuz its always a good timeslept in all my clothes like i didnt care hopped into a cab take me anywhere im in if youre down to get down tonight cuz its always a good timegood morning and goodnight i wake up at twilight its gonna be alright we dont even have to try its always a good timewoahohohoh woahohohoh woahohohoh its always a good time woahohohoh woahohohoh we dont even have to try its always a good timefreaked out dropped my phone in the pool again checked out of my room hit the atm lets hang out if youre down to get down tonight cuz its always a good timegood morning and good night i wake up at twilight its gonna be alright we dont even have to try its always a good timewoahohohoh woahohohoh woahohohoh its always a good time woahohohoh woahohohoh we dont even have to try its always a good timewoahohohoh woahohohoh woahohohoh its always a good time woahohohoh woahohohoh we dont even have to try its always a good timedoesnt matter when its always a good time then doesnt matter where its always a good time theredoesnt matter when its always a good time thenits always a good time woahohohoh woahohohoh woahohohoh its always a good time woahohohoh woahohohoh we dont even have to try its always a good timewoahohohoh woahohohoh woahohohoh its always a good time woahohohoh woahohohoh we dont even have to try its always a good time ",1
39,"give your heart a break","demi lovato",2012," the day i first met you you told me youd never fall in love but now that i get you i know fear is what it really wasnow here we are so close yet so far havent i passed the test when will you realize baby im not like the restdont wanna break your heart wanna give your heart a break i know youre scared its wrong like you might make a mistake theres just one life to live and theres no time to waste to waste so let me give your heart a break let me give your heart a break let me give your heart a break oh yeah yeahon sunday you went home alone there were tears in your eyes i called your cell phone my love but you did not replythe world is ours if we want it we can take it if you just take my hand theres no turning back now baby try to understanddont wanna break your heart wanna give your heart a break i know youre scared its wrong like you might make a mistake theres just one life to live and theres no time to waste to waste so let me give your heart a break your heart a break let me give your heart a break your heart a break theres just so much you can take give your heart a break let me give your heart a break your heart a break oh yeah yeahwhen your lips are on my lips then our hearts beat as one but you slip out of my fingertips every time you run whoaohwhoaohohdont wanna break your heart wanna give your heart a break i know youre scared its wrong like you might make a mistake theres just one life to live and theres no time to waste to waste so let me give your heart a breakcause youve been hurt before i can see it in your eyes you try to smile it away some things you cant disguise dont wanna break your heart baby i can ease the ache the ache so let me give your heart a break your heart a break let me give your heart a break your heart a break theres just so much you can take your heart a break let me give your heart a break your heart a break oh yeah yeahthe day i first met you you told me youd never fall in love ",1
40,"niggas in paris","jayz and kanye west",2012," were going to skate to one song and one song only ball so hard muhfuckas wanna fine meso i hard muhfuckas wanna fine me but first niggas gotta find me whats fifty grand to a muhfucka like me can you please remind me ball so hard this shit crazy yall dont know that dont shit phase me the nets could go 082 and i look at you like this shit gravy ball so hard this shit weird we aint even pose to be here ball so hard since we here its only right that we be fair psycho im liable to be go michael take your pick jackson tyson jordan game 6 ball so hard got a broke clock rolleys that dont tick tok audemars thats losing time hidden behind all these big rocks ball so hard im shocked too im supposed to be locked up too you escaped what ive escaped youd be in paris getting fucked up too ball so hard lets get faded le meurice for like six days gold bottles scold models spillin eights on my sick js ball so hard bitch behave just might let you meet ye chi towns d rose im movin the nets to bkball so hard muhfuckas wanna fine me that shit cra that shit cra that shit cra ball so hard muhfuckas wanna fine me that shit cra that shit cra that shit crashe said ye can we get married at the mall i said look you need to crawl fore you ball come and meet me in the bathroom stall and show me why you deserve to have it all ball so hard that shit cra that shit cra aint it jay ball so hard what she order what she order fish fillet ball so hard your whip so cold whip so cold this old thing ball so hard act like youll ever be around motherfuckas like this again bougie girl grab her hand fuck that bitch she dont wanna dance excuse my french but im in france im just sayin prince williams aint do it right if you ask me cause if i was him i would have married kate and ashley whats gucci my nigga whats louie my killa whats drugs my deala whats that jacket margiela doctors say im the illest cause im suffering from realness got my niggas in paris and they going gorillas huhi dont even know what that means no one knows what it means but its provocative no its not it gets the people goingball so hard muhfuckas wanna fine me ball so hard muhfuckas wanna fine meyou are now watching the throne dont let me get in my zone dont let me get in my zone dont let me get in my zone these other niggaas is lyin actin like the summer aint minei got that hot bitch in my home you know how many hot bitches i own dont let me in my zone dont let me in my zone dont let me in my zone dont let me in my zone the stars is in the building they hands is to the ceiling i know im bout to kill it how you know i got that feeling you are now watching the throne dont let me into my zone dont let me into my zone im definitely in my zone zone zone zone zone zone zone zone zone ",1
41,"the one that got away","katy perry",2012," summer after high school when we first met we made out in your mustang to radiohead and on my 18th birthday we got matching tattoos used to steal your parents liquor and climb to the roof talk about our future like we had a clue never planned that one day id be losing youin another life i would be your girl we keep all our promises be us against the world and in other life i would make you stay so i dont have to say you were the one that got away the one that got awayi was june and you were my johnny cash never one without the other we made a pact sometimes when i miss you i put those records on whoa someone said you had your tattoo removed saw you downtown singing the blues its time to face the music im no longer your musein another life i would be your girl we keep all our promises be us against the world and in another life i would make you stay so i dont have to say you were the one that got away the one that got awaythe ooooone the ooooone the ooooone the one that got awayall this money cant buy me a time machine nooooo cant replace you with a million rings nooooo i shouldve told you what you meant to me whoa cause now i pay the pricein another life i would be your girl we keep all our promises be us against the world and in another life i would make you stay so i dont have to say you were the one that got away the one that got awaythe ooooone the ooooone the oooooneand in another life i would make you stay so i dont have to say you were the one that got away the one that got away ",1
42,"feel so close","calvin harris",2012," i feel so close to you right now its a force field i wear my heart upon my sleeve like a big deal your love pours down on me surround me like a waterfall and theres no stopping us right now i feel so close to you right nowi feel so close to you right now its a force field i wear my heart upon my sleeve like a big deal your love pours down on me surround me like a waterfall and theres no stopping us right now i feel so close to you right nowand theres no stopping us right now and theres no stopping us right now and theres no stopping us right now i feel so close to you right now ",1
43,"someone like you","adele",2012," i heard that youre settled down that you found a girl and youre married now i heard that your dreams came true guess she gave you things i didnt give to youold friend why are you so shy aint like you to hold back or hide from the lighti hate to turn up out of the blue uninvited but i couldnt stay away i couldnt fight it i had hoped youd see my face and that youd be reminded that for me it isnt over    meaning  byjamesg   editor    the songs cowriter dan wilson talked about writing the track with adele in an exclusive metrolyrics video interview    see all   never mind ill find someone like you i wish nothing but the best for you two dont forget me i beg i remember you said sometimes it lasts in love but sometimes it hurts instead sometimes it lasts in love but sometimes it hurts insteadyou know how the time flies only yesterday was the time of our lives we were born and raised in a summer haze bound by the surprise of our glory daysi hate to turn up out of the blue uninvited but i couldnt stay away i couldnt fight it i had hoped youd see my face and that youd be reminded that for me it isnt overnever mind ill find someone like you i wish nothing but the best for you two dont forget me i beg i remember you said sometimes it lasts in love but sometimes it hurts instead yeahnothing compares no worries or cares regrets and mistakes theyre memories made who would have known how bittersweet this would tastenever mind ill find someone like you i wish nothing but the best for you dont forget me i beg i remember you said sometimes it lasts in love but sometimes it hurts insteadnever mind ill find someone like you i wish nothing but the best for you two dont forget me i beg i remember you said sometimes it lasts in love but sometimes it hurts instead sometimes it lasts in love but sometimes it hurts instead ",1
44,"scream","usher",2012," ursher baby yeah we did it again and this time ima make you screamusher yeah mani see you over there so hypnotic thinking bout what i do to that body i get you like ooh baby baby ooh baby baby ahooh baby baby ooh baby baby got no drink in my hand but im wasted getting drunk of the thought of you naked i get you like ooh baby baby ooh baby baby ahooh baby baby ooh baby babyand i aint trying to fight it to fight it but youre so magnetic magnetic got one life just live it just live it now relax and get on your backif you wanna scream yeah let me know and ill take you there get you going like ahooh baby baby ooh baby baby ahooh baby baby ooh baby if you wanna turn right hope youre ready to go all night get you going like ahooh baby baby ooh baby baby ahooh baby baby ooh baby if you wanna screamyeah come onkill the lights shut em off youre electric devil eyes telling me come and get it i have you like ooh baby baby ooh baby baby ahooh baby baby ooh baby baby girl tonight youre the prey im the hunter take you here take you there take you wonder imagine me whispering in your ear then i wanna take off your clothes and put something on yaand i aint trying to fight it to fight it but youre so magnetic magnetic got one life just live it just live it now relax and get on your backif you wanna scream yeah let me know and ill take you there get you going like ahooh baby baby ooh baby baby ahooh baby baby ooh baby if you wanna turn right hope youre ready to go all night get you going like ahooh baby baby ooh baby baby ahooh baby baby ooh baby if you wanna screamout louder scream louder louder louder louder hey tonight i scream im on needif you wanna scream yeah let me know and ill take you there get you going like ahooh baby baby ooh baby baby ahooh baby baby ooh baby if you wanna turn right hope youre ready to go all night get you going like ahooh baby baby ooh baby baby ahooh baby baby ooh baby if you wanna scream ",1
45,"rack city","tyga",2012," rack rack city bitch rack rack rack city bitch rack rack rack rack city bitch mustard on the beat horack city bitch rack rack city bitch ten ten ten twenty on yo titties bitch 100 deep vip no guest list ttraw you dont know who you fuckin with got my other bitch fuckin with my other bitch fuckin all night nigga we aint celibate niggas say im too dope i aint sellin it but im fresher than a motherfuckin peppermint gold lettermans last ling killin shit yyoung money young money yeah we gettin rich got ya grandma on my dick haha girl you know what it israck city bitch rack rack city bitch rack city bitch rack rack city bitch rack city bitch rack rack city bitch ten ten ten twenties and them fifties bitch rack city bitch rack rack city bitch rack city bitch rack rack city bitch rack city bitch rack rack city bitch ten ten ten twenties and them fifties bitchim a muthafuckin star star look at the paint on the car car too much rim make the ride too hard tell that bitch hop out walk the boulevard i need my money pronto get it in the morning like alonzo rondo green got cheese like a nacho if you dont got no ass bitch wear a poncho head honcho got my seat back nigga staring at me dont get bapped got my shirt off the club too packed its too turnt going up like gas goddamn pulled out my rags mike mike jackson nigga im bad rattattattat tatted up on my back all the hoes love me you know what it israck city bitch rack rack city bitch rack city bitch rack rack city bitch rack city bitch rack rack city bitch ten ten ten twenties and them fifties bitch rack city bitch rack rack city bitch rack city bitch rack rack city bitch rack city bitch rack rack city bitch ten ten ten twenties and them fifties bitchthrowing hundreds hundreds hundreds hundreds throwing hundreds hundreds rack city bitch rack rack city bitch hundreds hundreds throwing hundreds hundreds hundreds hundreds rack city bitch rack rack city bitchrack city bitch rack rack city bitch rack city bitch rack rack city bitch rack city bitch rack rack city bitch ten ten ten twenties and them fifties bitch rack city bitch rack rack city bitch rack city bitch rack rack city bitch rack city bitch rack rack city bitch ten ten ten twenties and them fifties bitchthrowing hundreds hundreds hundreds hundreds throwing hundreds hundreds rack city bitch rack rack city bitch hundreds hundreds throwing hundreds hundreds hundreds hundreds rack city bitch rack rack city bitchrack city bitch rack rack city bitchrack city bitch rack rack city bitch ",1
46,"domino","jessie j",2012," im feeling sexy and free like glitters raining on me your like a shot of pure gold i think im bout to explode i can taste the tension like a cloud of smoke in the air now im breathing like im running cause youre taking me there dont you know you spin me out of controlooh ooh ooh ooh we can do this all night damn this love is skin tight baby come on ooh ooh ooh ooh pull me like a bass drum sparkin up a rhythm baby come on ooh ooh ooh oohrock my world into the sunlight make this dream the best ive ever known dirty dancing in the moonlight take me down like im a domino every second is a highlight when we touch dont ever let me go dirty dancing in the moonlight take me down like im a dominoyou got me losing my mind my heart beats out of time im seeing hollywood stars you strum me like a guitar i can taste the tension like a cloud of smoke in the air now im breathing like im running cause your taking me there dont you know you spin me out of controlooh ooh ooh ooh we can do this all night damn this love is skin tight baby come on ooh ooh ooh ooh pull me like a bass drum sparkin up a rhythm baby come on ooh ooh ooh oohrock my world into the sunlight make this dream the best ive ever known dirty dancing in the moonlight take me down like im a domino every second is a highlight when we touch dont ever let me go dirty dancing in the moonlight take me down like im a dominoooh baby baby got me feelin so right ooh baby baby dancin in the moonlightooh baby baby got me feelin so right ooh baby baby dancin in the moonlightooh baby baby got me feelin so right ooh baby baby dancin in the moonlightooh baby baby got me feelin so right ooh baby baby dancin in the moonlightooh ooh oohrock my world into the sunlight make this dream the best ive ever known dirty dancing in the moonlight take me down like im a domino every second is a highlight when we touch dont ever let me go dirty dancing in the moonlight take me down like im a domino ",1
47,"gangnam style","psy",2012," oppa gangnam style gangnam stylenajelu dasun ono igajagi yoja kopi hanjanui yeoyureul aneun pumgyeok inneun yeoja bami om ya shimjangi bdeugeowojineun yeoja geureon banjeon inneun yeojananeun zono hai najeneun loma kuftasano oncho zono hao keopi sikgido jeone woyshyat ttaerineun zono hai bami omyeon shimjangi oeojyeobeorineun zono hai oncho zono hai areumdawo sarangseureowo geurae neo hey geurae baro neo heyareumdawo sarangseureowo geurae neo hey geurae baro neo heyjigeumbuteo gal dekkaji gabolkkaoppa gangnam style gangnam styleop op op op oppa gangnam style gangnam styleop op op op oppa gangnam styleeh sexy lady op op op op oppa gangnam styleeh sexy lady op op op op eheheh ehehehjeongsukhae boijiman nol ttaen noneun yeoja ittaeda sipeumyeon mukkeotdeon meori puneun yeoja garyeotjiman wenmanhan nochulboda yahan yeoja geureon gamgakjeogin yeojananeun sanai jeomjanha boijiman nol ttaen noneun sanai ttaega doemyeon wanjeon michyeobeorineun sanai geunyukboda sasangi ultungbultunghan sanai geureon sanaiareumdawo sarangseureowo geurae neo hey geurae baro neo heyareumdawo sarangseureowo geurae neo hey geurae baro neo heyjigeumbuteo gal dekkaji gabolkkaoppa gangnam style gangnam styleop op op op oppa gangnam style gangnam styleop op op op oppa gangnam styleeh sexy lady op op op op oppa gangnam styleeh sexy lady op op op op eheheh ehehehttwineun nom geu wie naneun nom baby baby naneun mwol jom aneun nomttwineun nom geu wie naneun nom baby baby naneun mwol jom aneun nom you know what im sayingoppa gangnam style eheheh eheheh eh sexy lady op op op op oppa gangnam styleeh sexy lady op op op op eheheh ehehehoppa gangnam styleenglish translationoppa is gangnam style gangnam stylea girl who is warm and humanle during the day a classy girl who know how to enjoy the freedom of a cup of coffee a girl whose heart gets hotter when night comes a girl with that kind of twistim a guy a guy who is as warm as you during the day a guy who oneshots his coffee before it even cools down a guy whose heart bursts when night comes that kind of guybeautiful loveable yes you hey yes you hey beautiful loveable yes you hey yes you hey now lets go until the endoppa is gangnam style gangnam style oppa is gangnam style gangnam style oppa is gangnam styleeh sexy lady oppa is gangnam style eh sexy lady oh oh oh oha girl who looks quiet but plays when she plays a girl who puts her hair down when the right time comes a girl who covers herself but is more sexy than a girl who bares it all a sensible girl like thatim a guy a guy who seems calm but plays when he plays a guy who goes completely crazy when the right time comes a guy who has bulging ideas rather than muscles that kind of guybeautiful loveable yes you hey yes you hey beautiful loveable yes you hey yes you hey now lets go until the endoppa is gangnam style gangnam style oppa is gangnam style gangnam style oppa is gangnam styleeh sexy lady oppa is gangnam style eh sexy lady oh oh oh ohon top of the running man is the flying man baby baby im a man who knows a thing or two on top of the running man is the flying man baby baby im a man who knows a thing or twoyou know what im saying oppa is gangnam styleeh sexy lady oppa is gangnam style eh sexy lady oh oh oh oh ",1
48,"international love","pitbull featuring chris brown",2012," you cant catch me boy i am overseas at about a hundred gs for sure dont test me boy dont test me boy cause i rap with the best fo sho three oh five to the death of me cremate my body let the ocean have whats left of me but for now forget about that blow the whistle baby youre the refereeyou put it down like new york city i never sleep wild like los angeles my fantasy hotter than miami i feel the heat oh oh oh oh its international love oh oh oh oh its international lovei dont play football but ive touched down everywhere everywhere everywhere i dont play baseball but ive hit a home run everywhere everywhere ive been to countries and cities i cant pronounce and the places on the globe i didnt know existed in romania she pulled me to the side and told me pit you can have me and my sister in lebanon yeah the women the bomb and in greece you guessed it the women are sweet been all around the world but i aint gonna lie theres nothing like miamis heatyou put it down like new york city i never sleep wild like los angeles my fantasy hotter than miami i feel the heat oh oh oh oh its international love oh oh oh oh its international lovedown in dr theyre looking for visas i aint taking credit cards if you know what i mean en cuba la cosa esta dura but the woman get down if you know what i mean en colombia the women got everything done but theyre some of the most beautiful women ive ever seen in brazil theyre freaky with big ol boobs and their thongs blue yellow and green en la tengo la mexicana en new york tengo la boricua besitos para todas las mujeres en venezuela muah y en miami tengo cualquierayou put it down like new york city i never sleep wild like los angeles my fantasy hotter than miami i feel the heat oh oh oh oh its international love oh oh oh oh its international lovetheres not a place that your love dont affect me baby so dont ever change i crossed the globe when im with you baby heyyou put it down like new york city i never sleep wild like los angeles my fantasy hotter than miami i feel the heat oh oh oh oh its international love oh oh oh oh its international loveyou put it down like new york city i never sleep wild like los angeles my fantasy hotter than miami i feel the heat oh oh oh oh its international love oh oh oh oh its international loveyoure international so international youre international so international youre international so international whoa whoa oh whoa whoa oh international love whoa whoa oh whoa whoa oh international love ",1
49,"home","phillip phillips",2012," hold on to me as we go as we roll down this unfamiliar road and although this wave is stringing us along just know youre not alone cause im going to make this place your homesettle down itll all be clear dont pay no mind to the demons they fill you with fear the trouble it might drag you down if you get lost you can always be foundjust know youre not alone cause im going to make this place your homesettle down itll all be clear dont pay no mind to the demons they fill you with fear the trouble it might drag you down if you get lost you can always be foundjust know youre not alone cause im going to make this place your homeooooooooooooooo oooooooo ooooooooooooooo oooooooo ooooooooooooooo oooooooo ooooooooooooooo ooooooooaaaaaaaohohohoh aaaaohohhhhh aaaaaaaohohohoh aaaaohohhhhh aaaaaaaohohohoh aaaaohohhhhh aaaaaaaohohohoh aaaaohohhhhhaaaaaaaohohohoh aaaaohohhhhh aaaaaaaohohohoh aaaaohohhhhh aaaaaaaohohohoh aaaaohohhhhh aaaaaaaohohohoh aaaaohohhhhhsettle down itll all be clear dont pay no mind to the demons they fill you with fear the trouble it might drag you down if you get lost you can always be foundjust know youre not alone cause im going to make this place your homeaaaaaaaohohohoh aaaaohohhhhh aaaaaaaohohohoh aaaaohohhhhh aaaaaaaohohohoh aaaaohohhhhh aaaaaaaohohohoh aaaaohohhhhhaaaaaaaohohohoh aaaaohohhhhh aaaaaaaohohohoh aaaaohohhhhh aaaaaaaohohohoh aaaaohohhhhh aaaaaaaohohohoh aaaaohohhhhhaaaaaaaohohohoh aaaaohohhhhh aaaaaaaohohohoh aaaaohohhhhh aaaaaaaohohohoh aaaaohohhhhh aaaaaaaohohohoh aaaaohohhhhh ",1
50,"without you","david guetta featuring usher",2012," i cant win i cant reign i will never win this game without you without you i am lost i am vain i will never be the same without you without youi wont run i wont fly i will never make it by without you without you i cant rest i cant fight all i need is you and i without you without youoh oh oh you you you without you you you without youcant erase so ill take blame but i cant accept that were estranged without you without you i cant quit now this cant be right i cant take one more sleepless night without you without you i wont soar i wont climb if youre not here im paralyzed without you without you i cant look im so blind i lost my heart i lost my mind without you without youoh oh oh you you you without you you you without youi am lost i am vain i will never be the same without you without you without you ",1
51,"ass back home","gym class heroes featuring neon hitch",2012," oh its so sexy yoi dont know where youre going or when youre coming home i left the keys under the mat to our front door for one more chance to hold you close i dont know where youre going just get your ass back homewe both knew this type of life didnt come with instructions so im trying to do my best to make something out of nothing and sometimes it gets downright shitty in fact when you call and i dont even know what city im in at or what day of the week in the middle of the month in a year i dont recall its like my lifes on repeat and the last time we spoke i told you i wouldnt be long that was last november now decembers almost gone id apologize but i dont realize what im doing wrongi dont know where youre going or when youre coming home i left the keys under the mat to our front door for one more chance to hold you close i dont know where youre going just get your ass back homeand youve been nothing but amazing and i never take that for granted half of these birds would have flew the coop but you you truly understand it and the fact you stood beside me every time you heard some bogusness you deserve a standing o cause theyd a just been over it let em talk let em talk let em talk let em talk like we dont hear what they saying let em walk let em walk let em walk let em walk well just drive by and keep waving cause you and i above all that just let them wallow in it now they all choked up yuck cause they be swallowing iti dont know where youre going or when youre coming home i left the keys under the mat to our front door for one more chance to hold you close i dont know where youre going just get your ass back homeno one holds me down like you do sweetheart you keep doing that i keep doing this well be alright in the end trust that we put the us in trust baby lets goi dont care what youre after as long as im the one no i dont care why youre leaving youll miss me when youre gonei dont know where youre going or when youre coming home i left the keys under the mat to our front door for one more chance to hold you close i dont know where youre going just get your ass back home ",1
52,"wanted","hunter hayes",2012," you know id fall apart without you i dont know how you do what you do cause everything that dont make sense about me makes sense when im with youlike everything thats green girl i need you but its more than one and one makes two put aside the math and the logic of it you gotta know youre wanted toocause i wanna wrap you up wanna kiss your lips i wanna make you feel wanted and i wanna call you mine wanna hold your hand forever never let you forget it yeah i wanna make you feel wantedanyone can tell you youre pretty and you get that all the time i know you do but your beautys deeper than the make up and i wanna show you what i see tonightwhen i wrap you up when i kiss your lips i wanna make you feel wanted and i wanna call you mine wanna hold your hand forever never let you forget it cause baby i wanna make you feel wantedas good as you make me feel i i wanna make you feel better better than your fairy tales better than your best dreams youre more than everything i need youre all i ever wanted all i ever wantedand i just wanna wrap you up wanna kiss your lips i wanna make you feel wanted and i wanna call you mine wanna hold your hand forever and never let you forget it yeah i wanna make you feel wanted baby i wanna make you feel wantedyoull always be wanted ",1
53,"drunk on you","luke bryan",2012," cottonwood fallin like snow in july sunset riverside four wheel drive and a tail light circle roll down the windows turn it on up pour a little crown in a dixie cup get the party startedgirl you make my speakers go boom boom dancin on the tailgate in the full moon that kinda thing makes a man go mm mm youre lookin so good in whats left of those blue jeans drip of honey on the money make it gotta be the best buzz im ever gonna find hey im a little drunk on you and high on summertimeif you aint a ten youre a nine point nine tippin n spillin that home made wine on your tied up tshirt every little kiss is drivin me wild thrown little cherry bombs into my fire good god all mightygirl you make my speakers go boom boom dancin on the tailgate in a full moon that kinda thing makes a man go mm mmm youre lookin so good in whats left of those blue jeans drip of honey on the money make it gotta be the best buzz im ever gonna find hey im a little drunk on you and high on summertimeso lets slip on out where its a little bit darker and when it gets a little bit hotter well take it off on out in the watergirl you make my speakers go boom boom dancin on the tailgate in a full moon that kinda thing makes a man go mm mm youre lookin so good in whats left of those blue jeans drip of honey on the money make it gotta be the best buzz im ever gonna find hey im a little drunk on you and high on summertimeyeah im a little drunk on you ",1
54,"no lie","2 chainz featuring drake",2012," i am smoking on that gas life should be on cinemax movie bought my boo bigger tits and a bigger ass who hes not i i smoke strong that popeye louie vs in my archives black diamonds apartheid bread up and my top down on the block with a block out hit ya ass with that block out dope enough to go in yo nostrils i take ya girl and kidnap her beat her to my mattress a skeleton in my closet its probably dead ass rappers its probably pussy ass niggas dont try me i pull that trigga got ya car note in my car and your rent in my swisha that pussy so good i miss ya head games so vicious and all i get is cheese like im taking picturesi say fuck you less im with ya if i take you out of the picture i know real niggas wont miss ya no lie no lie no lieeeieei no lie no lie no lieeeieei real niggas say word ye aint never told no lie ye aint never told no lie real niggas say word ye aint never told no lie ye aint never told no lie real niggas stay true ye aint never told no lie ye aint never told no lie thats a thing i dont do nah i just do it for the niggas that try to see a million fore they die what up2 chainz and champagne you want true thats true enough forbes list like every year my office is my tour bus she came through she brought food she got fucked she knew whats up she think im the realest out and i say damn that makes two of us aww that look like whats her name chances are its whats her name chances are if she was acting up then i fucked her once and never fucked again she could have a grammy i still treat her ass like a nominee just need to know what that pussy like so one time its fine with me young ass an intern with money like i built the shit streets talking that confirm go ask them who just catch it stay keeping my cup full so im extra charged like a state tax me an chainz go way back we dont talk shit we just say facts just know iti say fuck you less im with ya if i take you out of the picture i know real niggas wont miss ya no lie no lie no lieeeieei no lie no lie no lieeeieei real niggas say word ye aint never told no lie ye aint never told no lie real niggas say word ye aint never told no lie ye aint never told no lie real niggas stay true ye aint never told no lie ye aint never told no lie thats a thing i dont do nah i just do it for the niggas that try to see a million fore they die what upname a nigga that want some ill out rap his ass ill trap his ass put his ass in a plastic bag with his trash ass take em out bring em in them whole things 2pac without a nose ring thug life one wife a mistress and a girlfriend i did what they say i wouldnt went where they say i couldnt true ysl belt buckle yall niggas sure is looking yall niggas sure is lucky 2 chainz on my rugby left hand on that steering wheel right hand on that pussyi say fuck you less im with ya if i take you out of the picture i know real niggas wont miss ya no lie no lie no lieeeieei no lie no lie no lieeeieei real niggas say word ye aint never told no lie ye aint never told no lie real niggas say word ye aint never told no lie ye aint never told no lie real niggas stay true ye aint never told no lie ye aint never told no lie thats a thing i dont do nah i just do it for the niggas that try to see a million fore they die what up ",1
55,"want u back","cher lloyd",2012," hey boy you never had much game so i needed to upgrade so i went and walked awaywayway now i seen you been hanging out with that other girl in town looking like a pair of clownsclownsclownsremember all the things that you and i did first and now youre doing them with her remember all the things that you and i did first you got me got me like this and now youre taking her to every restaurant and everywhere we went come on and now youre taking her to every restaurant you got me got me like thisboy you can say anything you wanna i dont give a sh no one else can have you i want you back i want you back want want you want you back i broke it off thinking youd be crying now i feel like sh looking at you flying i want you back i want you back want want you want you backplease this aint even jealousy she aint got a thing on me tryna rock them ugly jeansjeansjeans you clearly didnt think this through if what ive been told is true youll be crawling back like boohoohooremember all the things that you and i did first and now youre doing them with her remember all the things that you and i did first you got me got me like this like this and now youre taking her to every restaurant and everywhere we went come on and now youre taking her to every restaurant you got me got me like thisboy you can say anything you wanna i dont give a sh no one else can have you i want you back i want you back want want you want you back i broke it off thinking youd be crying now i feel like sh looking at you flying i want you back i want you back want want you want you backoooh oooh i thought youd still be mine when i kissed you goodbye uhoh uhoh oooh oooh and you might be with her but i still had you first uhoh uhohyo remember all the things that you and i did first and now youre doing them with her remember all the things that you and i did first you got me got me like thisboy you can say anything you wanna i dont give a sh no one else can have you i want you back i want you back want want you want you back i broke it off thinking youd be crying now i feel like sh looking at you flying i want you back i want you back want want you want you backdoes tis sound like a hellicopter brrrrrrrrrrrr ",1
56,"dont wake me up","chris brown",2012," dearly beloved if this love only exists in my dreams dont wake me uptoo much light in this window dont wake me up only coffee no sugar inside my cup if i wake and youre here still gimme a kiss i wasnt finished dreamin about your lipsdont wake me up up up up up up dont wake me up up up up up up dont wake me up up up up up up dont wake me up dont wake me dont wake me up dont wake me up dont wake me up yeah dont wake me up up up up up up dont wake me up dont wake meso much life in the city you wont believe been awake for some days now no time to sleep if your heart is a pillow this loves the bed tell me what is the music inside my headdont wake me up up up up up up dont wake me up up up up up up dont wake me up up up up up up dont wake me up dont wake me dont wake me up dont wake me up dont wake me up yeah dont wake me up up up up up up dont wake me up dont wake mei dont wanna fall fall fall fall asleep no i dont wanna fall unless im falling for you i dont wanna fall fall fall fall asleep no i dont wanna fall unless im falling for youdont wake me up dont wake me up dont wake me up yeah dont wake me up up up up up up dont wake me up dont wake me ",1
57,"dance a","big sean featuring nicki minaj",2012,"ass ass ass ass ass ass ass ass ass ass ass ass ass ass ass stop now make that motherfucker hammer time like go stupid go stupid go stupid do it boy do it boy boy boy boy wobbledy wobbledy wa wobble wobble im stackin my paper my wallet look like a bible i got girlies half naked that shit look like the grotto how your waist anorexic and then your ass is colossal drop that ass make it boomerang take my belt off bitch im pootie tang tippy tow tippy tay you gonna get a tip today fuck that you gonna get some dick today i walk in with my crew and im breakin their necks im lookin all good im makin her wet they pay me respect they pay me in checks and if she look good she pay me in sex do it bounce that ass its the roundest you the best you deserve a crown bitch right on that ass now make that motherfucker hammer time like go stupid go stupid go stupid do it boy do it boi boy boy boy drop it drop it you got everybody in here oh my goshin bad bitches im your dada white girls go gaga when the sticks out they bust it open like the yayas a pinata bitch look down tell me whats up girl you talk too much shut up i got that mad dick you know it always nut up and it got an attitude no wonder why i stuck up pop it then back up your gymnastics got me ecstatic your whole crew look like a pageant im droppin cash tip and some taxes woop do it girl you got me about to pass out im wonderin if cupid gave you ass shots because im in love with that ass now make that motherfucker hammer time like go stupid go stupid go stupid do it boy do it boy boy boy boy whoa white girls black girls tall girls fat girls shake that ass go shake that ass go shake that ass go shake that ass go go short girls small girls skinny girls all girls shake that ass go shake that ass go shake that ass go shake that ass go and i want all of that ass now make that motherfucker hammer time like go stupid go stupid go stupid do it boy do it boy boy boy boy",3
58,"springsteen","eric church",2012," to this day when i hear that song i see you standin there all night long discount shades store bought tan flip flops and cutoff jeanssomewhere between that setting sun im on fire and born to run you looked at me and i was done and were were just getting startedi was singin to you you were singin to me i was so alive never been more free fired up my daddys lighter and we sang ohstayed there til they forced us out and took the long way to your house i can still hear the sound of you sayin dont gowhen i think about you i think about seventeen i think about my old jeep i think about the stars in the sky funny how a melody sounds like a memory like the soundtrack to a july saturday night springsteeni bumped into you by happenstance you probably wouldnt even know who i am but if i whispered your name i bet thered still be a sparkback when i was gasoline and this old tattoo had brand new ink and we didnt care what your mom would think about your name on my armbaby is it spring or is it summer the guitar sound or the beat of that drummer you hear sometimes late at night on your radioeven though youre a million miles away when you hear born in the usa you relive those glory days so long agowhen you think about me do you think about seventeen do you think about my old jeep think about the stars in the sky funny how a melody sounds like a memory like a soundtrack to a july saturday night springsteen springsteenwhoaohohoh whoaohohoh whoaohohohfunny how a melody sounds like a memory like a soundtrack to a july saturday night springsteen springsteen whoa springsteenwhoaohohoh whoaohohoh whoaohohohwhoaohohoh whoaohohoh whoaohohohwhoaohohoh whoaohohoh whoaohohohwhoaohohoh whoaohohoh whoaohohoh ",1
59,"brokenhearted","karmin",2012,"this is more than a typical kinda thing  felt the jolts in my bones where you were touching me oh oh  didnt want to take it slow  in a daze going crazy i can barely think  youre replaying in my brain find it hard to sleep oh oh  waiting for my phone to blow  now im here in a sticky situation  got a little trouble yep and now im pacin  five minutes ten minutes now its been an hour  dont wanna think too hard but im sour  oh oh i cant seem to let you go  see ive been waiting all day  for you to call me baby  so lets get up lets get on it  dont you leave me broken hearted tonight  come on thats right  honest baby ill do  anything you want to  so can we finish what we started  dont you leave me broken hearted tonight  come on thats right  uh cheerio  whats the time such a crime  not a single word sipping on a patron  just to calm my nerves oh oh  poppin bottles by the phone  oh yeah  add me up pat me down turn me inside out  thats enough hold me up  maybe im in doubt oh oh  now dont even think you know no no  see ive been waiting all day  for you to call me baby  so lets get up lets get on it  dont you leave me broken hearted tonight  come on thats right  honest baby ill do  anything you want to  so can we finish what we started  dont you leave me broken hearted tonight  come on thats right  uh cheerio  anything you wanna do ill be on it too  everything you say its like a gold with a view  business on the front party in the back  maybe i was wrong was the outfit really wack  this kinda thing doesnt happen usually  im on the opposite side of it truthfully  i know you want it so come and get it  uh cheerio  see ive been waiting all day  for you to call me baby  so lets get up lets get on it  dont you leave me broken hearted tonight  come on thats right  honest baby ill do  anything you want to  so can we finish what we started  dont you leave me broken hearted tonight  come on thats right  uh cheerio  when you gonna call  dont leave me broken hearted  ive been waiting up  lets finish what we started oh oh  i cant seem to let you go  come on thats right",3
60,"not over you","gavin degraw",2012," dreams thats where i have to go to see your beautiful face anymore i stare at a picture of you and listen to the radio hope hope theres a conversation where we both admit we had it good but until then its alienation i know that much is understood and i realizeif you ask me how im doin i would say im doin just fine i would lie and say that youre not on my mind but i go out and i sit down at a table set for two and finally im forced to face the truth no matter what i say im not over youdamn damn girl you do it well and i thought you were innocent took this heart and put it through hell and still your magnificent i im a boomerang doesnt matter how you throw me turn around and im back in the game even better than the old me but im not even close without youif you ask me how im doin i would say im doin just fine i would lie and say that youre not on my mind but i go out and i sit down at a table set for two and finally im forced to face the truth no matter what i say im not over youand if i had the chance to renew you know there isnt a thing i wouldnt do i could get back on the right track but only if youd be convinced so until thenif you ask me how im doin i would say im doin just fine i would lie and say that youre not on my mind but i go out and i sit down at a table set for two and finally im forced to face the truth no matter what i say im not over you not over you not over you not over you ",1
61,"stereo hearts","gym class heroes featuring adam levine",2012," my hearts a stereo it beats for you so listen close hear my thoughts in every notemake me your radio turn me up when you feel low this melody was meant for you just sing along to my stereoif i was just another dusty record on the shelf would you blow me off and play me like everybody else if i ask you to scratch my back could you manage that like it read well check it travie i can handle that furthermore i apologize for any skipping tracks its just the last girl that played me left a couple cracks i used to used to used to used to now im over that cause holding grudges over love is ancient artifactsif i could only find a note to make you understand id sing it softly in your ear and grab you by the hand keep it stuck inside your head like your favorite tune and know my hearts a stereo that only plays for youmy hearts a stereo it beats for you so listen close hear my thoughts in every notemake me your radio turn me up when you feel low this melody was meant for you just sing along to my stereooh oh oh oh oh oh oh oh to my stereo oh oh oh oh so sing along to my stereo lets goif i was an oldschool fifty pound boom box would you hold me on your shoulder wherever you walk would you turn my volume up in front of the cops and crank it higher every time they told you to stop and all i ask is that you dont get mad at me when you have to purchase mad d batteries appreciate every mix tape your friends make you never know we come and go like were on the interstatei think finally found a note to make you understand if you can hit it sing along and take me by the hand keep myself inside your head like your favorite tune and know my hearts a stereo that only plays for youmy hearts a stereo it beats for you so listen close hear my thoughts in every notemake me your radio turn me up when you feel low this melody was meant for you just sing along to my stereooh oh oh oh oh oh oh oh to my stereo oh oh oh oh so sing along to my stereo lets goi only pray you never leave me behind never leave me because good music can be so hard to find so hard to find i take your hand and pull it closer to mine thought love was dead but now youre changing my mindmy hearts a stereo it beats for you so listen close hear my thoughts in every notemake me your radio turn me up when you feel low this melody was meant for you just sing along to my stereooh oh oh oh oh oh oh oh to my stereo oh oh oh oh so sing along to my stereo ",1
62,"back in time","pitbull",2012," lets excuse me baby go yeah you baby back ooh you groovy baby in lets make a movie baby time excuse me baby lets yeah you baby go ooh you groovy baby back in lets make a movie baby timeits mr worldwide agent a reporting live from cape canaveral mk big syphe lets rideback back in in timebaby oh baby oh baby my sweet baby youre the onemiami equals black mask black clothes with a little bit of rope to tie i flipped it black suits white shirts black glasses with a matching tie like agent j or agent k and i wish the whole world would ok im tryin make a billion out of 15 cents understand understood im a gogetter mover shaker culture bury a boarder recordbreaker wont cha give credit where credit is due dont cha know that i dont give a number two yall just halfway thoughts not worth the back of my mind but to understand the future we have to go back in timebaby oh baby oh baby my sweet baby youre the onei got the globe yeah in the palm of my hand wherever i spin it thats where i land lets save the world men in black i know you understand stop the movement they can try if they want to ignorar lo latino si they can try if they want to what pit solves is a bit raw took like jigsaw and built it all despite a big loss id bet it all and fought blind against the world ray charles yall just halfway thoughts not worth the back of my mind but to understand the future we have to go back in timebaby oh baby oh baby my sweet baby youre the onelets excuse me baby go yeah you baby back ooh you groovy baby in lets make a movie baby time excuse me baby lets yeah you baby go ooh you groovy baby back in lets make a movie baby timebaby oh baby oh baby my sweet baby youre the one ",1
63,"work out","j cole",2012," i wanna see you work out for me work out for meay weve got a good thing dont know if imma see you again but is that a good thing cause girl i cant be your man no maam i know whats on your brain you probably hope it never would end like is it the real thing or is it just a one night stand well thenlet me see you get high then go low now girl wont you drop that thing down to the floor im here for one night how far will you go i wanna see you work out for me work out for mehigh then go low now girl wont you drop that thing down to the floor im here for one night how far will you go i wanna see you work out for me work out for meshe like them boys with the big old chains ride around town in the big old range i knew her when i rocked big old jeans now the little nigga doing big old thangs would you look at that i came back for her just to give it to ya like you asked for it man that thing in them jeans too fat for her rebounds so i caught her off the backboard i told her baby girl come here know i run the town even when i aint from there and i brag hardly but just to show up at this party i made what your nigga make in one year thats unfair but so is life take a chance roll the dice money cant buy you love cause its overpriced dont overthink just hope its right im only here for the nightay weve got a good thing dont know if imma see you again but is that a good thing cause girl i cant be your man no maam i know whats on your brain you probably hope it never would end like is it the real thing or is it just a one night stand well thenlet me see you get high then go low now girl wont you drop that thing down to the floor im here for one night how far will you go i wanna see you work out for me work out for mehigh then go low now girl wont you drop that thing down to the floor im here for one night how far will you go i wanna see you work out for me work out for mecarolina blue kicks fresh on the scene hottest nigga on the block damn girl youre mean they be starting shit but its your world on my martin shit you go girl she bad and she know it some niggas save hoes im not that heroic could you be my escort cause just like them 2door fords damn they dont make them like you no more cole world real cole world them boys cool me im on fire know whats on my mind trying to see whats on yours tonight tonight tonight move slow cause you wanna live fast up late so youll probably skip class life is a test so before the night pass get right get rightay weve got a good thing dont know if imma see you again but is that a good thing cause girl i cant be your man no maam i know whats on your brain you probably hope it never would end like is it the real thing or is it just a one night stand well thenstraight up now tell me do you really want to love me forever oh oh oh or is it just a hit and run straight up i tell ya i just really wanna cut when we together oh oh oh come here girl lets get it on straight up now tell me do you really want to love me forever oh oh oh or is it just a hit and run straight up i tell ya i just really wanna cut when we together oh oh oh come here girl lets get it on ",1
64,"rumour has it","adele",2012," she she aint real she aint gonna be able to love you like i will she is a stranger you and i have history or dont you remember sure shes got it all but baby is that really what you wantbless your soul youve got youre head in the clouds you made a fool out of you and boy shes bringing you down she made your heart melt but youre cold to the core now rumor has it she aint got your love anymorerumor has it ooh rumor has it ooh rumor has it ooh rumor has it ooh rumor has it ooh rumor has it ooh rumor has it ooh rumor has it oohshe is half your age but im guessing thats the reason that you stayed i heard youve been missing me youve been telling people things that you shouldnt be like when we creep out and she aint around havent you heard the rumorsbless your soul youve got your head in the clouds you made a fool out of me and boy youre bringing me down you made my heart melt yet im cold to the core but rumor has it im the one youre leaving her forrumor has it ooh rumor has it ooh rumor has it ooh rumor has it ooh rumor has it ooh rumor has it ooh rumor has it ooh rumor has it oohall of these words whispered in my ear tell a story that i cannot bear to hear just cause i said it it dont mean that i meant it people say crazy things just cause i said it dont mean that i meant it just cause you heard itrumor has it ooh rumor has it ooh rumor has it ooh rumor has it ooh rumor has it ooh rumor has it ooh rumor has it ooh rumor has it ooh rumor has it ooh rumor has it ooh rumor has it ooh rumor has it ooh rumor has it ooh rumor has it oohbut rumor has it hes the one im leaving you for ",1
65,"lets go","calvin harris featuring neyo",2012," lets go make no excuses now im talking here and now im talking here and now lets go your time is running out im talking here and now im talking here and now its not about what youve done its about what you doing its all about where you going no matter where youve been lets golets go lets go lets go hey its now or never oh oh lets go tomorrows good tonight is better oh oh lets gothere is no better time im talking here and now im talking here and now lets go right now is where you shine im talking here and now im talking here and now its not about what youve done its about what you doing its all about where you going no matter where youve been lets golets go lets go lets go hey its now or never oh oh lets go tomorrows good tonight is better oh ohlets make it happen ooh lets make it happen tonight lets make it happen ooh lets make it happen tonight lets make it happen ooh lets make it happen tonight lets make it happen ooh lets make it happen tonight tonight lets golets go ooh lets gohey its now or never oh oh lets go tomorrows good tonight is better oh oh ohh lets go ",1
66,"good girl","carrie underwood",2012," hey good girl with your head in the clouds i bet you i can tell you what youre thinkin about youll see a good boy gonna give you the world but hes gonna leave you cryin with your heart in the dirthis lips are dripping honey but hell sting you like a bee so lock up all your loving go and throw away the keyhey good girl get out while you can i know you think you got a good manwhy why you gotta be so blind wont you open up your eyes its just a matter of time til you find hes no good girl no good for you you better get to getting on your goodbye shoes and go go go better listen to me hes low low lowhey good girl you got a heart of gold you want a white wedding and a hand you can hold just like you should girl like every good girl does want a fairytale ending somebody to lovebut hes really good at lying yeah hell leave you in the dust cause when he says forever well it dont mean much hey good girl so good for him better back away honey you dont know where hes beenwhy why you gotta be so blind wont you open up your eyes its just a matter of time til you find hes no good girl no good for you you better get to getting on your goodbye shoes and go go go yeah yeah yeah hes low yeah yeah yeahoh hes no good girl why cant you see hell take your heart and break it listen to me yeahwhy why you gotta be so blind wont you open up your eyes its just a matter of time til you find hes no good hes no goodwont you open up your eyes its just a matter of time til you find hes no good girl no good for you you better get to getting on your goodbye shoes ",1
67,"pontoon","little big town",2012," back this hitch up into the water untie all the cables and rope step onto the astroturf get yourself a coozie lets gowho said anything about skiin floatin is all i wanna do you can climb the ladder just dont rock the boat while i barbequeon the pontoon makin waves and catchin rays up on the roof jumpin out the back dont act like you dont want to party in slow motion out here in the open mm motorboatinhoo hoo hooreach your hand down into the cooler dont drink it if the mountains arent blue try to keep it steady as you recline on your black inner tubepontoon makin waves and catchin rays up on the roof jumpin out the back dont act like you dont want to party in slow motion out here in the open mm motorboatinhoo hoo hoo hoo hoo hoofive mile an hour with aluminum side wood panelin with a water slide cant beat the heat so lets take a rideon the pontoon makin waves and catchin rays up on the roof jumpin out the back dont act like you dont want to party in slow motion im out here in the open mm motorboatinon the pontoon hoo hoo hoo on the pontoon hoo hoo hooback this hitch out into the water on the pontoonhoo hoo hoo hoo hoo hoo ",1
68,"ho hey","the lumineers",2012," ho hey ho heyho ive been trying to do it right hey ive been living a lonely life ho ive been sleeping here instead hey ive been sleeping in my bed ho ive been sleeping in my bed heyho    meaning  byamandah   editor    while promoting their 2016 album cleopatra via npr lead singer wesley schultz described the overwhelming success their debut single garnered them when you    see all   ho so show me family hey all the blood that i will bleed ho i dont know where i belong hey i dont know where i went wrong ho but i can write a song hey1 2 3 i belong with you you belong with me youre my sweetheart i belong with you you belong with me youre my sweet hohey ho heyho i dont think youre right for him hey think of what it might have been if you ho took a bus to china town hey id be standing on canal ho and bowery hey ho and shed be standing next to me hey1 2 3 i belong with you you belong with me youre my sweetheart i belong with you you belong with me youre my sweetheartlove we need it now lets hope for some cause oh were bleeding outi belong with you you belong with me youre my sweetheart i belong with you you belong with me youre my sweet hohey ho the last one hey ",1
69,"paradise","coldplay",2012," oooooo oooooo oooooo oooooo oooooo oooooowhen she was just a girl she expected the world but it flew away from her reach so she ran away in her sleepand dreamed of paraparaparadise paraparaparadise paraparaparadise every time she closed her eyesoooooo oooooo oooooo oooooo oooooo oooooowhen she was just a girl she expected the world but it flew away from her reach and bullets catching her teethlife goes on it gets so heavy the wheel breaks the butterfly every tear a waterfall in the night the stormy night she closed her eyes in the night the stormy night away she fliedand dream of paraparaparadise paraparaparadise paraparaparadise whoaohoh ohoooh ohohohshe dreamed of paraparaparadise paraparaparadise paraparaparadise whoaohoh ohoooh ohohohlala lalalalala lalalalala lalalalaso lying underneath the stormy skies she said ohohohohohoh i know the suns set to risethis could be paraparaparadise paraparaparadise could be paraparaparadise whoaohoh ohoooh ohohohthis could be paraparaparadise paraparaparadise could be paraparaparadise whoaohoh ohoooh ohohohoh oh oooooooooothis could be paraparaparadise paraparaparadise paraparaparadise whoaohoh ohoooh ohohohoooooo ooooooo oooooo oooooo ooooooo oooooo oooooo ooooooo oooooo oooooo ooooooo ",1
70,"blown away","carrie underwood",2012," dry lightning cracks across the skies those storm clouds gather in her eyes daddy was mean old mister mama was an angel in the ground the weather man called for a twister she prayed blow it down theres not enough rain in oklahoma to wash the sins out of that house theres not enough wind in oklahoma to rip the nails out of the pastchorus shatter every window till its all blown away every brick every board every slamming door blown away till theres nothing left standing nothing left to yesterday every tearsoaked whiskey memory blown awayshe heard those sirens screaming out her daddy laid there passed out on the couch she locked herself in the cellar listened to the screaming of the wind some people called it taking shelter she called it sweet revengechorus shatter every window till its all blown away every brick every board every slamming door blown away till theres nothing left standing nothing left to yesterday every tearsoaked whiskey memory blown away blown away ",1
71,"rolling in the deep","adele",2012," theres a fire starting in my heart reaching a fever pitch its bringing me out the dark finally i can see you crystal clear clean version go head and sell me out and ill lay your ship bare explicit version go head and sell me out and ill lay your shit bare see how i leave with every piece of you dont underestimate the things that i will dotheres a fire starting in my heart reaching a fever pitch and its bringing me out the darkthe scars of your love remind me of us they keep me thinking that we almost had it all the scars of your love they leave me breathless i cant help feeling we could have had it all youre gonna wish you never had met me rolling in the deep tears are gonna fall rolling in the deep you had my heart inside of your hand youre gonna wish you never had met me and you played it to the beat tears are gonna fall rolling in the deepbaby i have no story to be told but ive heard one on you and im gonna make your head burn think of me in the depths of your despair make a home down there as mine sure wont be sharedyoure gonna wish you never had met me the scars of your love remind me of us tears are gonna fall rolling in the deep they keep me thinking that we almost had it all youre gonna wish you never had met me the scars of your love they leave me breathless tears are gonna fall rolling in the deep i cant help feeling we could have had it all youre gonna wish you never had met me rolling in the deep tears are gonna fall rolling in the deep you had my heart inside of your hand youre gonna wish you never had met me and you played it to the beat tears are gonna fall rolling in the deep we could have had it all rolling in the deep you had my heart inside of your hand but you played it with a beatingthrow your soul through every open door woah count your blessings to find what you look for woah turn my sorrow into treasured gold woah youll pay me back in kind and reap just what you sow woah youre gonna wish you never had met me we could have had it all tears are gonna fall rolling in the deep we could have had it all youre gonna wish you never had met me it all it all it all tears are gonna fall rolling in the deepwe could have had it all youre gonna wish you never had met me rolling in the deep tears are gonna fall rolling in the deep you had my heart inside of your hand youre gonna wish you never had met me and you played it to the beat tears are gonna fall rolling in the deepwe could have had it all youre gonna wish you never had met me rolling in the deep tears are gonna fall rolling in the deep you had my heart inside of your hand youre gonna wish you never had met mebut you played it you played it you played it you played it to the beat ",1
72,"climax","usher",2012," going no where fast weve reached the climax were together now were undone wont commit so we choose torun away do we separate oh dont wanna give in so we both gave up cant take it back its too late weve reached our climax climaxive fallin somehow feet off the ground love is the cloud  that keeps raining down where are you now when i need you around im on my knees but it seems weregoing no where fast weve reached the climax were together now were undone wont commit so we choose torun away do we separate oh dont wanna give in so we both gave up cant take it back its too late weve reached our climax climaxi gave my best it wasnt enough you came and said we argue too much we made a mess of what used to be love so why do i care i care at all at all at all at allgoing no where fast weve reached the climax were together now were undone wont commit so we choose torun away do we separate oh dont wanna give in so we both gave up cant take it back its too late weve reached our climax climaxbut you say its better if we love each other separately i just need you one more time i cant get what we had off my mind where are you now when i need you around im on my knees but it seems weregoing no where fast weve reached the climax were together now were undone wont commit so we choose torun away do we separate oh dont wanna give in so we both gave up cant take it back its too late weve reached our climax climax ",1
73,"work hard play hard","wiz khalifa",2012," work hard play hard work hard play hard work hard play hard work hard play hard work work work work work work work workdiamonds all on my ring nigga gold watches gold chain nigga hundred thou on champagne nigga yeah my money insane nigga yeah im making it rain nigga but i was just on the plane nigga buying gear flying here fuck what you heard its my time of year if im in the club i get a hundred stacks im always rolling up so i get love for that them niggas stole my swag but i dont want it back my nigga uh i was on this but now im onto that you see it in my closet before its on the rack was out there in hawaii now im goin back my nigga uh i got so much money i should start a bank so much paper right in front of me its hard to think buy so many bottles its gon be hard to drink but im still pourin up and my family here and they rolling up so uhthe bigger the bill the harder you ball well im throwing mine cause my money long the quicker you here the faster you go thats why where i come from the only thing we know isthe bigger the bill the harder you ball well im throwing mine cause my money long the quicker you here the faster you go thats why where i come from the only thing we know iswork hard play hard work hard play hard work hard play hard work hard play hard work work work work work work work workhop your pretty ass up in this fucking car bitch im out this world girl you know im a star used to buying rounds but now we buy the bar last year they had to ask now they know who we are boss shit walk in the building i own shit you can tell by who im on the phone with yeah nigga talking about grown shit niggas too busy jacking my swag need to fuck around get your own shit get your own cars get your own clothes get your own smoke get your own bitch you aint reppin my gang get your own cliquethe bigger the bill the harder you ball well im throwing mine cause my money long the quicker you here the faster you go thats why where i come from the only thing we know isthe bigger the bill the harder you ball well im throwing mine cause my money long the quicker you here the faster you go thats why where i come from the only thing we know isgo hard make sure you do whatever is that you gotta do thats your job and niggas gon hate but thats no prob so hey fuck em dont need nothing from em some niggas talking but the shit they claiming dont mean nothing its straight from cali thats whats in my joint thats what im puffin og and been one since i was young enough to know that everybody was gonna know me most niggas dont seethe bigger the bill the harder you ball well im throwing mine cause my money long the quicker you here the faster you go thats why where i come from the only thing we know isthe bigger the bill the harder you ball well im throwing mine cause my money long the quicker you here the faster you go thats why where i come from the only thing we know iswork hard play hard work hard play hard work hard play hard work hard play hard ",1
74,"let me love you until you learn to love yourself","neyo",2012," much as you blame yourself you cant be blamed for the way that you feel had no example of a love that was even remotely real how can you understand something that you never had ooh baby if you let me i can help you out with all of thatgirl let me love you and i will love you until you learn to love yourself girl let me love you and all your trouble dont be afraid girl let me help girl let me love you and i will love you until you learn to love yourself girl let me love you a heart of numbness gets brought to life ill take you theregirl let me love you girl let me love you baby oh girl let me love you girl let me love you baby girl let me love you let me love you let me love you ohi can see the pain behind your eyes its been there for quite a while i just wanna be the one to remind you what it is to smile i would like to show you what true love can really dogirl let me love you and i will love you until you learn to love yourself girl let me love you and all your trouble dont be afraid girl let me help girl let me love you and i will love you until you learn to love yourself girl let me love you a heart of numbness gets brought to life ill take you theregirl let me love you baby girl let me love you let me love you let me love you baby girl let me love you girl let me love you baby girl let me love you let me love you girl let me love you babyfor every heart that beats for every heart that beats for every heart that beats for every heart that beats heart that beats heart that beats heart that beats heart that beatsgirl let me love you and i will love you until you learn to love yourself girl let me love you and all your trouble dont be afraid girl let me help girl let me love you and i will love you until you learn to love yourself girl let me love you a heart of numbness gets brought to life ill take you theregirl let me love you let me love you baby love you baby girl let me love you let me love you baby love you baby ",1
75,"pound the alarm","nicki minaj",2012," oh oh oh come fill my glass up a little more we bout to get up and burn this floor you know we getting hotter and hotter sexy and hotter lets shut it down yo what i gotta do to show these girls that i own em some call me nicki and some call me roman skeeza pleeza im in ibiza giuseppe zanotti my own sneaker sexy sexy thats all i do if you need a bad bitch let me call a few pumps on and them little mini skirts is out i see some good girls imma turn em out ok bottle sip bottle guzzle im a bad bitch no mussel hey bottle sip bottle guzzle im a bad bitch no mussel lets gomusic makes me highoh oh oh come fill my glass up a little more we bout to get up and burn this floor you know we getting hotter and hotter sexy and hotter lets shut it downpound the alarm pound the alarmi wanna do it for the night night so get me now and knock this over i wanna do it like you like like come get me baby were not getting younger i just want you tonight night baby we wont do it for lifemusic makes me highoh oh oh come fill my glass up a little more we bout to get up and burn this floor you know we getting hotter and hotter sexy and hotter lets shut it downpound the alarm pound the alarm alarm alarm alarm alarmoh oh oh come fill my glass up a little more we bout to get up and burn this floor you know we getting hotter and hotter sexy and hotter lets shut it downpound the alarm pound the alarm ",1
76,"come over","kenny chesney",2012," i turned the tv off to turn it on again staring at the blades of the fan as it spins around counting every crack the clock is wide awake talking to myself anything to make a soundi told you i wouldnt call i told you i wouldnt care but baby climbing the walls gets me nowhere i dont think that i can take this bed getting any colder come over come over come over come over come overyou can say were done the way you always do its easier to lie to me than to yourself forget about your friends you know theyre gonna say were bad for each other but we aint good for anyone elsei told you i wouldnt call i told you i wouldnt care but baby climbing the walls gets me nowhere i dont think that i can take this bed getting any colder come over come over come over come over come overwe dont have to miss each other come over we dont have to fix each other come over we dont have to say forever come over you dont have to stay forever come overi told you i wouldnt call i told you i wouldnt care but baby climbing the walls gets me nowhere i dont think that i can take this bed getting any colder come over come over come over come over come overcome over come over come over come over come over come over come over come over come over come over ",1
77,"heart attack","trey songz",2012," turn the lights on oh wooh oh woohwe share something so common still so rare and im in awe never been here before so high were still climbing even here inside these walls breaking each others hearts and we dont care cause were soin too deep cant think about giving it up but i never knew love would feel like a heart attack its killing me swear i never cried so much cause i never knew love would hurt this fin bad the worst pain that i ever hadoh wooh never never never knew love oh wooh would hurt this fin bad the worst pain that i ever hadall the times when i know i should be smiling seem to be the time that i frown the most cant believe that were still survivin cause im slowly breaking down even when i hold you close and if i lose you im afraid i would lose who who i gave my love to thats the reason i stay around even though i fell wayin too deep cant think about giving it up but i never knew love would feel like a heart attack its killing me swear i never cried so much cause i never knew love would hurt this fin bad the worst pain that i ever hadoh wooh never never never knew love oh wooh would hurt this fin bad the worst pain that i ever hadand it hurts cause i wanna leave and you wanna leave but the love keeps us togetherand if i lose you im afraid i would lose who who i gave my love to thats the reason i stay around even though i fell wayin too deep cant think about giving it up but i never knew love would feel like a heart attack its killing me swear i never cried so much cause i never knew love would hurt this fin bad the worst pain that i ever hadoh wooh never never never knew love oh wooh would hurt this fin bad the worst pain that i ever had ",1
78,"drank in my cup","kirko bangz",2012," i done came down hol upi done came down hol up grip the grain roll up and your girlfriend want a nigga like me cause i aint tryin to control her she call me when she want a change black diamond my pinky ring and she know you weak and we aint the same you hit the scene i make the scene im in her head like maybelline htown so im made for lean im in her soul i make her scream i dont ride the toll dont pay the change im ez tag like peter pan she want a man dont need a man im flying down your boulevard she cookin dinner with your pans draped up dripped out your bitch know what im taking bout pulls up pull out we get it poppin in the parking lot she like to do it with the lights on dont matter to me if its dark or not im gd up east up fossil pants im hard as rockgirl i know how much you really want somebody want somebody that dont really need you girl i know how much you really want somebody want somebody that aint trying to keep you heard what i said that could put you to bed that aint tryin to love you baby just fuck you instead and dont tell em nothing baby you know that im comin baby just hit up my phone whenever you need you some company got this drank in my cup oh yeah i got this drank in my cup i got this drank in my cup cup cupi done came down came up slow pitch change up same hood same style same drink same cup she call me when she wanna fuck i never call she knows whats up same page same book different song same hook every time her nigga trippin she on the phone with the same crook and every time i pull up she hit me with that same look lips bitin hips right she left her man for that get right im in the middle like midnight only if you got that sit tight only if you got that wine fine only if you got that sip type only if you got that mine bomb only if you got that zip tight eat that shit like wanton jokin baby im pimp tight im used to bein that one and done but girl you got that gget rightgirl i know how much you really want somebody want somebody that dont really need you girl i know how much you really want somebody want somebody that aint trying to keep you heard what i said that could put you to bed that aint tryin to love you baby just fuck you instead and dont tell em nothing baby you know that im comin baby just hit up my phone whenever you need you some company got this drank in my cup htown oh yeah i got this drank in my cup i got this drank in my cup cup cupi done came down hol up hol up i say hol up hol up i done came down hol up hol up hol up fuck yeah ",1
79,"birthday cake","rihanna featuring chris brown",2012," come and put your name on it put your name on it come and put your name on it your name bet you wanna put your name on it put your name on it come and put your name on it babababy uhits not even my birthday but he want to lick the icing off i know you want it in the worst way cant wait to blow my candles outhe want that cake cake cake cake cake cake cake cake cake cake cake cake cake cake cakeooh baby i like it you so excited dont try to hide it imma make you my bitch cake cake cake cake cake cake cake cake cake cake cake cake cake cake cakei know you wanna bite this its so enticin nothin else like this imma make you my bitchand its not even my birthday but you wanna put your name on it and its not even my birthday and he tryna put his name on it ooh i wanna fuck you right now just get up on my body ",1
80,"so good","bob",2012," drinking a german beer with a cuban cigar in the middle of paris with a dominican broad great head on her shoulders she probably studied abroad she transferred to harvard from kings college in march she says that im her favorite cause she admires the art of michelangelo with the flow picasso with the bars shes well put together like a piece by gershwin renaissance style tonight is picture perfect so smile and pack your bags real good baby cause youll be gone for a while while while whilegirl tell me how you feel what your fantasy oh i see us on a beach down in mexico you can put your feet up be my senorita we aint gotta rush just take it slow youll be in the high life soaking up the sunlight anything you want is yours ill have you living life like you should you say you never had it so goodla la la la la la you never had it so good la la la la la lasuffering from first class cabin fever five hour lay overs from norway to egypt im to the point like the pyramids of giza still im to the left like the tower out in pisa im feeling single baby i could use a feature swagger like caesar ill get you a visa we can go to italy and maybe see the coliseum ill be da vinci if youll be my mona lisa now smile and pack your bags real good baby cause youll be gone for a whilegirl tell me how you feel what your fantasy oh i see us on a beach down in mexico you can put your feet up be my senorita we aint gotta rush just take it slow youll be in the high life soaking up the sunlight anything you want is yours ill have you living life like you should you say you never had it so goodla la la la la la you never had it so good la la la la la la you never had it so goodwell i been feeling singular how about lets make it plural spin the globe whatever it lands thats where well go well hit up europe yep and spend some euros and maybe visit berlin the walls with the murals this is your month baby sign of the virgo private reservations glasses full of merlot a rose a burgundy traveling like turbo brush up on your espa̱ol were barcelona bound smile and pack your bags real good baby cause youll be gone for a whilegirl tell me how you feel what your fantasy oh i see us on a beach down in mexico you can put your feet up be my senorita we aint gotta rush just take it slow youll be in the high life soaking up the sunlight anything you want is yours ill have you living life like you should you say you never had it so goodla la la la la la you never had it so good la la la la la la you never had it so good la la la la la la you never had it so good la la la la la la you never had it so good ",1
81,"50 ways to say goodbye","train",2012," my heart is paralyzed my head was over sized ill take the high road like i should you said its meant to be that its not you its me youre leaving now for my own goodthats cool but if my friends ask where you are im gonna sayshe went down in an airplane fried getting suntan fell in a cement mixer full of quicksand help me help me im no good at goodbyes she met a shark under water fell and no one caught her i returned everything i ever bought her help me help me im all out of lies and ways to say you diedmy pride still feels the sting you were my everything some day ill find a love like yours a love like yours shell think im superman not super minivan how could you leave on yom kippurthats cool but if my friends ask where you are im gonna sayshe was caught in a mudslide eaten by a lion got run over by a crappy purple scion help me help me im no good at goodbyes she dried up in the desert drown in a hot tub danced to death at an east side night club help me help me im all out of lies and ways to say you diedi wanna live a thousand lives with you i wanna be the one youre dying to love but you dont want tothats cool but if my friends ask where you are im gonna say thats cool but if my friends ask where you are im gonna sayshe went down in an airplane fried getting suntan fell in a cement mixer full of quicksand help me help me im no good at goodbyes she met a shark under water fell and no one caught her i returned everything i ever bought her help me help me im all out of liesshe was caught in a mudslide eaten by a lion got run over by a crappy purple scion help me help me im no good at goodbyes she dried up in the desert drown in a hot tub danced to death at an eastside night club help me help me im all out of lies and ways to say goodbye ",1
82,"red solo cup","toby keith",2012," now a red solo cup is the best receptacle for barbecues tailgates fairs and festivals and you sir do not have a pair of testicles if you prefer drinking from glassa red solos cup is cheap and disposable and in fourteen years they are decomposable and unlike my home they are not foreclosable freddie mac can kiss my ass woored solo cup i fill you up lets have a party lets have a party i love you red solo cup i lift you up proceed to party proceed to partynow i really love how your easy to stack but i really hate how your easy to crack cause when beer runs down the front of my back well that my friends is quite yuckybut i have to admit that the ladies get smitten admiring how sharply my first name is written on you with a sharpie when i get to hittin on them to help me get luckyred solo cup i fill you up lets have a party lets have a party i love you red solo cup i lift you up proceed to party proceed to partynow ive seen you in blue and ive seen you in yellow but only you red will do for this fellow cause you are my abbot to my costello and you are the fruit to my loomred solo cup youre more than just plastic youre more than amazing youre more than fantastic and believe me that im not the least bit sarcastic when i look at you and sayred solo cup youre not just a cup no no god no youre my youre my friend friend friend friend life long thank you for being my friendred solo cup i fill you up lets have a party lets have a party i love you red solo cup i lift you up proceed to party proceed to partyred solo cup red solo cup i fill you up lets have a party lets have a party lets have a party lets have a party red solo cup oh red solo cup i lift you up lets have a party proceed to party yeah yeah ",1
83,"love you like a love song","selena gomez  the scene",2012,"everythings cool yeah its all gonna be okay yeah and i know maybe ill even laugh about it someday but not today no cause i dont feel so good im tangled up inside my heart is on my sleeve tomorrow is a mystery to me and it might be wonderful it might be magical it might be everything ive waited for a miracle oh but even if i fall in love again with someone new it could never be the way i loved you letting you go is making me feel so cold yeah and ive been trying to make believe it doesnt hurt but that makes it worse yeah see im a wreck inside my tongue is tied and my whole body feels so weak the future may be all i really need and it might be wonderful yeah it might be magical uh oh it might be everything ive waited for a miracle oh but even if i fall in love again with someone new it could never be the way i loved you like a first love the one and only true love wasnt it written all over my face yeah i loved you like you loved me oh like something pure and holy like something that can never be replaced and it was be wonderful it was magical it was everything ive waited for a miracle and if i should ever fall in love again with someone new oh it could never be the way no it will never be the way i loved you",3
84,"turn up the music","chris brown",2012," turn up the music cause the song just came on turn up the music if they try to turn us down turn up the music can i hear it til the speakers blow turn up the music fill your cup and drink it downif youre sexy and you know it put yo hands up in the air put yo hands up in the air girl put yo hands up hands up hands up hands up if youre sexy and you know it put yo hands up in the air put yo hands up in the air girl put yo hands up andturn up the music just turn it up louder turn up the music i need it in my life yeah turn up the music just turn it up louder turn up the music i need it in my life yeah whoaohohohohohohoh whoaohohohohohohohoh turn up the music whoaohohohohohohoh whoaohohohohohohohoh turn up the musicttturn up the music tturn up theturn up the music cause the sun just came up turn up the music if they try to turn us down turn up the music cause im tryna hear the speakers blow turn up the music fill your cup and drink it downif youre sexy and you know it put yo hands up in the air put yo hands up in the air girl put yo hands up hands up hands up hands up if youre sexy and you know it put yo hands up in the air put yo hands up in the air girl put yo hands up andturn up the music just turn it up louder turn up the music i need it in my life yeah turn up the music just turn it up louder turn up the music i need it in my life yeah whoaohohohohohohoh whoaohohohohohohohoh turn up the music whoaohohohohohohoh whoaohohohohohohohoh turn up the musicsave my life just dance with me all i wanna do is party so dj turn it upppp girl dance with me just dance with me girl can i see that i really wanna touch that baby can i feel that tturn up the turn it up just dance with me turn it up just dance with me turn it up just dance with me turn it up just dance with me turn it up just dance with me turn it up just dance with me turn it up just dance with me turn it upturn up the music just turn it up louder turn up the music i need it in my life yeah turn up the music just turn it up louder turn up the music i need it in my life yeah leggo whoaohohohohohohoh whoaohohohohohohohoh can you turn up the music whoaohohohohohohoh whoaohohohohohohohoh can you turn up babyturn it up just dance with me turn it up just dance with me tttturn it up just dance with me turn it up just dance with me turn it up just dance with me tturn it up just dance with me turn it up just dance with me ttttttturn it up just dance with me dont stop the music ",1
85,"die young","keha",2012," i hear your heart beat to the beat of the drums oh what a shame that you came here with someone so while youre here in my arms lets make the most of the night like were gonna die young were gonna die young were gonna die young lets make the most of the night like were gonna die younglets make the most of the night like were gonna die youngyoung hearts out our minds runnin till we outta time wild childs lookin good livin hard just like we should dont care whose watching when we tearing it up you know that magic that we got nobody can touch for surelooking for some trouble tonight yeah take my hand ill show you the wild side like its the last night of our lives uh huh well keep dancing till we diei hear your heart beat to the beat of the drums oh what a shame that you came here with someone so while youre here in my arms lets make the most of the night like were gonna die young were gonna die young were gonna die young lets make the most of the night like were gonna die younglets make the most of the night like were gonna dieyoung hunks taking shots stripping down to dirty socks music up gettin hot kiss me give me all youve got its pretty obvious that youve got a crush you know that magic in your pants its making me blush for surelooking for some trouble tonight yeah take my hand ill show you the wild side like its the last night of our lives uh huh well keep dancing till we die till we diei hear your heart beat to the beat of the drums oh what a shame that you came here with someone so while youre here in my arms lets make the most of the night like were gonna die youngi hear your heart beat to the beat of the drums oh what a shame that you came here with someone so while youre here in my arms lets make the most of the night like were gonna die young were gonna die young were gonna die young lets make the most of the night like were gonna die young ",1
86,"5 oclock","tpain featuring wiz khalifa and lily allen",2012,NA,NA
87,"a thousand years","christina perri",2012," verse 1 heart beats fast colors and promises how to be brave how can i love when im afraid to fall but watching you stand alone all of my doubt suddenly goes away somehowone step closerchorus i have died every day waiting for you darlin dont be afraid i have loved you for a thousand years ill love you for a thousand moreverse 2 time stands still beauty in all she is i will be brave i will not let anything take away whats standing in front of me every breath every hour has come to thisone step closerchorus i have died every day waiting for you darlin dont be afraid i have loved you for a thousand years ill love you for a thousand moreand all along i believed i would find you time has brought your heart to me i have loved you for a thousand years ill love you for a thousand moreone step closer one step closerchorus i have died every day waiting for you darlin dont be afraid i have loved you for a thousand years ill love you for a thousand moreand all along i believed i would find you time has brought your heart to me i have loved you for a thousand years ill love you for a thousand more ",1
88,"take a little ride","jason aldean",2012," been goin round and round all day bailin some hay and stacking it all up cant wait for the sun to go down roll into town shine the old truck up swing by the quick stop grab a little shiner bock then ease on out your way to your place around 8 oclockwell im just ready to ride this chevy ride this chevy down a little backroad slide your pretty little self on over get a little closer turn up the radio put your pretty pink toes on the dash lean your seat back man i swear there aint nothing looks better than that sweet tan little thing with nothing to do i wanna take a little ride with youi hope youre wearing those frayed out cutoffs makes me want to get lost out in the moonlight drop the tailgate down on a turn road watch the corn grow baby thats a good night anyone from the heartland is gonna understand what im talking about right now aint no doubt we got a game planwell im just ready to ride this chevy ride this chevy down a little backroad slide your pretty little self on over get a little closer turn up the radio put your pretty pink toes on the dash lean your seat back man i swear there aint nothing looks better than that sweet tan little thing with nothing to do i wanna take a little ride with you ",1
89,"you da one","rihanna",2012," you the one that i dream about all day you the one that i think about always you are the one so i make sure i behave my love is your love your love is my lovebaby i love you i need you here give me all the time baby we meant to be you got me smiling all the timecause you know how to give me that you know how to pull me back when i go runnin runnin tryin to get away from loving yayou know how to love me hard i wont lie im falling hard yep im falling for ya but theres nothin wrong with thatyou the one that i dream about all day you the one that i think about always you are the one so i make sure i behave my love is your love your love is my loveyou the one that i dream about all day you the one that i think about always you are the one so i make sure i behave my love is your love your love is minebaby come tear me now hold me now make me come alive you got the sweetest touch im so happy you came in my lifecause you know how to give me that you know how to pull me back when i go runnin runnin tryin to get away from loving ya you know how to love me hard i wont lie im falling hard yep im falling for ya but theres nothin wrong with thatyou the one that i dream about all day you the one that i think about always you are the one so i make sure i behave my love is your love your love is my loveyou the one that i dream about all day you the one that i think about always you are the one so i make sure i behave my love is your love your love is mineand yes im kinda crazy thats what happens baby when you put it down you shouldntve give it to me good like that shouldntve hit it like that had me yellin like that didnt know you wouldve had me coming backyou the one that im feeling you the one that im loving aint no other niggas like you no theres just one one one no baby just one one one i bet you wanna knowyou the one that i dream about all day you the one that i think about always you are the one so i make sure i behave my love is your love your love is my loveyou the one that i dream about all day you the one that i think about always you are the one so i make sure i behave my love is your love your love is mine ",1
90,"we run the night","havana brown featuring pitbull",2012," havannah brown red one mrworldwide from miami morocco to austrailia to the world dalerun em like run em run em woop run em like run em run em woopwhen the sun goes down down down down boy are you afraid of the dark dark and when the lights go out out out out tell me do you know where to start start and when the bass gets loud loud loud that is when i feel a part part and when the world screams sound sound sound where the sound is the key to my heart heartwe run yes the we run the night ninight night nininight we run yes the we run the night wewewe run wewewe run run we run yes the we run the night the night run em like run em run em woop run em like run em run em woop run em like run em run em woopfrom the bottom of the map miami to the land down under australia you feel my drive see my vision and hear my hunger as my money gets older theirs get younger they sell their soul but the devil knows i have no number im go go baby fresh oh baby go go baby uh oh baby no no baby yeah yeah baby now jiggle it baby let me tickle it baby i know im lost its gon be hard to save me im sorry thats how dade county raised me yall heard me right we run the night now fuck you pay mewe run yes the we run the night ninight night nininight we run yes the we run the night wewewe run wewewe run run we run yes the we run the night the night run em like run em run em woop run em like run em run em woop run em like run em run em woopfeelin like a rush rush rush brushing past me all over my skin skiiiin i can get enough nough nough cause the beat keep pullin me in in takin me so high up up up a place that ive never been aah party party all night night night sleep all day then do it again gainwe run yes the we run the night ninight night run em like run em run em woop we run yes the we run the night wewewe run wewewe run run we run yes the we run the night the night nininini run em like run em run em woop ",1
91,"its time","imagine dragons",2012," so this is what you meant when you said that you were spent and now its time to build from the bottom of the pit right to the top dont hold back packing my bags and giving the academy a rain checki dont ever want to let you down i dont ever want to leave this town cause after all this city never sleeps at nightits time to begin isnt it i get a little bit bigger but then ill admit im just the same as i was now dont you understand im never changing who i amso this is where you fell and i am left to sell the path to heaven runs through miles of clouded hell right to the top dont look back turning to rags and giving the commodities a rain checki dont ever want to let you down i dont ever want to leave this town cause after all this city never sleeps at nightits time to begin isnt it i get a little bit bigger but then ill admit im just the same as i was now dont you understand im never changing who i amits time to begin isnt it i get a little bit bigger but then ill admit im just the same as i was now dont you understand im never changing who i amthis road never looked so lonely this house doesnt burn down slowly to ashes to ashesits time to begin isnt it i get a little bit bigger but then ill admit im just the same as i was now dont you understand im never changing who i amits time to begin isnt it i get a little bit bigger but then ill admit im just the same as i was now dont you understand im never changing who i am ",1
92,"cashin out","cah out",2012,"intro im ridin round with that nina you know we smokin on keisha hey hey hey can i meet you hoe cool chorus 36 os so im ridin round with that nina im ridin round with that nina ridin with a hoe named keisha smokin on keisha you know we smokin on keisha my diamonds talk for me they say hi can i meet you hoe hey can i meet you hoe she fly high high in the sky hoe i cant see you well i cant see you got a condo on my wrist  girl im cashin out im cashin out got a condo around my neck  girl im cashin out im cashin out 36 os so im ridin round with that nina my diamonds talk for me they say hi can i meet you verse 1 i got versace all on my back these hoes all on my back plus these plugs all on my back cause they know im movin that pack these louies all in my face fofifth stay up on my waist plus it aint on me for nothin so please dont make me catch a case cause bitch im bout it me walkin round with no check on me psssh  yeah i doubt it your girl aint finna leave with me psssh  yeah i doubt it and im like what the hell they talkin bout and if i got it i bought it cause boy you know im cashin out cool chorus 36 os so im ridin round with that nina im ridin round with that nina ridin with a hoe named keisha smokin on keisha you know we smokin on keisha my diamonds talk for me they say hi can i meet you hoe hey can i meet you hoe she fly high high in the sky hoe i cant see you well i cant see you got a condo on my wrist  girl im cashin out im cashin out got a condo around my neck  girl im cashin out im cashin out 36 os so im ridin round with that nina my diamonds talk for me they say hi can i meet you verse 2 okay i drop the top hop in hoes they comin by flocks in birds comin by flocks in pass them birds like stockton play with my money im poppin no actin but its a movie got spinz on the beat so we aint losing dont act like yo hoe aint choosin im blowed up yeah im the bomb ridin round blowin on stank bombs pussy so good you should thank moms top flo suite chillin at the palms we want the whole loaf leave yall the crumbs til then im runnin my check up and its fuck a bugatti im callin my jet up cool chorus 36 os so im ridin round with that nina im ridin round with that nina ridin with a hoe named keisha smokin on keisha you know we smokin on keisha my diamonds talk for me they say hi can i meet you hoe hey can i meet you hoe she fly high high in the sky hoe i cant see you well i cant see you got a condo on my wrist  girl im cashin out im cashin out got a condo around my neck  girl im cashin out im cashin out 36 os so im ridin round with that nina my diamonds talk for me they say hi can i meet you verse 3 yeah  its big pimpin over here  touch time to cop the maybach already had the vert i got big money visions sammy sosa pigeons what that mean that mean they jumpin out the kitchen and im on the money mission nobody can stop me just grab your camcorder press record and go on and watch me and you can skate on my ice just like you playin hockey and in the booth i beat the beat up call me rocky yeah im cocky cool chorus 36 os so im ridin round with that nina im ridin round with that nina ridin with a hoe named keisha smokin on keisha you know we smokin on keisha my diamonds talk for me they say hi can i meet you hoe hey can i meet you hoe she fly high high in the sky hoe i cant see you well i cant see you got a condo on my wrist  girl im cashin out im cashin out got a condo around my neck  girl im cashin out im cashin out 36 os so im ridin round with that nina my diamonds talk for me they say hi can i meet you outro im ridin round with that nina you know we smokin on keisha hey hey hey can i meet you hoe ",3
93,"i dont want this night to end","luke bryan",2012," girl i know i dont know you but your pretty little eyes so blue are pulling me in like the moon on your skin im so glad you trusted me to slide up on this dusty seat and let your hair down and get outta towngot the stars comin out over my hood and all i know now is its going goodyou got your hands up youre rocking in my truck you got the radio on youre singing every song im set on cruise control im slowly losing hold of everything i got youre looking so damn hot and i dont know what road were on or where weve been from starin at you girl all i know is i dont want this night to endgonna cuss the morning when it comes cause i know that the rising sun aint no good for me cause youll have to leave gonna make the most of every mile do anything to make your smile land on my lips and get drunk on your kiss the clock on the dash says 335 theres plenty of gas and the nights still aliveyou got your hands up youre rocking in my truck you got the radio on youre singing every song im set on cruise control im slowing losing hold of everything i got youre looking so damn hot and i dont know what road were on or where weve been from starin at you girl all i know is i dont want this night to endyou got your hands up youre rocking in my truck you got the radio on youre singing every song im set on cruise control im slowing losing hold of everything ive got youre looking so damn hot and i dont know what road were on or where weve been from starin at you girl all i know is i dont want this night to endi dont want this night to end no i dont want this night to end ",1
94,"diamonds","rihanna",2012," shine bright like a diamond shine bright like a diamondfind light in the beautiful sea i choose to be happy you and i you and i were like diamonds in the skyyoure a shooting star i see a vision of ecstasy when you hold me im alive were like diamonds in the skyi knew that wed become one right away oh right away at first sight i left the energy of sun rays i saw the life inside your eyesso shine bright tonight you and i were beautiful like diamonds in the sky eye to eye so alive were beautiful like diamonds in the skyshine bright like a diamond shine bright like a diamond shining bright like a diamond were beautiful like diamonds in the skyshine bright like a diamond shine bright like a diamond shining bright like a diamond were beautiful like diamonds in the skypalms rise to the universe as we moonshine and molly feel the warmth well never die were like diamonds in the skyyoure a shooting star i see a vision of ecstasy when you hold me im alive were like diamonds in the skyat first sight i felt the energy of sun rays i saw the life inside your eyesso shine bright tonight you and i were beautiful like diamonds in the sky eye to eye so alive were beautiful like diamonds in the skyshine bright like a diamond shine bright like a diamond shining bright like a diamond were beautiful like diamonds in the skyshine bright like a diamond shine bright like a diamond shining bright like a diamond were beautiful like diamonds in the skyshine bright like a diamond shine bright like a diamond shine bright like a diamondso shine bright tonight you and i were beautiful like diamonds in the sky eye to eye so alive were beautiful like diamonds in the skyshine bright like a diamond shine bright like a diamond shine bright like a diamond shine bright like a diamond shine bright like a diamond shine bright like a diamond shine bright like a diamond ",1
95,"hard to love","lee brice",2012," i am insensitive i have a tendency to pay more attention to the things that i need sometimes i drink to much sometimes i test your trust sometimes i dont know why youre staying with meim hard to love hard to love oh i dont make it easy i couldnt do it if i stood where you stood im hard to love hard to love you say that you need me i dont deserve it but i love that you love me goodi am a short fuse i am a wrecking ball crashing into your heart like i do youre like a sunday morning full of grace and full of jesus and i wish that i could be more like youim hard to love hard to love oh i dont make it easy i couldnt do it if i stood where you stood im hard to love hard to love you say that you need me i dont deserve it but i love that you love me good love me goodgirl youve given me a million second chances and i dont ever wanna take you for granted im just a man im just a manhard to love hard to love oh i dont make it easy and i couldnt do it if i stood where you stood im hard to love hard to love and you say that you need me i dont deserve it but i love that you love mehard to love hard to love oh i dont make it easy and i couldnt do it if i stood where you stood im hard to love hard to love and you say that you need me i dont deserve it but i love that you love me goodyou love me good you love me good ",1
96,"somethin bout a truck","kip moore",2012," somethin bout a truck in a farmers field a no trespass sign and time to kill nobodys gonna get hurt so whats the big deal somethin bout a truck in a farmers fieldsomethin bout beer sitting on ice after a long hard day makes it taste just right on that dropped tailgate on a summer night somethin bout beer sitting on iceand theres somethin bout a girl in a red sun dress with an ice cold beer pressed against her lips in that farmers field will make a boy a man theres somethin bout a girl in a red sundressand theres somethin bout a kiss thats gonna lead to more on that dropped tailgate back behind the corn the most natural thing youve ever felt before theres somethin bout a kiss thats gonna lead to moreand theres somethin bout a truck in a field and a girl in a red sundress with an ice cold beer to her lipsbegging for another kiss and theres somethin bout you and me and the birds and the bees and lord have mercy its a beautiful thing aint nothin bout it luck theres somethin bout a trucksomethin bout a creek around 2 am after a few of those beers you wanna dive on in you dont need no clothes so just hang em on a limb theres somethin bout a creek around 2 amand theres somethin bout a truck in a field and a girl in a red sundress with an ice cold beer to her lips begging for another kiss and theres somethin bout you and me and the birds and the bees and lord have mercy its a beautiful thing aint nothin bout it luck theres somethin bout a truck aint nothin bout it luck theres somethin bout a truck ",1
97,"adorn","miguel",2012," these lips cant wait to taste your skin baby no no and these eyes yeah cant wait to see your grin ooh ooh baby just let my love just let my love adorn you please baby yeahyou gotta know you gotta know you know that i adore you yeah babybaby these fists will always protect ya lady and this mind oh will never neglect you yeah baby oh baby and they stay trying to break us down but dont let that affect us no baby you just gotta let my love let my love let my love adorn you ah lelelelet it just adorn youyou got to know you gotta know know that i adore you just that babei oh oh let my love adorn you baby dont you ever dont you let nobody tell you different baby ill always adore you you gotta know now you got to know know know now yeahooh yeah the same way that the stars adorn the skies yeah every night baby oh look up suga every night baby now hey hey hey the same way that my whole worlds in your eyes in your eyes baby ooh and this time now and this time babyjust let let my love adorn you baby hey lelelelet it dress you down you gotta know baby oh you gotta know know that i adorn you oh love aint never looked so good on ya ooh put it on baby let my love adorn you ",1
98,"fly over states","jason aldean",2012," a couple guys in first class on a flight from new york to los angeles kinda making small talk killing time flirting with the flight attendants thirty thousand feet above could be oklahoma just a bunch of square cornfields and wheat farms man it all looks the same miles and miles of back roads and highways connecting little towns with funny names whod want to live down there in the middle of nowheretheyve never drove through indiana met the men who plowed that earth planted that seed busted his ass for you and me or caught a harvest moon in kansas theyd understand why god made those fly over statesi bet that mile long santa fe freight train engineers seen it all just like that flatbed cowboy stacking us steel on a 3day haul roads and rails under their feet yeah that sounds like a first class seaton the plains of oklahoma where they windshield sunset in your eyes like a watercolor painted skyyoud think heavens doors have opened youll understand why god made those fly over statestake a ride across the badlands feel that freedom on your face breathe in all that open space meet a girl from amarillo youll understand why god made why youd want to plant your stakes in those fly over stateshave you ever been through indiana on the plains of oklahoma take a ride ",1
99,"even if it breaks your heart","eli young band",2012," way back on the radio dial the fire got lit inside a brighteyed child every note just wrapped around his soul from steel guitars to memphis all the way to rock and rolloh i can hear em playin i can hear the ringin of a beat up ol guitar oh i can hear em singin keep on dreamin even if it breaks your heartdowntown is where i used to wander old enough to get there but too young to get inside so i would stand out on the sidewalk listen to the music playin every friday nightoh i can hear em playin i can hear the ringin of a beat up ol guitar oh i can hear em singin keep on dreamin even if it breaks your heartsome dreams stay with you forever drag you around but bring you back to where you were some dreams keep on gettin better gotta keep believin if you wanna know for sureoh i can hear em playin i can hear the ringin of a beat up ol guitar oh i can hear em singin keep on dreamin even if it breaks your heartoh i can hear em playin i can hear the ringin of a beat up ol guitar oh i can hear em singin keep on dreamin even if it breaks your heartkeep on dreamin even if it breaks your heartoh oh oh oh oh oh keep on dreamin oh oh ohoh oh oh dont let it break your heart ",1
100,"burn it down","linkin park",2012," the cycle repeated as explosions broke in the sky all that i needed was the one thing i couldnt find and you were there at the turn waiting to let me knowwere building it up to break it back down were building it up to burn it down we cant wait to burn it to the groundthe colors conflicted as the flames climbed into the clouds i wanted to fix this but couldnt stop from tearing it down and you were there at the turn caught in the burning glow and i was there at the turn waiting to let you knowwere building it up to break it back down were building it up to burn it down we cant wait to burn it to the groundyou told me yes you held me high and i believed when you told that lie i played soldier you played king and struck me down when i kissed that ring you lost that right to hold that crown i built you up but you let me down so when you fall ill take my turn and fan the flames as your blazes burnand you were there at the turn waiting to let me knowwere building it up to break it back down were building it up to burn it down we cant wait to burn it to the groundwhen you fall ill take my turn and fan the flames as your blazes burnwe cant wait to burn it to the groundwhen you fall ill take my turn and fan the flames as your blazes burnwe cant wait to burn it to the ground ",1
1,"thrift shop","macklemore and ryan lewis featuring wanz",2013," hook wanz im gonna pop some tags only got twenty dollars in my pocket i i im hunting looking for a come up this is fuckin awesomeverse one macklemore walk in the club like what up i got a big cock nah im just pumped up bought some shit from the thrift shop ice on the fringe is so damn frosty people like damn thats a cold ass honkey rolling in hella headed to the mezzanine dressed in all pink except my gator shoes those are green draped in a leopard mink girl standing next to me probably shoulda washed this smells like rkelly sheets piss but shit it was 99 cents buy it cop it and washing it bout to go and get some compliments passing up on those moccasinssomeone else has been walking in bummy and grungy fuck it i am stunting and flossing and saving my money and i am halla happy thats a bargain bitch imma take your grandpa style imma take your grandpa style no for real ask your grandpa can i have his handmedowns thank you velour jumpsuit and some house slippers dookie brown leather jacket that i found digging they had a broken keyboard i bought a broken keyboard i bought a ski blanket then i bought a knee board hello hello my ace man my mello john wayne aint got nothing on my fringe game hell no i could take some pro wings make them cool sell those the sneaker heads would be like ah he got the velcroshook wanz im gonna pop some tags only got twenty dollars in my pocket i i im hunting looking for a come up this is fuckin awesome 2xverse two macklemore what you know about rocking a wolf on your noggin what you knowing about wearing a fur fox skin im digging im digging im searching right through that luggage one mans trash thats another mans come up thank your granddad for donating that plaid button up shirt cause right now im up in her skirt im at the good will you can find me in the bins im that sucker sucker searching in the section your grammy your aunty your momma your mammy ill take those flannel zebra jammies second hand and ill rock that mother fucker the built in onsies with the socks on the mother fucker i hit the party and they stop in that mother fucker they be like oh that gucci thats hella tight im like yo thats fifty dollars for a tshirt limited edition lets do some simple addition fifty dollars for a tshirt thats just some ignorant bitch shit i call that getting swindled and pimped shit i call that getting tricked by a business that shirts hella dont and having the same one as six other people in this club is a hella dont peep game come take a look through my telescope trying to get girls from a brand man you hella wont man you hella wontlittle girl goodwill be popping tags yeahahahhook wanz im gonna pop some tags only got twenty dollars in my pocket i i im hunting looking for a come up this is fuckin awesomebridge wanz i wear your granddads clothes i look incredible im in this big ass coat from that thrift shop down the road i wear your granddads clothes i look incredible im in this big ass coat from that thrift shop down the roadhook wanz im gonna pop some tags only got twenty dollars in my pocket i i im hunting looking for a come up this is fuckin awesomelittle girl is that your grandmas coat hee hee ",1
2,"blurred lines","robin thicke featuring ti and pharrell williams",2013," hey hey hey hey hey hey hey hey heyif you cant hear what im tryna say if you cant read from the same page maybe im going deaf maybe im going blind maybe im out of my mindok now he was close tried to domesticate you but youre an animal baby its in your nature just let me liberate you you dont need no papers that man is not your mate and thats why im gon take yougood girl i know you want it i know you want it i know you want ityoure a good girl cant let it get past me me fall from plastic talk about getting blastedi hate these blurred lines i know you want it i know you want it i know you want itbut youre a good girl the way you grab me must wanna get nasty go ahead get at mewhat do they make dreams for when you got them jeans on what do we need steam for you the hottest bitch in this placei feel so lucky you wanna hug me what rhymes with hug me heyok now he was close tried to domesticate you but youre an animal baby its in your nature just let me liberate you you dont need no papers that man is not your mate and thats why im gon take yougood girl i know you want it i know you want it i know you want ityoure a good girl cant let it get past me me fall from plastic talk about getting blastedi hate these blurred lines i know you want it i know you want it i know you want itbut youre a good girl the way you grab me must wanna get nasty go ahead get at mehustle gang homie one thing i ask of you lemme be the one you bring that ass up to from malibu to paris boo had a bitch but she aint bad as you so hit me up when you passin through ill give you something big enough to tear your ass in two swag on em even when you dress casual i mean its almost unbearable honey you not there when im at the bar side let you have me by nothin like your last guy he too square for you he dont smack that ass and pull your hair for you so im just watchin and waitin for you to salute the truly pimpin not many women can refuse this pimpin im a nice guy but dont get confused you gitn itshake your rump get down get up do it like it hurt like it hurt what you dont like work heybaby can you breathe i got this from jamaica it always works for me dakota to decaturno more pretending cause now your winning heres our beginning i always wanted agood girl i know you want it i know you want it i know you want ityoure a good girl cant let it get past me me fall from plastic talk about getting blastedi hate these blurred lines i know you want it i know you want it i know you want itbut youre a good girl the way you grab me must wanna get nasty go ahead get at meeverybody get up everybody get uphey hey hey hey hey hey hey hey hey ",1
3,"radioactive","imagine dragons",2013," whoa oh oh whoa oh oh whoa oh oh whoa im waking up to ash and dust i wipe my brow and i sweat my rust im breathing in the chemicals inhale exhaleim breaking in shaping up then checking out on the prison bus this is it the apocalypse whoaim waking up i feel it in my bones enough to make my systems blow welcome to the new age to the new age welcome to the new age to the new age whoa oh oh oh oh whoa oh oh oh im radioactive radioactive whoa oh oh oh oh whoa oh oh oh im radioactive radioactivei raise my flags don my clothes its a revolution i suppose were painted red to fit right in whoaim breaking in shaping up then checking out on the prison bus this is it the apocalypse whoaim waking up i feel it in my bones enough to make my systems blow welcome to the new age to the new age welcome to the new age to the new age whoa oh oh oh oh whoa oh oh oh im radioactive radioactive whoa oh oh oh oh whoa oh oh oh im radioactive radioactiveall systems go the sun hasnt died deep in my bones straight from insideim waking up i feel it in my bones enough to make my systems blow welcome to the new age to the new age welcome to the new age to the new age whoa oh oh oh oh whoa oh oh oh im radioactive radioactive whoa oh oh oh oh whoa oh oh oh im radioactive radioactive ",1
4,"harlem shake","baauer",2013," con los terroristas do the harlem shake ey ey con los terroristas ey ey ey eyey ey ey eyey ey ey eydo the harlem shake shake ey shake con los terroristas ey shake ey shake shake shake shake ey shake ey shake ey shake ey shake ",1
5,"cant hold us","macklemore and ryan lewis featuring ray dalton",2013," intro ay ay ay good to see you come on in lets go yeah lets go alright alright ok uh alright ok alright okreturn of the mack get it what it is what it does what it is what it isnt looking for a better way to get up out of bed instead of getting on the internet and checking a new hippy get up thrift shop pimp strut walking little bit of humble little bit of cautious somewhere between like rocky and cosby sweater gang nope nope yall cant copy yup bad moon walking this here is our party my posses been on broadway and we did it our way grown music i shed my skin and put my bones into everything i record to it and yet im on let that stage light go and shine on down got that bob barker suit game and plinko in my style money stay on my craft and stick around for those pounds but i do that to pass the torch and put on for my town trust me on my independent shit hustlin chasing dreams since i was 14 with the four track bussing halfway cross that city with the backpack fat cat crushinglabels out here now they cant tell me nothing we give that to the people spread it across the country labels out here now they cant tell me nothing we give it to the people spread it across the countryhere we go back this is the moment tonight is the night well fight till its over so we put our hands up like the ceiling cant hold us like the ceiling cant hold us here we go back this is the moment tonight is the night well fight till its over so we put our hands up like the ceiling cant hold us like the ceiling cant hold usnow can i kick it thank you yeah im so damn grateful i grew up really wanted gold fronts but thats what you get when wu tang raised you yall cant stop me go hard like i got an 808 in my heart beat and im eating at the beat like you gave a little speed to a great white shark on shark week raw tell me go up gone deuces goodbye i got a world to see and my girl she wanna see rome caesar make you a believer now i never ever did it for a throne that validation comes from giving it back to the people now sing a song and it goes like raise those hands this is our party we came here to live life like nobody was watching i got my city right behind me if i fall they got me learn from that failure gain humility and then we keep marching ourselveshere we go back this is the moment tonight is the night well fight till its over so we put our hands up like the ceiling cant hold us like the ceiling cant hold us here we go back this is the moment tonight is the night well fight till its over so we put our hands up like the ceiling cant hold us like the ceiling cant hold us and so we put our hands up and so we put our hands uplets gona na na na na na na na aha hey and all my people sayna na na na na na na na thats right feels good hey and all my people sayna na na na na na na na its alright oh oh oh oh oh oh oh oh and all my people sayna na na na na na na na macklemorehere we go back this is the moment tonight is the night well fight till its over so we put our hands up like the ceiling cant hold us like the ceiling cant hold us here we go back this is the moment tonight is the night well fight till its over so we put our hands up like the ceiling cant hold us like the ceiling cant hold us ",1
6,"mirrors","justin timberlake",2013," arent you something to admire cause your shine is something like a mirror and i cant help but notice you reflect in this heart of mine if you ever feel alone and the glare makes me hard to find just know that im always parallel on the other sidecause with your hand in my hand and a pocket full of soul i can tell you theres no place we couldnt go just put your hand on the glass im here trying to pull you through you just gotta be strongcause i dont wanna lose you now im looking right at the other half of me the vacancy that sat in my heart is a space that now you hold show me how to fight for now and ill tell you baby it was easy coming back into you once i figured it out you were right here all along its like youre my mirror my mirror staring back at me i couldnt get any bigger with anyone else beside of me and now its clear as this promise that were making two reflections into one cause its like youre my mirror my mirror staring back at me staring back at mearent you something an original cause it doesnt seem merely assembled and i cant help but stare cause i see truth somewhere in your eyes ooh i cant ever change without you you reflect me i love that about you and if i could i would look at us all the timecause with your hand in my hand and a pocket full of soul i can tell you theres no place we couldnt go just put your hand on the glass im here trying to pull you through you just gotta be strongcause i dont wanna lose you now im looking right at the other half of me the vacancy that sat in my heart is a space that now you hold show me how to fight for now and ill tell you baby it was easy coming back into you once i figured it out you were right here all along its like youre my mirror my mirror staring back at me i couldnt get any bigger with anyone else beside of me and now its clear as this promise that were making two reflections into one cause its like youre my mirror my mirror staring back at me staring back at meyesterday is history tomorrows a mystery i can see you looking back at me keep your eyes on me baby keep your eyes on mei dont wanna lose you now im looking right at the other half of me the vacancy that sat in my heart is a space that now you hold show me how to fight for now and ill tell you baby it was easy coming back into you once i figured it out you were right here all along its like youre my mirror my mirror staring back at me i couldnt get any bigger with anyone else beside of me and now its clear as this promise that were making two reflections into one cause its like youre my mirror my mirror staring back at me staring back at meyou are you are the love of my life you are you are the love of my life you are you are the love of my life you are you are the love of my life you are you are the love of my life you are you are the love of my life you are you are the love of my life you are you are the love of my life you are you are the love of my life you are you are the love of my lifenow youre the inspiration for this precious song and i just wanna see your face light up since you put me on so now i say goodbye to the old me its already gone and i cant wait wait wait wait wait to get you home just to let you know you areyou are you are the love of my lifegirl youre my reflection all i see is you my reflection in everything i do youre my reflection and all i see is you my reflection in everything i doyou are you are the love of my life ",1
7,"just give me a reason","pink featuring nate ruess",2013," right from the start you were a thief you stole my heart and i your willing victim i let you see the parts of me that werent all that pretty and with every touch you fixed themnow youve been talking in your sleep oh oh things you never say to me oh oh tell me that youve had enough of our love our lovejust give me a reason just a little bits enough just a second were not broken just bent and we can learn to love again its in the stars its been written in the scars on our hearts were not broken just bent and we can learn to love again    meaning  byamandah   editor    pink and husband carey hart went through a separation in 2008 when she famously released so what to tell the world she didnt need him anymore however in    see all   im sorry i dont understand where all of this is coming from i thought that we were fine oh we had everything your head is running wild again my dear we still have everythin and its all in your mind yeah but this is happeninyouve been havin real bad dreams oh oh you used to lie so close to me oh oh theres nothing more than empty sheets between our love our love oh our love our lovejust give me a reason just a little bits enough just a second were not broken just bent and we can learn to love again i never stopped youre still written in the scars on my heart youre not broken just bent and we can learn to love againoh tear ducts can rust ill fix it for us were collecting dust but our loves enough youre holding it in youre pouring a drink no nothing is as bad as it seems well come cleanjust give me a reason just a little bits enough just a second were not broken just bent and we can learn to love again its in the stars its been written in the scars on our hearts that were not broken just bent and we can learn to love againjust give me a reason just a little bits enough just a second were not broken just bent and we can learn to love again its in the stars its been written in the scars on our hearts that were not broken just bent and we can learn to love againoh we can learn to love again oh we can learn to love again oh oh that were not broken just bent and we can learn to love again ",1
8,"when i was your man","bruno mars",2013," same bed but it feels just a little bit bigger now our song on the radio but it dont sound the same when our friends talk about you all it does is just tear me down cause my heart breaks a little when i hear your name it all just sounds like oooooh mmm too young too dumb to realize that ishouldve bought you flowers and held your hand shouldve gave you all my hours when i had the chance take you to every party cause all you wanted to do was dance now my baby is dancing but shes dancing with another man    meaning  byamandah   editor    in a 2013 interview with rolling stone bruno told the mag that when i was your man was written about a rocky patch in his relationship with model jessica    see all   my pride my ego my needs and my selfish ways caused a good strong woman like you to walk out my life now i never never get to clean up the mess i made ooh and it hunts me every time i close my eyes it all just sounds like oooooh mmm too young too dumb to realize that ishouldve bought you flowers and held your hand shouldve gave you all my hours when i had the chance take you to every party cause all you wanted to do was dance now my baby is dancing but shes dancing with another manalthough it hurts ill be the first to say that i was wrooooong oooh i know im probably much too late to try and apologize for my mistakes but i just want you to knowi hope he buys you flowers i hope he holds your hand give you all his hours when he has the chance take you to every party cause i remember how much you loved to dance do all the things i shouldve done when i was your man do all the things i shouldve done when i was your man ",1
9,"cruise","florida georgia line featuring nelly",2013," baby you a song you make me wanna roll my windows down and cruisehey babyyeah when i first saw that bikini top on her shes poppin right out of the south georgia water thought oh good lord she had them long tanned legs couldnt help myself so i walked up and saidbaby you a song you make me wanna roll my windows down and cruise down a back road blowin stop signs through the middle every little farm town with you in this brand new chevy with a lift kit itd look a hell lot better with you up in it so baby you a song you make me wanna roll my windows down and cruiseshe was sippin on southern and singin marshall tucker we were falling in love in the sweet heart of summer she hopped right up into the cab of my truck and said fire it up lets go get this thing stuckbaby you a song you make me wanna roll my windows down and cruise down a back road blowin stop signs through the middle every little farm town with you in this brand new chevy with a lift kit itd look a hell lot better with you up in it so baby you a song you make me wanna roll my windows down and cruisewhen that summer sun fell to its knees i looked at her and she looked at me and i turned on those kc lights and drove all night cause it felt so right her and i man we felt so righti put it in park and grabbed my guitar and strummed a couple chords and sang from the heart girl you sure got the beat in my chest bumpin hell i cant get you out of my headbaby you a song you make me wanna roll my windows down and cruise down a back road blowin stop signs through the middle every little farm town with youbaby you a song you make me wanna roll my windows down and cruise down a back road blowin stop signs through the middle every little farm town with you in this brand new chevy with a lift kit itd look a hell lot better with you up in it come onbaby you a song you make me wanna roll my windows down and cruise come on girl get those windows down and cruise aw yea ",1
10,"roar","katy perry",2013," i used to bite my tongue and hold my breath scared to rock the boat and make a mess so i sat quietly agreed politely i guess that i forgot i had a choice i let you push me past the breaking point i stood for nothing so i fell for everythingyou held me down but i got up hey already brushing off the dust you hear my voice your hear that sound like thunder gonna shake your ground you held me down but i got up get ready cause ive had enough i see it all i see it nowi got the eye of the tiger a fighter dancing through the fire cause i am the champion and youre gonna hear me roar louder louder than a lion cause i am a champion and youre gonna hear me roaroh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh youre gonna hear me roar    meaning  byamandah   editor    a small group of people now believe that katy perry is actually reportedly murdered child beauty pageant star jonben̩t ramsey in disguise lol    see all   now im floating like a butterfly stinging like a bee i earned my stripes i went from zero to my own heroyou held me down but i got up hey already brushing off the dust you hear my voice your hear that sound like thunder gonna shake the ground you held me down but i got up get ready cause ive had enough i see it all i see it nowi got the eye of the tiger a fighter dancing through the fire cause i am the champion and youre gonna hear me roar louder louder than a lion cause i am a champion and youre gonna hear me roaroh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh youre gonna hear me roaroh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh youre gonna hear me roarroar roar roar roar roari got the eye of the tiger a fighter dancing through the fire cause i am the champion and youre gonna hear me roar louder louder than a lion cause i am a champion and youre gonna hear me roaroh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh youre gonna hear me roaroh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh youre gonna hear me roar ",1
11,"locked out of heaven","bruno mars",2013," oh yeah yeah oh yeah yeah yeah yeah ooh oh yeah yeah oh yeah yeah yeah yeah oohnever had much faith in love or miracles never wanna put my heart on the line but swimming in your world is something spiritual im born again every time you spend the nightcause your sex takes me to paradise yeah your sex takes me to paradise and it shows yeah yeah yeah cause you make me feel like ive been locked out of heaven for too long for too long yeah you make me feel like ive been locked out of heaven for too long for too longoh yeah yeah yeah yeah ooh oh yeah yeah oh yeah yeah yeah yeah oohyou bring me to my knees you make me testify you can make a sinner change his ways open up your gates cause i cant wait to see the light and right there is where i wanna staycause your heart takes me to paradise yeah your heart takes me to paradise and it shows yeah yeah yeah cause you make feel like ive been locked out of heaven for too long for too long yeah you make feel like ive been locked out of heaven for too long for too longoh oh oh oh yeah yeah yeah cant i just stay here spend the rest of my days here oh oh oh oh yeah yeah yeah cant i just stay here spend the rest of my days herecause you make feel like ive been locked out of heaven for too long for too long yeah you make feel like ive been locked out of heaven for too long for too longoh yeah yeah yeah yeah ooh oh yeah yeah oh yeah yeah yeah yeah oh yeah yeah year yeah ooh ",1
12,"ho hey","the lumineers",2013," ho hey ho heyho ive been trying to do it right hey ive been living a lonely life ho ive been sleeping here instead hey ive been sleeping in my bed ho ive been sleeping in my bed heyho    meaning  byamandah   editor    while promoting their 2016 album cleopatra via npr lead singer wesley schultz described the overwhelming success their debut single garnered them when you    see all   ho so show me family hey all the blood that i will bleed ho i dont know where i belong hey i dont know where i went wrong ho but i can write a song hey1 2 3 i belong with you you belong with me youre my sweetheart i belong with you you belong with me youre my sweet hohey ho heyho i dont think youre right for him hey think of what it might have been if you ho took a bus to china town hey id be standing on canal ho and bowery hey ho and shed be standing next to me hey1 2 3 i belong with you you belong with me youre my sweetheart i belong with you you belong with me youre my sweetheartlove we need it now lets hope for some cause oh were bleeding outi belong with you you belong with me youre my sweetheart i belong with you you belong with me youre my sweet hohey ho the last one hey ",1
13,"stay","rihanna featuring mikky ekko",2013," all along it was a fever a cold sweat hot headed believer i threw my hands in the air i said show me something he said if you dare come a little closerround and around and around and around we go oh now tell me now tell me now tell me now you knownot really sure how to feel about it something in the way you move makes me feel like i cant live without you it takes me all the way i want you to stayits not much of a life youre living its not just something you take its given round and around and around and around we go oh now tell me now tell me now tell me now you knownot really sure how to feel about it something in the way you move makes me feel like i cant live without you it takes me all the way i want you to stayoh the reason i hold on oh cause i need this hole gone funny youre the broken one but im the only one who needed saving cause when you never see the light its hard to know which one of us is cavingnot really sure how to feel about it something in the way you move makes me feel like i cant live without you it takes me all the way i want you to stay stay i want you to stay oh ",1
14,"get lucky","daft punk featuring pharrell williams",2013," pharrell williams vocalslike the legend of the phoenix all ends with beginnings what keeps the planets spinning the force from the beginningprechorus weve come too far to give up who we are so lets raise the bar and our cups to the starschorus shes up all night till the sun im up all night to get some shes up all night for good fun im up all night to get luckywere up all night till the sun were up all night to get some were up all night for good fun were up all night to get luckypostchorus were up all night to get lucky were up all night to get lucky were up all night to get lucky were up all night to get luckythe present has no ribbon your gift keeps on giving what is this im feeling if you want to leave im with itall chorusdaft punk bridge were up all night to get were up all night to get were up all night to get were up all night to getwere up all night to get were up all night lets get back again were up all night to get lucky were up all night to get luckwere up all night to get lucky were up all night to get lucky were up all night to get lucky were up all night to get lucky were up all night to get lucky were up all night to get lucky were up all night to get lucky were up all night to get luckyall chorus ",1
15,"royals","lorde",2013," ive never seen a diamond in the flesh i cut my teeth on wedding rings in the movies and im not proud of my address in the torn up town no post code envybut every songs like gold teeth grey goose tripping in the bathroom bloodstains ball gowns trashing the hotel roomwe dont care were driving cadillacs in our dreamsbut everybodys like crystal maybach diamonds on your timepiece jet planes islands tigers on a gold leashwe dont care we arent caught up in your love affairand well never be royals royals it dont run in our blood that kind of lux just aint for us we crave a different kind of buzz let me be your ruler ruler you can call me queen bee and baby ill rule ill rule ill rule ill rule let me live that fantasymy friends and i weve cracked the code we count our dollars on the train to the party and everyone who knows us knows that were fine with this we didnt come from moneybut every songs like gold teeth grey goose tripping in the bathroom bloodstains ball gowns trashing the hotel roomwe dont care were driving cadillacs in our dreamsbut everybodys like crystal maybach diamonds on your timepiece jet planes islands tigers on a gold leashwe dont care we arent caught up in your love affairand well never be royals royals it dont run in our blood that kind of lux just aint for us we crave a different kind of buzz let me be your ruler ruler you can call me queen bee and baby ill rule ill rule ill rule ill rule let me live that fantasyooh ooh oh ooh were better than weve every dreamed and im in love with being queenooh ooh oh ooh life is great without a care we arent caught up in your love affairand well never be royals royals it dont run in our blood that kind of lux just aint for us we crave a different kind of buzz let me be your ruler ruler you can call me queen bee and baby ill rule ill rule ill rule ill rule let me live that fantasy ",1
16,"i knew you were trouble","taylor swift",2013," once upon time a few mistakes ago i was in your sights you got me alone you found me you found me you found mei guess you didnt care and i guess i liked that and when i fell hard you took a step back without me without me without meand hes long gone when hes next to me and i realize the blame is on mecause i knew you were trouble when you walked in so shame on me now flew me to places id never been so you put me down oh i knew you were trouble when you walked in so shame on me now flew me to places id never been now im lying on the cold hard ground oh oh trouble trouble trouble oh oh trouble trouble troubleno apologies hell never see you cry pretend he doesnt know that hes the reason why youre drowning youre drowning youre drowningand i heard you moved on from whispers on the street a new notch in your belt is all ill ever be and now i see now i see now i see he was long gone when he met me and i realize the joke is on mei knew you were trouble when you walked in so shame on me now flew me to places id never been so you put me down oh i knew you were trouble when you walked in so shame on me now flew me to places id never been now im lying on the cold hard ground oh oh trouble trouble trouble oh oh trouble trouble troublewhen your saddest fear comes creeping in that you never loved me or her or anyone or anything yeahi knew you were trouble when you walked in so shame on me now flew me to places id never been so you put me down oh i knew you were trouble when you walked in so shame on me now flew me to places id never been now im lying on the cold hard ground oh oh trouble trouble trouble oh oh trouble trouble troublei knew you were trouble when you walked in trouble trouble trouble i knew you were trouble when you walked in trouble trouble trouble ",1
17,"we cant stop","miley cyrus",2013," its our party we can do what we want no drama its our party we can say what we want mike will made its our party we can love who we want we can kiss who we want we can live how we wantits our party we can do what we want its our party we can say what we want its our party we can love who we want we can kiss who we want we can live how we wantred cups and sweaty bodies everywhere hands in the air like we dont care cause we came to have so much fun now got somebody here might get some nowif youre not ready to go home can i get a hell no hell no cause we gonna go all night till we see the sunlight alrightso la da di da di we like to party dancing with molly doing whatever we want this is our house this is our rules and we cant stop and we wont stop cant you see its we who own the night cant you see it we who bout that life and we cant stop and we wont stop we run things things dont run we dont take nothing from nobodyits our party we can do what we want its our party we can say what we want its our party we can love who we want we can kiss who we want we can see who we wantto my home girls here with the big butts shaking it like we at a strip club remember only god can judge us forget the haters cause somebody loves ya and everyone in line in the bathroom trying to get a line in the bathroom we all so turned up here getting turned up yea yeaso la da da di we like to party dancing with molly doing whatever we want this is our house this is our rules and we cant stop and we wont stop cant you see its we who own the night cant you see its we who bout that life and we cant stop and we wont stop we run things things dont run we dont take nothing from nobodyits our party we can do what we want its our party we can say what we want its our party we can love who we want we can kiss who we want we can see who we wantits our party we can do what we want to its our house we can love who we want to its our song we can sing if we want to its my mouth i can say what i want to yea yea yeahand we cant stop yeah and we wont stop oh cant you see its we who own the night cant you see its we who bout that life and we cant stop and we cant stop yeah and we wont stop oh things dont run we dont take nothing from nobody yea yea yeah yeah ehh ",1
18,"wrecking ball","miley cyrus",2013," we clawed we chained our hearts in vain we jumped never asking why we kissed i fell under your spell a love no one could denydont you ever say i just walked away i will always want you i cant live a lie running for my life i will always want youi came in like a wrecking ball i never hit so hard in love all i wanted was to break your walls all you ever did was break me yeah you wreck mei put you high up in the sky and now youre not coming down it slowly turned you let me burn and now were ashes on the grounddont you ever say i just walked away i will always want you i cant live a lie running for my life i will always want youi came in like a wrecking ball i never hit so hard in love all i wanted was to break your walls all you ever did was break mei came in like a wrecking ball yeah i just closed my eyes and swung left me crouching in a blaze and fall all you ever did was break me yeah you wreck mei never meant to start a war i just wanted you to let me in and instead of using force i guess i shouldve let you in i never meant to start a war i just wanted you to let me in i guess i shouldve let you indont you ever say i just walked away i will always want youi came in like a wrecking ball i never hit so hard in love all i wanted was to break your walls all you ever did was break mei came in like a wrecking ball yeah i just closed my eyes and swung left me crouching in a blaze and fall all you ever did was break me yeah you you wreck meyeah you you wreck me ",1
19,"wake me up","avicii",2013," feeling my way through the darkness guided by a beating heart i cant tell where the journey will end but i know where to start they tell me im too young to understand they say im caught up in a dream well life will pass me by if i dont open up my eyes well thats fine by meso wake me up when its all over when im wiser and im older all this time i was finding myself and i didnt know i was lostso wake me up when its all over when im wiser and im older all this time i was finding myself and i didnt know i was losti tried carrying the weight of the world but i only have two hands i hope i get the chance to travel the world and i dont have any plans i wish that i could stay forever this young not afraid to close my eyes lifes a game made for everyone and love is a prizeso wake me up when its all over when im wiser and im older all this time i was finding myself and i didnt know i was lostso wake me up when its all over when im wiser and im older all this time i was finding myself and i didnt know i was losti didnt know i was lost i didnt know i was lost i didnt know i was lost i didnt know i was lost ",1
20,"suit  tie","justin timberlake featuring jayz",2013,"we do not have the lyrics for good suit  tie time justin timberlake chic yet",3
21,"cups pitch perfects when im gone","anna kendrick",2013," i got my ticket for the long way round two bottles of whiskey for the way and i sure would like some sweet company and im leaving tomorrow what you saywhen im gone when im gone youre gonna miss me when im gone youre gonna miss me by my hair youre gonna miss me everywhere oh youre gonna miss me when im gonewhen im gone when im gone youre gonna miss me when im gone youre gonna miss me by my walkohh youre gonna miss me by my talk oh youre gonna miss me when im gonei got my ticket for the long way round the one with the prettiest of views its got mountains its got rivers its got sights to give you shivers but it sure would be prettier with youwhen im gone when im gone youre gonna miss me when im gone youre gonna miss me by my walk youre gonna miss me by my talk oh youre gonna miss me when im gonewhen im gone when im gone youre gonna miss me when im gone youre gonna miss me by my hair youre gonna miss me everywhere oh youre sure gonna miss me when im gonewhen im gone when im gone youre gonna miss me when im gone youre gonna miss me by my walk youre gonna miss me by my talk oh youre gonna miss me when im gone ",1
22,"holy grail","jay z featuring justin timberlake",2013,"feat spain verse 1 justin timberlake you take the clothes off my back and i let you you steal the food right out of my mouth and i watch you eat it i still dont know why why our love is so much ohhh you curse my name in spite to put me to shame air all my laundry in the streets dirty or clean give it up for fame but i still dont know why why i love it so much yea hook and baby its amazing im in this maze with you i just cant crack the code one day you screaming you love me loud the next day youre so cold one day you here one day you there one day you care youre so unfair sipping from the cup till it runneth over holy grail verse 2 jayz blue told me to remind you about  that  yall talk about im the  caught up in all these lights and cameras but look what that shit did to hammer  it i like it the bright lights is enticing but look what it did to tyson all that money in one night 30 mill for one fight but soon as all the money blows all the pigeons take flight keep the fame keep cheating on me what i do i took her back fool me twice thats my bad i cant even blame her for that enough to make me to  momma please just get my bail i know nobody to blame kurt cobain i did it to myself brigde justin timberlake and we all just entertainers x2 and were stupid and contagious hook justin timberlake verse 3 jayz now i got tattoos on my body psycho  in my lobby i got haters in the paper photo shoots with paparazzi cant even take my daughter for a walk see them by the corner store i feel like im cornered off enough is enough im calling this off who the fuck im kidding though im getting  sitting low sliding by in that big body curtains all in my window this fame hurt but this chain works i think back you asked the same person if this is all you had to deal with  deal with it this  aint work this light work camera snapping my eyes hurt  dying back where i was birthed  your iris and irs get the  up off of your high horse you got the  that  dry yours why you mad take the good with the bad dont throw that baby out with the bath water youre still alive still that  you survived you still getting bigger  living the life vanilla wafers in a villa illest  alive michael jackson thriller hook justin timberlake outro dont know why love you so much",3
23,"scream  shout","william featuring britney spears",2013,NA,NA
24,"clarity","zedd featuring foxes",2013," high dive into frozen waves where the past comes back to life fight fear for the selfish pain i it was worth it every timehold still right before we crash cause we both know how this ends a clock ticks till it breaks your glass a and i drown in you againcause you are the piece of me i wish i didnt need chasing relentlessly still fight and i dont know whyif our love is tragedy why are you my remedy if our loves insanity why are you my clarityeh eh eheheh eh eh eheheh eh eh eheheh eh eh ehehehif our love is tragedy why are you my remedy if our loves insanity why are you my claritywalk on through a red parade a and refuse to make amends it cuts deep through our ground and makes you us forget all common sensedont speak as i try to leave cause we both know what welld choose if you pull then ill push too deep a and ill fall right back to youcause you are the piece of me i wish i didnt need chasing relentlessly still fight and i dontt know whyif our love is tragedy why are you my remedy if our loves insanity why are you my clarityeh eh eheheh eh eh ehehehwhy are you my clarity clarityclarityclarity eh eh ehehehwhy are you my remedy remedyremedyremedy eh eh ehehehwhy are you my clarity clarityclarityclarity eh eh ehehehwhy are you my remedy remedyremedyremedy eh eh ehehehif our love is tragedy eh eh eheheh why are you my remedyif our loves insanity eh eh eheheh why are you my clarity ",1
25,"sail","awolnation",2013," sail this is how i show my love i made it in my mind because blame it on my add babythis is how an angel dies blame it on my own sick pride blame it on my add babysail sail sail sail sailmaybe i should cry for help maybe i should kill myself myself blame it on my add babymaybe im a different breed maybe im not listening so blame it on my add babysail sail sail sail sailla la la la la la la la la la la la la la la la la la la la la la la lasail sail sail sail sail sail sail sail sail ",1
26,"dont you worry child","swedish house mafia featuring john martin",2013," there was a time i used to look into my fathers eyes in a happy home i was a king i had a golden throne those days are gone now the memories are on the wall i hear the sounds from the places where i was bornup on the hill across the blue lake thats where i had my first heart break i still remember how it all changed my father said dont you worry dont you worry child see heavens got a plan for you dont you worry dont you worry now yeahdont you worry dont you worry now yeahdont you worry dont you worry now yeahthere was a time i met a girl of a different kind we ruled the world thought ill never lose her out of sight we were so young i think of her now and then i still hear the songs reminding me of a friendup on the hill across the blue lake thats where i had my first heart break i still remember how it all changed my father said dont you worry dont you worry child see heavens got a plan for you dont you worry dont you worry now yeahooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh oohsee heavens got a plan for you see heavens got a plan for you see heavens got a plan for youdont you worry dont you worry child see heavens got a plan for you dont you worry dont you worry now yeahooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh ooh yeah ",1
27,"diamonds","rihanna",2013," shine bright like a diamond shine bright like a diamondfind light in the beautiful sea i choose to be happy you and i you and i were like diamonds in the skyyoure a shooting star i see a vision of ecstasy when you hold me im alive were like diamonds in the skyi knew that wed become one right away oh right away at first sight i left the energy of sun rays i saw the life inside your eyesso shine bright tonight you and i were beautiful like diamonds in the sky eye to eye so alive were beautiful like diamonds in the skyshine bright like a diamond shine bright like a diamond shining bright like a diamond were beautiful like diamonds in the skyshine bright like a diamond shine bright like a diamond shining bright like a diamond were beautiful like diamonds in the skypalms rise to the universe as we moonshine and molly feel the warmth well never die were like diamonds in the skyyoure a shooting star i see a vision of ecstasy when you hold me im alive were like diamonds in the skyat first sight i felt the energy of sun rays i saw the life inside your eyesso shine bright tonight you and i were beautiful like diamonds in the sky eye to eye so alive were beautiful like diamonds in the skyshine bright like a diamond shine bright like a diamond shining bright like a diamond were beautiful like diamonds in the skyshine bright like a diamond shine bright like a diamond shining bright like a diamond were beautiful like diamonds in the skyshine bright like a diamond shine bright like a diamond shine bright like a diamondso shine bright tonight you and i were beautiful like diamonds in the sky eye to eye so alive were beautiful like diamonds in the skyshine bright like a diamond shine bright like a diamond shine bright like a diamond shine bright like a diamond shine bright like a diamond shine bright like a diamond shine bright like a diamond ",1
28,"i love it","icona pop featuring charli xcx",2013," i got this feeling on the summer day when you were gone i crashed my car into the bridge i watched i let it burn i threw your shit into a bag and pushed it down the stairs i crashed my car into the bridgei dont care i love it i dont carei got this feeling on the summer day when you were gone i crashed my car into the bridge i watched i let it burn i threw your shit into a bag and pushed it down the stairs i crashed my car into the bridgei dont care i love it i dont careyoure on a different road im in the milky way you want me down on earth but i am up in space youre so damn hard to please we gotta kill this switch youre from the 70s but im a 90s bitchi love it i love iti got this feeling on the summer day when you were gone i crashed my car into the bridge i watched i let it burn i threw your shit into a bag and pushed it down the stairs i crashed my car into the bridgei dont care i love it i dont care i love it i love it i dont care i love it i dont careyoure on a different road im in the milky way you want me down on earth but i am up in space youre so damn hard to please we gotta kill this switch youre from the 70s but im a 90s bitchi dont care i love it i dont care i love it i love it i dont care i love it i dont care i love it i love it i dont care i love it ",1
29,"safe and sound","capital cities",2013," i could lift you up i could show you what you wanna see and take you where you wanna be you could be my luck even if the sky is falling down i know that well be safe and sound were safe and soundi could fill your cup you know my river wont evaporate this world will still appreciate you could be my luck even in a hurricane of frowns i know that well be safe and soundsafe and sound were safe and sound safe and sound were safe and sound hold your ground were safe and sound safe and soundi could show you love in a tidal wave of mystery youll still be standing next to me you could be my luck even if were six feet underground i know that well be safe and sound were safe and soundsafe and sound safe and sound hold your ground safe and soundi could lift you up i could show you what you wanna see and take you where you wanna be you could be my luck even if the sky is falling down i know that well be safe and soundi could lift you up i could show you what you wanna see and take you where you wanna be you could be my luck even if the sky is falling down i know that well be safe and soundwere safe and sound were safe and sound were safe and sound were safe and soundsafe and sound were safe and sound safe and sound were safe and sound hold your ground were safe and sound safe and sound were safe and sound ",1
30,"treasure","bruno mars",2013," give me all give me all give me all attention baby i got to tell you a little something about yourself youre wonderful flawless ooh youre a sexy lady but you walk around here like you wanna be someone elseooooooooohhhhhhhhhhhi know that you dont know it but youre fine so fine fine so fine ooooooooooohhhhhhhhhoh girl im gonna show you when youre mine oh minemine oh minetreasure that is what you are honey youre my golden star i know you could make my wish come true if you let me treasure you if you let me treasure youoh ooooohpretty girl pretty girl pretty girl you should be smiling a girl like you should never look so blue youre everything i see in my dreams i wouldnt say that to you if it wasnt trueoooooooooohhhhhhhhhhhhi know that you dont know it but youre fine so fine fine so fineooooooooooohhhhhhhhhhhoh girl im gonna show you when youre mine oh minemine oh minetreasure that is what you are honey youre my golden star i know you could make my wish come true if you let me treasure you if you let me treasure youyou are my treasure you are my treasure you are my treasure yeah you you you you are you are my treasure you are my treasure you are my treasure yeah you you you you aretreasure that is what you are honey youre my golden star i know you can make my wish come true if you let me treasure you if you let me treasure you ",1
31,"the way","ariana grande featuring mac miller",2013," what we gotta do right here is go back back to the topi love the way you make me feel i love it i love it i love the way you make me feel i love it i love itsay im thinking bout her every second every hour do my singing in the shower picking petals off the flowers like do she love me do she love me not love me not i aint a player i just crush a lot crush a lotyou give me that kind of something want it all the time need it everyday on a scale of one to ten im at 100 never get enough i cant stay awayif you want it i got it i got it everyday you can get whatever you need from me stay by your side ill never leave you and i aint going nowhere cause youre a keeperso dont you worry baby you got mei got a bad boy i must admit it you got my heart dont know how you did it and i dont care who sees it babe i dont wanna hide the way i feel when youre next to mei love the way you make me feel i love the way i love it baby i love the way you make me feel ooh i love the way i love it the way you love meoh its so crazy you get my heart jumping when you put your lips on mine and honey it aint a question question cause boy i know just what you likeso if you need it i got it i got it everyday be your lover your friend youll find it all in me stay by your side ill never leave you and i aint going nowhere cause youre a keeperso dont you worry baby you got mei got a bad boy i must admit it you got my heart dont know how you did it and i dont care who sees it babe i dont wanna hide the way i feel when youre next to mei love the way you make me feel i love the way i love it baby i love the way you make me feel ooh i love the way i love it the way i love youuh i make you feel so fine i make you feel so fine i hope you hit me on my celly when i sneak in your mind youre a princess to the public but a freak when its time said your bed be feeling lonely so youre sleeping in mine you come and watch a movie with me american beauty or bruce almighty thats groovy just come and move closer to me i got some feelings for you im not gonna get bored of but baby youre an adventure so please let me come explore youso dont you worry baby you got mei got a bad boy i must admit it you got my heart dont know how you did it and i dont care who sees it babe i dont wanna hide the way i feel when youre next to mei love the way you make me feel i love the way i love it baby i love the way you make me feel i love the way i love iti love the way you make me feel i love the way i love it baby i love the way you make me feel i love the way i love itthe way i love you the way i love you you you yeahi love the way you make me feel i love it i love it i love the way you make me feel i love it the way i love you ",1
32,"started from the bottom","drake",2013," started from the bottom now were here started from the bottom now my whole team fucking here started from the bottom now were here started from the bottom now the whole team here nigga started from the bottom now were here started from the bottom now my whole team here nigga started from the bottom now were here started from the bottom now the whole team fucking herei done kept it real from the jump living at my mamas house wed argue every month nigga i was trying to get it on my own working all night traffic on the way home and my uncle calling me like where ya at i gave you the keys told ya bring it right back nigga i just think its funny how it goes now im on the road half a million for a showand we started from the bottom now were here started from the bottom now my whole team fucking here started from the bottom now were here started from the bottom now the whole team here nigga started from the bottom now were here started from the bottom now my whole team fucking here started from the bottom now were here started from the bottom now my whole team here niggaboys tell stories about the man say i never struggled wasnt hungry yeah i doubt it nigga i could turn your boy into the man there aint really much i hear thats poppin off without us nigga we just want the credit where its due ima worry about me give a fuck about you nigga just as a reminder to myself i wear every single chain even when im in the housecause we started from the bottom now were here started from the bottom now my whole team fucking here started from the bottom now were here started from the bottom now the whole team here niggano new niggas nigga we dont feel that fuck a fake friend where your real friends at we dont like to do too much explainin story stay the same i never changed it no new niggas nigga we dont feel that fuck a fake friend where your real friends at we dont like to do too much explainin story stay the same through the money and the famecause we started from the bottom now were here started from the bottom now my whole team fucking here started from the bottom now were here started from the bottom now the whole team here nigga started from the bottom now were here started from the bottom now my whole team here nigga started from the bottom now were here started from the bottom now my whole team here nigga ",1
33,"come  get it","selena gomez",2013,"2x when youre ready come and get it na na na na 3x when youre ready when youre ready when youre ready come and get it na na na na 3x you aint gotta worry its an open invitation ill be sittin right here real patient all day all night ill be waitin standby cant stop because i love it hate the way i love you all day all night maybe im addicted for life no lie im not too shy to show i love you i got no regrets i love you much too much to hide you this love aint finished yet this love aint finished yet so baby whenever youre ready 2x when youre ready come and get it na na na na 3x when youre ready when youre ready when youre ready come and get it na na na na 3x you got the kind of love that i want let me get thatand baby once i get it im yours no take backs gon love you for life i aint leaving your side even if you knock it aint no way to stop it forever youre mine baby im addicted no lie no lie im not too shy to show i love you i got no regrets so baby whenever youre ready 2x when youre ready come and get it na na na na 3x when youre ready when youre ready when youre ready come and get it na na na na 3x this love will be the death of me but i know ill die happily ill know ill know ill know because you love me so yeah 2x when youre ready come and get it na na na na 3x when youre ready when youre ready when youre ready come and get it na na na na 3x",3
34,"hold on were going home","drake featuring majid jordan",2013," i got my eyes on you youre everything that i see i want your hot love and emotion endlessly i cant get over you you left your mark on me i want your high love and emotion endlessly cause youre a good girl and you know it you act so different around me cause youre a good girl and you know it i know exactly who you could bejust hold on were going home just hold on were going home its hard to do these things alone just hold on were going home ho ohi got my eyes on you youre everything that i see i want your hot love and emotion endlessly i cant get over you you left your mark on me i want your high love and emotion endlessly cause youre a good girl and you know it you act so different around me cause youre a good girl and you know it i know exactly who you could beso just hold on were going home goin home just hold on were going home goin home its hard to do these things alone things alone just hold on were going home goin home ho oh goin homeyoure the girl youre the one gave you every thing i love i think theres something baby i think theres something babyyoure the girl youre the one gave you every thing i love i think theres something baby i think theres something babycause youre a good girl and you know it you act so different around me cause youre a good girl and you know it i know exactly who you could beoh just hold on were going home goin home just hold on were going home goin home its hard to do these things alone things alone just hold on were going home goin home ho oh goin homehold on hold on hold on ",1
35,"daylight","maroon 5",2013," here i am waiting ill have to leave soon why am i holding on we knew this day would come we knew it all along how did it come so fast this is our last night but its late and im trying not to sleep cause i know when i wake i will have to slip awayand when the daylight comes ill have to go but tonight im gonna hold you so close cause in the daylight well be on our own but tonight i need to hold you so close ooh whoa ooh whoa ooh whoa ooh whoa ooh whoa ooh whoahere i am staring at your perfection in my arms so beautiful the sky is getting bright the stars are burning out somebody slow it down this is way too hard cause i know when the sun comes up i will leave this is my last glance that will soon be memoryand when the daylight comes ill have to go but tonight im gonna hold you so close cause in the daylight well be on our own but tonight i need to hold you so close ooh whoa ooh whoa ooh whoa ooh whoa ooh whoa ooh whoai never wanted to stop because i dont wanna start all over start all over i was afraid of the dark but now its all that i want all that i want all that i wantand when the daylight comes ill have to go but tonight im gonna hold you so close cause in the daylight well be on our own but tonight i need to hold you so closeand when the daylight comes ill have to go but tonight im gonna hold you so close cause in the daylight well be on our own but tonight i need to hold you so close ooh whoa ooh whoa ooh whoa ooh whoa ooh whoa ooh whoaooh whoa yeah ooh whoa yeah ooh whoa yeah ooh whoa yeah ooh whoa yeah ooh whoa ",1
36,"feel this moment","pitbull featuring christina aguilera",2013," ask for money and get advice ask for advice get money twice im from the dirty but that chico nice yall call it a moment i call it lifeone day when the light is glowing ill be in my castle golden but until the gates are open i just wanna feel this moment ohi just wanna feel this moment ohi just wanna feel this momentmr worldwide christina aguilera oye mamita come on dale que la cosa esta ricai wanna feel this momentfeel this momentreporting live from the tallest building in tokyo long ways from them hard ways bill sos and oh yeas dade county always 305 all day now baby we can parle oh baby we can party she read books especially about red rooms and tie ups i got her hooked cause she seen me in a suit with the red tie tied up meet and greet nice to meet ya but time is money only difference is i own it now lets stop time and enjoy this momentone day when the light is glowing ill be in my castle golden but until the gates are open i just wanna feel this moment ohi just wanna feel this moment ohi just wanna feel this momentfeel this momenti see the future but live for the moment make sense dont it now make dollars i mean billions im a genius i mean brilliant the streets is what schooled em and made em slicker than slick rick the ruler ive lost a lot and learned a lot but im still undefeated like shooter im far from cheap i break down companies with all my peeps baby we can travel the world and i can give you an all you can see time is money only difference is i own it like a stop watch lets stop time and enjoy this momentone day when the light is glowing ill be in my castle golden but until the gates are open i just wanna feel this moment ohi just wanna feel this moment ohi just wanna feel this momentcome one feel this momentoh i just wanna feel this moment oh i just wanna feel this moment ",1
37,"applause","lady gaga",2013," i stand here waiting for you to bang the gong to crash the critics saying is it right or is it wrong if only fame had an iv baby could i bear being away from you i found the vein put it in herei live for the applause applause applause i live for the applauseplause live for the applauseplause live for the way that you cheer and scream for me the applause applause applausegive me that thing that i love turn the lights on put your hands up make em touch touch make it real loud give me that thing that i love turn the lights on put your hands up make em touch touch make it real loudapplause make it real loud put your hands up make em touch touch applause make it real loud put your hands up make em touch touchive overheard your theory nostalgias for geeks i guess sir if you say so some of us just like to readone second im a kunst then suddenly the kunst is me pop culture was in art now arts in pop culture in mei live for the applause applause applause i live for the applauseplause live for the applauseplause live for the way that you cheer and scream for me the applause applause applausegive me that thing that i love turn the lights on put your hands up make em touch touch make it real loud give me that thing that i love turn the lights on put your hands up make em touch touch make it real loudapplause make it real loud put your hands up make em touch touch applause make it real loud put your hands up make em touch touchooh touch touch ooh touch touch now ooh ooh ooh oohi live for the applause applause applause i live for the applauseplause live for the applauseplause live for the way that you cheer and scream for me the applause applause applausegive me that thing that i love turn the lights on put your hands up make em touch touch make it real loud give me that thing that i love turn the lights on put your hands up make em touch touch make it real loudapplause make it real loud put your hands up make em touch touch make it real loud applause make it real loud put your hands up make em touch touchartpop ",1
38,"one more night","maroon 5",2013," you and i go hard at each other like were going to war you and i go rough we keep throwing things and slamming the door you and i get so damn dysfunctional we start keeping score you and i get sick yeah i know that we cant do this no morebut baby there you go again there you go again making me love you yeah i stopped using my head using my head let it all go got you stuck on my body on my body like a tattoo and now im feeling stupid feeling stupid crawling back to youso i cross my heart and i hope to die that ill only stay with you one more night and i know i said it a million times but ill only stay with you one more nighttry to tell you no but my body keeps on telling you yes try to tell you stop but your lipstick got me so out of breath ill be waking up in the morning probably hating myself and ill be waking up feeling satisfied but guilty as hellbut baby there you go again there you go again making me love you and i stopped using my head using my head let it all go got you stuck on my body on my body like a tattoo and now im feeling stupid feeling stupid crawling back to youso i cross my heart and i hope to die that ill only stay with you one more night and i know i said it a million times but ill only stay with you one more nightyeah baby give me one more night yeah baby give me one more night yeah baby give me one more nightbaby there you go again there you go again making me love you and i stopped using my head using my head let it all go got you stuck on my body on my body like a tattoo yeah yeah yeah yeahso i cross my heart and i hope to die that ill only stay with you one more night and i know i said it a million times but ill only stay with you one more night yeah baby give me one more nightso i cross my heart and i hope to die that ill only stay with you one more night and i know i said it a million times but ill only stay with you one more night ",1
39,"love me","lil wayne featuring drake and future",2013," im on that good kush and alcohol i got some down bitches i can call i dont know what i would do without yall im gon ball til the day i fallyeah long as my bitches love me yeah yeah i can give a fuck bout no hater long as my bitches love me i can give a fuck bout no niggas long as these bitches love meuh pussy ass nigga stop hating lil tunechi got that fire and these hos love me like satan maaaan fuck with me and get bodied and all she eat is dick shes on a strict diet thats my baby with no makeup she a ten and she the best with that head even better then karrine she dont want money she want the time that we could spend she said cause i really need somebody so tell me youre that somebody girl i fuck who i want and fuck who i dont got that a1 credit thats that filet mignon she said i never want to make you mad i just want to make you proud i said baby just make me cum then dont make no soundim on that good kush and alcohol i got some down bitches i can call i dont know what i would do without yall im gon ball til the day i fallyeah long as my bitches love me yeah yeah i can give a fuck bout no hater long as my bitches love me i can give a fuck bout no niggas long as these bitches love mereal nigga fuck these haters these hoes got pussies like craters cant treat these hoes like ladies man pussy money weed codeine she said my dick feel like morphine i hope my name taste like sardines to these niggas she wake up eat this dick call that breakfast in bed 69 96 i feel her heartbeat i chest to chest with this bitch now turn around face down im arrestin this bitch all my bitches love me and i love all my bitches but its like as soon as i cum i come to my senses and i would say these hoes name but then i would be snitching and these haters try to knock me but they cant knock me off the hinges manim on that good kush and alcohol i got some down bitches i can call i dont know what i would do without yall im gon ball til the day i fallyeah long as my bitches love me yeah yeah i can give a fuck bout no hater long as my bitches love me i can give a fuck bout no niggas long as these bitches love mei lost a few good bitches met some more bad bitches i be schooling them niggas pose for your class picture now kiss my ass if you hating im getting ass while im skatingi lost a few good bitches met some more bad bitches i be schooling them niggas pose for your class picture now kiss my ass if you hating im getting ass while im skatingim on that good kush and alcohol i got some down bitches i can call i dont know what i would do without yall im gon ball til the day i fallyeah long as my bitches love me yeah yeah i can give a fuck bout no hater long as my bitches love me i can give a fuck bout no niggas long as these bitches love me ",1
40,"my songs know what you did in the dark light em up","fall out boy",2013," ooh oh oh oh ooh oh oh oh be careful making wishes in the dark cant be sure when theyve hit their mark and besides in the meantime im just dreaming of tearing you apart im in the details with the devil so now the world can never get me on my level i just got to get you out of the cage im a young lovers rage gonna need a spark to ignite my songs know what you did in the darkso light em up up up light em up up up light em up up up im on fire so light em up up up light em up up up light em up up up im on fireooh oh oh oh in the dark in the dark ooh oh oh oh in the dark in the darkall the writers keep writing what they write somewhere another pretty vein just dies ive got the scars from tomorrow and i wish you could see that youre the antidote to everything except for me a constellation of tears on your lashes burn everything you love then burn the ashes in the end everything collides my childhood spat back the monster that you see my songs know what you did in the darkso light em up up up light em up up up light em up up up im on fire so light em up up up light em up up up light em up up up im on fireooh oh oh oh in the dark in the dark ooh oh oh oh in the dark in the darkmy songs know what you did in the dark my songs know what you did in the darkso light em up up up light em up up up light em up up up im on fire so light em up up up light em up up up light em up up up im on fireooh oh oh oh in the dark in the dark ooh oh oh oh in the dark in the dark ooh oh oh ",1
41,"fuckin problems","asap rocky featuring drake 2 chainz and kendrick lamar",2013," hook 2 chainz drake and rocky i love bad bitches thats my fuckin problem and yeah i like to fuck i got a fuckin problem i love bad bitches thats my fuckin problem and yeah i like to fuck i got a fuckin problem i love bad bitches thats my fuckin problem and yeah i like to fuck i got a fuckin problem if findin somebody real is your fuckin problem bring ya girls to the crib maybe we can solve itverse 1 aap rocky hold up bitches simmer down takin hella long bitch give it to me now make that thing pop like a semi or a nine oh baby like it raw with a shimmy shimmy ya huh asap get like me never met a mother fucker fresh like me all these motherfuckers wanna dress like me put the chrome to your dome make you sweat like keith cause im the nigga the nigga nigga like how you figure getting figures and fuckin bitches she rollin swishers for her bitches i bought my niggas they getting bent up off the liquor she love my licorice i let her lick it they say money make a nigga act niggerish but at least a nigga nigga rich i be fuckin broads like i be fuckin bored turn a dyke bitch out have her fuckin boys beasthookverse 2 drake i know you love it when this beat is on make you think about all of the niggas youve been leading on make me think about all of the rappers ive been feeding on got a feeling thats the same dudes that we speakin on oh word you aint heard my album who you sleepin on you should print the lyrics out and have a fucking readalong aint a fucking singalong unless you brought the weed along then juuuuuuuuu laughs then juuuust drop down and get yo eagle on or we can stare up at the stars and put the beatles on all that shit you talkin bout is not up for discussion i wont pay to make it bigger i dont pay for no reduction if its comin from a nigga i dont know then i dont trust it if you comin from out here then muhhfucka get to bustin yes looooooooooooorrd i dont really say this often but this long dick nigga aint for the long talkin i beasthookverse 3 kendrick lamar yeah ho this the finale my pep talk turn into a pep rally say shes from the hood but she live inside in the valley now vacate in atlanta then she going back to cali got your girl on my line world on my line the irony i fuck em at the same damn time she eyeing me like a nigga dont exist girl i know you want this dick girl im kendrick lamar aka benz is to me is just a car that mean your friends need to be up to par see my standards are papered by threesomes tomorrow kill em all dead bodies in the hallway dont get involved listen to what the crystal ball say halle berry hallelujah holla back ill do ya beasthook ",1
42,"beauty and a beat","justin bieber featuring nicki minaj",2013," justin bieber justin bieber justin bieber justin bieber all i need is love all i need is love is youyoung money nicki minaj justinshow you off tonight i wanna show you off what you got a billion couldve never bought we gonna party like its thirty twelve tonight i wanna show you all the finer things in life so just forget about the world be young tonight im coming for ya im coming for yacause all i need is a beauty and a beat who can make my life complete its all by you when the music makes you move baby do it like you do causebody rock body rock body rock rock rock body rock girl i can feel your body rock take a bow you on the hottest ticket now we gonna party like its thirty twelve tonight i wanna show you all the finer things in life so just forget about the world be young tonight im coming for ya im coming for yacause all i need is a beauty and a beat who can make my life complete its all by you when the music makes you move baby do it like you doin time ink lines bitches couldnt get on my incline world tour its mine ten little letters in a big sign justin bieber you know ima hit em with the ether buns out wiener but i gotta keep my eye out for selena beauty beauty and the beast beauty from the east beautiful confessions of the priest beast beauty from the streets we dont get deceased every time a beauty on the beatsbody rock girl i wanna feel your body rock cause all i need is a beauty and a beat who can make my life complete its all by you when the music makes you move baby do it like you do causebody rock body rock body rock ",1
43,"same love","macklemore and ryan lewis featuring mary lambert",2013," when i was in the 3rd grade i thought that i was gay cause i could draw my uncle was and i kept my room straight i told my mom tears rushing down my face shes like ben youve loved girls since before prek trippin yeah i guess she had a point didnt she a bunch of stereotypes all in my head i remember doing the math like yeah im good a little league a preconceived idea of what it all meant for those who like the same sex had the characteristics the rightwing conservatives think its a decision and you can be cured with some treatment and religion manmade rewiring of a predisposition playing god ahh nah here we go america the brave still fears what we dont know and god loves all his children its somehow forgotten but we paraphrase a book written 3500 hundred years ago i dont knowand i cant change even if i tried even if i wanted to and i cant change even if i tried even if i wanted to my love my love my love she keeps me warm she keeps me warm she keeps me warm she keeps me warmif i was gay i would think hiphop hates me have you read the youtube comments lately man thats gay gets dropped on the daily weve become so numb to what were sayin our culture founded from oppression yeah we dont have acceptance for em call each other faggots behind the keys of a message board a word routed in hate yet our genre still ignores it gay is synonymous with the lesser its the same hate thats caused wars from religion gender to skin color the complexion of your pigment the same fight that lead people to walkouts and sitins its human rights for everybody there is no difference live on and be yourself when i was in church they taught me something else if you preach hate at the service those words arent anointed and that holy water that you soak in is then poisoned when everyone else is more comfortable remaining voiceless rather than fighting for humans that have had their rights stolen i might not be the same but thats not important no freedom til were equal damn right i support iti dont knowand i cant change even if i tried even if i wanted to my love my love my love she keeps me warm she keeps me warm she keeps me warm she keeps me warmwe press play dont press pause progress march on with a veil over our eyes we turn our back on the cause till the day that my uncles can be united by law their kids are walkin around the hallway plagued by pain in their heart a world so hateful some would rather die than be who they are and a certificate on paper isnt gonna solve it all but its a damn good place to start no laws gonna change us we have to change us whatever god you believe in we come from the same one strip away the fear underneath its all the same love about time that we raised upand i cant change even if i tried even if i wanted to and i cant change even if i tried even if i wanted to my love my love my love she keeps me warm she keeps me warm she keeps me warm she keeps me warmlove is patient love is kind love is patient love is kind not crying on sundays love is patientnot crying on sundays love is kind im not crying on sundays love is patientnot crying on sundays love is kindim not crying on sundays love is patientnot crying on sundays love is kindim not crying on sundays love is patient love is kind ",1
44,"sweet nothing","calvin harris featuring florence welch",2013," you took my heart and you held it in your mouth and with the word all my love came rushing out and every whisper its the worst emptied out by a single word there is a hollow in me nowso i put my faith in something unknown im living on such sweet nothing but im tryin to hope with nothing to hold im living on such sweet nothing and its hard to learn and its hard to love when youre giving me such sweet nothing sweet nothing sweet nothing youre giving me such sweet nothingit isnt easy for me to let it go cause i swallow every single word and every whisper every sigh eats away this heart of mine and there is a hollow in me nowso i put my faith in something unknown im living on such sweet nothing but im tired of hope with nothing to hold im living on such sweet nothingand its hard to learn and its hard to love when youre giving me such sweet nothing sweet nothing sweet nothing youre giving me such sweet nothingand its not enough to tell me that you care when we both know the words are empty air you give me nothing nothinguoh uoh uoh sweet nothinguoh uoh uoh sweet nothing ",1
45,"summertime sadness","lana del rey and cedric gervais",2013," kiss me hard before you go summertime sadness i just wanted you to know that baby youre the besti got my red dress on tonight dancing in the dark in the pale moonlight got my hair up real big beauty queen style high heels off im feeling aliveoh my god i feel it in the air telephone wires above all sizzlin like your stare honey im on fire i feel it everywhere nothing scares me anymorekiss me hard before you go summertime sadness i just wanted you to know that baby youre the bestive got that summertime summertime sadness summertime summertime sadness got that summertime summertime sadness oh ohim feelin electric tonight cruising down the coast goin bout 99 got my bad baby by my heavenly side oh if i go ill die happy tonightoh my god i feel it in the air telephone wires above all sizzlin like your stare honey im on fire i feel it everywhere nothing scares me anymorekiss me hard before you go summertime sadness i just wanted you to know that baby youre the bestive got that summertime summertime sadness summertime summertime sadness got that summertime summertime sadness oh ohi think ill miss you forever like the stars miss the sun in the morning skies late is better than never even if youre gone im gonna drive driveive got that summertime summertime sadness summertime summertime sadness got that summertime summertime sadness oh ohkiss me hard before you go summertime sadness i just wanted you to know that baby youre the bestive got that summertime summertime sadness summertime summertime sadness got that summertime summertime sadness oh oh ",1
46,"home","phillip phillips",2013," hold on to me as we go as we roll down this unfamiliar road and although this wave is stringing us along just know youre not alone cause im going to make this place your homesettle down itll all be clear dont pay no mind to the demons they fill you with fear the trouble it might drag you down if you get lost you can always be foundjust know youre not alone cause im going to make this place your homesettle down itll all be clear dont pay no mind to the demons they fill you with fear the trouble it might drag you down if you get lost you can always be foundjust know youre not alone cause im going to make this place your homeooooooooooooooo oooooooo ooooooooooooooo oooooooo ooooooooooooooo oooooooo ooooooooooooooo ooooooooaaaaaaaohohohoh aaaaohohhhhh aaaaaaaohohohoh aaaaohohhhhh aaaaaaaohohohoh aaaaohohhhhh aaaaaaaohohohoh aaaaohohhhhhaaaaaaaohohohoh aaaaohohhhhh aaaaaaaohohohoh aaaaohohhhhh aaaaaaaohohohoh aaaaohohhhhh aaaaaaaohohohoh aaaaohohhhhhsettle down itll all be clear dont pay no mind to the demons they fill you with fear the trouble it might drag you down if you get lost you can always be foundjust know youre not alone cause im going to make this place your homeaaaaaaaohohohoh aaaaohohhhhh aaaaaaaohohohoh aaaaohohhhhh aaaaaaaohohohoh aaaaohohhhhh aaaaaaaohohohoh aaaaohohhhhhaaaaaaaohohohoh aaaaohohhhhh aaaaaaaohohohoh aaaaohohhhhh aaaaaaaohohohoh aaaaohohhhhh aaaaaaaohohohoh aaaaohohhhhhaaaaaaaohohohoh aaaaohohhhhh aaaaaaaohohohoh aaaaohohhhhh aaaaaaaohohohoh aaaaohohhhhh aaaaaaaohohohoh aaaaohohhhhh ",1
47,"its time","imagine dragons",2013," so this is what you meant when you said that you were spent and now its time to build from the bottom of the pit right to the top dont hold back packing my bags and giving the academy a rain checki dont ever want to let you down i dont ever want to leave this town cause after all this city never sleeps at nightits time to begin isnt it i get a little bit bigger but then ill admit im just the same as i was now dont you understand im never changing who i amso this is where you fell and i am left to sell the path to heaven runs through miles of clouded hell right to the top dont look back turning to rags and giving the commodities a rain checki dont ever want to let you down i dont ever want to leave this town cause after all this city never sleeps at nightits time to begin isnt it i get a little bit bigger but then ill admit im just the same as i was now dont you understand im never changing who i amits time to begin isnt it i get a little bit bigger but then ill admit im just the same as i was now dont you understand im never changing who i amthis road never looked so lonely this house doesnt burn down slowly to ashes to ashesits time to begin isnt it i get a little bit bigger but then ill admit im just the same as i was now dont you understand im never changing who i amits time to begin isnt it i get a little bit bigger but then ill admit im just the same as i was now dont you understand im never changing who i am ",1
48,"power trip","j cole featuring miguel",2013," got me up all night all im singing is love songs she got me up all night constant drinking and love songs she got me up all night down and out with these love songs she got me up all night drown it out with these love songs she got me up all night yeah all im singing is love songs she got me up all night yeah constant drinking and love songs she got me up all night yeah down and out with these love songs got me open all night uh huh got me up all night heyok back when i was sleepin in my mama crib even back then when i was up there in mohammed crib payin seventeenhundred for the rent money well spent no heater but a nigga made heat may i vent had a thing for you even wrote the song dreams for you cause i had dreams for you thoughts of a ring for you childish shit you know childish shit anonymous flowers sent you know coward shit now a nigga signed to hov took a power trip back home im grown now and this citys my throne now the same clubs i used to get tossed out life got crisscrossed totally crossed out cause now im in this bitch and im totally bossed out old chicks cryin cause they know that they lost out but im still on you im still on you my drink spilled on me while i feel on you im sayingwould you believe me if i said im in love baby i want you to want me would you believe me if i said im in love baby i want yaand we are we are we are got me up all night and we are we are we are all im singin is love songs and we are we are we are got me up all night and we are we are we are she got me and we are we are we are she got mewell this has gotta be the longest crush ever if i ever get to fuck itd be the longest bust ever love is a drug like the strongest stuff ever and fuck it im on one you feel me she on a power trip she got me where she want a nigga wifin in the club man my homies gon disown a nigga like give me 20 dolla dolla ass stupid how you get to college college im in your city and im wonderin if youre home now went and found a man but im hopin you alone now cant help but feelin like i dropped the ball cliche i used to pop up on you at the mall each day now typically i kick game like eastbay but you got a nigga freezeframed yelling please play for petes sake homie pull it together just fuck her one time and be through it forever butwould you believe me if i said im in love baby i want you to want me would you believe me if i said im in love baby i want ya yeahand we are we are we are got me up all night and we are we are we are all im singin is love songs and we are we are we are got me up all night and we are we are we are she got me and we are we are we are she got megot me up all night all im singing is love songs she got me up all night all night constant drinking and love songs she got me up all night all night down and out with these love songs she got me up all night all night drown it out with these love songs she got me up all night yeah all im singing is love songs she got me up all night yeah constant drinking and love songs she got me up all night yeah down and out with these love songs she got me open all night uh huh got me open all night hey ",1
49,"girl on fire","alicia keys",2013," shes just a girl and shes on fire hotter than a fantasy longer like a highway shes living in a world and its on fire feeling the catastrophe but she knows she can fly away oh she got both feet on the ground and shes burning it down oh she got her head in the clouds and shes not backing downthis girl is on fire this girl is on fire shes walking on fire this girl is on firelooks like a girl but shes a flame so bright she can burn your eyes better look the other way you can try but youll never forget her name shes on top of the world hottest of the hottest girls say oh we got our feet on the ground and were burning it down oh got our head in the clouds and were not coming downthis girl is on fire this girl is on fire shes walking on fire this girl is on fireeverybody stands as she goes by cause they can see the flame thats in her eyes watch her when shes lighting up the night nobody knows that shes a lonely girl and its a lonely world but she gon let it burn baby burn babythis girl is on fire this girl is on fire shes walking on fire this girl is on fire oh oh oh shes just a girl and shes on fire ",1
50,"heart attack","demi lovato",2013," puttin my defences up cause i dont wanna fall in love if i ever did that i think id have a heart attacknever put my love out on the line never said yes to the right guy never had trouble getting what i want but when it comes to you im never good enough when i dont care i can play em like a ken doll wont wash my hair then make em bounce like a basketballbut you make me wanna act like a girl paint my nails and wear high heels yes you make me so nervous that i just cant hold your hand  memory  byketan     i had have a heart attack or i could  would or anything other word is there     see all   you make me glow but i cover up wont let it show so im puttin my defenses up cause i dont wanna fall in love if i ever did that i think id have a heart attack i think id have a heart attack i think id have a heart attacknever break a sweat for the other guys when you come around i get paralyzed and every time i try to be myself it comes out wrong like a cry for help its just not fair pains more trouble than love is worth i gasp for air it feels so good but you know it hurtsbut you make me wanna act like a girl paint my nails and wear perfume for you make me so nervous that i just cant hold your handyou make me glow but i cover up wont let it show so im puttin my defenses up cause i dont wanna fall in love if i ever did that i think id have a heart attack i think id have a heart attack i think id have a heart attackthe feelings got lost in my lungs theyre burning id rather be numb and theres no one else to blame so scared i take off and i run im flying too close to the sun and i burst into flamesyou make me glow but i cover up wont let it show so im puttin my defenses up cause i dont wanna fall in love if i ever did that i think id have a heart attack i think id have a heart attack heart attack i think id have a heart attack oh i think id have a heart attacki think id have a heart attack ",1
51,"love somebody","maroon 5",2013," i know your insides are feeling so hollow and its a hard pill for you to swallow yeah but if i fall for you ill never recover if i fall for you ill never be the samei really wanna love somebody i really wanna dance the night away i know were only half way there but you can take me all the way if you take me all the way i really wanna touch somebody i think about you every single day i know were only half way there but you can take me all the way you can take me all the wayyoure such a hard act for me to follow love me today dont leave me tomorrow yeah but if i fall for you ill never recover if i fall for you ill never be the samei really wanna love somebody i really wanna dance the night away i know were only half way there but take me all the way if you can take me all the way i really wanna touch somebody i think about you every single day i know were only half way there but you can take me all the way if you can take me all the wayoh oh oh oh oh oh oh oh oh oh oh ohi dont know where to start im just a little lost i wanna feel like were never gonna ever stop i dont know what to do im right in front of you asking you to stay you should stay stay with me tonight yeahi really wanna love somebody i really wanna dance the night away i know were only half way there but take me all the way if you can take me all the way i really wanna touch somebody i think about you every single day i know were only half way there but take me all the way if you can take me all the wayoh oh oh oh oh oh oh oh oh oh oh ohtake me all the way if you take me all the way yeah ",1
52,"i will wait","mumford  sons",2013,"well i came home like a stone and i fell heavy into your arms these days of dust  wish we wouldve known will blow away with this new sun but ill kneel down wait for now ill kneel down know my ground i will wait i will wait for you and i will wait i will wait for you so bring my step and relent you forgave and i wont forget know what weve seen and him with less  knowing some way to shake the excess i will wait i will wait for you and i will wait i will wait for you and i will wait i will wait for you and i will wait i will wait for you now ill be bold as well as strong and use my head along side my heart so tame my flesh and fix my eyes a tethered mind freed from the lies but ill kneel down wait for now ill kneel down know my ground instrumental raise my hands paint my spirit gold bow my head feel my heart slow i will wait i will wait for you and i will wait i will wait for you and i will wait i will wait for you and i will wait i will wait for you",3
53,"try","pink",2013," ever wonder bout what hes doing how its all turned to lies sometimes i think that its better to never ask whywhere there is desire there is gonna be a flame where there is a flame someones bound to get burned but just because it burns doesnt mean youre gonna die you gotta get up and try and try and try gotta get up and try and try and try you gotta get up and try and try and tryfunny how the heart can be deceiving more than just a couple times why do we fall in love so easy even when its not rightwhere there is desire there is gonna be a flame where there is a flame someones bound to get burned but just because it burns doesnt mean youre gonna die you gotta get up and try and try and try gotta get up and try and try and try you gotta get up and try and try and tryever worry that it might be ruined and does it make you wanna cry when youre out there doing what youre doing are you just getting by tell me are you just getting by by bywhere there is desire there is gonna be a flame where there is a flame someones bound to get burned but just because it burns doesnt mean youre gonna die you gotta get up and try and try and try gotta get up and try and try and try you gotta get up and try and try and tryyou gotta get up and try and try and try you gotta get up and try and try and try you gotta get up and try and try and try you gotta get up and try and try and tryyou gotta get up and try and try and try gotta get up and try and try and try ",1
54,"wagon wheel","darius rucker",2013," heading down south to the land of the pines im thumbing my way into north caroline staring up the road and pray to god i see headlights i made it down the coast in seventeen hours picking me a bouquet of dogwood flowers and im ahopin for raleigh i can see my baby tonightso rock me momma like a wagon wheel rock me momma any way you feel hey momma rock me rock me momma like the wind and the rain rock me momma like a south bound train hey momma rock meim running from the cold up in new england i was born to be a fiddler in an old time string band my baby plays a guitar i pick a banjo now oh north country winters keep agetting me down lost my money playing poker so i had to leave town but i aint turning back to living that old life no moreso rock me momma like a wagon wheel rock me momma any way you feel hey momma rock me hey rock me momma like the wind and the rain rock me momma like a south bound train hey momma rock mewalkin to the south out of roanoke caught a trucker out of philly had a nice long toke but hes a heading west from the cumberland gap to johnson city tennessee and i gotta get a move on before the sun i hear my baby calling my name and i know that shes the only one and if i die in raleigh at least i will die freeso rock me momma like a wagon wheel rock me momma any way you feel hey momma rock me oh rock me momma like the wind and the rain rock me momma like a south bound train hey momma rock meoh so rock me momma like a wagon wheel rock me momma any way you feel hey momma rock me mama rock me mama rock me rock me momma like the wind and the rain rock me momma like a south bound train hey ey yeah momma rock me you can rock me rock me ",1
55,"gangnam style","psy",2013," oppa gangnam style gangnam stylenajelu dasun ono igajagi yoja kopi hanjanui yeoyureul aneun pumgyeok inneun yeoja bami om ya shimjangi bdeugeowojineun yeoja geureon banjeon inneun yeojananeun zono hai najeneun loma kuftasano oncho zono hao keopi sikgido jeone woyshyat ttaerineun zono hai bami omyeon shimjangi oeojyeobeorineun zono hai oncho zono hai areumdawo sarangseureowo geurae neo hey geurae baro neo heyareumdawo sarangseureowo geurae neo hey geurae baro neo heyjigeumbuteo gal dekkaji gabolkkaoppa gangnam style gangnam styleop op op op oppa gangnam style gangnam styleop op op op oppa gangnam styleeh sexy lady op op op op oppa gangnam styleeh sexy lady op op op op eheheh ehehehjeongsukhae boijiman nol ttaen noneun yeoja ittaeda sipeumyeon mukkeotdeon meori puneun yeoja garyeotjiman wenmanhan nochulboda yahan yeoja geureon gamgakjeogin yeojananeun sanai jeomjanha boijiman nol ttaen noneun sanai ttaega doemyeon wanjeon michyeobeorineun sanai geunyukboda sasangi ultungbultunghan sanai geureon sanaiareumdawo sarangseureowo geurae neo hey geurae baro neo heyareumdawo sarangseureowo geurae neo hey geurae baro neo heyjigeumbuteo gal dekkaji gabolkkaoppa gangnam style gangnam styleop op op op oppa gangnam style gangnam styleop op op op oppa gangnam styleeh sexy lady op op op op oppa gangnam styleeh sexy lady op op op op eheheh ehehehttwineun nom geu wie naneun nom baby baby naneun mwol jom aneun nomttwineun nom geu wie naneun nom baby baby naneun mwol jom aneun nom you know what im sayingoppa gangnam style eheheh eheheh eh sexy lady op op op op oppa gangnam styleeh sexy lady op op op op eheheh ehehehoppa gangnam styleenglish translationoppa is gangnam style gangnam stylea girl who is warm and humanle during the day a classy girl who know how to enjoy the freedom of a cup of coffee a girl whose heart gets hotter when night comes a girl with that kind of twistim a guy a guy who is as warm as you during the day a guy who oneshots his coffee before it even cools down a guy whose heart bursts when night comes that kind of guybeautiful loveable yes you hey yes you hey beautiful loveable yes you hey yes you hey now lets go until the endoppa is gangnam style gangnam style oppa is gangnam style gangnam style oppa is gangnam styleeh sexy lady oppa is gangnam style eh sexy lady oh oh oh oha girl who looks quiet but plays when she plays a girl who puts her hair down when the right time comes a girl who covers herself but is more sexy than a girl who bares it all a sensible girl like thatim a guy a guy who seems calm but plays when he plays a guy who goes completely crazy when the right time comes a guy who has bulging ideas rather than muscles that kind of guybeautiful loveable yes you hey yes you hey beautiful loveable yes you hey yes you hey now lets go until the endoppa is gangnam style gangnam style oppa is gangnam style gangnam style oppa is gangnam styleeh sexy lady oppa is gangnam style eh sexy lady oh oh oh ohon top of the running man is the flying man baby baby im a man who knows a thing or two on top of the running man is the flying man baby baby im a man who knows a thing or twoyou know what im saying oppa is gangnam styleeh sexy lady oppa is gangnam style eh sexy lady oh oh oh oh ",1
56,"i need your love","calvin harris featuring ellie goulding",2013," i need your love i need your time when everythings wrong you make it right i feel so high i come alive i need to be free with you tonight i need your lovei need your lovei take a deep breath every time i pass your door i know youre there but i cant see you anymore and thats the reason youre in the dark ive been a stranger ever since we fell apart i feel so out of sea watch my eyes are filled with fear tell me do you feel the same hold me in your arms againi need your love i need your time when everythings wrong you make it right i feel so high i go alive i need to be free with you tonight i need your lovei need your lovenow im dreaming will ever find you now i walk in circles but i never make it out what i mean to you do i belong i try to fight this but i know im not that strongand i feel so helpless here watch my eyes are filled with fear tell me do you feel the same hold me in your arms againi need your love i need your time when everythings wrong you make it right i feel so high i come alive i need to be free with you tonight i need your lovei need your loveall the years all the times you were never been to blame and now my eyes are open and now my heart is closing and all the tears all the lies all the waste ive been trying to make it change and now my eyes are openi need your love i need your time when everythings wrong you make it right i feel so high i come alive i need to be free ",1
57,"die young","kesha",2013," i hear your heart beat to the beat of the drums oh what a shame that you came here with someone so while youre here in my arms lets make the most of the night like were gonna die young were gonna die young were gonna die young lets make the most of the night like were gonna die younglets make the most of the night like were gonna die youngyoung hearts out our minds runnin till we outta time wild childs lookin good livin hard just like we should dont care whose watching when we tearing it up you know that magic that we got nobody can touch for surelooking for some trouble tonight yeah take my hand ill show you the wild side like its the last night of our lives uh huh well keep dancing till we diei hear your heart beat to the beat of the drums oh what a shame that you came here with someone so while youre here in my arms lets make the most of the night like were gonna die young were gonna die young were gonna die young lets make the most of the night like were gonna die younglets make the most of the night like were gonna dieyoung hunks taking shots stripping down to dirty socks music up gettin hot kiss me give me all youve got its pretty obvious that youve got a crush you know that magic in your pants its making me blush for surelooking for some trouble tonight yeah take my hand ill show you the wild side like its the last night of our lives uh huh well keep dancing till we die till we diei hear your heart beat to the beat of the drums oh what a shame that you came here with someone so while youre here in my arms lets make the most of the night like were gonna die youngi hear your heart beat to the beat of the drums oh what a shame that you came here with someone so while youre here in my arms lets make the most of the night like were gonna die young were gonna die young were gonna die young lets make the most of the night like were gonna die young ",1
58,"some nights","fun",2013," some nights i stay up cashing in my bad luck some nights i call it a drawsome nights i wish that my lips could build a castle some nights i wish theyd just fall offbut i still wake up i still see your ghost oh lord im still not sure what i stand for oh oh oh what do i stand for oh what do i stand for most nights i dont know anymore oh whoa oh whoa oh whoa oh oh oh whoa oh whoa oh whoa oh ohthis is it boys this is war what are we waiting for why dont we break the rules already i was never one to believe the hype save that for the black and white i try twice as hard and im half as liked but here they come again to jack my stylethats alright i found a martyr in my bed tonight stops my bones from wondering just who i who i who i am oh who am i mm mmwell some nights i wish that this all would end cause i could use some friends for a change and some nights im scared youll forget me again some nights i always win i always winbut i still wake up i still see your ghost oh lord im still not sure what i stand for oh what do i stand for oh what do i stand for most nights i dont know come onso this is it i sold my soul for this washed my hands of that for this i miss my mom and dad for this no when i see stars when i see stars thats all they are when i hear songs they sound like a swan so come on oh come on oh come on oh come onwell that is it guys that is all five minutes in and im bored again ten years of this im not sure if anybody understands this is not one for the folks at home im sorry to leave mom i had to go who the fuck wants to die alone all dried up in the desert sun my heart is breaking for my sister and the con that she called love but when i look into my nephews eyes man you wouldnt believe the most amazing things that can come from some terrible nights ah oh whoa oh whoa oh whoa oh ohoh whoa oh whoa oh whoa oh oh oh whoa oh whoa oh whoa oh ohthe other night you wouldnt believe the dream i just had about you and me i called you up but wed both agree its for the best you didnt listen its for the best we get our distance oh its for the best you didnt listen its for the best we get our distance oh ",1
59,"bad","wale featuring tiara thomas",2013," i heard about you you heard about me haha yeah what haha cause i had some issues back at ya bad girlis it bad that i never made love no i never did it but i sure know how to fuck ill be your bad girl ill prove it to you cant promise that ill be good to you cause i had some issues i wont commit no not having it but at least i can admit that ill be bad no to you to you yeah ill be good in bed but ill be bad to you bad that i never made love no i never did but i sure know how to fuck ya i beyeah hold up bad girls aint no good and the good girls aint no fun look and the bad girls want a real nigga yeah cause real niggas just want ha so it seems that we caught up in the wrong thing got a thing for a queen who dont wanna leave you got a thing for a king but you aint a king seems like the ones who roll never got a ring and i can see that youre bad no to you yeah in the literal sense i mean the physical sense i mean the oops wait let me give me a second i need a minute to vent im only telling you that i heard you bad girl and im tellin you i could believe that not the type of fella to yell or be gettin jealous but we talkin bout game wale got the league pass we at that bed floor couch hold up loud pack boy roll up you know whats up whats up forget it cause you know the bad girls always unapologeticis it bad that i never made love no i never did it but i sure know how to fuck ill be your bad girl ill prove it to you cant promise that ill be good to you cause i had some issues i wont commit no not having it but at least i can admit that ill be bad no to you to you yeah ill be good in bed but ill be bad to youshe hurt feelings she aint wrong she work hard she play harder got a smart mouth like a speed fly she dont catch feelings she too busy catching g5 she no saint cept saint laurent gone blaze up take the wheel jah and rhianna got these women in they rivers island im just tryin to take a dip ya never did terrible bullshit ya enough with concerns she try and live it up no more sucker for love she probably duck it because you try to follow your gut feeling you get lost cause ive had some issues yeah and i noticed it you got the coldest corazon but warmer skin you froze with it you try and play sub zero i be scorpion psh get over here today smellin like jean paul got the ye got about three friends she dont even tweet them aint no ig but she follow k and we at that bed floor couch hold up loud pack boy roll up you know whats up whats up forget it all these bad bitches always unapologeticis it bad that i never made love no i never did it but i sure know how to fuck ill be your bad girl ill prove it to you cant promise that ill be good to you cause i had some issues i wont commit no not having it but at least i can admit that ill be bad no to you to you yeah ill be good in bed but ill be bad to you bad to you ",1
60,"boys round here","blake shelton featuring pistol annies and friends",2013," red red red red red red red red redneckwell the boys round here dont listen to the beatles run ole bocephus through a jukebox needle at a honkytonk where their boots stomp all night what thats right yeah and what they call work digging in the dirt gotta get it in the ground fore the rain come down to get paid to get the girl in your 4 wheel drive a country boy can surviveyeah the boys round here drinking that ice cold beer talkin bout girls talkin bout trucks runnin them red dirt roads out kicking up dust the boys round here sending up a prayer to the man upstairs backwoods legit dont take no shit chew tobacco chew tobacco chew tobacco spitaw heck red red red red red red red red red red redneckwell the boys round here theyre keeping it country aint a damn one know how to do the dougie you dont do the dougie no not in kentucky but these girls round here yep they still love me yeah the girls round here they all deserve a whistle shakin that sugar sweet as dixie crystal they like that yall and southern drawl and just cant help it cause they just keep fallinfor the boys round here drinking that ice cold beer talkin bout girls talkin bout trucks runnin them red dirt roads out kicking up dust the boys round here sending up a prayer to the man upstairs backwoods legit dont take no shit chew tobacco chew tobacco chew tobacco spitlet me hear you say ooh lets ride through the country side ooh lets ride down to the river sidehey now girl hop inside me and you gonna take a little ride to the river lets ride thats right lay a blanket on the ground kissing and the crickets is the only sound we out of town have you ever got down with a red red red red red red red red red red redneck do you wanna get down with a red red red red red red red red red red redneck girl you gotta get downwith the boys round here drinking that ice cold beer talkin bout girls talkin bout trucks runnin them red dirt roads out kicking up dust the boys round here sending up a prayer to the man upstairs backwoods legit dont take no shit chew tobacco chew tobacco chew tobacco spitooh lets ride red red red red red red red red redneck ooh lets ride im one of them boys round here ooh lets ride red red red red red red red red redneck ooh lets ridewell all im thinkin bout is you and me how well be so come on girl hop inside me and you were gonna take a little ride lay a blanket on the ground kissing and the crickets is the only sound we out of town girl you gotta get down with a come on through the country side down to the river side ",1
61,"gone gone gone","phillip phillips",2013," when life leaves you high and dry ill be at your door tonight if you need help if you need help ill shut down the city lights ill lie cheat ill beg and bribe to make you well to make you well when enemies are at your door ill carry you away from war if you need help if you need help your hope dangling by a string ill share in your suffering to make you well to make you wellgive me reasons to believe that you would do the same for meand i would do it for you for you baby im not moving on ill love you long after youre gone for you for you you will never sleep alone ill love you long after you go and long after youre gone gone gonewhen you fall like a statue im gon be there to catch you put you on your feet you on your feet and if your well is empty not a thing will prevent me tell me what you need what do you needi surrender honestly youve always done the same for meso i would do it for you for you baby im not moving on ill love you long after youre gone for you for you you would never sleep alone ill love you long after youre gone and long after youre gone gone goneyoure my back bone youre my cornerstone youre my crutch when my legs stop moving youre my headstart youre my rugged heart youre the pulse that ive always needed like a drum baby dont stop beating like a drum baby dont stop beating like a drum baby dont stop beating like a drum my heart never stops beatingfor you for you baby im not moving on ill love you long after youre gone for you for you you would never sleep alone ill love you long after youre gone for you for you baby im not moving on ill love you long after youre gone for you for you you would never sleep alone ill love you long long after youre gonelike a drum baby dont stop beating like a drum baby dont stop beating like a drum baby dont stop beating like a drum my heart never stops beating for you and long after youre gone gone gone i love you long after youre gone gone gone ",1
62,"demons","imagine dragons",2013," when the days are cold and the cards all fold and the saints we see are all made of goldwhen your dreams all fail and the ones we hail are the worst of all and the bloods run stalei wanna hide the truth i wanna shelter you but with the beast inside theres nowhere we can hideno matter what we breed we still are made of greed this is my kingdom come this is my kingdom comewhen you feel my heat look into my eyes its where my demons hide its where my demons hidedont get too close its dark inside its where my demons hide its where my demons hideat the curtains call its the last of all when the lights fade out all the sinners crawlso they dug your grave and the masquerade will come calling out at the mess youve madedont wanna let you down but i am hell bound though this is all for you dont wanna hide the truthno matter what we breed we still are made of greed this is my kingdom come this is my kingdom comewhen you feel my heat look into my eyes its where my demons hide its where my demons hidedont get too close its dark inside its where my demons hide its where my demons hidethey say its what you make i say its up to fate its woven in my soul i need to let you goyour eyes they shine so bright i wanna save that light i cant escape this now unless you show me howwhen you feel my heat look into my eyes its where my demons hide its where my demons hidedont get too close its dark inside its where my demons hide its where my demons hide ",1
63,"counting stars","onerepublic",2013," lately ive been ive been losing sleep dreaming about the things that we could be but baby ive been ive been praying hard said no more counting dollars well be counting stars yeah well be counting starsi see this life like a swinging vine swing my heart across the line and my face is flashing signs seek it out and you shall find old but im not that old young but im not that bold i dont think the world is sold im just doing what were told i feel something so right doing the wrong thing i feel something so wrong doing the right thing i could lie coudnt i could lie everything that kills me makes me feel alivelately ive been ive been losing sleep dreaming about the things that we could be but baby ive been ive been praying hard said no more counting dollars well be counting starslately ive been ive been losing sleep dreaming about the things that we could be but baby ive been ive been praying hard said no more counting dollars well be well be counting starsi feel the love and i feel it burn down this river every turn hope is a fourletter word make that money watch it burn old but im not that old young but im not that bold i dont think the world is sold im just doing what were told i feel something so wrong doing the right thing i could lie could lie could lie everything that drowns me makes me wanna flylately ive been ive been losing sleep dreaming about the things that we could be but baby ive been ive been praying hard said no more counting dollars well be counting starslately ive been ive been losing sleep dreaming about the things that we could be but baby ive been ive been praying hard said no more counting dollars well be well be counting starstake that money watch it burn sink in the river the lessons are learnttake that money watch it burn sink in the river the lessons are learnttake that money watch it burn sink in the river the lessons are learnttake that money watch it burn sink in the river the lessons are learnteverything that kills me makes feel alivelately ive been ive been losing sleep dreaming about the things that we could be but baby ive been ive been praying hard said no more counting dollars well be counting starslately ive been ive been losing sleep dreaming about the things that we could be but baby ive been ive been praying hard said no more counting dollars well be well be counting starstake that money watch it burn sink in the river the lessons are learnttake that money watch it burn sink in the river the lessons are learnttake that money watch it burn sink in the river the lessons are learnttake that money watch it burn sink in the river the lessons are learnt ",1
64,"i cry","flo rida",2013," i know caught up in the middle i cry just a little when i think of letting go oh no gave up on the riddle i cry just a little when i think of letting goi know you wanna get behind the wheel but only one rida eyes shut still got me swimming like a diver cant let go i got fans in okinawa my heart to japan quake losers and survivors norway no you didnt get my flowers no way to sound better but the killer was a coward face just showers the minute in a hour heard about the news all day went sour lil mama got me feeling like a lemonhead put you in the box just the presidents cigarettes give em my regards or regardless i get arrested aint worried about the killers just the young and restless get mad cause a quarter million on my necklace dui never said i was driving reckless you and i or jealously was not oppressive oh no i cant stop i was destinedi know caught up in the middle i cry just a little when i think of letting go oh no gave up on the riddle i cry just a little when i think of letting goi know caught up in the middle i cry just a little when i think of letting go oh no gave up on the riddle i cry just a little when i think of letting gochampagne buckets still got two tears in it and i put that on my tattoo of jimi hendrix get depressed cause the outfit all in it cause the press tell it all get a meal ticket clean next get a call just a lil visit sacrifice just to make a hit still vivid reality see when your blessed just kill critics buggatti never when im rich just god fearing look at me steering got the blogs staring gotta good feeling plus the right caring tell his billie jeans im on another planet thank eclass big chuck or lee prince perries buy my momma chandeliers on my tears dammit thirty years you had thought these emotions vanish tryna live tryna figure how my sister vanish no cheers i know you wouldnt panici know caught up in the middle i cry just a little when i think of letting go oh no gave up on the riddle i cry just a little when i think of letting goi know caught up in the middle i cry just a little when i think of letting go oh no gave up on the riddle i cry just a little when i think of letting gowhen i need a healing i just look up to the ceiling i see the sun coming down i know its all better now when i need a healing i just look up to the ceiling i see the sun coming down i know its all better now when i need a healing i just look up to the ceiling i see the sun coming down i know its all better now when i need a healing i just look up to the ceiling i see the sun coming down i know its all better nowi know i think of letting go i know caught up in the middle i cry just a little when i think of letting go oh no gave up on the riddle i cry just a little when i think of letting goi know caught up in the middle i cry just a little when i think of letting go oh no gave up on the riddle i cry just a little when i think of letting go ",1
65,"little talks","of monsters and men",2013,"hey hey hey i dont like walking around this old and empty house so hold my hand ill walk with you my dear the stairs creak as i sleep its keeping me awake its the house telling you to close your eyes some days i cant even trust myself its killing me to see you this way cause though the truth may vary this ship will carry our bodies safe to shore hey hey hey theres an old voice in my head thats holding me back well tell her that i miss our little talks soon it will all be over and buried with our past we used to play outside when we were young and full of life and full of love some days i feel like i am wrong when i am right your mind is playing tricks on you my dear cause though the truth may vary this ship will carry our bodies safe to shore hey dont listen to a word i say hey the screams all sound the same heythough the truth may vary this ship will carry our bodies safe to shore youre gone gone gone away i watched you disappear all thats left is a ghost of you now were torn torn torn apart theres nothing we can do just let me go well meet again soon now wait wait wait for me please hang around ill see you when i fall asleep hey dont listen to a word i say hey the screams all sound the same hey though the truth may vary this ship will carry our bodies safe to shore dont listen to a word i say hey the screams all sound the same hey though the truth may vary this ship will carry our bodies safe to shore though the truth may vary this ship will carry our bodies safe to shore though the truth may vary this ship will carry our bodies safe to shore",3
66,"the other side","jason derulo",2013," in the beginning i never thought it would be you when we were chillin smiling in the photo booth but we got closer yeah till you were eating off my spoon and coming over and we would talk all afternoontonight well just get drunk disturb the peace bind your hands all over me and then you bite your lip whisper and say were going all the waytonight take me to the other side sparks fly like the fourth of july just take me to the other side i see that sexy look in your eyes and i know we aint friends anymore if we walk down this road well be lovers for sho so tonight kiss me like its do or die and take me to the other sidethis could be perfect but we wont know unless we try try i know youre nervous so just sit back and let me drivetonight well just get drunk disturb the peace bind your hands all over me and then you bite your lip whisper and say were going all the waytonight take me to the other side sparks fly like the fourth of july just take me to the other side i see that sexy look in your eyes and i know we aint friends anymore if we walk down this road well be lovers for sho so tonight kiss me like its do or die and take me to the other side whoa whoa whoakiss me like its do or die and take me to the other side tonight well just get drunk disturb the peace let your love crash into me and then you bite your lip whisper and say were going all the waytonight take me to the other side sparks fly like the fourth of july just take me to the other side i see that sexy look in your eyes and i know we aint friends anymore if we walk down this road well be lovers for sho so tonight so tonight kiss me like its do or die and take me to the other sidewhoa take me to the other side whoa and take me to the other side whoa kiss me like its do or die whoa and take me to the other side jason derulo ",1
67,"berzerk","eminem",2013," now this ss about to kick off this party looks wack lets take it back to straight hiphop and start it from scratch im bout to bloody this track up everybody get back thats why my pen needs a pad cause my rhymes on the rahag just like i did with addiction im bout to kick it like a magician critics i turn to crickets got em still on the fence ready to pick it but quick get impaled when i tell em stick it so sick im looking pale well thats my pigment bout to go ham ya bish shout out to kendrick lets bring it back to that vintage slim b the art of the mcing mixed with da vinci and mc ren and i dont mean stimpys friend b been public enemy since you thought pe was gym btake your shoes off let your hair down and go berzerk all night long grow your beard out just weird out and go berzerk all night longwere gonna rock this house until we knock it down so turn the volume loud cause its mayhem til the am so baby make just like kfed and let yourself go let yourself go say f it before we kick the bucket lifes too short to not go for broke so everybody everybody go berzerk shake your bodyguess its just the way that im dressed aint it khakis pressed nike shoes crispy and fresh laced so i guess it aint that aftershave or cologne that made them just faint plus i just showed up with a coat fresher than wet paint so if love is a chess game check mate but girl your bodys banging jump me in gang bang bang yessiree bob i was thinking the same thing so come get on this kids rock bawwitdabaw dangdang ppp powpow chickachicka wowwow catch a cab i wanna go down bbbow bow slow it down throw in the towel tttowel tow dumb it down i dont know how huhhuh howhow at least i know that i dont know question is are you bozos smart enough to feel stupid hope so now hotake your shoes off let your hair down and go berserk all night long grow your beard out just weird out and go berserk all night longwere gonna rock this house until we knock it down so turn the volume loud cause its mayhem til the am so crank the ba up like crazy and let yourself go let yourself go say f it before we kick the bucket lifes too short to not go for broke so everybody everybody go berzerk get your vialsthey say that love is powerful as cough syrup and styrofoam all i know is i fell asleep and woke up in that monte carlo with the ugly kardashian lamar oh sorry yo we done both set the bar low bars hard drugs hard thought thats the past but i done did enough codeine to knock future into tomorrow and girl i aint got no money to borrow but i am tryin to find a way to get you alone car note oh marshall mathers shouldnt everybody know get the bar soap lathered kangols and carhartt these cargos girl youre fixin to get your heart broke dont be absurd man you bird brained baby i aint called anybody baby since birdman unless youre a swallow word wword man you heard but dont be discouraged girl this is your jam unless you got toe jamtake your shoes off let your hair down and go berzerk all night long grow your beard out just weird out and go berzerk all night longwere gonna rock this house until we knock it down so turn the volume loud cause its mayhem til the am so baby make just like kfed and let yourself go let yourself go say f it before we kick the bucket lifes too short to not go for broke so everybody everybody go berzerk get your vialswere gonna rock this house until we knock it down so turn the volume loud cause its mayhem til the am so crank the ba up like crazy and let yourself go let yourself go say f it before we kick the bucket lifes too short to not go for broke so everybody everybody go berzerk get your vials ",1
68,"catch my breath","kelly clarkson",2013," i dont wanna be left behind distance was a friend of mine catching breath in a web of lies ive spent most of my life riding waves playing acrobat shadowboxing the other half learning how to react ive spent most of my timecatching my breath letting it go turning my cheek for the sake of this show now that you know this is my life i wont be told whats supposed to be rightcatch my breath no one can hold me back i aint got time for that catch my breath wont let them get me down its all so so simple nowaddicted to the love i found heavy heart now a weightless cloud making time for the ones that count ill spend the rest of my time laughing hard with the windows down leaving footprints all over town keeping faith karma comes around i will spent the rest of my lifecatching my breath letting it go turning my cheek for the sake of this show now that you know this is my life i wont be told whats supposed to be rightcatch my breath no one can hold me back i aint got time for that catch my breath wont let them get me down its all so so simple nowyou helped me see the beauty in everythingcatching my breath letting it go turning my cheek for the sake of this show now that you know this is my life i wont be told whats supposed to be rightcatching my breath letting it go turning my cheek for the sake of this show now that you know this is my life i wont be told whats supposed to be right catch my breathcatch my breath no one can hold me back i aint got time for that catch my breath wont let them get me down its all so so simple now its all so simple nowcatching my breath letting it go turning my cheek for the sake of this show now that you know this is my life i wont be told whats supposed to be right catch my breathcatch my breath no one can hold me back i aint got time for that catch my breath wont let them get me down its all so so simple now ",1
69,"crash my party","luke bryan",2013," it dont matter what plans i got i can break em yeah i can turn this thing around at the next red light and i dont mind telling all the guys i cant meet em hell we can all go raise some hell on any other nightgirl i dont care oh i just gotta see what youre wearing your hair is i put up or falling down oh i just have to see it nowif you wanna call me call me call me you dont have to worry bout it baby you can wake me up in the dead of the night wreck my plans baby thats alright this is a drop everything kind of thing swing on by i will pour you a drink the doors unlocked ill leave on the lights baby you can crash my party anytimeaint a spot downtown thats rockin the way that you rock me aint a bar that can make me buzz the way that you do i could be on the front row of the best show and look down and see your face on my phone and im gone so long hang on ill meet you in a minute or twoif you wanna call me call me call me you dont have to worry bout it baby you can wake me up in the dead of the night wreck my plans baby thats alright this is a drop everything kind of thing swing on by i will pour you a drink the doors unlocked ill leave on the lights baby you can crash my party anytimeif its 2 in the morning and youre feeling lonely and wondering what im doinggo ahead and call me call me call me you dont have to worry bout it baby you can wake me up in the dead of the night wreck my plans baby thats alright this is a drop everything kind of thing swing on by i will pour you a drink the doors unlocked ill leave on the lights baby you can crash my party anytimebaby you can crash my party anytime ",1
70,"pour it up","rihanna",2013," throw it up throw it up watch it all fall out pour it up pour it up thats how we ball out throw it up throw it up watch it all fall out pour it up pour it up thats how we ball outstrip club and dollar bills i still got my money patron shots can i get a refill i still got my money strippers goin up and down that pole and i still got my money four oclock and we aint going home cause i still got my money money make the world go round i still got my money bands make your girl go down i still got my money lot more where that came from i still got my money the look in yo eyes i know you want some i still got my money ohhhh ohhh all i see is signs all i see is dollar signs ohhhh money on my mind money money on my mindthrow it throw it up watch it fall off from the sky throw it up throw it up watch it all fall out pour it up pour it up thats how we ball out throw it up throw it up watch it all fall out pour it up pour it up thats how we ball out thats how we ball out thats how we ball out thats how we ball outvalet cost a hundred bill i still got my money gold all up in my grill i still got my money who cares how you haters feel and i still got my money call j up and close a deal i still got my money my fragrance on and they love my smell i still got my money so who cares about what i spend i still got my money my pockets deep and it never ends i still got my money im going dumb with all my friends i still got my moneyohhhh all i see is signs all i see is dollar signs ohhhh money on my mind money money on my mindthrow it throw it up watch it fall off from the sky throw it up throw it up watch it all fall out pour it up pour it up thats how we ball out throw it up throw it up watch it all fall out pour it up pour it up thats how we ball out thats how we ball out thats how we ball out thats how we ball out ",1
71,"22","taylor swift",2013," it feels like a perfect night to dress up like hipsters and make fun of our exes uh uh uh uh it feels like a perfect night for breakfast at midnight to fall in love with strangers uh uh uh uh yeah were happy free confused and lonely at the same time its miserable and magical oh yeah tonights the night when we forget about the deadlines its time uh ohi dont know about you but im feeling 22 everything will be alright if you keep me next to you you dont know about me but i bet you want to everything will be alright if we just keep dancing like were 22 22it seems like one of those nights this place is too crowded too many cool kids uh uh uh uh it seems like one of those nights we ditch the whole scene and end up dreaming instead of sleeping yeah were happy free confused and lonely in the best way its miserable and magical oh yeah tonights the night when we forget about the heartbreaks its time uh ohi dont know about you but im feeling 22 everything will be alright if you keep me next to you you dont know about me but i bet you want to everything will be alright if we just keep dancing like were 22 uh uh ah ah ah 22 uh uh uhi dont know about you 22 uh uh 22 uh uhit feels like one of those nights we ditch the whole scene it feels like one of those nights we wont be sleeping it feels like one of those nights you look like bad news i gotta have you i gotta have you ohh uh yeahi dont know about you but im feeling 22 everything will be alright if you keep me next to you you dont know about me but i bet you want to everything will be alright if we just keep dancing like were 22 uh uh 22 uh uoh22 uh uh yeah 22 uh uhoo yeah yeahit feels like one of those nights uh uh we ditch the whole scene it feels like one of those nights uh uh we wont be sleeping it feels like one of those nights uh uh you look like bad news i gotta have you i gotta have you ",1
72,"i want crazy","hunter hayes",2013," im booking myself a one way flight i gotta see the color in your eyes im telling myself im gonna be alright without you baby is a waste of timeyeah our first date girl the seasons changed got washed away in a summer rain you cant undo a fall like this cause love dont know what distance is yeah i know its crazybut i dont want good and i dont want good enough i want cant sleep cant breathe without your love front porch and one more kiss it doesnt make sense to anybody else who cares if youre all i think about ive searched the world and i know now it aint right if you aint lost your mind yea i dont want easy i want crazy are you with me baby lets be crazy yeahi wanna be scared dont wanna know why wanna feel good dont have to be right the world makes all kinds of rules for love i say you gotta let it do what it doesi dont want just another hug and a kiss goodnight catchin up calls and a date sometimes a love that revels and we still believe were the kind of crazy people wish that they could be yeahoh i know were crazy yeahbut i dont want good and i dont want good enough i want cant sleep cant breathe without your love front porch and one more kiss it doesnt make sense to anybody else who cares if youre all i think about ive searched the world and i know now it aint right if you aint lost your mind yea i dont want easy i want crazy you with me baby lets be crazyno i dont want good and i dont want good enough i want cant sleep cant breathe without your love front porch and one more kiss it doesnt make sense to anybody else who cares if youre all i think about ive searched the world and i know now it aint right if you aint lost your mind yea i dont want easy i want crazyyeah look at us baby tonight the midnight rules are breaking theres no such thing as wild enough maybe we just think too much who needs to play it safe in love lets be crazywho cares if were crazy we gotta be crazy i know that were crazy so lets be crazy yeah ",1
73,"the fox what does the fox say","ylvis",2013," dog goes woof cat goes meow bird goes tweet and mouse goes squeek cow goes moo frog goes croak and the elephant goes toot ducks say quack and fish go blub and the seal goes ow ow owbut theres one sound that no one knows what does the fox sayringdingdingdingdingeringeding geringdingdingdingdingeringeding geringdingdingdingdingeringeding what the fox saywapapapapapapow wapapapapapapow wapapapapapapow what the fox sayhateehateehateeho hateehateehateeho hateehateehateeho what the fox sayjofftchofftchoffotchoffotchoff tchofftchofftchoffotchoffotchoff jofftchofftchoffotchoffotchoff what the fox saybig blue eyes pointy nose chasing mice and digging holes tiny paws up the hill suddenly youre standing stillyour fur is red so beautiful like an angel in disguise but if you meet a friendly horse will you communicate by mooooorse mooooorse mooooorse how will you speak to that hooooorse hooooorse hooooorsewhat does the fox sayjachachachachachachow chachachachachachachow chachachachachachachow what the fox sayfrakakakakakakakakow frakakakakakakakakow frakakakakakakakakow what the fox sayaheeahee hahee aheeahee hahee aheeahee hahee what the fox sayaooooooooo wooooooooo what does the fox saythe secret of the fox ancient mystery somewhere deep in the woods i know youre hiding what is your sound will we ever know will always be a mystery what do you sayyoure my guardian angel hiding in the woods what is your sound wawawaydo wubwidbiddumwaydo wawawaydo will we ever know baybudabuddumbam i want to mamadumdaydo i want to i want to know abaybada bumbum baydo ",1
74,"best song ever","one direction",2013," maybe its the way she walked wow straight into my heart and stole it through the doors and past the guards wow just like she already owned iti said can you give it back to me she said never in your wildest dreamsand we danced all night to the best song ever we knew every line now i cant remember how it goes but i know that i wont forget her cause we danced all night to the best song everi think it went oh oh oh i think it went yeah yeah yeah i think it goes ohsaid her name was georgia rose wow and her daddy was a dentist said i had a dirty mouth i got a dirty mouth but she kissed me like she meant iti said can i take you home with me she said never in your wildest dreamsand we danced all night to the best song ever we knew every line now i cant remember how it goes but i know that i wont forget her cause we danced all night to the best song everi think it went oh oh oh i think it went yeah yeah yeah i think it goes ohyou know i know you know ill remember you and i know you know i know youll remember me and you know i know you know ill remember you oh oh oh yeah yeah yeah and i know you know i hope youll remember how we danced how we danced how we danced how we danced 1 2 1 2 3how we danced all night to the best song ever we knew every line now i cant remember how it goes but i know that i wont forget her cause we danced all night to the best song ever we danced we danced it goes something like yeahand we danced all night to the best song ever we knew every line now i cant remember how it goes but i know that i wont forget her cause we danced all night to the best song everi think it went oh oh oh i think it went yeah yeah yeah i think it goes ohbest song ever it was the best song ever it was the best song ever it was the best song ever ",1
75,"the a team","ed sheeran",2013,"white lips pale face breathing in snowflakes burnt lungs sour taste lights gone days end struggling to pay rent long nights strange men and they say shes in the class a team stuck in her daydream been this way since 18 but lately her face seems slowly sinking wasting crumbling like pastries they scream the worst things in life come free to us cause were just under the upperhand and go mad for a couple grams and she dont want to go outside tonightand in a pipe she flies to the motherland or sells love to another man its too cold outside for angels to fly angels to fly ripped gloves raincoat tried to swim stay afloat dry house wet clothes loose change bank notes wearyeyed dry throat cool girl no phone and they say shes in the class a team stuck in her daydream been this way since 18 but lately her face seems slowly sinking wasting crumbling like pastries they scream the worst things in life come free to us cause were just under the upperhand and go mad for a couple grams but she dont want to go outside tonight and in a pipe she flies to the motherland sells love to another man its too cold outside for angels to fly an angel will die covered in white closed eye and hoping for a better life this time well fade out tonight straight down the line and they say shes in the class a team stuck in her daydream been this way since 18 but lately her face seems slowly sinking wasting crumbling like pastries they scream the worst things in life come free to us and were all under the upperhand go mad for a couple grams and we dont want to go outside tonight in a pipe fly to the motherland or sell love to another man its too cold outside for angels to fly angels to fly to fly fly for angels to fly to fly to fly angels to die",3
76,"carry on","fun",2013," well i woke up to the sound of silence the cars were cutting like knives in a fist fight and i found you with a bottle of wine your head in the curtains and heart like the fourth of julyyou swore and said we are not we are not shining stars this i know i never said we arethough ive never been through hell like that ive closed enough windows to know you can never look backif youre lost and alone or youre sinking like a stone carry on may your past be the sound of your feet upon the ground carry oncarry on carry onso i met up with some friends in the edge of the night at a bar off seventy five and we talked and talked about how our parents will die all our neighbors and wivesbut i like to think i can cheat it all to make up for the times ive been cheated on and its nice to know when i was left for dead i was found and now i dont roam these streets i am not the ghost you want of meif youre lost and alone or youre sinking like a stone carry on may your past be the sound of your feet upon the ground and carry onwoah my head is on fire but my legs are fine after all they are mine lay your clothes down on the floor close the door hold the phone show me how no ones ever gonna stop us nowcause we are we are shining stars we are invincible we are who we are on our darkest day when were miles away so well come we will find our way homeif youre lost and alone or youre sinking like a stone carry on may your past be the sound of your feet upon the ground and carry onno ones ever gonna stop us now no ones ever no ones ever gonna stop no ones ever gonna stop us now no ones ever no ones ever gonna stop  no ones ever gonna stop no ones ever gonna stop us now ",1
77,"highway dont care","tim mcgraw featuring taylor swift and keith urban",2013," bet your windows rolled down and your hairs pulled back and i bet you got no idea youre going way too fast youre trying not to think about what went wrong trying not to stop til you get where you goin youre trying to stay awake so i bet you turn on the radio and the song goesi cant live without you i cant live without you baby i cant live without you i cant live without you baby babythe highway wont hold you tonight the highway dont know youre alive the highway dont care if youre all alone but i do i do the highway wont dry your tears the highway dont need you here the highway dont care if youre coming home but i do i doi bet you got a dead cell phone in your shotgun seat yeah i bet youre bending gods ear talking bout me youre trying not to let the first tear fall out trying not to think about turning around youre trying not to get lost in the sound but that song is always on so you sing alongi cant live without you i cant live without you baby i cant live without you i cant live without you baby oh babythe highway wont hold you tonight the highway dont know youre alive the highway dont care if youre all alone but i do i do the highway wont dry your tears the highway dont need you here the highway dont care if youre coming home but i do i doi cant live without you i cant live without you baby i cant live without you i cant live without you baby oh babythe highway dont care the highway dont care the highway dont care but i do i doi cant live without you i cant live without you baby the highway dont care the highway dont care i cant live without you i cant live without you baby oh baby the highway dont care but i do i doi cant live without you i cant live without you baby the highway dont care the highway dont care i cant live without you i cant live without you baby the highway dont care but i do i doi cant live without you i cant live without you baby the highway dont care the highway dont care i cant live without you i cant live without you baby oh baby the highway dont care but i do i doi cant live without you i cant live without you baby ",1
78,"thats my kind of night","luke bryan",2013," i got that real good feel good stuff up under the seat of my big black jacked up truck rollin on 35s pretty girl by my sideyou got that sun tan skirt and boots waiting on you to look my way and scoot your little hot self over here girl hand me another beer yeah oh oh ohohall them other boys wanna wind you up and take you downtown but you look like the kind that likes to take it way out out where the corn rows grow row row my boat floatin down the flint river catch us up a little catfish dinner gonna sound like a winner when i lay you down and love you right yeah thats my kind of nightmight sit down on my diamond plate tailgate put in my country rock hiphop mixtape little conway a little tpain might just make it rainyou can hang your tshirt on a limb hit that bank and we can ease on in soak us up a little moonlight you know i know what you like yeah oh oh ohohall them other boys wanna wind you up and take you downtown but you look like the kind that likes to take it way out out where the corn rows grow row row my boat floatin down the flint river catch us up a little catfish dinner gonna sound like a winner when i lay you down and love you right yeah thats my kind of night yeah thats my kind of night oh oh oh ohmy kind of your kind of its this kind of night we dance in the dark and your lips land on mine oh gonna get our love on oh time to get our buzz onall them other boys wanna wind you up and take you downtown but you look like the kind that likes to take it way out out where the corn rows grow row row my boat floatin down the flint river catch us up a little catfish dinner gonna sound like a winner when i lay you down and love you right yeah thats my kind of night oh yeah thats my kind of night oh yeah thats my kind of night oh yeah thats my kind of night oh oh come on ",1
79,"swimming pools drank","kendrick lamar",2013," pour up drank head shot drank sit down drank stand up drank pass out drank wake up drank faded drank faded dranknow i done grew up round some people living their life in bottles granddaddy had the golden flask back stroke every day in chicago some people like the way it feels some people wanna kill their sorrows some people wanna fit in with the popular that was my problem i was in the dark room loud tunes looking to make a vow soon that imma get fucked up fillin up my cup i see the crowd move changing by the minute and the record on repeat took a sip then another sip then somebody said to menigga why you babysittin only 2 or 3 shots imma show you how to turn it up a notch first you get a swimming pool full of liquor then you dive in it pool full of liquor then you dive in it i wave a few bottles then i watch em all flock all the girls wanna play baywatch i got a swimming pool full of liquor and they dive in it pool full of liquor imma dive in itpour up drank head shot drank sit down drank stand up drank pass out drank wake up drank faded drank faded drankokay now open your mind up and listen to me kendrick im your conscience if you do not hear me then you will be history kendrick i know that youre nauseous right now and im hopin to lead you to victory kendrick if i take another one down imma drown in some poison abusin my limit i think that im feelin the vibe i see the love in her eyes i see the feelin the freedom is granted as soon as the damage of vodka arrive this how you capitalize this is parental advice then apparently im over influenced by what you are doin i thought i was doin the most then someone said to menigga why you babysittin only 2 or 3 shots imma show you how to turn it up a notch first you get a swimming pool full of liquor then you dive in it pool full of liquor then you dive in it i wave a few bottles then i watch em all flock all the girls wanna play baywatch i got a swimming pool full of liquor and they dive in it pool full of liquor imma dive in itpour up drank head shot drank sit down drank stand up drank pass out drank wake up drank faded drank faded dranki ride you ride bang one chopper one hundred shots bang hop out do you bang two chopper two hundred shots bang i ride you ride bang one chopper one hundred shots bang hop out do you bang two chopper two hundred shots bangnigga why you babysittin only 2 or 3 shots imma show you how to turn it up a notch first you get a swimming pool full of liquor then you dive in it pool full of liquor then you dive in it i wave a few bottles then i watch em all flock all the girls wanna play baywatch i got a swimming pool full of liquor and they dive in it pool full of liquor imma dive in itpour up drank head shot drank sit down drank stand up drank pass out drank wake up drank faded drank faded drank ",1
80,"sure be cool if you did","blake shelton",2013," i was gonna keep it real like chill like only have a drink or two but it turned into a party when i started talking to you now youre standing in the neon looking like a high i wanna be on baby its your call no pressure at allyou dont have to throw back your pretty pink lemonade shooter and lean a little closer you dont have to keep on smiling that smile thats driving me wild and when the night is almost over meet me in the middle of a moonlit chevy bench seat and do a little bit of country song hanging on you dont have to keep me falling like this but itd sure be cool if you didyou cant shoot me down cause youve already knocked me dead got me falling apart with my heart talking out of my head let your mind take a little back road just as far as you wanna go baby ill do whatever you wanna do wanna doyou dont have to throw back your pretty pink lemonade shooter and lean a little closer you dont have to keep on smiling that smile thats driving me wild and when the night is almost over meet me in the middle of a moonlit chevy bench seat and do a little bit of country song hanging on you dont have to keep me falling like this but itd sure be cool if you didhave a night that youll never forget and now youre standing in the neon looking like a high i wanna be onyou dont have to throw back your pretty pink lemonade shooter and lean a little closer you dont have to keep on smiling that smile thats driving me wild and when the night is almost over meet me in the middle of a moonlit chevy bench seat and do a little bit of country song hanging on you dont have to keep me falling like this but itd sure be cool if you did yeah itd sure be cool if you did ",1
81,"beautiful","mariah carey featuring miguel",2013," ah ah youre beautiful yeah ah ah youre beautifulhop on the back of my bike let the good wind blow through your hair with an ass like that and a smile so bright oh youre killing me you know it aint fair yeah ride on through the middle of the night let the moonlight kiss your skin when you dance like that your jeans so tight oh youre killing me baby do it againyoure beautiful and your mind is fucking beautiful and i cant pretend that that doesnt mean a thing to me to me yeah youre beautiful good lord youre fucking beautiful and i cant pretend that that doesnt mean a thing to me to me yeah yeahi like when you run red lights dont stop til you thrill me oh how you thrill me always in control how you do it i dont know but i dont care take me anywhere cause its beautiful ooh you make me feel undressable and i cant pretend that that doesnt mean a thing to me to me oh yeahyoure beautiful and your mind is fucking beautiful and i cant pretend that that doesnt mean a thing to me to me yeah youre beautiful good lord youre fucking beautiful and i cant pretend that that doesnt mean a thing to me to me yeah yeahoh oh oh oh yeah yeah you dont know what youre doing darling hop on back my bike darling ohohoh ohohoh dont you worry darling ",1
82,"troublemaker","olly murs featuring flo rida",2013," youre a troublemaker youre a troublemakeryou aint nothing but a troublemaker girlyou had me hooked again from the minute you sat down the way you bite your lip got my head spinnin around after a drink or two i was putty in your hands i dont know if i have the strength to standoh oh oh trouble troublemaker yeah thats your middlename oh oh oh i know youre no good but youre stuck in my brain and i wanna know why does it feel so good but hurt so bad whoa my mind keeps saying run as fast as you can i say im done but then you pull me back whoa i swear youre giving me a heart attack troublemakerits like youre always there in the corners of my mind i see a silhouette every time i close my eyes there must be poison in those finger tips of yours cause i keep comin back again for moreoh oh oh trouble troublemaker yeah thats your middlename oh oh oh i know youre no good but youre stuck in my brain and i wanna know why does it feel so good but hurt so bad whoa my mind keeps saying run as fast as you can i say im done but then you pull me back whoa i swear youre giving me a heart attack troublemakerwhy does it feel so good but hurt so bad whoa my mind keeps saying run as fast as you can troublemaker i say im done but then you pull me back whoa i swear youre giving me a heart attack troublemakermaybe im insane cause i keep doing the same damn thing thinkin one day we gonna change but you know just how to work that back and make me forget my name what the hell you do i wont remember ill be gone until november and youll show up again next summer yeah typical middle name is prada fit you like a glove girl im sick of the drama youre a troublemaker but damn girl its like i love the trouble and i cant even explain whywhy does it feel so good but hurt so bad whoa my mind keeps saying run as fast as you can troublemaker i say im done but then you pull me back whoa i swear youre giving me a heart attack troublemakerwhy does it feel so good but hurt so bad whoa my mind keeps saying run as fast as you can troublemaker i say im done but then you pull me back whoa i swear youre giving me a heart attack troublemaker ",1
83,"body party","ciara",2013," my body is your party baby nobodys invited but you baby i can do it slow now tell me what you want baby put your phone down you should turn it off cause tonight is going down tell your boys is going down we in the zone now dont stopyou can keep your hands on me touch me right there rock my body i cant keep my hands off you your body is my party im doing this little dance for you you got me so excited now its just me on you your bodys my party lets get it startedboy you should know that your love is always on my mind im not gonna fight it i want it all the time boy you should know that your love is always on my mind i cant it deny it i want you i want youi cant lie i wont lie its amazing my faces the places youre taking mebaby take your time now theres no need to rush we can go another round if thats what you want cause tonight is going down yeah you know its going down we in the zone now dont stopyou can keep your hands on me touch me right there rock my body i cant keep my hands off you your body is my party im doing this little dance for you you got me so excited now its just me on you your bodys my party lets get it startedboy you should know that your love is always on my mind im not gonna fight it i want it all the time boy you should know that your love is always on my mind i cant it deny it i want you i want youthe things i wanna do to you my bodys calling you im having so much fun with you now its just me on you your bodys my party lets get it started oh ",1
84,"adorn","miguel",2013," these lips cant wait to taste your skin baby no no and these eyes yeah cant wait to see your grin ooh ooh baby just let my love just let my love adorn you please baby yeahyou gotta know you gotta know you know that i adore you yeah babybaby these fists will always protect ya lady and this mind oh will never neglect you yeah baby oh baby and they stay trying to break us down but dont let that affect us no baby you just gotta let my love let my love let my love adorn you ah lelelelet it just adorn youyou got to know you gotta know know that i adore you just that babei oh oh let my love adorn you baby dont you ever dont you let nobody tell you different baby ill always adore you you gotta know now you got to know know know now yeahooh yeah the same way that the stars adorn the skies yeah every night baby oh look up suga every night baby now hey hey hey the same way that my whole worlds in your eyes in your eyes baby ooh and this time now and this time babyjust let let my love adorn you baby hey lelelelet it dress you down you gotta know baby oh you gotta know know that i adorn you oh love aint never looked so good on ya ooh put it on baby let my love adorn you ",1
85,"hall of fame","the script featuring william",2013," yeah you could be the greatest you can be the best you can be the king kong banging on your chestyou could beat the world you could beat the war you could talk to god go banging on his dooryou can throw your hands up you can be the clock you can move a mountain you can break rocks you can be a master dont wait for luck dedicate yourself and you can find yourselfstanding in the hall of fame and the worlds gonna know your name yeah cause you burn with the brightest flame yeah and the worlds gonna know your name yeah and youll be on the walls of the hall of fameyou could go the distance you could run the mile you could walk straight through hell with a smileyou could be the hero you could get the gold breaking all the records that thought never could be brokedo it for your people do it for your pride never gonna know if you never even trydo it for your country do it for name cause theres gonna be a daywhen your standing in the hall of fame and the worlds gonna know your name cause you burn with the brightest flame and the worlds gonna know your name and youll be on the walls of the hall of famebe a champion be a champion be a champion be a championon the walls of the hall of famebe students be teachers be politicians be preachersbe believers be leaders be astronauts be champions be true seekersbe students be teachers be politicians be preachersbe believers be leaders be astronauts be championsstanding in the hall of fame and the worlds gonna know your name cause you burn with the brightest flame and the worlds gonna know your name and youll be on the walls of the hall of fameyou can be a champion you could be the greatest you can be a champion you can be the best you can be a champion you can be the king kong banging on your chestyou can be a champion you could beat the world you can be a champion you could beat the war you can be a champion you could talk to god go banging on his dooryou can be a champion you can throw your hands up you can be a champion you can be the clock you can be a champion you can move a mountain you can be a champion you can break rocksyou can be a champion you can be a master you can be a champion dont wait for luck you can be a champion dedicate yourself and you can find yourself you can be a championstanding in the hall of fame ",1
86,"let me love you until you learn to love yourself","neyo",2013," much as you blame yourself you cant be blamed for the way that you feel had no example of a love that was even remotely real how can you understand something that you never had ooh baby if you let me i can help you out with all of thatgirl let me love you and i will love you until you learn to love yourself girl let me love you and all your trouble dont be afraid girl let me help girl let me love you and i will love you until you learn to love yourself girl let me love you a heart of numbness gets brought to life ill take you theregirl let me love you girl let me love you baby oh girl let me love you girl let me love you baby girl let me love you let me love you let me love you ohi can see the pain behind your eyes its been there for quite a while i just wanna be the one to remind you what it is to smile i would like to show you what true love can really dogirl let me love you and i will love you until you learn to love yourself girl let me love you and all your trouble dont be afraid girl let me help girl let me love you and i will love you until you learn to love yourself girl let me love you a heart of numbness gets brought to life ill take you theregirl let me love you baby girl let me love you let me love you let me love you baby girl let me love you girl let me love you baby girl let me love you let me love you girl let me love you babyfor every heart that beats for every heart that beats for every heart that beats for every heart that beats heart that beats heart that beats heart that beats heart that beatsgirl let me love you and i will love you until you learn to love yourself girl let me love you and all your trouble dont be afraid girl let me help girl let me love you and i will love you until you learn to love yourself girl let me love you a heart of numbness gets brought to life ill take you theregirl let me love you let me love you baby love you baby girl let me love you let me love you baby love you baby ",1
87,"uoeno","rocko featuring future and rick ross",2013," intro future uoeno it po high class niggas this shit sound crazy fly shit on me you know what im sayinhook future this a thousand dollar pair of shoes and uoeno it this a thousand dollar cup of lean and uoeno it this a half a million dollar car uoeno it i came up from bottom uoeno it my niggas all ride with me on uoeno it got killers with me right now uoeno it this a million dollar watch nigga uoeno it got a million dollar crib nigga uoeno itverse 1 rocko ay that monster truck sit tall as fuck its so big cant even tow it dont like snakes keep my grass cut so low cant even mow it sip dom peri little high glow no no we dont do moet if it aint pj no rose from me hostess dont even pour it specks on tom ford buttondown michael kors always on like the refrigerator im plugged in ho you know it ap and that piguet wear the breitling when im bored got a masterpiece and a 41millimeter and you aint even know it keep the 45 in my pocket aint gon show it til i have to pop it then you gon know it damn who shot you they dont even know it hawks game fuckin floor it tv seat front row it rocko da don ceo it aint gotta rap and you know ithook future this a thousand dollar pair of shoes and uoeno it this a thousand dollar cup of lean and uoeno it this a half a million dollar car uoeno it i came up from bottom uoeno it my niggas all ride with me on uoeno it got killers with me right now uoeno it this a million dollar watch nigga uoeno it got a million dollar crib nigga uoeno itverse 2 rick ross that nigga sold you that rerock you aint even know it id die over these reeboks you aint even know it put molly all in her champagne she aint even know it i took her home and i enjoyed that she aint even know it got a hundred acres i live on you aint even know it got a hundred rounds in this ar you aint even know it got a bag of bitches i play with on cloud 9 in my spaceship zoned out but he stay fresh from zone 1 through zone 6 bricks all in my blood birds all in my dreams boats all in my yard lemon pepper my wings im bout to get you fuck niggas wacked you aint even know it your main nigga bout to turn his back you aint even know ithook future this a thousand dollar pair of shoes and uoeno it this a thousand dollar cup of lean and uoeno it this a half a million dollar car uoeno it i came up from bottom uoeno it my niggas all ride with me on uoeno it got killers with me right now uoeno it this a million dollar watch nigga uoeno it got a million dollar crib nigga uoeno itverse 3 future im turned up every day you dont even know it got your bitch with me right now you dont even know it we turn up in the club you dont even know it got a hundred bottles comin you dont even know it we came up from nothin you dont even know it drive a half a million dollar car you dont even know it this a thousand dollar pair of shoes you dont even know it got a bitch that speak no english she dont even know ithook future this a thousand dollar pair of shoes and uoeno it this a thousand dollar cup of lean and uoeno it this a half a million dollar car uoeno it i came up from bottom uoeno it my niggas all ride with me on uoeno it got killers with me right now uoeno it this a million dollar watch nigga uoeno it got a million dollar crib nigga uoeno it ",1
88,"next to me","emeli sande",2013,"you wont find him drinking at the tables  rolling dice and staying out till 3 you wont ever find him being unfaithful you will find him youll find him next to me you wont find him trying to chase the devil for money fame for power out of grief you wont ever find him where the rest go you will find him youll find him next to me next to me oooh next to me oooh  next to me oooh you will find him youll find him next to me when the moneys spent and all my friends have vanished and i cant seem to find no help or love free i know theres no need for me to panic cuz ill find him ill find him next to mewhen the skies are grey and all the doors are closing and the rising pressure makes it hard to breathe well all i need is a hand to stop the tears from falling i will find him ill find him next to me next to me oooh next to me oooh next to me oooh i will find him ill find him next to me when the end has come and buildings falling down fast when we spoilt the land and dried up all the sea when everyone has lost their heads around us you will find him youll find him next to me next to me oooh next to me oooh  next to me oooh you will find him youll find him next to me next to me oooh next to me oooh  next to me oooh you will find him youll find him next to me",3
89,"mamas broken heart","miranda lambert",2013," i cut my bangs with some rusty kitchen scissors i screamed his name til the neighbors called the cops i numbed the pain at the expense of my liver dont know what i did next all i know i couldnt stopword got around to the barflies and the baptists my mamas phone started ringin off the hook i can hear her now sayin she aint gonna have it dont matter how you feel it only matters how you lookgo and fix your make up girl its just a break up run an hide your crazy and start actin like a lady cause i raised you better gotta keep it together even when you fall apart but this aint my mamas broken hearti wish i could be just a little less dramatic like a kennedy when camelot went down in flames leave it to me to be holdin the matches when the fire trucks show up and theres nobody else to blamecant get revenge and keep a spotless reputation sometimes revenge is a choice you gotta make my mama came from a softer generation where you get a grip and bite your lip just to save a little facego and fix your make up girl its just a break up run an hide your crazy and start actin like a lady cause i raised you better gotta keep it together even when you fall apart but this aint my mamas broken heartpowder your nose paint your toes line your lips and keep em closed cross your legs dot your is and never let em see you crygo and fix your make up well its just a break up run an hide your crazy and start actin like a lady cause i raised you better gotta keep it together even when you fall apart but this aint my mamas broken heart ",1
90,"it goes like this","thomas rhett",2013," hey girl you make me wanna write a song sit you down ill sing it to you all night long ive had a melody in my head since she walked in here and knocked me dead yeah girl you make me wanna write a songand it goes like ooh what i wouldnt do to write my name on your heart get you wrapped in my arms baby all around you and it goes like hey girl im blown away yeah it starts with a smile and it ends with an all night long slow kiss yeah it goes like thishey girl you make me wanna drive you home get you outta here and get you all alone i dont know what it is about you baby but im all messed up and it might sound crazy but you make me wanna write a songand it goes like ooh what i wouldnt do to write my name on your heart get you wrapped in my arms baby all around you and it goes like hey girl im blown away yeah it starts with a smile and it ends with an all night long slow kiss yeah it goes like thislookin at you lookin at me that wait makes me wanna grab my old guitar and playsomething like ooh what i wouldnt do to write my name on my heart get you wrapped in my arms baby all around you and it goes like hey girl im blown away yeah it starts with a smile and it ends with an all night long slow kiss yeah it goes like thisand it goes like ooh and it goes like hey and it ends with a kiss yeah it goes like this ",1
91,"bugatti","ace hood featuring future and rick ross",2013," we the motherfuckin best nigga mike will made it ace hood yeah its over future yeahi come looking for you with haitians i stay smoking on good jamaican i fuck bitches from different races you get money they started hating i woke up in the new bugatti i woke up in the new bugatti i woke up in the new bugatti i woke up in the new bugatti i woke up in the new bugattiok niggas be hatin im rich as a bitch 100 k i spent that on my wrist two hundred thou i spent that on your bitch do me a model put that on my list oh there he go in that foreign again killin the scene bring the coroner in murder she wrote swallow or choke hit her and go i wont call her again woke up early morning crib as big as a college smoke me a pound of the loudest whippin some shit with no mileage diamonds cost me a fortune them horses all in them porsches you pussies cant handle afford it 4200 my mortgage ballin on niggas like kobe fuck all you haters you bore me only the real get a piece of the plate reppin my city im runnin my state keep me a pistol then run with the ks niggas want beef then i visit ya place bangi come looking for you with haitians i stay smoking on good jamaican i fuck bitches from different races you get money they started hating i woke up in the new bugatti i woke up in the new bugatti i woke up in the new bugatti i woke up in the new bugatti i woke up in the new bugattiyeah im at it again there go that flow bringin tragedy in copped me a chain your salary spent niggas is sweet bring them cavities in countin money hourly trend rolling them skinny like olsen twins niggas is squares cabin benz neck full of gold olympian shit neimans im blowin the check on the gear fall in some pussy then hop on the leer strapped with them choppers in back of the rear sak pase them killers is here woke up early morning mind is tellin me money paper mula pockets is fat as a tumour millionaire nigga no rumour livin my life off of tuna want it with me i deliver the beef real niggas only enjoyin the feast pull up a seat bon appetite no louboutins when that red on your sneaks bangi come looking for you with haitians i stay smoking on good jamaican i fuck bitches from different races you get money they started hating i woke up in the new bugatti i woke up in the new bugatti i woke up in the new bugatti i woke up in the new bugatti i woke up in the new bugattiphotographs of dope boys i see you is all they taking finger prints on the rolls royce is why they hatin push a button on these broke boys thats detonation walk a road to riches bare feet i watch mama struggle now she livin care free thats why i hustle for that half a key thats 12 gs im tryin to bubble every summer a new lp you gotta love me i got shooters out the dleague signin bonus hit that man thats from thirty feet left in a puddle finger prints is on a hundred mill and what it is ricky rozay and ace hood we hella trill yeahi come looking for you with haitians i stay smoking on good jamaican i fuck bitches from different races you get money they started hating i woke up in the new bugatti i woke up in the new bugatti i woke up in the new bugatti i woke up in the new bugatti i woke up in the new bugatti ",1
92,"wanted","hunter hayes",2013," you know id fall apart without you i dont know how you do what you do cause everything that dont make sense about me makes sense when im with youlike everything thats green girl i need you but its more than one and one makes two put aside the math and the logic of it you gotta know youre wanted toocause i wanna wrap you up wanna kiss your lips i wanna make you feel wanted and i wanna call you mine wanna hold your hand forever never let you forget it yeah i wanna make you feel wantedanyone can tell you youre pretty and you get that all the time i know you do but your beautys deeper than the make up and i wanna show you what i see tonightwhen i wrap you up when i kiss your lips i wanna make you feel wanted and i wanna call you mine wanna hold your hand forever never let you forget it cause baby i wanna make you feel wantedas good as you make me feel i i wanna make you feel better better than your fairy tales better than your best dreams youre more than everything i need youre all i ever wanted all i ever wantedand i just wanna wrap you up wanna kiss your lips i wanna make you feel wanted and i wanna call you mine wanna hold your hand forever and never let you forget it yeah i wanna make you feel wanted baby i wanna make you feel wantedyoull always be wanted ",1
93,"downtown","lady antebellum",2013," well all the parties on the streets are talking store front mannequins sleeping in lights we used to smoke while we were jaywalking like it was your birthday every other saturday night knew the bands so we never payed our cover wrote our names on the bathroom tiles we never dressed to impress all the others they would let us in on a laid back kind of style but boy you know its been a whilei dont know why you dont take me downtown like you got anywhere better to be talk it up and give me the go round round like a good time tease im only counting on your cancellation when i should be counting on you at my door did you forget about how we went around i dont know why you dont take me downtown anymore oh anymorei got some platforms sitting in the corner they wanna stroll on a city sidewalk i got a dress that ll show a little uh uh but you aint getting uh oh if you dont come pick me up damn show me off wow you might be tired but im notand i dont know why you dont take me down town like you got anywhere better to be talk it up and give me the go round round like a good time tease im only counting on your cancellation when i should be counting on you at my door did you forget about how we went around i dont know why you dont take me downtown anymore ",1
94,"get your shine on","florida georgia line",2013," strawberry shimmer on hot lips silver buckle hangin off her hips i sparkle when she smiles shine down on the radio dialhomemade jar lemmon drop take a sip dont stop girl you know i love it when youget your shine on you an me be rockin all night long summer sky drippin rhinestones turn your party lights on baby get your shine onshine onbaby get your shine onsilverado candy painted ray bans got the whole world shaded chrome piece tucked in the console ridin high roll up on the down low feelin lucky got hooked up with some kentucky clear so slide that little sugar shaker over here andget your shine on you an me be rockin all night long summer sky drippin rhinestones turn your party lights on baby get your shine on shine on baby get your shine onhomeade jar lemmon drop take a sip dont stop girl you know i love it when you get your shine on you and me be rocking all night long summer sky drippin rhinestones turn your party lights on baby get your shine onshine on baby get your shine on cause you and me be rocking all night longsummer sky drippin rhinestones turn your party lights on baby get your shine on shine on baby get your shine onx2 strawberry shimmer on hot lips silver buckle hangin off her hips i sparkle when she smiles shine down on the radio dial silverado candy painted ray bans got the whole worlds shaded chromed piece tucked into the console ridin high roll up on the down low baby get your shine on ",1
95,"thatpower","william featuring justin bieber",2013,NA,NA
96,"brave","sara bareilles",2013," you can be amazing you can turn a phrase into a weapon or a drug you can be the outcast or be the backlash of somebodys lack of love or you can start speaking up nothings gonna hurt you the way that words do and they settle neath your skin kept on the inside and no sunlight sometimes a shadow wins but i wonder what would happen if yousay what you wanna say and let the words fall out honestly i wanna see you be bravewith what you want to say and let the words fall out honestly i wanna see you be bravei just wanna see you i just wanna see you i just wanna see you i wanna see you be bravei just wanna see you i just wanna see you i just wanna see you i wanna see you be brave    memory  byamandah   editor    on march 10th 2016 sara bareilles was invited to perform her hit brave at the white house canadian state dinner she was joined by the children of the    see all   everybodys been there everybodys been stared down by the enemy fallen for the fear and done some disappearing bow down to the mighty dont run stop holding your tongue maybe theres a way out of the cage where you live maybe one of these days you can let the light in show me how big your brave issay what you wanna say and let the words fall out honestly i wanna see you be bravewith what you want to say and let the words fall out honestly i wanna see you be braveinnocence your history of silence wont do you any good did you think it would let your words be anything but empty why dont you tell them the truthsay what you wanna say and let the words fall out honestly i wanna see you be bravewith what you want to say and let the words fall out honestly i wanna see you be bravei just wanna see you i just wanna see you i just wanna see you i wanna see you be bravei just wanna see you i just wanna see you i just wanna see you see you be bravei just wanna see you i just wanna see you i just wanna see youi just wanna see you i just wanna see you i just wanna see you ",1
97,"let her go","passenger",2013," well you only need the light when its burning low only miss the sun when it starts to snow only know you love her when you let her goonly know youve been high when youre feeling low only hate the road when youre missing home only know you love her when you let her go and you let her gostaring at the bottom of your glass hoping one day youll make a dream last but dreams come slow and they go so fast you see her when you close your eyes maybe one day youll understand why everything you touch surely diesbut you only need the light when its burning low only miss the sun when it starts to snow only know you love her when you let her goonly know youve been high when youre feeling low only hate the road when youre missing home only know you love her when you let her go    memory  byamandah   editor    passengers let it go was famously featured in the heartbreakingly adorable budweiser commercial for super bowl xlvii    see all   staring at the ceiling in the dark same old empty feeling in your heart cause love comes slow and it goes so fastwell you see her when you fall asleep but never to touch and never to keep cause you loved her too much and you dived too deepwell you only need the light when its burning low only miss the sun when it starts to snow only know you love her when you let her goonly know youve been high when youre feeling low only hate the road when youre missing home only know you love her when you let her go and you let her go ooooh ooooh oh noand you let her go ooooh ooooh oh nowell you let her goooooh ooooh oh nocause you only need the light when its burning low only miss the sun when it starts to snow only know you love her when you let her goonly know youve been high when youre feeling low only hate the road when youre missing home only know you love her when you let her gocause you only need the light when its burning low only miss the sun when it starts to snow only know you love her when you let her goonly know youve been high when youre feeling low only hate the road when youre missing home only know you love her when you let her goand you let her go ",1
98,"runnin outta moonlight","randy houser",2013," dont you worry bout gettin fixed up when you wake up youre pretty enough look out your window at the cloud of dust thats my headlights thats my truckcome on baby dont you keep me waitin i gotta go ive got a reservation tailgate for two underneath the stars kiss on your lips when youre in my armswhoa girl every now and then you get a night like this whoa this is one that we dont wanna miss nocome on baby let me take you on a night ride windows down sittin on my side tick tock now were knocking on midnight me and you girl runnin outta moonlight i wanna hold you till the break of dawn hear the crickets sing a riverside love song hey baby all we got is all night come on now were runnin outta moonlightgirl i bet you thought i lost my mind outta the blue pulling into your drive wonder why i got you way out here have you ever seen a sky this clearwhoa girl you never look better than you do right now whoa oh heaven let your light shine downcome on baby let me take you on a night ride windows down sittin on my side tick tock now were knocking on midnight me and you girl runnin outta moonlight i wanna hold you till the break of dawn hear the crickets sing a riverside love song hey baby all we got is all night come on now were runnin outta moonlightwhoa girl every now and then you get a night like this whoa this is one that we dont wanna miss nocome on baby let me take you on a night ride windows down sittin on my side tick tock now were knocking on midnight me and you girl runnin outta moonlight i wanna hold you till the break of dawn hear the crickets sing a riverside love song hey baby all we got is all night come on now were runnin outta moonlighthey baby dont it feel so right come on now were runnin outta moonlight all i wanna do is hold you tight come on come on come on were runnin outta moonlightwhoa yea were runnin outta moonlight whoa ",1
99,"im different","2 chainz",2013," hook mustard on the beat im different yeah im different im different yeah im different im different yeah im different pull up to the scene with my ceiling missing pull up to the scene with my ceiling missing pull up to the scene with my ceiling missing pull up to the scene with my ceiling missing middle finger up to my competition im different yeah im different im different yeah im different im different yeah im different pull up to the scene with my ceiling missingverse 1 pull up to the scene but my roof gone when i leave the scene bet your boo gone and i beat the pussy like a new song 2 chainz but i got me a few on everything hot skip lukewarm tell shawty to bust it open uncle luke on got the present for the present and a gift wrapping i dont feel good but my trigger happy but the stripper happy but they wish they had me and i wish a nigga would like a kitchen cabinet and me and you are cut from a different fabric i fucked her so good its a bad habit bitch sit down you got a bad atti gave her the wrong number and a bad addy you aint going nowhere like a bad navi ass so big i told her to look back at it look back it look back it then put a fat rabbit on the craftmatic i am so highattic i am so high like anaddicthookverse 2 2 chainz got your girl on the celly and when i get off the celly i made her meet at the telly when she meet at the telly i put it straight in her belly when it go in the belly it aint shit you can tell me hair long money long me and broke niggas we dont get along hair long money long me and broke niggas we dont get along i paid a thousand dollars for my sneakers ye told ya a 100k for a feature eeeerr eeeerr sound of the bed beat it up beat it up then i get some head well i might get some head then i beat it up i dont give a fuck switch it up nigga live it up yeah its going down so get up might valet park a brinks truck ",1
100,"still into you","paramore",2013," cant count the years on one hand that weve been together i need the other one to hold you make you feel make you feel better its not a walk in the park to love each other but when our fingers interlock cant deny cant deny youre the worth itcause after all this time im still into youi should be over all the butterflies but im into you im into you and even baby our worst nights im into you im into you let em wonder how we got this far cause i dont really need to wonder at all yeah after all this time im still into yourecount the night that i first met your mother and on the drive back to my house i told you that i told you that i loved ya you felt the weight of the world fall off the shoulder and to your favorite song we sang along to the start of foreverand after all this time im still into youi should be over all the butterflies but im into you im into you and even baby our worst nights im into you im into you let em wonder how we got this far cause i dont really need to wonder at all yeah after all this time im still into yousome things just some things just make sense and one of those is you and i some things just some things just make sense and even after all this timeim into you baby not a day goes by that im not into youi should be over all the butterflies but im into you im into you and even baby our worst nights im into you im into you let em wonder how we got this far cause i dont really need to wonder at all yeah after all this time im still into you im still into you im still into you ",1
1,"happy","pharrell williams",2014," it might seem crazy what im about to say sunshine shes here you can take away im a hot air balloon i could go to space with the air like i dont care baby by the waybecause im happy clap along if you feel like a room without a roof because im happy clap along if you feel like happiness is the truth because im happy clap along if you know what happiness is to you because im happy clap along if you feel like thats what you wanna dohere come bad news talking this and that yeah give me all you got dont hold back yeah well i should probably warn you ill be just fine yeah no offense to you dont waste your time heres why    memory  byamandah   editor    in an indepth interview with oprah pharrell williams famously broke down into happy tears when describing the impact his signature song had on people    see all   because im happy clap along if you feel like a room without a roof because im happy clap along if you feel like happiness is the truth because im happy clap along if you know what happiness is to you because im happy clap along if you feel like thats what you wanna dohappy bring me down cant nothing bring me down love is too happy to bring me down cant nothing bring me down i said bring me down cant nothing bring me down love is too happy to bring me down cant nothing bring me down i saidbecause im happy clap along if you feel like a room without a roof because im happy clap along if you feel like happiness is the truth because im happy clap along if you know what happiness is to you because im happy clap along if you feel like thats what you wanna dobecause im happy clap along if you feel like a room without a roof because im happy clap along if you feel like happiness is the truth because im happy clap along if you know what happiness is to you because im happy clap along if you feel like thats what you wanna dohappy bring me down cant nothing bring me down love is too happy to bring me down cant nothing bring me down i saidbecause im happy clap along if you feel like a room without a roof because im happy clap along if you feel like happiness is the truth because im happy clap along if you know what happiness is to you because im happy clap along if you feel like thats what you wanna dobecause im happy clap along if you feel like a room without a roof because im happy clap along if you feel like happiness is the truth because im happy clap along if you know what happiness is to you because im happy clap along if you feel like thats what you wanna do ",1
2,"dark horse","katy perry featuring juicy j",2014," i knew you were you were gonna come to me and here you are but you better choose carefully cause im capable of anything of anything and everythingmake me your aphrodite make me your one and only but dont make me your enemy your enemy your enemyso you wanna play with magic boy you should know whatcha falling for baby do you dare to do this cause im coming atcha like a dark horseare you ready for ready for a perfect storm a perfect storm cause once youre mine once youre mine theres no going backmark my words this love will make you levitate like a bird like a bird without a cage but down to earth if you choose to walk away dont walk awayits in the palm of your hand now baby its a yes or no no maybe so just be sure before you give it up to me up to me give it up to meso you wanna play with magic boy you should know whatcha falling for baby do you dare to do this cause im coming atcha like a dark horse are you ready for ready for a perfect storm a perfect storm cause once youre mine once youre mine theres no going backshes a beast i call her karma she eat your heart out like jeffrey dahmer be careful try not to lead her on shawtys heart was on steroids cause her love was so strongyou may fall in love when you meet her if you get the chance you better keep her shes sweet as pie but if you break her heart shell turn cold as a freezer that fairy tale ending with a knight in shining armor she can be my sleeping beauty im gon put her in a comawoo damn i think i love her shawty so bad im sprung and i dont care she got me like a roller coaster turn the bedroom into a fair her love is like a drug i was tryna hit it and quit it but lil mama so dope i messed around and got addictedso you wanna play with magic boy you should know whatcha falling for baby do you dare to do this cause im coming atcha like a dark horse are you ready for ready for a perfect storm a perfect storm cause once youre mine once youre mine theres no going back ",1
3,"all of me","john legend",2014," verse what would i do without your smart mouth drawing me in and you kicking me out you got my head spinning no kidding i cant pin you down whats going on in that beautiful mind im on your magical mystery ride and im so dizzy dont know what hit me but ill be alrightbridge my heads underwater but im breathing fine youre crazy and im out of my mindchorus cause all of me loves all of you love your curves and all your edges all your perfect imperfections give your all to me ill give my all to you youre my end and my beginning even when i lose im winning cause i give you all of me and you give me all of you oh    meaning  byjamesg   editor    all of me is a song by american recording artist john legend from his fourth studio album love in the future 2013 legend cowrote the song with toby gad    see all   verse how many times do i have to tell you even when youre crying youre beautiful too the world is beating you down im around through every mood youre my downfall youre my muse my worst distraction my rhythm and blues i cant stop singing its ringing in my head for youbridge my heads underwater but im breathing fine youre crazy and im out of my mindchorus cause all of me loves all of you love your curves and all your edges all your perfect imperfections give your all to me ill give my all to you youre my end and my beginning even when i lose im winning cause i give you all of me and you give me all of you oh give me all of you oh ohbridge cards on the table were both showing hearts risking it all though its hardchorus cause all of me loves all of you love your curves and all your edges all your perfect imperfections give your all to me ill give my all to you youre my end and my beginning even when i lose im winning cause i give you all of me and you give me all of youi give you all of me and you give me all of you oh oh oh ",1
4,"fancy","iggy azalea featuring charli xcx",2014," listen to this jam show em what you got inbox freshfirst things first im the realest realest drop this and let the whole world feel it let em feel it and im still in the murder business i can hold you down like im givin lessons in physics right you should want a bad bitch like this ha drop it low and pick it up just like this yeah cup of ace cup of goose cup of cris high heels somethin worth a half a ticket on my wrist on my wrist takin all the liquor straight never chase that never rooftop like we bringin 88 back what bring the hooks in where the bass at champagne spillin you should taste thatim so fancy you already know im in the fast lane from la to tokyo im so fancy cant you taste this gold remember my name bout to blowi said baby i do this i thought that you knew this cant stand no haters and honest the truth is and my flow retarded they speak it depart it swagger on super i cant shop at no department better get my money on time if they not money decline and swear i meant that there so much that they give that line a rewind so get my money on time if they not money decline i just cant worry bout no haters gotta stay on my grind now tell me who that who that that do that do that put that paper over all i thought you knew that knew that i be that iggy put my name in bold i been working im up in here with some change to throwim so fancy you already know im in the fast lane from la to tokyo im so fancy cant you taste this gold remember my name bout to blowtrash the hotel lets get drunk on the mini bar make the phone call feels so good getting what i want yeah keep on turning it up chandelier swinging we dont give a fuck film star yeah im deluxe classic expensive you dont get to touch owstill stunting how you love that got the whole world asking how i does that hot girl hands off dont touch that look at that i bet you wishing you could clutch that just the way you like it huh youre so good hes just wishing he could bite it huh say what what never turn down money slaying these hoes gold trigger on the gun likeim so fancy you already know im in the fast lane from la to tokyo im so fancy cant you taste this gold remember my name bout to blowwho that who that iggy that do that do that iggy who that who that iggy blowwho that who that iggy that do that do that iggy who that who that iggy blow ",1
5,"counting stars","onerepublic",2014," lately ive been ive been losing sleep dreaming about the things that we could be but baby ive been ive been praying hard said no more counting dollars well be counting stars yeah well be counting starsi see this life like a swinging vine swing my heart across the line and my face is flashing signs seek it out and you shall find old but im not that old young but im not that bold i dont think the world is sold im just doing what were told i feel something so right doing the wrong thing i feel something so wrong doing the right thing i could lie coudnt i could lie everything that kills me makes me feel alivelately ive been ive been losing sleep dreaming about the things that we could be but baby ive been ive been praying hard said no more counting dollars well be counting starslately ive been ive been losing sleep dreaming about the things that we could be but baby ive been ive been praying hard said no more counting dollars well be well be counting starsi feel the love and i feel it burn down this river every turn hope is a fourletter word make that money watch it burn old but im not that old young but im not that bold i dont think the world is sold im just doing what were told i feel something so wrong doing the right thing i could lie could lie could lie everything that drowns me makes me wanna flylately ive been ive been losing sleep dreaming about the things that we could be but baby ive been ive been praying hard said no more counting dollars well be counting starslately ive been ive been losing sleep dreaming about the things that we could be but baby ive been ive been praying hard said no more counting dollars well be well be counting starstake that money watch it burn sink in the river the lessons are learnttake that money watch it burn sink in the river the lessons are learnttake that money watch it burn sink in the river the lessons are learnttake that money watch it burn sink in the river the lessons are learnteverything that kills me makes feel alivelately ive been ive been losing sleep dreaming about the things that we could be but baby ive been ive been praying hard said no more counting dollars well be counting starslately ive been ive been losing sleep dreaming about the things that we could be but baby ive been ive been praying hard said no more counting dollars well be well be counting starstake that money watch it burn sink in the river the lessons are learnttake that money watch it burn sink in the river the lessons are learnttake that money watch it burn sink in the river the lessons are learnttake that money watch it burn sink in the river the lessons are learnt ",1
6,"talk dirty","jason derulo featuring 2 chainz",2014," jason haha jason deruloget jazzy on em im that flight that you get on international first class seat on my lap girl riding comfortable cause i know what the girl them need new york to haiti i got lipstick stamps on my passport make it hard to leavebeen around the world dont speak the language but your booty dont need explaining all i really need to understand is will you talk dirty to me talk dirty to me talk dirty to me talk dirty to meget jazzy on em you know the words to my songs no habla ingl̩s our conversations aint long but you know what it is i know what the girl them want london to taiwan i got lipstick stamps on my passport i think i need a new onebeen around the world dont speak the language but your booty dont need explaining all i really need to understand is will you talk dirty to me talk dirty to me talk dirty to me talk dirty to meuno met a friend in rio dos she was all on meo tres we could m̩nage �� threeo cuatro oh 2 chainzdos cadenas close to genius sold out arenas you can suck my penis get with arenas guns on deck deck chest to chest tongue on neck neck international oral sex every picture i take i pose a threat boat or jet what do you expect her pussy so good i bought her a pet anyway every day im trying to get to it got her saved in my phone under big booty anyway every day im trying to get to it got her saved in my phone under big bootybeen around the world dont speak the language but your booty dont need explaining all i really need to understand is will you talk dirty to me talk dirty to me yeah yeah talk dirty to me talk to me talk dirty to me oh yeah get jazzy on her what i dont understand ",1
7,"rude","magic",2014," saturday morning jumped out of bed and put on my best suit got in my car and raced like a jet all the way to you knocked on your door with heart in my hand to ask you a question cause i know that youre an old fashioned man yeah yeahcan i have your daughter for the rest of my life say yes say yes cause i need to know you say ill never get your blessing till the day i die tough luck my friend but the answer is nowhy you gotta be so rude dont you know im human too why you gotta be so rude im gonna marry her anyway marry that girl marry her anyway marry that girl yeah no matter what you say marry that girl and well be a family    meaning  byamandah   editor    in a topten list in 2014 time rated rude as the no1 worst song of the year ouch    see all   why you gotta be so rudei hate to do this you leave no choice cant live without her love me or hate me we will be both standing at that altar or we will run away to another galaxy you know you know shes in love with me she will go anywhere i gocan i have your daughter for the rest of my life say yes say yes cause i need to know you say ill never get your blessing till the day i die tough luck my friend cause the answers still nowhy you gotta be so rude dont you know im human too why you gotta be so rude im gonna marry her anyway marry that girl marry her anyway marry that girl no matter what you say marry that girl and well be a familywhy you gotta be so rudecan i have your daughter for the rest of my life say yes say yes cause i need to know you say ill never get your blessing till the day i die tough luck my friend but no still means nowhy you gotta be so rude dont you know im human too why you gotta be so rude im gonna marry her anyway marry that girl marry her anyway marry that girl no matter what you say marry that girl and well be a familywhy you gotta be so rude why you gotta be so rude why you gotta be so rude ",1
8,"all about that bass","meghan trainor",2014," because you know im all about that bass bout that bass no treble im all bout that bass bout that bass no treble im all bout that bass bout that bass no treble im all bout that bass bout that bassyeah its pretty clear i aint no size two but i can shake it shake it like im supposed to do cause i got that boom boom that all the boys chase all the right junk in all the right places i see the magazines working that photoshop we know that shit aint real come on now make it stop if you got beauty beauty just raise em up cause every inch of you is perfect from the bottom to the top yeah my momma she told me dont worry about your size she says boys they like a little more booty to hold at night you know i wont be no stickfigure silicone barbie doll so if thats whats youre into then go ahead and move along    meaning  byamandah   editor    are you a phish fan the jamrockers have a song called contact that listeners claim trainor ripped off for all about that bass the cascading melody is    see all   because you know im all about that bass bout that bass no treble im all bout that bass bout that bass no treble im all bout that bass bout that bass no treble im all bout that bass bout that bassim bringing booty back go ahead and tell them skinny bitches hey no im just playing i know you think youre fat but im here to tell you that every inch of you is perfect from the bottom to the top yeah my momma she told me dont worry about your size she says boys they like a little more booty to hold at night you know i wont be no stickfigure silicone barbie dollso if thats whats youre into then go ahead and move alongbecause you know im all about that bass bout that bass no treble im all bout that bass bout that bass no treble im all bout that bass bout that bass no treble im all bout that bass bout that bassbecause you know im all about that bass bout that bass no treble im all bout that bass bout that bass no treble im all bout that bass bout that bass no treble im all bout that bass bout that bassbecause you know im all about that bass bout that bass no treble im all bout that bass bout that bass no treble im all bout that bass bout that bass no treble im all bout that bass bout that bass ",1
9,"problem","ariana grande featuring iggy azalea",2014," iggy uh huh its iggy iggs i got one more problem with you girl one less one less aye problemariana grande hey baby even though i hate ya i wanna love ya i want you you you and even though i cant forgive you i really want ta i want you you youtell me tell me baby why cant you leave me cause even though i shouldnt want it i gotta have it i want you you youhead in the clouds got no weight on my shoulders i should be wiser and realize that ive gotbig sean one less problem without ya i got one less problem without ya i got one less problem without ya ariana grande i got one less one less problem big sean one less problem without ya i got one less problem without ya i got one less problem without ya ariana grande i got one less one less problemariana grande i know youre never gonna wake up i gotta give up but its you you you i know i shouldnt ever call back or let you come back but its you you you every time you touch me and say you love me i get a little bit breathless i shouldnt want it but its you you youhead in the clouds got no weight on my shoulders i should be wiser and realize that ive gotbig sean one less problem without ya i got one less problem without ya i got one less problem without ya ariana grande i got one less one less problem big sean one less problem without ya i got one less problem without ya i got one less problem without ya ariana grande i got one less one less problemiggy its iggy iggs uh what you got smart money bettin ill be better off without you in no time ill be forgettin all about you you saying that you know but i really really doubt you understand my life is easy when i aint around you iggy iggy too biggie to be here stressin im thinkin i love the thought of you more than i love your presence and the best thing now is probably for you to exit i let you go let you back i finally learned my lesson no halfstepping either you want it or you just keep playin im listening to you knowin i cant believe what youre sayin theres a million yous baby boo so dont be dumb i got 99 problems but you wont be one like whatariana grande one less one less problem one less one less problemhead in the clouds got no weight on my shoulders i should be wiser and realize that ive got ive gotbig sean one less problem without ya i got one less problem without ya i got one less problem without ya ariana grande i got one less one less problem big sean one less problem without ya i got one less problem without ya i got one less problem without ya ariana grande i got one less one less problem big sean one less problem without ya i got one less problem without ya i got one less problem without ya ariana grande i got one less one less problem ",1
10,"stay with me","sam smith",2014," guess its true im not good at a onenight stand but i still need love cause im just a man these nights never seem to go to plan i dont want you to leave will you hold my handoh wont you stay with me cause youre all i need this aint love its clear to see but darling stay with me    meaning  byjamesg   editor    stay with me is a song by english recording artist sam smith from his debut studio album in the lonely hour 2014 it was written by sam smith james    see all   why am i so emotional no its not a good look gain some self control and deep down i know this never works but you can lay with me so it doesnt hurtoh wont you stay with me cause youre all i need this aint love its clear to see but darling stay with meoh wont you stay with me cause youre all i need this aint love its clear to see but darling stay with meoh wont you stay with me cause youre all i need this aint love its clear to see but darling stay with me ",1
11,"timber","pitbull featuring kesha",2014," keha its going down im yelling timber you better move you better dance lets make a night you wont remember ill be the one you wont forgetwooooo ooooohpitbull the bigger they are the harder they fall this biggity boys a diggity dog i have them like miley cyrus clothes off twerking with my bras and thongs timber face down booty up timber thats the way we like the war timber im slicker than an oil spill she say she wont but i bet she will timberswing your partner round and round end of the night its going down one more shot another round end of the night its going down swing your partner round and round end of the night its going down one more shot another round end of the night its going downkeha its going down im yelling timber you better move you better dance lets make a night you wont remember ill be the one you wont forgetits going down its going down im yelling timber you better move you better move you better dance you better dance lets make a night you wont remember ill be the one you wont forget you wont forgetoooohpitbull look up in the sky its a bird its a plane nah its just me aint a damn thing changed live in hotels swing on plane blessed to say money aint a thing club jumping like lebron now voli order me another round homie we about to climb wild cause its about to go downswing your partner round and round end of the night its going down one more shot another round end of the night its going down swing your partner round and round end of the night its going down ooooh one more shot another round end of the night its going downkeha its going down im yelling timber you better move you better dance lets make a night you wont remember ill be the one you wont forget you wont forgetits going down its going down im yelling timber you better move you better dance you better dance lets make a night lets make a night you wont remember ill be the one ill be the one you wont forget you wont forgetooooh ooooh oooohooooh ooooh ooooh oooohooooh ooooh ooooh oooohooooh ooooh ooooh oooohooooh ooooh oooohooooh ooooh timber ooooh oooohooooh ",1
12,"pompeii","bastille",2014," e e o e o e e o e o e e o e o e e o e oe e o e o e e o e o e e o e o e e o e oe e o e o e e o e o e e o e o e e o e oe e o e o e e o e o e e o e o e e o e oi was left to my own devices many days fell away with nothing to showand the walls kept tumbling down in the city that we love great clouds roll over the hills bringing darkness from abovebut if you close your eyes does it almost feel like nothing changed at all and if you close your eyes does it almost feel like youve been here before how am i gonna be an optimist about this how am i gonna be an optimist about thiswe were caught up and lost in all of our vices in your pose as the dust settles around usand the walls kept tumbling down in the city that we love rain clouds roll over the hills bringing darkness from abovebut if you close your eyes does it almost feel like nothing changed at all and if you close your eyes does it almost feel like youve been here before how am i gonna be an optimist about this how am i gonna be an optimist about thisoh where do we begin the rubble or our sins oh where do we begin the rubble or our sinsand the walls kept tumbling down in the city that we love rain clouds roll over the hills bringing darkness from abovebut if you close your eyes does it almost feel like nothing changed at all and if you close your eyes does it almost feel like youve been here before how am i gonna be an optimist about this how am i gonna be an optimist about this but if you close your eyes does it almost feel like nothing changed at all ",1
13,"shake it off","taylor swift",2014," i stay up too late got nothing in my brain thats what people say mmm thats what people say mm i go on too many dates but i cant make em stay at least thats what people say mmm thats what people say mmmbut i keep cruising cant stop wont stop moving its like i got this music in my body and its gonna be alrightcause the players gonna play play play play play and the haters gonna hate hate hate hate hate baby im just gonna shake shake shake shake shake i shake it off i shake it off heartbreakers gonna break break break break break and the fakers gonna fake fake fake fake fake baby im just gonna shake shake shake shake shake i shake it off i shake it offill never miss a beat im lightning on my feet and thats what they dont see mmm thats what they dont see mmm im dancing on my own dancing on my own ill make the moves up as i go moves up as i go and thats what they dont know mmm thats what they dont know mmmbut i keep cruising cant stop wont stop grooving its like i got this music in my body saying its gonna be alrightcause the players gonna play play play play play and the haters gonna hate hate hate hate hate baby im just gonna shake shake shake shake shake i shake it off i shake it off heartbreakers gonna break break break break break and the fakers gonna fake fake fake fake fake baby im just gonna shake shake shake shake shake i shake it off i shake it offi i shake it off i shake it off i i shake it off i shake it off i i shake it off i shake it off i i shake it off i shake it offhey hey hey just think while youve been getting down and out about the liars and dirty dirty cheats in the world you could have been getting down to this sick beatmy exman brought his new girlfriend shes like oh my god but im just gonna shake it and to the fella over there with the hella good hair wont you come on over baby we can shake shake shakecause the players gonna play play play play play and the haters gonna hate hate hate hate hate baby im just gonna shake shake shake shake shake i shake it off i shake it off heartbreakers gonna break break break break break and the fakers gonna fake fake fake fake fake baby im just gonna shake shake shake shake shake i shake it off i shake it offi i shake it off i shake it off i i shake it off i shake it off i i shake it off i shake it off i i shake it off i shake it off i shake it off i shake it off i i shake it off i shake it off i i shake it off i shake it off i i shake it off i shake it off ",1
14,"am i wrong","nico  vinz",2014,"am i wrong for thinking out the box from where i stay am i wrong for saying that i choose another way i aint tryna do what everybody else doing just cause everybody doing what they all do if one thing i know ill fall but ill grow im walking down this road of mine this road that i call home so am i wrong for thinking that we could be something for real now am i wrong for trying to reach the things that i cant see but thats just how i feel thats just how i feel thats just how i feel trying to reach the things that i cant see am i tripping for having a vision my prediction imma be on the top of the world walk your walk and dont look back always do what you decide dont let them control your life thats just how i feel fight for yours and dont let go dont let them compare you no dont worry youre not alone thats just how we feel am i wrong am i wrong for thinking that we could be something for real oh yeah yeah yeah oh now am i wrong am i wrong for trying to reach the things that i cant see oh yeah yeah yeah yeah but thats just how i feel thats just how i feel thats just how i feel trying to reach the things that i cant see if you tell me im wrong wrong i dont wanna be right right if you tell me im wrong wrong i dont wanna be right 2x am i wrong for thinking that we could be something for real now am i wrong for trying to reach the things that i cant see but thats just how i feel thats just how i feel thats just how i feel trying to reach the things that i cant see so am i wrong am i wrong for thinking that we could be something for real oh yeah yeah yeah oh now am i wrong am i wrong for trying to reach the things that i cant see oh yeah yeah yeah yeah but thats just how i feel thats just how i feel thats just how i feel trying to reach the things that i cant see ",3
15,"turn down for what","dj snake and lil jon",2014," fire up that loud another round of shotsturn down for what turn down for what turn down for what turn down for what turn down for whatfire up that loud another round of shotsturn down for what turn down for what turn down for what turn down for what turn down for whatfire up that loud another round of shots fire up that loud another round of shots fire up that loud another round of shots fire up that loud another round of shotsturn down for what turn down for what turn down for what turn down for what turn down for what ",1
16,"the monster","eminem featuring rihanna",2014,"feat rihanna hook rihannaim friends with the monster thats under my bed get along with the voices inside of my head youre trying to save me stop holding your breath and you think im crazy yeah you think im crazy verse 1 i wanted the fame but not the cover of newsweek oh well guess beggars cant be choosey wanted to receive attention for my music wanted to be left alone in public excuse me for wanting my cake and eat it too and wanting it both ways fame made me a balloon cause my ego inflated when i blew see it was confusing cause all i wanted to do is be the bruce lee of loose leaf abused ink used it as a tool when i blew steam ooh hit the lottery oh wee but with what i gave up to get was bittersweet it was like winning a huge meet ironic cause i think im getting so huge i need a shrink im beginning to lose sleep one sheep two sheep going cuckoo and cooky as kool keith but im actually weirder than you think cause im hook bridge rihanna well thats nothing verse 2 no i aint much of a poet but i know somebody once told me to seize the moment and dont squander it cause you never know when it all could be over tomorrow so i keep conjuring sometimes i wonder where these thoughts spawn from yeah ponder it do you want this no wonder you losing your mind the way it wanders yodelodelayheehoo i think youve been wandering off down yonder and stumbled onto jeff vanvonderen cause i need an interventionist to intervene between me and this monster and save me from myself and all this conflict cause the very thing that i loves killing me and i cant conquer it my ocd is conking me in the head keep knocking nobodys home im sleepwalking im just relaying what the voice in my head is saying dont shoot the messenger im just friends with the hook  bridge verse 3 call me crazy but i have this vision one day that i walk amongst you a regular civilian but until then drums get killed and im coming straight at mcs blood get spilled and i take it back to the days that i get on a dre track give every kid who got played at pumped up feeling and shit to say back to the kids who play em i aint here to save the fucking children but if one kid out of a hundred million who are going through a struggle feels and then relates thats great its payback russell wilson falling way back in the draftturn nothing into something still can make that straw into gold chump i will spin rumpelstiltskin in a haystack maybe i need a straight jacket face facts i am nuts for real but im okay with that its nothing im still friends with the hook  bridge",3
17,"say something","a great big world and christina aguilera",2014," say something im giving up on you ill be the one if you want me to anywhere i wouldve followed you say something im giving up on youand i am feeling so small it was over my head i know nothing at alland i will stumble and fall im still learning to love just starting to crawlsay something im giving up on you im sorry that i couldnt get to you anywhere i wouldve followed you say something im giving up on youand i will swallow my pride youre the one that i love and im saying goodbyesay something im giving up on you and im sorry that i couldnt get to you and anywhere i would have followed you oh oh oh oh say something im giving up on yousay something im giving up on you say something ",1
18,"team","lorde",2014," wait til youre announced weve not yet lost all our graces the hounds will stay in chains look upon your greatness and shell send the call out send the call out send the call out send the call out send the call out send the call out send the call out send the call out send the call out send the call out send the call out send the call out send the call out send the call out send the call out send the call outcall all the ladies out theyre in their finery a hundred jewels on throats a hundred jewels between teeth now bring my boys in their skin in craters like the moon the moon we love like a brother while he glows through the roomdancing around the lies we tell dancing around big eyes as well ah even the comatose they dont dance and tellchorus we live in cities youll never see on screen not very pretty but we sure know how to run things living in ruins of the palace within my dreams and you know were on each others teamim kind of over getting told to throw my hands up in the air so thereso all the cups got broke shards beneath our feet but it wasnt my fault and everyones competing for a love they wont receive cause what this palace wants is releasechorus we live in cities youll never see on screen not very pretty but we sure know how to run things living in ruins of the palace within my dreams and you know were on each others teamim kind of over getting told to throw my hands up in the air so there im kind of older than i was when i reveled without a care so therechorus we live in cities youll never see on screen not very pretty but we sure know how to run things living in ruins of the palace within my dreams and you know were on each others teamwere on each others team and you know were on each others team were on each others team and you know and you know and you know ",1
19,"let her go","passenger",2014," well you only need the light when its burning low only miss the sun when it starts to snow only know you love her when you let her goonly know youve been high when youre feeling low only hate the road when youre missing home only know you love her when you let her go and you let her gostaring at the bottom of your glass hoping one day youll make a dream last but dreams come slow and they go so fast you see her when you close your eyes maybe one day youll understand why everything you touch surely diesbut you only need the light when its burning low only miss the sun when it starts to snow only know you love her when you let her goonly know youve been high when youre feeling low only hate the road when youre missing home only know you love her when you let her go    memory  byamandah   editor    passengers let it go was famously featured in the heartbreakingly adorable budweiser commercial for super bowl xlvii    see all   staring at the ceiling in the dark same old empty feeling in your heart cause love comes slow and it goes so fastwell you see her when you fall asleep but never to touch and never to keep cause you loved her too much and you dived too deepwell you only need the light when its burning low only miss the sun when it starts to snow only know you love her when you let her goonly know youve been high when youre feeling low only hate the road when youre missing home only know you love her when you let her go and you let her go ooooh ooooh oh noand you let her go ooooh ooooh oh nowell you let her goooooh ooooh oh nocause you only need the light when its burning low only miss the sun when it starts to snow only know you love her when you let her goonly know youve been high when youre feeling low only hate the road when youre missing home only know you love her when you let her gocause you only need the light when its burning low only miss the sun when it starts to snow only know you love her when you let her goonly know youve been high when youre feeling low only hate the road when youre missing home only know you love her when you let her goand you let her go ",1
20,"royals","lorde",2014," ive never seen a diamond in the flesh i cut my teeth on wedding rings in the movies and im not proud of my address in the torn up town no post code envybut every songs like gold teeth grey goose tripping in the bathroom bloodstains ball gowns trashing the hotel roomwe dont care were driving cadillacs in our dreamsbut everybodys like crystal maybach diamonds on your timepiece jet planes islands tigers on a gold leashwe dont care we arent caught up in your love affairand well never be royals royals it dont run in our blood that kind of lux just aint for us we crave a different kind of buzz let me be your ruler ruler you can call me queen bee and baby ill rule ill rule ill rule ill rule let me live that fantasymy friends and i weve cracked the code we count our dollars on the train to the party and everyone who knows us knows that were fine with this we didnt come from moneybut every songs like gold teeth grey goose tripping in the bathroom bloodstains ball gowns trashing the hotel roomwe dont care were driving cadillacs in our dreamsbut everybodys like crystal maybach diamonds on your timepiece jet planes islands tigers on a gold leashwe dont care we arent caught up in your love affairand well never be royals royals it dont run in our blood that kind of lux just aint for us we crave a different kind of buzz let me be your ruler ruler you can call me queen bee and baby ill rule ill rule ill rule ill rule let me live that fantasyooh ooh oh ooh were better than weve every dreamed and im in love with being queenooh ooh oh ooh life is great without a care we arent caught up in your love affairand well never be royals royals it dont run in our blood that kind of lux just aint for us we crave a different kind of buzz let me be your ruler ruler you can call me queen bee and baby ill rule ill rule ill rule ill rule let me live that fantasy ",1
21,"let it go","idina menzel",2014," the snow glows white on the mountain tonight not a footprint to be seen a kingdom of isolation and it looks like im the queen the wind is howling like this swirling storm inside couldnt keep it in heaven knows ive trieddont let them in dont let them see be the good girl you always have to be conceal dont feel dont let them know well now they knowlet it go let it go cant hold it back anymore  meaning  bylisanc     this is such a very powerful song especially when i begin to really discover what is the it that i have to let go let it go your true self let your    see all   let it go let it go turn away and slam the door i dont care what theyre going to say let the storm rage on the cold never bothered me anywayits funny how some distance makes everything seem small and the fears that once controlled me cant get to me at allits time to see what i can do to test the limits and break through no right no wrong no rules for me im freelet it go let it go i am one with the wind and sky let it go let it go youll never see me cry here i stand and here ill stay let the storm rage onmy power flurries through the air into the ground my soul is spiraling in frozen fractals all around and one thought crystallizes like an icy blast im never going back the past is in the pastlet it go let it go and ill rise like the break of dawn let it go let it go that perfect girl is gone here i stand in the light of day let the storm rage onthe cold never bothered me anyway ",1
22,"wake me up","avicii",2014," feeling my way through the darkness guided by a beating heart i cant tell where the journey will end but i know where to start they tell me im too young to understand they say im caught up in a dream well life will pass me by if i dont open up my eyes well thats fine by meso wake me up when its all over when im wiser and im older all this time i was finding myself and i didnt know i was lostso wake me up when its all over when im wiser and im older all this time i was finding myself and i didnt know i was losti tried carrying the weight of the world but i only have two hands i hope i get the chance to travel the world and i dont have any plans i wish that i could stay forever this young not afraid to close my eyes lifes a game made for everyone and love is a prizeso wake me up when its all over when im wiser and im older all this time i was finding myself and i didnt know i was lostso wake me up when its all over when im wiser and im older all this time i was finding myself and i didnt know i was losti didnt know i was lost i didnt know i was lost i didnt know i was lost i didnt know i was lost ",1
23,"demons","imagine dragons",2014," when the days are cold and the cards all fold and the saints we see are all made of goldwhen your dreams all fail and the ones we hail are the worst of all and the bloods run stalei wanna hide the truth i wanna shelter you but with the beast inside theres nowhere we can hideno matter what we breed we still are made of greed this is my kingdom come this is my kingdom comewhen you feel my heat look into my eyes its where my demons hide its where my demons hidedont get too close its dark inside its where my demons hide its where my demons hideat the curtains call its the last of all when the lights fade out all the sinners crawlso they dug your grave and the masquerade will come calling out at the mess youve madedont wanna let you down but i am hell bound though this is all for you dont wanna hide the truthno matter what we breed we still are made of greed this is my kingdom come this is my kingdom comewhen you feel my heat look into my eyes its where my demons hide its where my demons hidedont get too close its dark inside its where my demons hide its where my demons hidethey say its what you make i say its up to fate its woven in my soul i need to let you goyour eyes they shine so bright i wanna save that light i cant escape this now unless you show me howwhen you feel my heat look into my eyes its where my demons hide its where my demons hidedont get too close its dark inside its where my demons hide its where my demons hide ",1
24,"story of my life","one direction",2014," verse 1  harry written in these walls are the stories that i cant explain i leave my heart open but it stays right here empty for daysliam she told me in the morning she dont feel the same about us in her bones it seems to me that when i die these words will be written on my stoneprechorus  zayn and ill be gone gone tonight the ground beneath my feet is open wide the way that i been holdin on too tight with nothing in betweenchorus  harry the story of my life i take her home i drive all night to keep her warm and time is frozen the story of the story ofall the story of my life i give her hope i spend her love until shes broke inside the story of my life the story of the story ofverse 2  niall written on these walls are the colours that i cant change leave my heart open but it stays right here in its cageliam i know that in the morning now ill see us in the light upon a hill although i am broken my heart is untamed stillxprechorus  louis and ill be gone gone tonight the fire beneath my feet is burning bright the way that i been holdin on so tight with nothing in betweenchorus  harry the story of my life i take her home i drive all night to keep her warm and time is frozen the story of the story ofall the story of my life i give her hope i spend her love until shes broke inside the story of my life the story of the story ofbridge  zayn and i been waiting for this time to come around but baby running after you is like chasing the cloudsmiddle 8  niall the story of my life i take her home i drive all night to keep her warm and time is frozenchorus  all the story of my life i give her hope give her hope i spend her love until shes broke inside until shes broke inside the story of my life the story of the story of the story of my life the story of my life the story of the story ofharry the story of my life ",1
25,"chandelier","sia",2014," party girls dont get hurt cant feel anything when will i learn i push it down push it downim the one for a good time call phones blowin up theyre ringin my doorbell i feel the love feel the loveprechorus 123 123 drink 123 123 drink 123 123 drink    meaning  byjamesg   editor    chandelier is the lead single from australian recording artist sias sixth studio album 1000 forms of fear 2014 it is her first single in four years it    see all   throw em back til i lose countchorus im gonna swing from the chandelier from the chandelier im gonna live like tomorrow doesnt exist like it doesnt exist im gonna fly like a bird through the night feel my tears as they dry im gonna swing from the chandelier from the chandelierbut im holding on for dear life wont look down wont open my eyes keep my glass full until morning light cos im just holding on for tonight help me im holding on for dear life wont look down wont open my eyes keep my glass full until morning light cos im just holding on for tonight on for tonightsun is up im a mess gotta get out now gotta run from this here comes the shame here comes the shameprechorus 123 123 drink 123 123 drink 123 123 drinkchorus im gonna swing from the chandelier from the chandelier im gonna live like tomorrow doesnt exist like it doesnt exist im gonna fly like a bird through the night feel my tears as they dry im gonna swing from the chandelier from the chandelier ",1
26,"black widow","iggy azalea featuring rita ora",2014," im gonna love you until you hate me and im gonna show you whats really crazy you shouldve known better then to mess with me harder im gonna love you im gonna love you gonna love you gonna love you like a black widow babythis twisted cat and mouse game always starts the same first were both down to play then somehow you go astray we went from nothing to something liking to loving it was us against the world now we just fucking its like i loved you so much and now i just hate you feeling stupid for all the time that i gave you i wanted all or nothing for us aint no place in between by me believing what you say that you never mean like itll last for ever but now forever aint as long if it wasnt for you i wouldnt be stuck singing this song you was different from my last but now you got a mirror but as it all plays out i see it couldnt be clearer now singyou used to be thirsty for me but now you wanna be set free this is the web the web that you weave so baby now rest in peace its all over with nowim gonna love you until you hate me and im gonna show you whats really crazy you shouldve known better then to mess with me harder im gonna love you im gonna love you gonna love you gonna love you like a black widow babyim gonna love you until it hurts just to get you im doing whatever works youd have never met nobody that will do you how i do ya that will bring you to your knees praise jesus hallelujah imma make you beg for it plead for it till you feel like you breath for it till you do any and everything for it i want you to fiend for it wake up and dream for it till its got you gasping for air and you leave for it til then you have a cat scan and you can check your mind and theres nothing but me on it now its me time believe that if its yours when you want it i wouldnt promise i need that till im everywhere that you be at i cant fall back go quick cause this here is fatal attraction so i take it all or i dont want shityou used to be thirsty for me but now you wanna be set free this is the web the web that you weave so baby now rest in peace its all over with nowim gonna love you until you hate me and im gonna show you whats really crazy you shouldve known better then to mess with me harder im gonna love you im gonna love you gonna love you gonna love you like a black widow baby ",1
27,"bang bang","jessie j ariana grande and nicki minaj",2014,"verse 1 jessie j she got a body like an hourglass but i can give it to you all the time she got a booty like a cadillac but i can send you into overdrive oh stop and wait wait for that stop hold up swing your bat see anybody could be bad to you you need a good girl to blow your mind yeah hook jessie j bang bang into the room i know you want it bang bang all over you ill let you have it wait a minute let me take you there ah wait a minute tell you ah bang bang there goes your heart i know you want it back back seat of my car ill let you have it wait a minute let me take you there ah wait a minute tell you ah verse 2 ariana grande she mightve let you hold her hand in school but imma show you how to graduate no i dont need to hear you talk the talk just come and show me what your momma gave oooh yeah your love gotta be baby love but dont say a thing see anybody could be good to you you need a bad girl to blow your mind hook jessie j  ariana grande verse 3 nicki minaj its myx moscato its frizz in a bottle its nicki full throttle its oh oh swimming in the grotto we winning in the lotto we dipping in the pot of blue foam kitten so good its dripping on wood get a ride in the engine that could go batman robbin it bang bang cockin it queen nicki dominant prominent its me jessie and ari if they test me they sorry ride us up like a harley then pull off in this ferrari if he hanging we banging phone ranging he slanging it aint karaoke night but get the mic cause he singing bridge jessie j  nicki minaj b to the a to the n to the g to the uh b to the a to the n to the g to the hey see anybody could be good to you you need a bad girl to blow your mind hook outro nicki minaj overlapping yeah i said bang bang bang bang bang bang",3
28,"latch","disclosure featuring sam smith",2014," you lift my heart up when the rest of me is down you you enchant me even when youre not around if there are boundaries i will try to knock them down im latching on babe now i know what i have foundi feel were close enough i wanna lock in your love i think were close enough could i lock in your love babynow i got you in my space i wont let go of you got you shackled in my embrace im latching on to younow i got you in my space i wont let go of you got you shackled in my embrace im latching on to youim so encaptured got me wrapped up in your touch feel so enamored hold me tight within your clutch how do you do it you got me losing every breath what did you give me to make my heart beat out my chesti feel were close enough i wanna lock in your love i think were close enough could i lock in your love baby i feel were close enough i wanna lock in your love i think were close enough could i lock in your love babynow i got you in my space i wont let go of you got you shackled in my embrace im latching on to younow i got you in my space i wont let go of you got you shackled in my embrace im latching on to youim latching on to you im latching on to you i wont let go of you i wont let go im latching on to you i dont wanna let go i wont let go of you i wont let go i wont let goi wont let go i wont let go ",1
29,"maps","maroon 5",2014," i miss the taste of the sweet life i miss the conversation im searching for a song tonight im changing all of the stations i like to think that we had it all we drew a map to a better place but on that road i took a fall oh baby why did you run awayi was there for you in your darkest times i was there for you in your darkest nightsbut i wonder where were you when i was at my worst down on my knees and you said you had my back so i wonder where were you all the roads you took came back to me so im following the map that leads to you the map that leads to you aint nothing i can do the map that leads to you following following following to you the map that leads to you aint nothing i can do the map that leads to you following following followingi hear your voice in my sleep at night hard to resist temptation cause something strange has come over me now i cant get over you no i just cant get over youi was there for you in your darkest times i was there for you in your darkest nightsbut i wonder where were you when i was at my worst down on my knees and you said you had my back so i wonder where were you all the roads you took came back to me so im following the map that leads to you the map that leads to you aint nothing i can do the map that leads to you following following following to you the map that leads to you aint nothing i can do the map that leads to youoh oh oh oh oh oh yeah yeah yeah oh ohoh i was there for you oh in you darkest times oh i was there for you oh in your darkest nightsoh i was there for you oh in you darkest times oh i was there for you oh in your darkest nightsbut i wonder where were you when i was at my worst down on my knees and you said you had my back so i wonder where were you all the roads you took came back to me so im following the map that leads to you the map that leads to you aint nothing i can do the map that leads to you following following following to you the map that leads to you aint nothing i can do the map that leads to you following following following ",1
30,"loyal","chris brown featuring lil wayne and french montana too short or tyga",2014," young mula babyi woke up all last night i know this hoes aint right but you was blowin up her phone last night but she aint have a ringer nor her ring on last night ooh nigga thats that nerve why give a bitch your heart when she rather have a purse why give a bitch your inch when she rather have nine you know how the game go she be mine bout half time im the shit ooh nigga thats that nerve you all about her and she all about hers birdman junior in this bitch no flamingos and ive done everything but trust these hoes cb fuck wit mewhen i rich nigga want you and your nigga can do nothing for ya oh these hoes aint loyal whoa these hoes aint loyal yeah yeah let me see just got rich took a broke nigga bitch i can make a broke bitch rich but i dont fuck with broke bitches got a white girl with some fake titties i took her to the bay with me eyes closed smoking marijuana rolling up the bar molly im a rockstar she wanna do drugs smoke weed get drunk she wanna see a nigga trapped she wanna fuck all the rapperswhen i rich nigga want you want you babe and your nigga cant do nothing for ya nothin oh oh these hoes aint loyal no they aint whoa these hoes aint loyal yeah yeah let me seeblack girl with a big booty if she a bad bitch lets get to it right away we up in this club bring me the bottles i know girl that you came in this bitch with your man thats a no no girl all is funny in the air i wanna see you dancejust got rich took a broke nigga bitch i can make a broke bitch rich but i dont fuck with broke bitcheswhen i rich nigga want you want you babe and your nigga cant do nothing for ya no nothin no oh these hoes aint loyal oh no whoa these hoes aint loyal yeah yeah yeah yeah let me seewith ciroc in the system aint no tellin will i fuck em or will i diss em thats what they be yelling im a pimp by blood no relation i dont chase em i replace em lvs hermes dolces them hoes aint loyal they rotatin school me to the game now im on my duty put it her in the lotus she was riding in that hooptie fuck that bitch i got my own hoe fuck your weed got my own smoke had to put my mink back on tell that bitch put a ring back on montanacome on come on girl why you frontin baby show me something when i call her she gon leave and i bet that bottom dollar she gon cheat come on come on girl why you frontin baby show me something you don spent bread on her and its all for nothingwhen i rich nigga want you want you babe and your nigga cant do nothing for ya cant do nothin for you oh these hoes aint loyal oh no whoa these hoes aint loyal yeah yeah let me seewhen i rich nigga want you want you babe and your nigga cant do nothing for ya oh oh these hoes aint loyal no they aint whoa these hoes aint loyal yeah yeah let me see yeah let me see yeah let me see let me see oh these hoes aint loyal ",1
31,"best day of my life","american authors",2014," i had a dream so big and loud i jumped so high i touched the clouds wooooooh wooooooh i stretched my hands out to the sky we danced with monsters through the night wooooooh woooooohim never gonna look back woah never gonna give it up no please dont wake me nowthis is gonna be the best day of my life my liiiiiife this is gonna be the best day of my life my liiiiiifei howled at the moon with friends and then the sun came crashing in wooooooh wooooooh but all the possibilities no limits just epiphanies wooooooh woooooohim never gonna look back woah never gonna give it up no just dont wake me nowthis is gonna be the best day of my life my liiiiiife this is gonna be the best day of my life my liiiiiifei hear it calling outside my window i feel it in my soul soul the stars were burning so bright the sun was out til midnight i say we lose control controlthis is gonna be the best day of my life my liiiiiife this is gonna be the best day of my life my liiiiiife this is gonna be this is gonna be this is gonna be the best day of my life everything is looking up everybody up now this is gonna be the best day of my life my liiiiiife ",1
32,"habits stay high","tove lo",2014," uhuh uhuh uhuh i eat my dinner in my bathtub then i go to sex clubs watching freaky people getting it on it doesnt make me nervous if anything im restless yeah ive been around and ive seen it alli get home i got the munchies binge on all my twinkies throw up in the tub then i go to sleep and i drank up all my money days kind of lonelyyoure gone and i got to stay high all the time to keep you off my mind ooh ooh high all the time to keep you off my mind ooh ooh spend my days locked in a haze trying to forget you babe i fall back down gotta stay high all my life to forget im missing youpick up daddies at the playground how i spend my day time loosen up the frown make them feel alive i make it fast and greasy i know my way too easyyoure gone and i got to stay high all the time to keep you off my mind ooh ooh high all the time to keep you off my mind ooh ooh spend my days locked in a haze tryin to forget you babe i fall back down got to stay high all my life to forget im missing youstaying in my play pretend where the fun aint got no end oh cant go home alone again need someone to numb the pain oh staying in my play pretend where the fun aint got no end oh oh cant go home alone again need someone to numb the painyoure gone and i got to stay high all the time to keep you off my mind ooh ooh high all the time to keep you off my mind ooh ooh spend my days locked in a haze tryin to forget you babe i fall back down got to stay high all my life to forget im missing you ",1
33,"summer","calvin harris",2014," when i met you in the summer to my heartbeat sound we fell in love as the leaves turned brownand we could be together baby as long as skies are blue you act so innocent now but you lied so soon when i met you in the summerwhen i met you in the summer to my heartbeat sound we fell in love as the leaves turned brownand we could be together baby as long as skies are blue you act so innocent now but you lied so soon when i met you in the summersummerwhen i met you in the summersummer ",1
34,"boom clap","charli xcx",2014," boom boom boom clapyoure picture perfect blue sunbathing on the moon stars shining as your bones illuminate first kiss just like a drug under your influence you take me over youre the magic in my veins this must be loveboom clap the sound of my heart the beat goes on and on and on and on and boom clap you make me feel good come on to me come on to me now boom clap the sound of my heart the beat goes on and on and on and on and boom clap you make me feel good come on to me come on to me nowno silver or no gold could dress me up so good youre the glitter in the darkness of my world just tell me what to do ill fall right into you going under cast a spell just say the word i feel your loveboom clap the sound of my heart the beat goes on and on and on and on and boom clap you make me feel good come on to me come on to me now boom clap the sound of my heart the beat goes on and on and on and on and boom clap you make me feel good come on to me come on to me nowyou are the light and i will follow you let me lose my shadow you are the sun the glowing halo and you keep burning me up with all of your loveboom clap the sound of my heart the beat goes on and on and on and on and boom clap you make me feel good come on to me come on to me now boom clap the sound of my heart the beat goes on and on and on and on and boom clap you make me feel good come on to me come on to me now boom clap the sound of my heart the beat goes on and on and on and on and boom clap you make me feel good come on to me come on to me now boom clap the sound of my heart the beat goes on and on and on and on and boom clap you make me feel good come on to me come on to me now ",1
35,"drunk in love","beyonce featuring jay z",2014," intro beyoncéive been drinking ive been drinking i get filthy when that liquor get into me ive been thinking ive been thinking why cant i keep my fingers off you baby i want you na na why cant i keep my fingers off you baby i want you na naverse 1 beyoncé cigars on ice cigars on ice feeling like an animal with these cameras all in my grill flashing lights flashing lights you got me faded faded faded baby i want you na na cant keep your eyes off my fatty daddy i want you na na drunk in love i want youbridge beyoncé we woke up in the kitchen saying how the hell did this shit happen oh baby drunk in love we be all night last thing i remember is our beautiful bodies grinding off in that club drunk in lovehook beyoncé we be all night love love we be all night love loveverse 2 beyoncé we be all night and everything alright no complaints for my body so fluorescent under these lights boy im drinking walking in my lassemblage im rubbing on it rubrubbing if you scared call that reverend boy im drinking imma bring it right oñly bring you a gangster wife louis sheets  he sweat it out like washed rags he wet it up boy im drinking im singing on the mic to my boys toys then i fill the tub up halfway then ride it with my surfboard surfboard surfboard graining on that wood graining graining on that wood im swerving on that swerving swerving on that big body been serving all this swerve surfing all of this good goodbridge we woke up in the kitchen saying how the hell did this shit happen oh baby drunk in love we be all night last thing i remember is our beautiful bodies grinding off in that club drunk in lovehook we be all night love love we be all night love loveverse 3 jay z hold up hold up i do say its the shit if i do say so myself if i do say so myself if i do say so myself hold up stumble all in the house tryna backup all of that mouth that you had all in the car talking bout you the baddest bitch thus far talking bout you be repping that 3rd wanna see all that shit that i heard know i sling clint eastwood hope you can handle this curve uh foreplay in a foyer fucked up my warhol slid the panties right to the side aint got the time to take drawers off on sight catch a charge i might beat the box up like mike in 97 i bite im ike turner turn up baby know i dont play now eat the cake anna mae said eat the cake anna mae im nice for yall to reach these heights you gon need g3 4 5 6 flights sleep tight we sex again in the morning your breasteses is my breakfast we going in we be all nighthook beyoncé we be all night love love we be all night love loveverse 4 beyoncé never tired never tired i been sippin thats the only thing thats keeping me on fire me on fire didnt mean to spill that liquor all on my attire ive been drinking watermelon i want your body right here daddy i want you right now cant keep your eyes off my fatty daddy i want youhook beyoncé we be all night love love we be all night love love ",1
36,"anaconda","nicki minaj",2014," my anaconda dont my anaconda dont my anaconda dont want none unless you got buns hunboy toy named troy used to live in detroit big dope dealer money he was gettin some coins was in shootouts with the law but he live in a palace bought me alexander mcqueen he was keeping me stylish now thats real real real gun in my purse bitch i came dressed to kill who wanna go first i had them pushing daffodils im high as hell i only took a half a pill im on some dumb shit by the way what he say he can tell i aint missing no meals come through and fuck him in my automobile let him eat it with his grills and he tellin me to chill and he telling me its real that he love my sex appeal say he dont like em boney he want something he can grab so i pulled up in the jag and i hit him with the jab like dundddundundddundunmy anaconda dont my anaconda dont my anaconda dont want none unless you got buns hunoh my gosh look at her butt oh my gosh look at her butt oh my gosh look at her butt look at her butt look at look at look at look at her buttthis dude named michael used to ride motorcycles dick bigger than a tower i aint talking about eiffels real countryass nigga let me play with his rifle pussy put his ass to sleep now he calling me nyquil now that bang bang bang i let him hit it cause he slang cocaine he toss my salad like his name romaine and when we done i make him buy me balmain im on some dumb shit by the way what he say he can tell i aint missing no meals come through and fuck him in my automobile let him eat it with his grills and he telling me to chill and he telling me its real that he love my sex appeal he say he dont like em boney he want something he can grab so i pulled up in the jag mayweather with the jab like dundddundundddundunmy anaconda dont my anaconda dont my anaconda dont want none unless you got buns hunoh my gosh look at her butt oh my gosh look at her butt oh my gosh look at her butt look at her butt look at look at look at look at her buttlittle in the middle but she got much back little in the middle but she got much back little in the middle but she got much back oh my god look at her buttmy anaconda dont my anaconda dont my anaconda dont want none unless you got buns hun my anaconda dont my anaconda dont dont want none unless you got buns hunoh my gosh look at her butt oh my gosh look at her butt oh my gosh look at her butt look at her butt look at look at look at look at her buttyeah he love this fat ass hahaha yeah this one is for my bitches with a fat ass in the fucking club i said where my fat ass big bitches in the club fuck the skinny bitches fuck the skinny bitches in the club i wanna see all the big fat ass bitches in the muthafuckin club fuck you if you skinny bitches what kyuh haha haha i got a big fat ass ass ass ass come on ",1
37,"break free","ariana grande featuring zedd",2014," if you want it take it i should have said it before tried to hide it fake it i cant pretend anymorei only want to die alive never by the hands of a broken heart i dont wanna hear you lie tonight now that ive become who i really amthis is the part when i say i dont want it im stronger than ive been before this is the part when i break free cause i cant resist it no morethis is the part when i say i dont want it im stronger than ive been before this is the part when i break free cause i cant resist it no moreyou were better deeper i was under your spell like a deadly fear i am babe on the highway to helli only want to die alive never by the hands of a broken heart i dont wanna hear you lie tonight now that ive become who i really amthis is the part when i say i dont want it im stronger than ive been before this is the part when i break free cause i cant resist it no morethis is the part when i say i dont want it im stronger than ive been before this is the part when i break free cause i cant resist it no moreno more baby ooh thought of your body i came alive it was lethal it was fatal in my dreams it felt so right but i woke up every time oh babythis is the part when i say i dont want it im stronger than ive been before this is the part when i break free cause i cant resist it no morethis is the part when i say i dont want it im stronger than ive been before this is the part when i break free cause i cant resist it no more ",1
38,"bailando","enrique iglesias featuring descemer bueno and gente de zona",2014," yo te miro se me corta la respiraci�_n cuanto tu me miras se me sube el coraz�_n me palpita lento el coraz�_n y en silencio tu mirada dice mil palabras la noche en la que te suplico que no salga el solbailando bailando bailando bailando tu cuerpo y el mio llenando el vac�_o subiendo y bajando subiendo y bajando bailando bailando bailando bailando ese fuego por dentro me esta enloqueciendo me va saturandocon tu f�_sica y tu qu�_mica tambi̩n tu anatom�_a la cerveza y el tequila y tu boca con la m�_a ya no puedo mas ya no puedo mas ya no puedo mas ya no puedo mas con esta melod�_a tu color tu fantas�_a con tu filosof�_a mi cabeza esta vac�_a y ya no puedo mas ya no puedo mas ya no puedo mas ya no puedo masyo quiero estar contigo vivir contigo bailar contigo tener contigo una noche loca una noche loca ay besar tu boca y besar tu boca yo quiero estar contigo vivir contigo bailar contigo tener contigo una noche loca con tremenda loca ooh ooh ooh oohtu me miras y me llevas a otra dimensi�_n estoy en otra dimensi�_n tu latidos aceleran a mi coraz�_n tu latidos aceleran a mi coraz�_n que iron�_a del destino no poder tocarte abrazarte y sentir la magia de tu olorbailando bailando bailando bailando tu cuerpo y el mio llenando el vac�_o subiendo y bajando subiendo y bajando bailando bailando bailando bailando ese fuego por dentro me esta enloqueciendo me va saturandocon tu f�_sica y tu qu�_mica tambi̩n tu anatom�_a la cerveza y el tequila y tu boca con la m�_a ya no puedo mas ya no puedo mas ya no puedo mas ya no puedo mas con esta melod�_a tu color tu fantas�_a con tu filosof�_a mi cabeza esta vac�_a y ya no puedo mas ya no puedo mas ya no puedo mas ya no puedo masyo quiero estar contigo vivir contigo bailar contigo tener contigo una noche loca una noche loca ay besar tu boca y besar tu boca yo quiero estar contigo vivir contigo bailar contigo tener contigo una noche loca con tremenda locaooh ooh ooh ooh ooh ooh ooh ooh ooh bailando amor bailando amor es que se me va el dolor ",1
39,"burn","ellie goulding",2014," we we dont have to worry about nothing cause we got the fire and were burning one hell of a something they they gonna see us from outer space outer space light it up like were the stars of the human race human racewhen the lights turned down they dont know what they heard strike the match play it loud giving love to the world well be raising our hands shining up to the sky cause we got the fire fire fire yeah we got the fire fire fireand we gonna let it burn burn burn burn we gonna let it burn burn burn burn gonna let it burn burn burn burn we gonna let it burn burn burn burnwe dont wanna leave no we just gonna be right now and what we see is everybodys on the floor acting crazy getting loco to the lights out musics on im waking up we stop the vibe and we bump it up and its over now we got the love theres no secret now no secret nowwhen the lights turned down they dont know what they heard strike the match play it loud giving love to the world well be raising our hands shining up to the sky cause we got the fire fire fire yeah we got the fire fire fireand we gonna let it burn burn burn burn we gonna let it burn burn burn burn gonna let it burn burn burn burn we gonna let it burn burn burn burnwhen the lights turned down they dont know what they heard strike the match play it loud giving love to the worldwe gonna let it burn burn burn burn burn burn burn burnwe can light it up up up so they can put it out out out we can light it up up up so they can put it out out out we can light it up up up so they can put it out out out we can light it up up up so they can put it out out outwhen the lights turned down they dont know what they heard strike the match play it loud giving love to the world well be raising our hands shining up to the sky cause we got the fire fire fire yeah we got the fire fire fireand we gonna let it burn burn burn burn we gonna let it burn burn burn burn gonna let it burn burn burn burn we gonna let it burn burn burn burnwhen the lights turned down they dont know what they heard strike the match play it loud giving love to the world well be raising our hands shining up to the sky cause we got the fire fire fire yeah we got the fire fire fireand we gonna let it burn ",1
40,"wiggle","jason derulo featuring snoop dogg",2014," snoop dog hey yo jason oh yeah say something to her holla at herlaughsi got one question how do you fit all that in them jeans  laughsyou know what to do with that big fat buttwiggle wiggle wiggle wiggle wiggle wiggle wiggle wiggle wiggle just a little bittlepatty cake patty cake with no hands got me in this club making wedding plans if i take pictures while you do your dance i can make you famous on instagram hot damn it ooh your booty like two planets ooh go head and go ham sandwich woah i cant stand itcause you know what to do with that big fat buttwiggle wiggle wiggle wiggle wiggle wiggle wiggle wiggle wiggle just a little bittlecadillac cadillac pop that trunk lets take a shot alleyoop that donk tired of working at 9 to 5 oh baby let me come and change your life hot damn it ooh your booty like two planets ooh go head and go ham sandwich woah i cant stand itcause you know what to do with that big fat buttwiggle wiggle wiggle wiggle wiggle wiggle wiggle wiggle wiggle just a little bittlesnoop dog shake what your mama gave you misbehave you i just wanna strip you dip you flip you bubble bathe you what they do taste my rain drop ok boo now what youre willing what you wanting what you may do completely seperated til my deeply penetrated then i take i out and wipe it off eat it ate it love it hate it overstated underrated everywhere i been king can you wiggle wiggle for the d o double g againcome on baby turn around turn around turn around youre the star girl take a bow its just one thing thats killing me how you fit that in them jeansyou know what to do with that big fat buttwiggle wiggle wiggle wiggle wiggle wiggle wiggle wiggle wiggle just a little bitnow make it clap wiggle wiggle wiggle now make it clap wiggle wiggle wiggle make it clap now make it clapdamn baby you got a bright future behind you ",1
41,"rather be","clean bandit featuring jess glynne",2014," oh were a thousand miles from comfort we have traveled land and sea but as long as you are with me theres no place id rather be i would wait forever exalted in the scene as long as i am with you my heart continues to beatwith every step we take kyoto to the bay strolling so casually were different and the same gave you another name switch up the batteriesif you gave me a chance i would take it its a shot in the dark but ill make it know with all of your heart you cant shame me when i am with you theres no place id rather be nnnno no no no place id rather be nnnno no no no place id rather be nnnno no no no place id rather be ooh oohwe staked out on a mission to find our inner peace make it everlasting so nothings incomplete its easy being with you sacred simplicity as long as were together theres no place id rather bewith every step we take kyoto to the bay strolling so casually were different and the same gave you another name switch up the batteriesif you gave me a chance i would take it its a shot in the dark but ill make it know with all of your heart you cant shame me when i am with you theres no place id rather be nnnno no no no place id rather be nnnno no no no place id rather be nnnno no no no place id rather bewhen i am with you theres no place id rather be yeahhoo be yeaheyeaheyeaheyeaheyeah yeah yeahif you gave me a chance i would take it its a shot in the dark but ill make it know with all of your heart you cant shame me when i am with you theres no place id rather be nnnno no no no place id rather be nnnno no no no place id rather be nnnno no no no place id rather bewhen i am with you theres no place id rather be ",1
42,"dont tell em","jeremih featuring yg",2014," rhythm is a dancer i need a companion girl i guess that must be you body like the summer fucking like no other dont you tell em what we do dont tell em dont tell em you dont even dont tell em dont tell em you dont even you dont even gotta tell em dont you tell em dont you tell em you aint even dont you tell em dont you tell em you aint even you aint gotta tell em dont you tell em dont you tell emknow you say you down wit it wont tell em how you hit the ground wit it girl you know im from chicago i act a fool bobby brown wit it in it nobody take me out tho you got gifts bring em down the south pole marathon girl i put in miles dont you worry bout it might gon work it out only is you got me feeling like this oohh why why why why loving while grabbing the rhythm of your hips thats right right right right rightrhythm is a dancer i need a companion girl i guess that must be you body like the summer fucking like no other dont you tell em what we do dont tell em dont tell em you dont even dont tell em dont tell em you dont even you dont even gotta tell em dont you tell em dont you tell em you aint even dont you tell em dont you tell em you aint even you aint gotta tell em dont you tell em dont you tell emgirly he foo fool wit it but you know i know what to do wit it i get it that girl im talking laps as if you got a pool in it and she say she with your best friends then let me be down nin you know your feeling like your boy pressed play just keep that ass rewindin only is you got me feelin like this ooh why why why why why loving while grabbing the rhythm of your hips thats right right right right rightrhythm is a dancer i need a companion girl i guess that must be you body like the summer fucking like no other dont you tell em what we do dont tell em dont tell em you dont even dont tell em dont tell em you dont even you dont even gotta tell em dont you tell em dont you tell em you aint even dont you tell em dont you tell em you aint even you aint gotta tell em dont you tell em dont you tell emthrow it up 934 8616 i gotta missed call from your bitch she been plottin on me for a cool minute she wanna suck my dick and im cool with it i like it in the shower when its winter fresh this some twitter pussy i met her on the internet on my latenight thirsty cause it was latenight and i was thirsty girl i been to that county girl i aint tellin handcuff me to the bed girl there aint no bailin i keep a stack of hundreds like i keep a secret if anything you were just exploring you wasnt cheating she got my number stored under fake names her nigga think she faithful but she runnin game yolo so take me out these polos and we can fuck from uno to ochoonly is you got me feeling like this oh why why why im loving while grabbing the rhythm of your hips thats right right right right rightrhythm is a dancer i need a companion girl i guess that must be you body like the summer fucking like no other dont you tell em what we do dont tell em dont tell em you dont even dont tell em dont tell em you dont even you dont even gotta tell em dont you tell em dont you tell em you aint even dont you tell em dont you tell em you aint even you aint gotta tell em dont you tell em dont you tell emright right right right right right right dont you tell em dont you tell em no why why why why why would do keep the rhythm like yea yea yea yea put it on me babe yea yea yea yea you know you like that yea yea yea yea you know i want it baby yea yea yea yea oh ",1
43,"show me","kid ink featuring chris brown",2014," baby yeah mustard on the beat hobaby let me put your panties to the side uh imma make you feel alright right right cause imma give you what you need yeah mami you remind me of something uh but i dont know what it is i dont know cause you remind me of something uh girl you gotta show me alright you remind me of something uh but i dont know what it is right now i dont know you remind me of something uh girl you gotta show meuh on the real no lie i dont know what it is but you just my type everything just right b said put it to the left dont listen to the hype though got a cup in your hand baby sitting but you aint got no kids we aint leaving til there aint no more left cant see no time on the rolex no i could tell you a freak go show it looking for the after party where to go at go on the floor like a doormat uh baby you know where to throw that i saidmami you remind me of something baby you remind me uh but i dont know what it is i dont know cause you remind me of something uh girl you gotta show me yeah alright you remind me of something uh but i dont know what it is right now i dont know cause you remind me of something uh girl you gotta show mebaby if you know what it is on a real cant lie man you just my type hands in the air looking for bitch right now on a real cant lie man you just my typeuh so tell me what your name is i dont really care who you came with no unless you got a couple friends look like you my bad if my ex try to fight you roll up soon as i roll in security better get with the program too deep aint know where to stand so high aint nowhere to land you remind me of something missing misses you got my full attention listen let go of the attention if i get a minute ill put your bad ass in detentionbaby let me put your panties to the side uh imma make you feel alright right right cause imma give you what you need yeah mami you remind me of something uh baby you remind me but i dont know what it is i dont know cause you remind me of something girl you gotta show me alright baby you remind me you remind me of something uh but i dont know what it is right now i dont know cause you remind me of something girl you gotta show mebaby if you know what it is on a real cant lie man you just my type hands in the air looking for bitch right now on a real cant lie man you just my typeoh baby show me show me something tomorrow i might be hungover but that dont mean nothing you see all night long ive been wrong baby show me something she gon let me do itbaby let me put your panties to the side uh imma make you feel alright right right cause imma give you what you need yeah mami you remind me of something uh baby you remind me but i dont know what it is i dont know cause you remind me of something girl you gotta show me alright baby you remind me you remind me of something uh but i dont know what it is right now i dont know cause you remind me of something girl you gotta show me ",1
44,"wrecking ball","miley cyrus",2014," we clawed we chained our hearts in vain we jumped never asking why we kissed i fell under your spell a love no one could denydont you ever say i just walked away i will always want you i cant live a lie running for my life i will always want youi came in like a wrecking ball i never hit so hard in love all i wanted was to break your walls all you ever did was break me yeah you wreck mei put you high up in the sky and now youre not coming down it slowly turned you let me burn and now were ashes on the grounddont you ever say i just walked away i will always want you i cant live a lie running for my life i will always want youi came in like a wrecking ball i never hit so hard in love all i wanted was to break your walls all you ever did was break mei came in like a wrecking ball yeah i just closed my eyes and swung left me crouching in a blaze and fall all you ever did was break me yeah you wreck mei never meant to start a war i just wanted you to let me in and instead of using force i guess i shouldve let you in i never meant to start a war i just wanted you to let me in i guess i shouldve let you indont you ever say i just walked away i will always want youi came in like a wrecking ball i never hit so hard in love all i wanted was to break your walls all you ever did was break mei came in like a wrecking ball yeah i just closed my eyes and swung left me crouching in a blaze and fall all you ever did was break me yeah you you wreck meyeah you you wreck me ",1
45,"not a bad thing","justin timberlake",2014," said all i want from you is to see you tomorrow and every tomorrow maybe youll let me borrow your heart and is it too much to ask for every sunday an while were at it throw in every other day to starti know people make promises all the time then they turn right around and break them when someone cuts your heart open with a knife and youre bleeding but i could be that guy to heal it over time and i wont stop until you believe it cause baby youre worth itso dont act like its a bad thing to fall in love with me cause you might fuck around and find your dreams come true with me spend all your time and your money just to find out that my love was free so dont act like its a bad thing to fall in love with me me its not a bad thing to fall in love with me menow how about i be the last voice you hear tonight and every other night for the rest of the nights that there are and every morning i just wanna see you staring back at me cause i know thats a good place to starti know people make promises all the time then they turn right around and break them then someone cuts your heart open with a knife now youre bleeding dont you know that i could be that guy to heal it over time and i wont stop until you believe it cause baby youre worth itso dont act like its a bad thing to fall in love with me cause you might fuck around and find your dreams come true with me spend all your time and your money just find out my love was free so dont act like its a bad thing to fall in love with me me its not a bad thing to fall in love with me me not such a bad thing to fall in love with meno i wont fill your mind with broken promises and wasted time and if you fall youll always land right in these arms these arms of minedont act like its a bad thing to fall in love with me cause you might fuck around and find your dreams come true with me spend all your time and your money just to find out that my love was free so dont act like its a bad thing to fall in love with me me its not a bad thing to fall in love with me me not such a bad thing to fall in love with meif i had a pair of wings id pick you up and fly you far away from here and youd put your worries upon my shoulders my dear now i know i cant save you from the troubles of the world and this sounds like such a silly thing but if i could id fly you away on a big old pair of wingsand if i had a pair of wings id pick you up and fly you far away from here and wed fly so high up in the sky where the stars are so clear and then i could save you from the troubles of the world and all youd have to pack is your heart to bring and there we are you and me flying on a big old pair of wingswe keep getting older the world keeps getting colder tell me when did we lose our way its so hard not to lose your mind in such crazy days but if i had one wish i know what id wish for theres only one thing thatll do id fly away on this pair of wings with you if i had a pair of wings id scoop you up wed fly away and disappear then you could put your worries upon my shoulders my dear and i know i cant save you from the troubles of the world i know this sounds like such a silly thing but if i could id fly you away on a big old pair of wingsnow if i had a pair of wings id pick you up and fly you far away from here and i could stay right by your side and keep you so near and then i could save you form the troubles of the world and all youd have to pack is your heart to bring and there we are you and me flying on a big old pair of wingswe keep getting older the world keeps getting colder tell me when did we lose our way its so hard not to lose your mind in such crazy days and if i had one wish i know what id wish for theres only one thing thatll do id fly away on this pair of wings with you and if i had one wish i know what id wish for theres only one thing thatll do id fly away on this pair of wings with you i said if i had one wish i know what id wish for theres only one thing thatll do id fly away on this pair of wings with you ",1
46,"roar","katy perry",2014," i used to bite my tongue and hold my breath scared to rock the boat and make a mess so i sat quietly agreed politely i guess that i forgot i had a choice i let you push me past the breaking point i stood for nothing so i fell for everythingyou held me down but i got up hey already brushing off the dust you hear my voice your hear that sound like thunder gonna shake your ground you held me down but i got up get ready cause ive had enough i see it all i see it nowi got the eye of the tiger a fighter dancing through the fire cause i am the champion and youre gonna hear me roar louder louder than a lion cause i am a champion and youre gonna hear me roaroh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh youre gonna hear me roar    meaning  byamandah   editor    a small group of people now believe that katy perry is actually reportedly murdered child beauty pageant star jonben̩t ramsey in disguise lol    see all   now im floating like a butterfly stinging like a bee i earned my stripes i went from zero to my own heroyou held me down but i got up hey already brushing off the dust you hear my voice your hear that sound like thunder gonna shake the ground you held me down but i got up get ready cause ive had enough i see it all i see it nowi got the eye of the tiger a fighter dancing through the fire cause i am the champion and youre gonna hear me roar louder louder than a lion cause i am a champion and youre gonna hear me roaroh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh youre gonna hear me roaroh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh youre gonna hear me roarroar roar roar roar roari got the eye of the tiger a fighter dancing through the fire cause i am the champion and youre gonna hear me roar louder louder than a lion cause i am a champion and youre gonna hear me roaroh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh youre gonna hear me roaroh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh oh youre gonna hear me roar ",1
47,"aint it fun","paramore",2014," i dont mind letting you down easy but just give it time if it dont hurt now but just wait just wait a while youre not the big fish in the pond no more you are what theyre feeding onso what are you gonna do when the world dont orbit around you so what are you gonna do when the world dont orbit around youaint it fun living in the real world aint it good being all alonewhere youre from you might be the one whos running things well you can ring anybodys bell and get what you want see its easy to ignore trouble when youre living in a bubbleso what are you gonna do when the world dont orbit around you so what are you gonna do when nobody wants to fool with youaint it fun living in the real world aint it good being all alone aint it good to be on your own aint it fun you cant count on no one aint it good to be on your own aint it fun you cant count on no one aint it fun living in the real worlddont go crying to your mama cause youre on youre own in the real world dont go crying to your mama cause youre on youre own in the real worlddont go crying to your mama cause youre on youre own in the real world dont go crying to your mama cause youre on youre own in the real worldaint it fun aint it fun baby now youre one of us aint it fun aint it fun aint it funaint it fun living in the real world aint it good aint it good being all alone aint it fun living in the real world cause the world dont orbit around you aint it good aint it good being all alonedont go crying to your mama cause youre on your own in the real world dont go crying to your mama cause youre on your own in the real world dont go crying to your mama cause youre on your own this is the real world dont go crying to your mama cause youre on your own in the real world this is the real world this is the real world dont go crying to your mama cause youre on your own in the real world dont go crying to your mama cause youre on your own in the real world dont go crying to your mama dont go crying ",1
48,"the man","aloe blacc",2014," girl you can tell everybody yeah you can tell everybody go ahead and tell everybody im the man im the man im the man yes i am yes i am yes i am im the man im the man im the mani believe every lie that i ever told paid for every heart that i ever stole i paid my cause and i didnt fold well it aint that hard when you got soul this is my world somewhere i heard that life is a test i been though the worst but still i give my best god made my mold different from the rest then he broke that mold so i know im blessed this is my worldstand up now and face the sun wont hide my tail or turn and run its time to do what must be done be a king when kingdom comesgirl you can tell everybody yeah you can tell everybody go ahead and tell everybody im the man im the man im the mangirl you can tell everybody yeah you can tell everybody go ahead and tell everybody im the man im the man im the man yes i am yes i am yes i am im the man im the man im the mani got all the answers to your questions ill be the teacher you could be the lesson ill be the preacher you be the confession ill be the quick relief to all your stressing this is my world its a thin line between love and hate is you really real or is you really fake im a solider standing on my feet no surrender and i wont retreat this is my worldstand up now and face the sun wont hide my tail or turn and run its time to do what must be done be a king when kingdom comesgirl you can tell everybody yeah you can tell everybody go ahead and tell everybody im the man im the man im the man girl you can tell everybody yeah you can tell everybody go ahead and tell everybody im the man im the man im the man yes i am yes i am yes i am im the man im the man im the manim the man go ahead and tell everybody what im saying yall im the man go ahead and tell everybody what im saying yallgirl you can tell everybody yeah you can tell everybody go ahead and tell everybody im the man im the man im the man girl you can tell everybody yeah you can tell everybody go ahead and tell everybody im the man im the man im the man girl you can tell everybody yeah you can tell everybody go ahead and tell everybody im the man im the man im the man girl you can tell everybody yeah you can tell everybody go ahead and tell everybody im the man im the man im the man yes i am yes i am yes i am im the man im the man im the man ",1
49,"this is how we roll","florida georgia line featuring luke bryan",2014," the mix tapes got a little hank little drake a little something bumping thump thumping on the wheel ride the mix in our drinks a little stronger than you think so get a grip take a sip of that feel right the trucks jacked up flat bills flipped back yeah you can find us where the partys atthis is how we roll we hanging round singing out everything on the radio we light it up with our hands up this is how we roll and this is how we do were burning down the night shooting bullets at the moon baby this is how we rollyeah baby this is how we roll we rollin into town with nothing else to do we take another lap around yeah holla at your boy if you need a ride if you roll with me yeah you know we rollin high up on and thirty seven needles windows tinted hard to see though how fresh my baby is in the shotgun seat oh them kisses are for me though automatic like a free throw this life i live it might not be for you but its for me though lets rollthis is how we roll we hanging round singing out everything on the radio we light it up with our hands up this is how we roll and this is how we do when the world turns ugly i just turn and look at you baby this is how we rollyeah were proud to be young we stick to our guns we love who we love and we wanna have fun yeah we cuss on them mondays and pray on them sundays pass is around and we dream about one daythis is how we roll we hanging round singing out everything on the radio we light it up with our hands up this is how we roll and this is how we ride we slingin up the mud cuttin through the countryside baby this is how we rollyeah this is how we roll this is how we roll yeah this is how we roll this is how we do were burning down the night shooting bullets at the moon baby this is how we roll yeah this is how we roll ",1
50,"classic","mkto",2014," hey wheres the drumooh girl youre shining like a 5th avenue diamond and they dont make you like they used to youre never going out of styleooh pretty baby this world might have gone crazy the way you saved me who could blame me when i just wanna make you smilei wanna thrill you like michael i wanna kiss you like prince lets get it on like marvin gaye like hathaway write a song for you like thisyoure over my head im out of my mind thinking i was born in the wrong time one of a kind living in a world gone plastic baby youre so classic baby youre so classic baby you baby youre so classicfour dozen of roses anything for you to notice all the way to serenade you doing it sinatra styleima pick you up in a cadillac like a gentleman bringin glamor back keep it real to real in the way i feel i could walk you down the aislei wanna thrill you like michael i wanna kiss you like prince lets get it on like marvin gaye like hathaway write a song for you like thisyoure over my head im out of my mind thinking i was born in the wrong time lets start the rewind everything is so throwback age i kinda like it like it out of my league old school chic like a movie star from the silver screen one of a kind living in a world gone plastic baby youre so classic baby youre so classic baby youre so classicbaby youre class and baby youre sick i never met a girl like you ever til we met a star in the 40s centerfold in the 50s got me tripping out like the sixties hippies queen of the discotheque a 70s dream and an 80s best hepburn beyonc̩ marilyn manson girl youre timeless just so classicyoure over my head im out of my mind thinking i was born in the wrong time lets start the rewind everything is so throwback age i kinda like it like it out of my league old school chic like a movie star from the silver screen youre one of a kind living in a world gone plastic baby youre so classic baby youre so classic baby youre so classic ",1
51,"a sky full of stars","coldplay",2014," cause youre a sky cause youre a sky full of stars im gonna give you my heart cause youre a sky cause youre a sky full of stars cause you light up the path    memory  byamandah   editor    the voice indonesias gloria jessica gave coldplays a sky full of stars a popularity boost after she performed a strippeddown version for the show watch    see all   i dont care go on and tear me apart i dont care if you do cause in a sky cause in a sky full of stars i think i saw youcause youre a sky cause youre a sky full of stars i want to die in your arms arms cause you get lighter the more it gets dark im going to give you my heartand i dont care go on and tear me apart and i dont care if you do cause in a sky cause in a sky full of stars i think i see you i think i see you ",1
52,"dont","ed sheeran",2014," i met this girl late last year she said dont you worry if i disappear i told her im not really looking for another mistake i called an old friend thinking that the trouble would wait but then i jumped right in a week later returned i reckon she was only looking for a lover to burn but i gave her my time for two or three nights then i put it on pause until the moment was right i went away for months until our paths crossed again she told me i was never looking for a friend maybe you can swing by my room around ten baby bring the lemon and a bottle of gin well be in between the sheets till the late am baby if you wanted me then you should have just said shes singingdont fuck with my love that heart is so cold all over my own i dont wanna know that babe dont fuck with my love i told her she knows take aim and reload i dont wanna know that babefor a couple of weeks i only want to see her we drink away the days with a take away pizza before a text message was the only way to reach her now shes staying at my place and loves the way i treat her singing out aretha all over the track like a feature and never wants to sleep i guess that i dont want to either but me and her we make money the same way four cities two planes the same day and those shows have never been what its about maybe well go together and just figure it out id rather put on a film with you and sit on the couch but we should get on the plane or well be missing it now wish id have written it down the way that things played out when she was kissing him how i was confused about she should figure it out why im sat here singingdont with my love that heart is so cold all over my own i dont wanna know that babe dont fuck with my love i told her she knows take aim and reload i dont wanna know that babeon my hotel door i dont even know if she knows what for she was crying on my shoulder i already told you trust and respect is what we do this for i never intended to be next but you didnt need to to take him to bed thats all and i never saw him as a threat until you disappeared with him to have sex of course its not like we were both on tour we were staying on the same hotel floor and i wasnt looking for a promise or commitment but it was never just fun and i thought you were different this is not the way you realize that you want it its a bit too much too late if im honest and all this time god knows im singingdont fuck with my love that heart is so cold all over my own i dont wanna know that babe dont fuck with my love i told her she knows take aim and reload i dont wanna know that babedont fuck with my love that heart is so cold all over my own i dont wanna know that babe dont fuck with my love i told her she knows take aim and reload i dont wanna know that babe ",1
53,"na na","trey songz",2014,"put your hands in the air the air trigga put your put your hands in the air mustard on the beat ho ooh nana look what you done started ooh nana why you gotta act so naughty ooh nana im bout to spend all this cash ooh nana if you keep shaking that oh ooh nanana put your hands in the air if youre loving tonight ooh nanana keep your hands in the air if youre spending the night ooh nana now nana nanananana everybody say it like ooh nana now nana nanananana everybody say baby im the one you like yeah im a give you what you like yeah oh yeah im a give it to you right yeah best time of your life yeah oh yeah baby when you ready tell the waitress get the check girl i know you ready i aint even gotta check you been through the worst let me show you who the best you know im a get you right get them boys to the left like ooh nana look what you done started ooh nana why you gotta act so naughty ooh nana im bout to spend all this cash ooh nana if you keep shaking that oh oh ooh nanana put your hands in the air if youre loving tonight ooh nanana keep your hands in the air if youre spending the night ooh nana now nana nanananana everybody say it like ooh nana now nana nanananana everybody say you the one whos hella bad yeah you the one they never had yeah oh yeah all the problems you done had yeah leave them broke fellas in the past yeah oh yeah girl you had good but i could give you better ill have you thinking bout forever im a make you say ooh nana look what you done started ooh nana why you gotta act so naughty ooh nana im bout to spend all this cash ooh nana if you keep shaking that oh oh ooh nanana put your hands in the air if youre loving tonight ooh nanana keep your hands in the air if youre spending the night ooh nana now nana nanananana everybody say it like ooh nana now nana nanananana everybody say im feeling lucky tonight everybody say when we leave this party you gon love me tonight everybody say you feeling lucky tonight tonight girl when we leave this party you gon love me tonight ooh nanana put your hands in the air if youre loving tonight ooh nanana keep your hands in the air if youre spending the night ooh nana now nana nanananana everybody say it like ooh nana now nana nanananana everybody say oh oohoohooh nanananana hands in the air nanananana hands in the air nanana hands in the air nanananana ",3
54,"hot boy","bobby shmurda",2014," and chewy im some hot n like i talk to shyste when i shot ns like you seen em twirl then he drop n and we keep them 9 millis on my block n and monte keep it on him he done dropped ns and trigger he be wilding he some hot n tones known to get busy with them glocks n try to run down and you can catch a shot n running through these checks till i pa out your shawty gave me neck til i pa out i swear to god all i do is cash out and if you aint a ho get up out my trap house i been selling crack since like the 5th grade really never made no difference what the s made jaja taught me flip them packs and how to maintain get that money back and spend it on the same thing shawty like the way that i ball out i be getting money till i fall out you talking cash dog i goes all out shawty love the way that i floss out free greezy though let all of my dogs out mama said no p cats inside my dog house thats what got my daddy locked up in the dog pound free phantom though let all of my dogs out we gon pull up in that hooptie like we cops on em with the 16s we gon put some shots on em i send a lil thot to send the drop on em she gon call me up and imma sick the hots on em grimey savage thats what we are grimey shooters dressed in gstar gs9 i go so hard but gs for my gun squad and b if theres a problem we gon gun brawl shots poppin out the ar im with trigger im with rasha im with araw broad daylight and we gon let them things bark tell them ns free meechie ho someway free breezy ho and tell my ns shmurda teaming ho mitch caught a body bout a week ago f with us and then we tweaking ho run up on that n get to squeezing ho everybody catching bullet holes ns got me on my bully yo imma run up put that gun on em imma run up go dumb on em ns got me on that young s got me on that go dumb s ",1
55,"hold on were going home","drake featuring majid jordan",2014," i got my eyes on you youre everything that i see i want your hot love and emotion endlessly i cant get over you you left your mark on me i want your high love and emotion endlessly cause youre a good girl and you know it you act so different around me cause youre a good girl and you know it i know exactly who you could bejust hold on were going home just hold on were going home its hard to do these things alone just hold on were going home ho ohi got my eyes on you youre everything that i see i want your hot love and emotion endlessly i cant get over you you left your mark on me i want your high love and emotion endlessly cause youre a good girl and you know it you act so different around me cause youre a good girl and you know it i know exactly who you could beso just hold on were going home goin home just hold on were going home goin home its hard to do these things alone things alone just hold on were going home goin home ho oh goin homeyoure the girl youre the one gave you every thing i love i think theres something baby i think theres something babyyoure the girl youre the one gave you every thing i love i think theres something baby i think theres something babycause youre a good girl and you know it you act so different around me cause youre a good girl and you know it i know exactly who you could beoh just hold on were going home goin home just hold on were going home goin home its hard to do these things alone things alone just hold on were going home goin home ho oh goin homehold on hold on hold on ",1
56,"sing","ed sheeran",2014," its late in the evening glass on the side now ive been sat with you for most of the night ignoring everybody here we wish they would disappear so maybe we could get down now i dont wanna know if youre getting ahead of the program i want you to be mine lady to hold your body close take another step into the nomans land for the longest time ladyi need you darling come on set the tone if you feel youre falling wont you let me know oh oh ooh if you love me come on get involved feel it rushing through you from your head to toe oh oh oohsing oh oh oh oh louder oh oh sing oh ohthis love is a blaze i saw flames from the side of the stage and the fire brigade comes in a couple of days until then we got nothing to say and nothing to know but something to drink and maybe something to smoke let it go until i wrote a change singing we found love in a local raid no i dont really know what im supposed to say but i can just figure it out and hope and pray i told them my name and said its nice to meet ya then she handed me of a bottle of water filled with tequila i already know shes a keeper just from this one small act of kindness im in deep if anybody finds out im meant to drive home but im drunk and gonna live it now no we just sit on the couch one thing led to another now shes kissing my mouthi need you darling come on set the tone if you feel youre falling wont you let me know oh oh if you love me come on get involved feel it rushing through you from your head to toe oh ohsing oh oh oh oh louder oh oh sing oh ohcan you feel it all the guys in here dont really wanna dance can you feel it all that i can hear is music from the back can you feel it found you hiding here so hoped youd take my hand darling before the beats kicks in again can you feel it oh can you feel it oh no no nosing i need you darling come on set the tone if you feel youre falling wont you let me know louder oh oh sing if you love me come on get involved feel it rushing through you from your head to toe louder oh oh sing ",1
57,"radioactive","imagine dragons",2014," whoa oh oh whoa oh oh whoa oh oh whoa im waking up to ash and dust i wipe my brow and i sweat my rust im breathing in the chemicals inhale exhaleim breaking in shaping up then checking out on the prison bus this is it the apocalypse whoaim waking up i feel it in my bones enough to make my systems blow welcome to the new age to the new age welcome to the new age to the new age whoa oh oh oh oh whoa oh oh oh im radioactive radioactive whoa oh oh oh oh whoa oh oh oh im radioactive radioactivei raise my flags don my clothes its a revolution i suppose were painted red to fit right in whoaim breaking in shaping up then checking out on the prison bus this is it the apocalypse whoaim waking up i feel it in my bones enough to make my systems blow welcome to the new age to the new age welcome to the new age to the new age whoa oh oh oh oh whoa oh oh oh im radioactive radioactive whoa oh oh oh oh whoa oh oh oh im radioactive radioactiveall systems go the sun hasnt died deep in my bones straight from insideim waking up i feel it in my bones enough to make my systems blow welcome to the new age to the new age welcome to the new age to the new age whoa oh oh oh oh whoa oh oh oh im radioactive radioactive whoa oh oh oh oh whoa oh oh oh im radioactive radioactive ",1
58,"my hitta","yg featuring jeezy and rich homie quan",2014," i said that imma ride for my motherfuckin hitta most likely imma die with my finger on the trigger ive been grindin outside all day with my hittas and i aint goin in unless im with my hittasmy hitta my hitta my hitta my hitta my hitta my hitta my motherfuckin hittas my hitta my hitta my hitta my hitta my hitta my hitta duhfirst things first i love all my hittas this rap shit cracked and i involve my hittas you lookin for some lean lemme call my hitta he sell it for the high i need all mines hitta some hittas smoke smoke some hittas drink drank got hittas on the block with the glock that dont think thats a hitta back up they in a bucket lapped up i got to act right if you hittas wanna act up he talkin like a snitch no that aint my hitta he trippin off a bitch no that aint my hitta take a hitta case yeah thats my hitta know him since i was eight yeah thats my hitta fucked my first bitch passed her to my hitta hit my first lick passed with my hitta fuck them other hittas cause im down for my hittas i ride for my hittas fuck them other hittas snitchi said that imma ride for my motherfuckin hitta most likely imma die with my finger on the trigger ive been grindin outside all day with my hittas and i aint goin in unless im with my hittasmy hitta my hitta dope boys my hittas my hitta my hitta yg my hitta my hitta my hitta rich homie my hitta my hitta my hitta its the motherfuckin worldjust know im down with the hittas down for me i got 2 words for you love and loyalty it was me and my hitta trippin on a half a b when we used to hit a mall and buy everything we see me and my down ass hitta gettin twisted hitta get to trippin knock the gravy out your biscuit just know i fucked with you the long way my hitta so when i see you out im like hey my hitta drink that act right by the case my hittas drink that act right and get straight with my hittas me and my hitta ridin dirty trynna chase them figures who got the yopper who got the yola dont matter go figurei said that imma ride for my motherfuckin hitta most likely imma die with my finger on the trigger ive been grindin outside all day with my hittas and i aint goin in unless im with my hittasmy hitta my hitta my motherfuckin world my hitta my hitta yg my hitta my hitta my hitta rich homie my hitta my hitta my hitta my hitta mymy hittas got k money got weight my hitta fronted me he the reason im straight my hitta got a house my hitta got a lake my hitta we eatin my hitta get a plate and were still hittin licks my hitta my hitta runnin off a hitta shit my hitta my hitta i fucked a hitta bitch with my hitta my hitta if a hitta talkin shit then he aint my hitta my hitta my hitta my hitta my hitta yg my hitta and i aint goin in aint trynna leave my hittas shawty seein me and want to leave with a hitta but it wasnt enough room cause i came with my hittasmy hittas my hittas i need a set of wings cause im too fly hitta and im all about my business like a suit and tie hitta i ride for my hittas believe thati said that imma ride for my motherfuckin hitta most likely imma die with my finger on the trigger ive been grindin outside all day with my hittas and i aint goin in unless im with my hittasmy hitta my hitta my hitta my hitta my motherfuckin hittas my hitta my hitta my hitta my hitta my hitta my hitta uhmy hitta my hitta my hitta my hitta my hitta my hitta uh ",1
59,"cool kids","echosmith",2014," she sees them walking in a straight line thats not really her style and they all got the same heartbeat but hers is falling behind nothing in this world could ever bring them down yeah theyre invincible and shes just in the background and she saysi wish that i could be like the cool kids cause all the cool kids they seem to fit in i wish that i could be like the cool kids like the cool kidshe sees them talking with a big smile but they havent got a clue yeah theyre living the good life cant see what he is going through theyre driving fast cars but they dont know where theyre going in the fast lane living life without knowing and he saysi wish that i could be like the cool kids cause all the cool kids they seem to fit in i wish that i could be like the cool kids like the cool kidsi wish that i could be like the cool kids cause all the cool kids they seem to get it i wish that i could be like the cool kids like the cool kidsand they said i wish that i could be like the cool kids cause all the cool kids they seem to fit in i wish that i could be like the cool kids like the cool kidsi wish that i could be like the cool kids cause all the cool kids they seem to fit in i wish that i could be like the cool kids like the cool kidsi wish that i could be like the cool kids cause all the cool kids they seem to get it i wish that i could be like the cool kids like the cool kids ",1
60,"hey brother","avicii",2014," hey brother theres an endless road to rediscover hey sister know the waters sweet but blood is thicker oh if the sky comes falling down for you theres nothing in this world i wouldnt dohey brother do you still believe in one another hey sister do you still believe in love i wonder oh if the sky comes falling down for you theres nothing in this world i wouldnt dowhat if im far from home oh brother i will hear you call what if i lose it all oh sister i will help you hang on oh if the sky comes falling down for you theres nothing in this world i wouldnt dohey brother theres an endless road to rediscover hey sister do you still believe in love i wonder oh if the sky comes falling down for you theres nothing in this world i wouldnt do ",1
61,"trumpets","jason derulo",2014," every time that you get undressed i hear symphonies in my head i wrote this song just looking at you oh oh yet the drums they swing low and the trumpets they go and the trumpets they go yeah the trumpets they goda da da ra ra da da da da ra ra ra da da da da da ra ra da da da da ra ra ra da da they gois it weird that i hear violins whenever youre gone whenever youre gone is it weird that your ass remind me of a kanye west song kanye west songis it weird that i hear trumpets when youre turning me on turning me on is it weird that your bra remind me of a katy perry songevery time that you get undressed i hear symphonies in my head i wrote this song just looking at you ooh oh yeah the drums they swing low and the trumpets they go and they playing for you girl and the trumpets they go ha yeah yeah the trumpets they go yeah the trumpets they go go go go go go go go go and they godamn is it weird that i hear angels every time that you moan time that you moan is it weird that your eyes remind me of a coldplay song coldplay songis it weird that i hear trumpets when youre turning me on turning me on is it weird that your bra remind me of a katy perry songevery time that you get undressed i hear symphonies in my head i wrote this song just looking at you oh oh yeahevery time every time that you get undressed every time that you get undressed i hear symphonies in my head i hear symphonies in my head i wrote this song i wrote this song just looking at you oh oh just looking at you girl yeah the drums they swing low and the trumpets they go ha acapella on them they go ha yeah come on come on come on they go ",1
62,"animals","maroon 5",2014," baby im preying on you tonight hunt you down eat you alive just like animals animals like animalsmalsmaybe you think that you can hide i can smell your scent for miles just like animals animals like animalsmals baby imso what you trying to do to me its like we cant stop were enemies but we get along when im inside you eh youre like a drug thats killing me i cut you out entirely but i get so high when im inside youyeah you can start over you can run free you can find other fish in the sea you can pretend its meant to be but you cant stay away from me i can still hear you making that sound taking me down rolling on the ground you can pretend that it was me but no ohbaby im preying on you tonight hunt you down eat you alive just like animals animals like animalsmaybe you think that you can hide i can smell your scent for miles just like animals animals like animalsmals baby imso if i run its not enough youre still in my head forever stuck so you can do what you wanna do eh i love your lies ill eat em up but dont deny the animal that comes alive when im inside youyeah you can start over you can run free you can find other fish in the sea you can pretend its meant to be but you cant stay away from me i can still hear you making that sound taking me down rolling on the ground you can pretend that it was me but no ohbaby im preying on you tonight hunt you down eat you alive just like animals animals like animalsmalsmaybe you think that you can hide i can smell your scent for miles just like animals animals like animalsmals baby imdont tell no lie lie lie lie you cant deny ny ny ny the beast inside side side side yeah yeah yeahno girl dont lie lie lie lie no girl dont lie you cant deny ny ny ny you cant deny the beast inside side side side yeah yeah yeahyo whoa whoa just like animals animals like animalsmals just like animals yeah animals yeah like animalsmals yeah owbaby im preying on you tonight hunt you down eat you alive just like animals animals like animalsmalsmaybe you think that you can hide i can smell your scent for miles just like animals animals like animalsmals baby imdont tell no lie lie lie lie you cant deny ny ny ny the beast inside side side side yeah yeah yeahno girl dont lie lie lie lie no girl dont lie you cant deny ny ny ny you cant deny the beast inside side side side yeah yeah yeah ",1
63,"burnin it down","jason aldean",2014," you slip your finger through the tear in my tshirt you stirrin up dirty in the back of my mind you keep on flirtin cause you know that its workin you stuck in my head girl writing the lines couldnt sing this song without you if i tried lets light it up like its our last nightwere just hanging around burnin it down sippin on some cold jack daniels jammin to some old alabama with you baby laying right here naked in my bed im just doing my thing you love it when i sing say it makes you feel like an angel we about to get a little tangled up right about now so girl lets keep burnin it down burnin it down burnin it downgirl when you want it you know that im on it you know that i love lovin up on you lets hit the switch and let our shadows dance and light it up like its our last chancewere just hanging around burnin it down sippin on some cold jack daniels jammin to some old alabama with you baby laying right here dreaming in my bed im just doing my thing you love it when i sing say it makes you feel like an angel we about to get a little tangled up right about now so girl lets keep burnin it down burnin it down burnin it down burnin it down burnin it down burnin it down burnin it downi wanna rock it all night baby girl will you rock it out with me i wanna crawl through the dark just to feel your heartbeat against me i wanna rock it all night baby girl will you rock it out with me i wanna crawl through the dark just to feel your heartbeat against mewere just hanging around burnin it down sippin on some cold jack daniels jammin to some old alabama with you baby laying right here naked in my bed im just doing my thing you love it when i sing say it makes you feel like an angel we about to get a little tangled up right about now so girl lets keep burnin it down burnin it down burnin it down burnin it down burnin it down burnin it down burnin it downi wanna rock it all night baby girl will you rock it out with me i wanna crawl through the dark just to feel your heartbeat against me ",1
64,"play it again","luke bryan",2014," she was sittin all alone over on the tailgate tan legs swingin by a georgia plate i was lookin for her boyfriend thinkin no way she aint got one soon as i sat down i was fallin in love tryin to pour a little sugar in her dixie cup talkin over the speakers in the back of that truck she jumped up and cut me offshe was like oh my god this is my song ive been listenin to the radio all night long sittin round waitin for it to come on and here it is she was like come here boy i wanna dance fore i said a word she was takin my hand spinnin me around til it faded out and she gave me a kiss and she said play it again play it again play it again and i said play it again play it again play it againid have gave that dj my last dime if he would have played it just one more time but a little while later we were sittin in the drive in my truck before i walked her to the door i was scannin like a fool am fm xm too but i stopped real quick when i heard that groove man you should have seen her light upshe was like oh my god this is my song weve been listenin to the radio all night long i cant believe it came back on but here it is she was like come here boy i wanna dance fore i said a word she was takin my hand spinnin in the headlights she gave me a goodnight kiss and i said play it again play it again play it again and she said play it again play it again play it againthe next friday night we were sittin out under the stars you should have seen her smile when i brought out my guitarshe was like oh my god this is my song ive been listenin to the radio all night long sittin round waitin for it to come on and here it is she was like come here boy i wanna dance fore i said a word she was takin my hand spinnin in the headlights she gave me a goodnight kiss and she said play it again play it again play it again and i said play it again play it again play it againyeah play it again play it again play it again somebody play it again play it again play it again ",1
65,"2 on","tinashe featuring schoolboy q",2014," give me all that you got now make you want me cause im hot now im gone so faded im on one bang bang pop off like a long gunif you a lame nigga you aint making no noise get faded turn up with the big boys live fast die young thats my choice get money get money like an invoicewe can mob all in the whip make the money make a grip i be stuntin with my clique getting faded till we trip ohman i love to get on i love to get 2 on when the drink be too strong when the tree be way too strong get faded turn up bruh pour it on up till i cant even think no more get ratchet go dumb then go more dumb then we can keep it lit lets roll i love to get 2 on letlet lets roll i love to get 2 on i love to letletlets roll i love to get 2 on letletlets roll i love to get 2 on i love to lets roll yea we can get active and all my bitches attractive we go you know who we are now get high hotbox in my car nowif you a lame nigga you aint making no noise get faded turn up with the big boys live fast die young thats my choice get money get money like an invoicewe can mob all in the whip make the money make a grip i be stuntin with my clique getting faded till we trip ohman i love to get on i love to get 2 on when the drink be too strong when the tree be way too strong get faded turn up bruh pour it on up till i cant even think no more get ratchet go dumb then go more dumb then we can keep it lit lets roll i love to get 2 on letlet lets roll i love to get 2 on i love to letletlets rolluh pull your panties down from under you beat that pussy up make you wanna holla q drunk than a bitch high on that mary jane pussy in my mouth pussy on my pinky ring nasty baby me do it in the backseat swear this marijuana keep it cracking lights camera action i aint doing nothing til the cash in money money money weed fashion draped up and dripped out keep the trees passing girl toot that thing up fuck me fuck rapping days of our lives so clap clap that cake spreading your thighs i pump pump your brakes ayjust give me the trees and we can smoke it ya just give me the drink and we can pour it ya and my enemies they see me living now and if you roll with me then youll be winning now ohman i love to get on i love to get 2 on when the drink be too strong when the tree be way too strong get faded turn up bruh pour it on up till i cant even think no more get ratchet go dumb then go more dumb then we can keep it lit lets roll i love to get 2 on letlet lets roll i love to get 2 on i love to letletlets roll ",1
66,"dirt","florida georgia line",2014," you get your hands in it plant your roots in it dusty head lights dance with your boots in it dirtyou write her name on it spin your tires on it build your corn field whiskey bonfires on it dirt you bet your life on itits that elm shade red roads clay you grew up on that plowed up ground that your dad damned his luck on that post game party field you circled up on and when it rains you get stuck on drift a cloud back behind county roads that you run up the mud on her jeans that she peeled off and hung up her blue eyed summer time smile looks so good that it hurts makes you wanna build a 10 percent down white picket fence house on this dirtyouve mixed some sweat with it taken a shovel to it youve stuck some crosses and some painted goal posts through it dirt you know you came from it dirt and some day youll return toits that elm shade red roads clay you grew up on that plowed up ground that your dad damned his luck on that post game party field you circled up on and when it rains you get stuck on drift a cloud back behind county roads that you run up the mud on her jeans that she peeled off and hung up her blue eyed summer time smile looks so good that it hurts makes you wanna build a 10 percent down white picket fence house on this dirtyou came from it and some day youll return toits that elm shade red roads clay you grew up on that plowed up ground that your dad damned his luck on that post game party field you circled up on and when it rains you get stuck on drift a cloud back behind county roads that you run up the mud on her jeans that she peeled off and hung up her blue eyed summer time smile looks so good that it hurts makes you wanna build a 10 percent down white picket fence house on this dirtmakes you wanna build a 10 percent down white picket fence house on this dirtyou came from it and some day youll return to it ",1
67,"love runs out","onerepublic",2014," ill be your light your match your burning sun ill be the bright and black thats making you run and i feel alright and well feel alright cause well work it out yeah well work it out ill be doin this if you ever doubt til the love runs out til the love runs outill be your ghost your game your stadium ill be your fifty thousand clapping like one and i feel alright and i feel alright cause i worked it out yeah i worked it out ill be doin this if you ever doubt til the love runs out til the love runs outi got my mind made up and i cant let go im killing every second til it sees my soul ill be running ill be running til the love runs out til the love runs out and well start a fire and well shut it down til the love runs out til the love runs outtheres a maniac out in front of me got an angel on my shoulder and mephistopheles my momma raised me good momma raised me right momma said do what you want say prayers at night and im saying them cause im so devout til the love runs out til the love runs out yeahi got my mind made up and i cant let go im killing every second til it sees my soul ill be running ill be running til the love runs out til the love runs out and well start a fire and well shut it down til the love runs out til the love runs outooh we all want the same thing ooh we all run for something oh for god for fate for love for hate for gold and rust for diamonds and dustill be our light your match your burning sun ill be the bright and black thats making you run i got my mind made up and i cant let go im killing every second til it sees my soul ill be running ill be running til the love runs out til the love runs out and well start a fire and well shut it down til the love runs out til the love runs outill be your light your match your burning sun ill be the bright and black thats making you run and i feel alright and well feel alright cause well work it out yeah well work it out and well start a fire and well shut it down til the love runs out til the love runs out til the love runs out ",1
68,"bottoms up","brantley gilbert",2014," i see you and me riding like bonnie and clyde goin 95 burning down 129 yeah looking for the law while push my luck shes ridin shot gun like it aint no thing turn the radio up so the girl can sing right pull into the party like yall wassup tonight is bottoms up throw it on down rock this quiet little country town get up drop a tailgate on ya truck find a keg and fill ya cup up kick it on back pretty little mama lookin at ya like that make ya wanna slide on in like girl whats up yeah tonight is bottoms up get em up tonight is bottoms up get em up damn girl i gotta tip my hat never thought a country song would make you move like that yeah and shes doing it in daisy dukes girl shes got ya tappin on a boys shoulder hey dog check this out and thats how girl do it in the dirty south yeah shell have you on your knee can i marry youyeah tonight is bottoms up throw it on down rock this quiet little country town get up drop a tailgate on ya truck find a keg and fill ya cup up kick it on back pretty little mama lookin at ya like that make ya wanna slide on in like girl whats up yeah tonight is bottoms up get em up tonight is bottoms up get em up get em up get em upget em uphey yall whatever ya sippin get it up in the air bottoms uplets give a toast to the good times all yall get your drinks up high everybody feelin alright damn right cause tonight its bottoms up throw it on down rock this quiet little country town get up drop a tailgate on ya truck find a keg and fill ya cup up kick it on back pretty little mama lookin at ya like that make ya wanna slide on in like girl whats uptonight is bottoms up throw it on down rock this quiet little country town get up drop a tailgate on ya truck find a keg and fill ya cup up kick it on back pretty little mama lookin at ya like that make ya wanna slide on in like girl whats up yeah tonight is bottoms up get em up tonight is bottoms up get em up ",1
69,"shower","becky g",2014," i dont know its just something about ya got me feeling like i cant be without ya anytime someone mention your name i be feeling as if im around yaaint no words to describe you baby all i know is that you take me high can you tell that you drive me crazy cause i cant get you out my mindthinkin of ya when im goin to bed when i wake up think of ya again you are my homie lover and friend exactly whyyou light me up inside like the 4th of july whenever your around i always seem to smileand people ask me how well your the reason why im dancing in the mirror and singing in the shower ladade ladada ladada singing in the shower ladade ladada ladada singing in the showerall i want all i need is your lovin baby you make me hot like an oven since you came you know what ive discovered baby i dont need me anotherno no all i know know only you got me feelin so so and you know that i have to have ya and i dont plan to let you gothinkin of ya when im goin to bed when i wake up think of ya again you are my homie lover and friend exactly whyyou light me up inside like the 4th of july whenever your around i always seem to smileand people ask me how well your the reason why im dancing in the mirror and singing in the shower ladade ladada ladada singing in the shower ladade ladada ladada singing in the showerwaterthey aint no guarantee but ill take a chance on we baby lets take our time singing in the shower and when the times get rough there aint no given up cause it just feels so right singing in the showerdont care what others say if i got you im stray you bring my heart to life yeahyou light me up inside like the 4th of july whenever your around i always seem to smileand people ask me how well your the reason why im dancing in the mirror and singing in the shower ladade ladada ladada hey singing in the shower ladade ladada ladada you got me singing in the shower ladade ladada ladada singing in the shower ladade ladada ladada ",1
70,"me and my broken heart","rixton",2014," all i need is a little love in my life all i need is a little love in the dark a little but im hoping it might kick start me and my broken heart i need a little loving tonight hold me so im not falling apart a little but im hoping it might kick start me and my broken heartyeahshotgun aimed at my heart you got one tear me apart in this song how do we call this love i tried to run away but your eyes tell me to stay oh why why do we call this loveit seems like weve been losing control so bad it dont mean im not alone when i sayall i need is a little love in my life all i need is a little love in the dark a little but im hoping it might kick start me and my broken heart i need a little loving tonight hold me so im not falling apart a little but im hoping it might kick start me and my broken heartmaybe some part of you just hates me you pick me up and play me how do we call this love one time tell me you need me tonight to make it easy you lie and say its all for loveit seems like weve been losing control so bad it dont mean im not alone when i sayall i need is a little love in my life all i need is a little love in the dark a little but im hoping it might kick start me and my broken heart i need a little loving tonight hold me so im not falling apart a little but im hoping it might kick start me and my broken heartme and my broken heart me and my broken yeah yeah yeahits just me its just me its just me me and my broken heartall i need is a little love in my life all i need is a little love in the dark a little but im hoping it might kick start me and my broken heart i need a little loving tonight hold me so im not falling apart a little but im hoping it might kick start me and my broken heart ",1
71,"animals","martin garrix",2014," instrumental were the fuckin animals instrumental were the fuckin animals instrumental ",1
72,"lifestyle","rich gang featuring young thug and rich homie quan",2014," ive done did a lot of shit just to live this here lifestyle we came straight from the bottom to the top my lifestyle nigga livin life like beginners and this is only the beginnin im on the top of the mountain puffin on clouds and niggas still beginninmillion 5 on the visa card hundred bands still look like the fuckin tires nigga servin great white like im feedin sharks i wont do nothin with the bitch she cant even get me hard somethin wrong with the pussy even though i aint gon hit it ima still make sure that she douche it me and my rollie we dont get caught up like that no way we aint got time to go see doctors j who said money hop up in my bed full of forty bitches and yawnin hey this a show bitch you performin i do this shit for my daughters and all my sons bitch hop on a random bands ill take out their funds bitch i got a moms bitch she got a moms bitch i got sisters and brothers to feed i aint goin out like no idiot im a ogive done did a lot of shit just to live this here lifestyle we came straight from the bottom to the top my lifestyle nigga livin life like volcano and this is only the beginnin im on the top of the mountain puffin on clouds and niggas still beginninstill screamin fuck the otherside ima ride for my niggas aye and ima die for my niggas aye aint gonna be latching on my niggas boy niggas couldnt see me if they had a genie ima live my life like beanie rip my brother beanie i stack my racks to the ceiling now these niggas cant beat me i just might wake up when chanel and these bitches cant see me im in a whole other league i aint got aids but i swear to god i would bleed til i die 28 floors up i feel like i could flyee pee on top of these bitches god told me they can never stop me so they aint gon stop me im in that coffin with baby mommy gettin sloppy toppy im bleedin red like a devil i see these bitches plotting they wanna know how i got ms and i aint finish collegeive done did a lot of shit just to live this here lifestyle we came straight from the bottom to the top my lifestyle nigga livin life like volcano and this is only the beginnin im on the top of the mountain puffin on clouds and niggas still beginnini do it for my daddy i do it for my mama them long nights i swear to god i do it for the come up and well i be beating on my chest in the jungle aye money on money i got commas in every bank sunday through monday ive been grindin with no sleep talkin bout takin somethin from me like no way thugger thugger thats my brother brother you dont want no trouble trouble or you can get these fists knuckle knuckle buckle up like a seatbelt or ill shoot yah punchin on the gas too fast and i lose yah give me a bed ill do her i want a head medusa i swear a nigga gone cause this strong im blowin super grindin for a new day im skatin like that nigga lupe hey im on the top just like toupee hey im in her mouth just like toothpasteive done did a lot of shit just to live this here lifestyle we came straight from the bottom to the top my lifestyle nigga livin life like volcano and this is only the beginnin im on the top of the mountain puffin on clouds and niggas still beginnin ",1
73,"american kids","kenny chesney",2014," doublewide quick stop midnight ttop jack in her cherry coke town momma and daddy put their roots right here cause this is where the car broke down yellow dog school bus kickin up red dust pickin us up by a barbed wire fence mtv on the rca no ac in the ventswe were jesus save me blue jean baby born in the usa trailer park truck stop faded little map dots new york to la we were teenage dreamin front seat leanin baby come give me a kiss put me on the cover of the rolling stone uptown down home american kids growin up in little pink houses makin out on living room couches blowin that smoke on a saturday night a little messed up but were all alrightbaptist church parkin lot tryin not to get caught take her home and give her your jacket makin it to second base but sayin you went all the way monday afternoon at practice sisters got a boyfriend daddy doesnt like now hes sittin out back 3030 in his lap in the blue bug zapper lightwe were jesus save me blue jean baby born in the usa trailer park truck stop faded little map dots new york to la we were teenage dreamin front seat leanin baby come give me a kiss put me on the cover of the rolling stone uptown down home american kids growin up in little pink houses makin out on living room couches blowin that smoke on a saturday night a little messed up but were all alright ",1
74,"brave","sara bareilles",2014," you can be amazing you can turn a phrase into a weapon or a drug you can be the outcast or be the backlash of somebodys lack of love or you can start speaking up nothings gonna hurt you the way that words do and they settle neath your skin kept on the inside and no sunlight sometimes a shadow wins but i wonder what would happen if yousay what you wanna say and let the words fall out honestly i wanna see you be bravewith what you want to say and let the words fall out honestly i wanna see you be bravei just wanna see you i just wanna see you i just wanna see you i wanna see you be bravei just wanna see you i just wanna see you i just wanna see you i wanna see you be brave    memory  byamandah   editor    on march 10th 2016 sara bareilles was invited to perform her hit brave at the white house canadian state dinner she was joined by the children of the    see all   everybodys been there everybodys been stared down by the enemy fallen for the fear and done some disappearing bow down to the mighty dont run stop holding your tongue maybe theres a way out of the cage where you live maybe one of these days you can let the light in show me how big your brave issay what you wanna say and let the words fall out honestly i wanna see you be bravewith what you want to say and let the words fall out honestly i wanna see you be braveinnocence your history of silence wont do you any good did you think it would let your words be anything but empty why dont you tell them the truthsay what you wanna say and let the words fall out honestly i wanna see you be bravewith what you want to say and let the words fall out honestly i wanna see you be bravei just wanna see you i just wanna see you i just wanna see you i wanna see you be bravei just wanna see you i just wanna see you i just wanna see you see you be bravei just wanna see you i just wanna see you i just wanna see youi just wanna see you i just wanna see you i just wanna see you ",1
75,"sweater weather","the neighbourhood",2014," and all i am is a man i want the world in my hands i hate the beach but i stand in california with my toes in the sand use the sleeves on my sweater lets have an adventure head in the clouds but my gravity centered touch my neck and ill touch yours you in those little high waisted shortsoh she knows what i think about and what i think about one love two mouths one love one house no shirts no blouse just us you find out nothing i really wanna tell you about no cause its too cold whoa for you here and now so let me hold whoa both your hands in the holes of my sweaterand if i may just take your breath away i dont mind if theres not much to say sometimes the silence guides your mind so move to a place so far away the goosebumps start to race the minute that my left hand meets your waist and then i watch your face put my finger on your tongue cause you love to taste yeah these hearts adore everyone the other beat heart is for inside this place is warm outside it starts to pourcoming down one love two mouths one love one house no shirts no blouse just us you find out nothing i really wanna tell you about no no no cause its too cold whoa for you here and now so let me hold whoa both your hands in the holes of my sweatercause its too cold whoa for you here and now so let me hold whoa both your hands in the holes of my sweaterwhoa whoa whoawhoa whoa whoa whoa whoa whoa whoa whoa whoa whoa whoa whoa whoacause its too cold whoa for you here and now so let me hold whoa both your hands in the holes of my sweaterits too cold whoa for you here and now so let me hold whoa both your hands in the holes of my sweaterits too cold its too cold the hands of my sweater ",1
76,"leave the night on","sam hunt",2014," they roll the sidewalks in this town all up after the sun goes down they say nothin good happens here when midnight rolls around but layin down would be in vain i cant sleep with you on my brain and i aint anywhere close to tired your kiss has got me wiredgirl you got the beat right killin in your levis high on your lovings got me buzzin like a streetlight its still early out in cali baby dont you wanna rally again well find a road with no name lay back in the slow lane the sky is dropping jupiter around us like some old train well be rolling down the windows i bet you were catchin our second wind we dont have to go home we can leave the night on we can leave the night on yeah yeahnow all the stars are turnin blue just kissed the clock 222 baby i know what youre wishin for im wishin for it too now all the lights are flashin gold nobody cares how fast we go our soundtracks in the stereo this djs on a rollgirl you got the beat right killin in your levis high on your lovings got me buzzin like a streetlight its still early out in cali baby dont you wanna rally again well find a road with no name lay back in the slow lane the sky is dropping jupiter around us like some old train well be rolling down the windows i bet you were catchin our second wind we dont have to go home we can leave the night on we can leave the night onthe sunll steal the magic from us soon so lets take one more trip around the moongirl you got the beat right killin in your levis high on your lovings got me buzzin like a streetlight its still early out in cali baby dont you wanna rally well find a road with no name lay back in the slow lane the sky is dropping jupiter all around us like some old train well be rolling down the windows i bet you were catchin our second wind we dont have go home we can leave the night on we can leave the night on we can leave the night on buzzin like a streetlight we can leave the night on ",1
77,"new flame","chris brown featuring usher and rick ross",2014," there can be one only you and baby god could never make two and i know you came here with your crew but i promise you that it feels like its just us twooh i dont know what you had planned to do tonight but i just wanna be the one to do you right were standing here looking at each other baby eye to eye and im hoping that youre thinking about leaving with me tonightwho said you cant find love in a club cause i wanna tell them they wrong come on just baby try a new thing and lets spark a new flame you gon be my baby love me love you crazy tell me if you with it baby come and get it maybe try a new thing and lets spark a new flamei cant believe you came here all alone baby girl wheres your lover oh it dont really matter cause i got ways to get to know you better baby baby baby baby lets make what we got here last forever girl cause i dont wanna let you go neveroh i dont know what you had planned to do tonight girl i just wanna be the one to do you right right were standing here looking at each other baby eye to eye i hope that youre thinking about leaving with me tonightwho said you cant find love in the club cause i wanna tell them they wrong come on baby try a new thing and lets spark a new flame you gon be my baby love me love you crazy tell me if you with it baby come and get it maybe try a new thing and lets spark a new flamehomeplate world series sour nigga sliding in her huh baby im a boss im talking george steinbrenner panamera yogi berra my twoseater derek jeter got more stripes than all these niggas babe ruth balling in a beamer collar on my polo kisses on my necklace all my diamonds watching now my watches getting jealous smoking on a bomb in my autograph lebrons yeah she told me im the one thats when i only hit it oncesaid you cant find love in the club cause i wanna tell them they wrong come on just baby try a new thing and lets spark a new flame you gon be my baby love me love you crazy tell me if you with it baby come and get it maybe try a new thing and lets spark a new flame ",1
78,"love never felt so good","michael jackson and justin timberlake",2014," baby love never felt so good and i doubt if it ever could not like you hold me hold me oh baby love never felt so fine and i doubt if its never mine not like you hold me hold me and the night is gonna be just fine gotta fly gotta see cant believe i cant take itcause baby every time i love you its in and out of my life in out baby tell me if you really love me its in and out of my life in out baby cause baby love never felt so goodbaby love never felt so fine and id doubt if it was ever mine not like you hold me hold me oh baby love never felt so good and i doubt if it ever could not like you hold me hold me and the night is gonna be just fine gotta fly gotta see cant believe i cant take it causebaby every time i love you in and out of my life in out baby tell me if you really love me its in and out of my life driving me crazy baby love never felt so goodbaby love never felt so fine and id doubt it was mine all mine not like you hold me hold me oh baby love never felt so good and i doubt if it ever could not like you hold me hold me and the night is gonna be just fine gotta fly gotta see cant believe i cant take it causebaby every time i love you in and out of my life in out baby tell me if you really love me its in and out of my life driving me crazy baby love never felt so good ",1
79,"drunk on a plane","dierks bentley",2014," i took two weeks vacation for the honeymoon a couple tickets all inclusive down in cancun i couldnt get my money back so im in seat 7a im getting drunk on a planei bet the fella on the aisle thought i was crazy cause i taped your picture to the seatback right beside me now ive got empty mini bottles fillin both our trays im getting drunk on a planebuyin drinks for everybody but the pilot its a party got this 737 rocking like a g6 stewardess is somethin sexy leanin pourin coke and whiskey told her about my condition got a little milehigh flight attention its mardi gras up in the clouds im up so high i may never come down ill try anything to drown out the pain they all know why im getting drunk on a planewe had this date marked on the calendar forever wed take that new wed limo airport ride together i feel like a plastic groom alone there at the top of the cake so hey im getting drunk on a planebuyin drinks for everybody but the pilot its a party got this 737 rocking like a g6 stewardess is somethin sexy leanin pourin coke and whiskey told her about my condition got a little milehigh flight attention its mardi gras up in the clouds im up so high i may never come down ill try anything to drown out the pain they all know why im getting drunk on a planeon my way home ill bump this seat right up to first class so i can drink that cheap champagne out of a real glass and when we land ill call her up and tell her kiss my ass cause hey im drunk on a planebuyin drinks for everybody but the pilot its a party got this 737 rocking like a g6 stewardess is somethin sexy leanin pourin coke and whiskey told her about my condition got a little milehigh flight attention its mardi gras up in the clouds im up so high i may never come down ill try anything to drown out the pain they all know why im getting drunk on a planeim getting drunk on a plane i might be passed out in the baggage claim but right now im drunk on a plane ",1
80,"birthday","katy perry",2014," i heard youre feeling nothings going right why dont you let me stop by the clock is ticking running out of time so we should party all night so cover your eyes i have a surprise i hope you got a healthy appetiteif you wanna dance if you want it all you know that im the girl that you should callboy when youre with me ill give you a taste make it like your birthday everyday i know you like it sweet so you can have your cake give you something good to celebrateso make a wish ill make it like your birthday everyday ill be your gift give you something good to celebratepop your perignon we can get it on so hot and heavy till dawn i got you spinning like a disco ball ill have them playing your songwere living the life were doing it right youre never gonna be unsatisfied if you wanna dance if you want it all you know im the girl that you should callbut when youre with me ill give you a taste make it like your birthday everyday i know you like it sweet so you can have your cake give you something good to celebrateso make a wish ill make it like your birthday everyday ill be your gift give you something good to celebratehappy birthdayso let me get you in your birthday suit its time to bring out the big balloons so let me get you in your birthday suit its time to bring out the big big big big big big balloonsboy when youre with me ill give you a taste make it like your birthday everyday i know you like it sweet so you can have your cake give you something good to celebrateboy when youre with me ill give you a taste make it like your birthday everyday i know you like it sweet so you can have your cake give you something good to celebrateso make a wish ill make it like your birthday everyday ill be your gift give you something good to celebratehappy birthday ",1
81,"bartender","lady antebellum",2014," 8 oclock on friday night im still at home all my girls just keep on blowing up my phone saying come on he aint worth the pain do what you gotta do to forget his namenow theres only one thing left for me to do slip on my favorite dress and sky high leather boots check the mirror one last time and kiss the past goodbyewhat im really needing now is a double shot of crown chase that disco ball around til i dont remember go until they cut me off wanna get a little lost in the noise in the lightshey bartender pour em hot tonight til the party and the music and the truth collide bring it til his memory fades away hey bartendertonight ill let a stranger pull me on the floor spin me round and let him buy a couple more but before it goes too far ill let him down easy cause tonight its all about dancing with my girls to the dj put that song on replaywhat im really needing now is a double shot of crown chase that disco ball around til i dont remember go until they cut me off wanna get a little lost in the noise in the lightshey bartender pour em hot tonight til the party and the music and the truth collide bring it til his memory fades away hey bartenderim feeling that buzz im ready to rock aint no way im gonna tell you to stop so pour that thing up to the top im coming in hothey bartender what im really needing now is a double shot of crown chase that disco ball around til i dont remember go until they cut me off wanna get a little lost in the noise in the lightshey bartender pour em hot tonight til the party and the music and the truth collide bring it til his memory fades away hey bartender hey bartender ",1
82,"la la la","naughty boy featuring sam smith",2014," na na la la la la la na na na na na la la na na la la la la la na na na na na la la na na la la la la la na na na na na la la na na la la la la la na na na na nahush dont speak when you spit your venom keep it shut i hate it when you hiss and preach about your new messiah cause your theories catch firei cant find your silver lining i dont mean to judge but when you read your speech its tiring enough is enoughim covering my ears like a kid when your words mean nothing i go la la la im turning up the volume when you speak cause if my heart cant stop it i find a way to block it i gona na la la la la la na na na na na la la na na la la la la la na na na na na i find a way to block it i go la la na na la la la la la na na na na na la la na na la la la la la na na na na naif our love is running out of time i wont count the hours rather be a coward when our worlds collide im gonna drown you out before i lose my mindi cant find your silver lining i dont mean to judge but when you read your speech its tiring enough is enoughim covering my ears like a kid when your words mean nothing i go la la la im turning up the volume when you speak cause if my heart cant stop it i find a way to block it i gona na la la la la la na na na na na la la na na la la la la la na na na na na i find a way to block it i go na na la la la la la na na na na na la la na na la la la la la na na na na na i find a way to block it ohla la la la la la la na na na na na la la na na la la la la la na na na na na i find a way to block it i go la la na na la la la la la na na na na na la la na na la la la la la na na na na naim covering my ears like a kid when your words mean nothing i go la la la im turning up the volume when you speak cause if my heart cant stop it i find a way to block it i goim covering my ears like a kid when your words mean nothing i go la la la im turning up the volume when you speak cause if my heart cant stop it i find a way to block it i gona na la la la la la na na na na na la la na na la la la la la na na na na na la la na na la la la la la na na na na na la la na na la la la la la na na na na na ",1
83,"blurred lines","robin thicke featuring ti and pharrell",2014," hey hey hey hey hey hey hey hey heyif you cant hear what im tryna say if you cant read from the same page maybe im going deaf maybe im going blind maybe im out of my mindok now he was close tried to domesticate you but youre an animal baby its in your nature just let me liberate you you dont need no papers that man is not your mate and thats why im gon take yougood girl i know you want it i know you want it i know you want ityoure a good girl cant let it get past me me fall from plastic talk about getting blastedi hate these blurred lines i know you want it i know you want it i know you want itbut youre a good girl the way you grab me must wanna get nasty go ahead get at mewhat do they make dreams for when you got them jeans on what do we need steam for you the hottest bitch in this placei feel so lucky you wanna hug me what rhymes with hug me heyok now he was close tried to domesticate you but youre an animal baby its in your nature just let me liberate you you dont need no papers that man is not your mate and thats why im gon take yougood girl i know you want it i know you want it i know you want ityoure a good girl cant let it get past me me fall from plastic talk about getting blastedi hate these blurred lines i know you want it i know you want it i know you want itbut youre a good girl the way you grab me must wanna get nasty go ahead get at mehustle gang homie one thing i ask of you lemme be the one you bring that ass up to from malibu to paris boo had a bitch but she aint bad as you so hit me up when you passin through ill give you something big enough to tear your ass in two swag on em even when you dress casual i mean its almost unbearable honey you not there when im at the bar side let you have me by nothin like your last guy he too square for you he dont smack that ass and pull your hair for you so im just watchin and waitin for you to salute the truly pimpin not many women can refuse this pimpin im a nice guy but dont get confused you gitn itshake your rump get down get up do it like it hurt like it hurt what you dont like work heybaby can you breathe i got this from jamaica it always works for me dakota to decaturno more pretending cause now your winning heres our beginning i always wanted agood girl i know you want it i know you want it i know you want ityoure a good girl cant let it get past me me fall from plastic talk about getting blastedi hate these blurred lines i know you want it i know you want it i know you want itbut youre a good girl the way you grab me must wanna get nasty go ahead get at meeverybody get up everybody get uphey hey hey hey hey hey hey hey hey ",1
84,"do what u want","lady gaga featuring r kelly",2014," verse 1 lady gaga i i feel good i walk alone but then i trip over myself and i fall i i stand up and then im ok but then you print some shit that makes me wanna screamprechorus lady gaga so do what you want what you want with my body do what you want dont stop lets party do what you want what you want with my body do what you want what you want with my bodywrite what you want say what you want about me if youre wondering know that im not sorry do what you want what you want with my body what you want with my bodychorus lady gaga you cant have my heart and you wont use my mind but do what you want with my body do what you want with my body you cant stop my voice cause you dont own my life but do what you want with my body do what you want with my bodyverse 2 r kelly early morning longer nights tom ford private flights crazy schedule fast life i wouldnt trade it in cause its our life lets slow it down i could be the drink in your cup i could be the green in your blunt your pusher man yeah i got what you want you want to escape all of the crazy shit youre marilyn im the president and i love to hear you sing girlprechorus 2 r kelly do what i want do what i want with your body do what i want do what i want with your body back of the club taking shots getting naughty no invitations its a private party do what i want do what i want with your body do what i want do what i want with your body yeah we taking these haters and we roughing em up and we lay in the club like we dont give a fuckchorus lady gaga you cant have my heart and you wont use my mind but do what you want with my body do what you want with my body you cant stop my voice cause you dont own my life but do what you want with my body do what you want with my bodybridge lady gaga sometimes im scared i suppose if you ever let me go i would fall apart if you break my heart so just take my body and dont stop the partychorus lady gaga you cant have my heart and you wont use my mind but do what you want with my body do what you want with my body you cant stop my voice cause you dont own my life but do what you want with my body do what you want with my bodyoutro until fade lady gaga do what you want with me what you want with my body do what you want with me what you want with my body girl do what you want with me what you want with my body do what you want with me what you want with my body girl help me now do what you want with my body do what you want with my body ",1
85,"cant remember to forget you","shakira featuring rihanna",2014," shakira i left a note on my bedpost said not to repeat yesterdays mistakes what i tend to do when it comes to you i see only the good selective memorythe way he makes me feel yeah gotta hold on me ive never met someone so different oh here we go he a part of me now he a part of me so where you go i followchorus 1 ohohohoh ohohohoh i cant remember to forget you ohohohoh ohohohoh i keep forgetting i should let you go but when you look at me the only memory is us kissing in the moonlight ohohohoh ohohohoh i cant remember to forget you ooooh i cant remember to forget youverse 2 rihanna i go back again fall off the train land in his bed repeat yesterdays mistakes what im trying to say is not to forget you see only the good selective memorythe way he makes me feel like the way he makes me feel i never seemed to act so stupid oh here we go he a part of me now he a part of meshakira so where he goes i follow follow follow ohchorus 2 both ohohohoh ohohohoh i cant remember to forget you ohohohoh ohohohoh i keep forgetting i should let you go but when you look at me the only memory is us kissing in the moonlight ohohohoh ohohohoh i cant remember to forget youbridge shakira i rob and i kill to keep him with me i do anything for that boy id give my last dime to hold him tonight i do anything for that boybridge cont rihanna i rob and i kill to keep him with me i do anything for that boy id give my last dime to hold him tonight i do anything for that boychorus 3 both ohohohoh ohohohoh i cant remember to forget you ohohohoh ohohohoh i keep forgetting i should let you go but when you look at me the only memory is us kissing in the moonlight ohohohoh ohohohoh i cant remember to forget you but when you look at me the only memory is us kissing in the moonlight ohohohoh ohohohoh i cant remember to forget you ",1
86,"amnesia","5 seconds of summer",2014," i drove by all the places we used to hang out getting wasted i thought about our last kiss how it felt the way you tasted and even though your friends tell me youre doing fineare you somewhere feeling lonely even though hes right beside you when he says those words that hurt you do you read the ones i wrote yousometimes i start to wonder was it just a lie if what we had was real how could you be finecause im not fine at alli remember the day you told me you were leaving i remember the makeup running down your face and the dreams you left behind you didnt need them like every single wish we ever made i wish that i could wake up with amnesia and forget about the stupid little things like the way it felt to fall asleep next to you and the memories i never can escapecause im not fine at allthe pictures that you sent me theyre still living in my phone ill admit i like to see them ill admit i feel alone and all my friends keep asking why im not aroundit hurts to know youre happy yeah it hurts that youve moved on its hard to hear your name when i havent seen you in so longits like we never happened was it just a lie if what we had was real how could you be finecause im not fine at alli remember the day you told me you were leaving i remember the makeup running down your face and the dreams you left behind you didnt need them like every single wish we ever made i wish that i could wake up with amnesia and forget about the stupid little things like the way it felt to fall asleep next to you and the memories i never can escapeif today i woke up with you right beside me like all of this was just some twisted dream id hold you closer than i ever did before and youd never slip away and youd never hear me sayi remember the day you told me you were leaving i remember the makeup running down your face and the dreams you left behind you didnt need them like every single wish we ever made i wish that i could wake up with amnesia and forget about the stupid little things like the way it felt to fall asleep next to you and the memories i never can escapecause im not fine at all no im really not fine at all tell me this is just a dream cause im really not fine at all ",1
87,"no mediocre","ti featuring iggy azalea",2014," all i fuck is bad bitches i dont want no mediocre hoe dont want no mediocre i dont want no mediocre no bad bitches only aint no mediocre hoe dont want no mediocre i wont hit no mediocre you a bad bitch stuntin on them mediocre hoe on them mediocre you stunt on them mediocre 7 bitches with me and aint none of them mediocre from they head to they toes they so far from mediocreright hand in the air i solemnly swear i never fuck a bitch if she dont do her hair no more you wont get no dick if theres a bush down there girl i should see nothing but pussy when i look down there you come fuck with a nigga what better to do he call to ask how you doin tell him better than you yeah im kicked back with four pieces like a kit kat me fucking if you aint a dime just forget that pretty face fat ass if she dont have have one of these well i think ill pass i just handed her the keys to a new drop jag when she took it i took it back you shoulda asked for a benz thats mediocre bitchall i fuck is bad bitches i dont want no mediocre hoe dont want no mediocre i dont want no mediocre no bad bitches only aint no mediocre hoe dont want no mediocre i wont hit no mediocre you a bad bitch stuntin on them mediocre hoe on them mediocre you stunt on them mediocre 7 bitches with me and aint none of them mediocre from they head to they toes they so far from mediocreheard he want to lay it down on iggy iggy gave it to him twice now he want a 3 mike bibby diva but i need a bad boy rest in peace whitney pardon me but i dont think none of these bitches fucking with me want a billboard bitch stop running in place heels on me saying gimme 6 inches of space courtside while designer frames cover my face now everybody in the game wanna get em a taste im still grand hustle first lady fuck you pay me bet he wont go 12 rounds with the million dollar baby i can change your life quick stop playing with me and if you aint talking money what you saying to meall i fuck is bad bitches i dont want no mediocre hoe dont want no mediocre i dont want no mediocre no bad bitches only aint no mediocre hoe dont want no mediocre i wont hit no mediocre you a bad bitch stuntin on them mediocre hoe on them mediocre you stunt on them mediocre 7 bitches with me and aint none of them mediocre from they head to they toes they so far from mediocreim in brazil with a bi catch me in a mansion in the hills with a bi get her out dem tennis shoes throw some heels on a bi im the type of nigga split a mil with a bi hold up only if she bad though out here trying to find someone that better than my last go take her to my castle drown her in my cash flow say your dick so little she can fit it in her asshole told me she can write this shit no further than a cab go said i got that don dick she wanna be my tutor so she give me brain getting head on the scooter had sex on the beach from bermuda up to cuba i done fucked a lot of dimes but im looking for a cuter bitch you the shit what she say when she got to sit when i aint around give a damn who you do it with super thick pretty face m̩nage �� veinte 20 at the same time wanna get ya rent paidall i fuck is bad bitches i dont want no mediocre hoe dont want no mediocre i dont want no mediocre no bad bitches only aint no mediocre hoe dont want no mediocre i wont hit no mediocre you a bad bitch stuntin on them mediocre hoe on them mediocre you stunt on them mediocre 7 bitches with me and aint none of them mediocre from they head to they toes they so far from mediocre yea ",1
88,"come with me now","kongos",2014," come with me now come with me nowwhoa come with me now im gonna take you down whoa come with me now im gonna show you howwhoa come with me now im gonna take you down whoa come with me now im gonna show you howafraid to lose control and caught up in this world ive wasted time ive wasted breath i think ive thought myself to deathi was born without this fear now only this seems clear i need to move i need to fight i need to lose myself tonightwhoa come with me now im gonna take you down whoa come with me now im gonna show you howi think with my heart and i move with my head i open my mouth and its something ive read i stood at this door before im told but a part of me knows that im growing too oldconfused what i thought with something i felt confuse what i feel with something thats real i tried to sell my soul last night funny he wouldnt even take a bitefar away i heard him say come with me now dont delay i heard him say come with me nowfar away i heard him say come with me now dont delay i heard him say come with me nowwhoa come with me now im gonna take you down whoa come with me now im gonna show you howafraid to lose control and caught up in this world ive wasted time ive wasted breath i think ive thought myself to deathi was born without this fear now only this seems clear i need to move i need to fight i need to lose myself tonightwhoa come with me nowwhoa come with me now im gonna take you down whoa come with me now ",1
89,"believe me","lil wayne featuring drake",2014," yeah im the only one that get the job done job done i dont know a nigga that can cover for me cover for me yeah got some game from my days so she might say she love me she dont love me like she say she love me believe me believe me believe me im that nigga boy they love me in the streets in the streets im not tryna find nobody else to beat else to beat im the one they come to see because they all believe meyea rip rip rip its been me and young tune off the rip thats the man that put me in this shit if a nigga fuck with him ill put him down quick got a verse for anybody wanna talk about the clique ive been takin shit light you dont wanna hear me trip god damn do yall really know who you fuckin with yeah i mean you cant blame me for wonderin doesnt matter could be winter or the summer on the road i do one direction numbers i dont fuckin miss yeah stunna and mack know when wayne was gone for eight months we put this thing up on our back and i was snappin off on every single track though collect call from the boss like where we at though i was like hah its our time nigga he left rikers in a phantom thats my nigga and ive been rockin with the team tha carter ix and we ymcmb waitin on somebody to try us nigga yeahyeah im the only one that get the job done job done i dont know a nigga that can cover for me cover for me yeah got some game from my days so she might say she love me she dont love me like she say she love me believe me believe me believe me im that nigga boy they love me in the streets in the streets im not tryna find nobody else to beat else to beat im the one they come to see because they all believe melord knows ill murk one of these niggas yeah his and hers ferraris nigga one for me one for my daughter nigga waitin for someone to test me like a harvard nigga i tote a 223 two michael jordans nigga come on fight these shell cases like a lawyer nigga find out where you stay and act like we found some oil nigga out of duct tape so when he prayin i ignore the nigga all i gotta say is sayonara nigga drop dead gorgeous but the bitch aint dyin for a nigga where the real queens at shout out capone and noreaga we can shoot it out and see who live to tell the story later diamonds in my rollie face cannot be exfoliated they think im associated im the one that orchestrated yayo get her ass whipped whip that ass like horses racin aint bout what you walk away from its bout what you walk away with dead presidents them coffins vacant i must be doin somethinyeah im the only one that get the job done job done i dont know a nigga that can cover for me cover for me yeah got some game from my days so she might say she love me she dont love me like she say she love me believe me believe me believe me believe me im that nigga boy they love me in the streets in the streets im not tryna find nobody else to beat else to beat im the one they come to see because they all believe merip rip nigga riphad to get it poppin off the rip rich young nigga that aint never had to trick slim thug flow but you know i like em thick if she get a job at doa i drop her off a tip i had to get it poppin off the rip im the one they tell ya been reppin in the 6 come into the city and ya niggas get to trippin well take ya to the scarborough bluff and drop you off a cliff well damn just be happy for the man nirvana coldplay nigga got bands ink from the money got it all over my hands goin out to houston spendin all of my advance v live just took me for a cheque drake you know i love you you just took me outta debt yes right now you are lookin at the best mothafuck award shows and mothafuck the press like thatmothafuck the rest when they jumped off the porch i was stumblin up the steps id give what i collect before i give up my connect itd be a cold day in hell icicles made of sweat one finger slidin cross my neck niggas know what that mean like they deaf nigga ill fire this nina like its her first day on the job and the bitch overslept tune stay humble nigga im a king need a horn and a drumroll they throw mothafuckin roses at my feet nigga i dont step on one rose yeah im the only one that get the job done i dont know a nigga that can cover for me tape a couple kilos to the bitch stomach she look like she got a bun in the oven from me preheat believe me all you gotta do is pay me every week i had these bitches havin babies every week im the nigga see me skatin in the streets gonerip rip nigga ",1
90,"23","mike will madeit featuring miley cyrus wiz khalifa and juicy j",2014,NA,NA
91,"beachin","jake owen",2014," so just watchin her blonde hair sun burn stare at them wack caps rolling over laid back in a thrift store beach chair droppin limes in her corona well she looks back yeah she throws me a kiss like honey i sure want you and its a hundred and three between her and me and only 92 in daytonaand its sunshine blue eyes tan lines slow tide rollin white sand cold can koozie in my hand just a summertime strolling chillin breazin sippin singin whoaoaohbeachinwe got 2for1s were at a margarita bar whatever happens happens and theres a reggae band full of dread head just sittin in the corner laughin well my baby walks over drops a 20 in a jar she smiles and shakes it at me yeah she gets em goin she gets em playin a little dont worry be happyand its sunshine blue eyes tan lines slow tide rollin white sand cold can koozie in my hand just a summertime strolling chillin breazin sippin singin whoaoaohbeachinyou got a margarita here in my hand doin a little drinkintalkin bout sunshine blue eyes tan lines slow tide rollin white sand cold can koozie in my hand just a summertime strolling chillin breazin sippin singin whoaoaohbeachin sunshine blue eyes tan lines slow tide rollin white sand cold can koozie in my hand ",1
92,"white walls","macklemore  ryan lewis featuring schoolboy q and hollis",2014,"i wanna be free i wanna just live inside my cadillac that is my shit and i throw it up i throw that up thats what it is thats what it is in my c a d d i l l a c bitch biatch cant see me through my tints nah ah im riding real slow slow in my paint wet drippin shorty like my 24s umbrella i dont got 24s nu uh but im on those vogues thats those big white walls round them hundred spokes old school like old english in that brown paper bag im going in that same whip that my granddad had hello haters damn yall mad 30k on the caddy now how about cack wrapped is that got that off black cadillac midnight drive got that gas pedal lean back taking my time im blowin that roof off letting in sky  i shine the city never looked so bright man im lounging in some shit bernie mac wouldve been proud of looking down from heaven like damn thats stylish smilin dont pay attention to the mileage can i hit the freeway illegally goin 120 easy weaving in and out of the traffic they cannot catch me im smashing  im ducking bucking them out here im like go fuckin their tastic i am up in a classic now i know what its like under the city lights riding into the night driving over the bridge the same one we walked across as kids knew id have a whip but never one like this old school old school candy paint two seater yea im from seattle  theres hella on the civics i couldnt tell you about paint either but i really wanted a cadi so i put in the hours and walk on over to the dealer  and i found the cars in there was a problem with this geezer i got the keys and as i was leaf in i started screamin got that off black cadillac midnight drive got that gas pedal lean back taking my time im blowin that roof off letting in sky  i shine the city never looked so bright bad boys and dope white hoes in the backseat snorting coke she doing line after line like shes writing rounds i had it hella my love tryna blow her mind cadillac pimpin my uncle was on 14 years out so excuse me and my niggas was gone sendin portions of his liquor water in the patron rather smilling like i won the fucking lottery homes talking lottery homes tires with the spikes on it in the 42 most of the mayonnaise keeping the buns on em my dogs hanging out the window yell as which fuckin like in power tryna fuck em all kill the fuckin wimps see whats poppin at the mall meet a bad bitch slap her booty with my palms you can smoke the pussy i was tapped down the walls im motherfuckin off son swear these eyes tryna hypnotize grip the leather steering wheel while i grip the thighs see the lust stuck up in her eyes maybe she like the ride or did she like the smoke girl does she want it low this shit a crookedville so youll never know so we cool with niggas my nigga fuck the limit got a window ticket for showing banks to end of slots and the gas was finished q got that off black cadillac midnight drive got that gas pedal lean back taking my time im blowin that roof off letting in sky  i shine the city never looked so bright got that off black cadillac midnight drive got that gas pedal lean back taking my time im blowin that roof off letting in sky  i shine the city never looked so bright",3
93,"she looks so perfect","5 seconds of summer",2014," hey hey hey hey hey hey hey hey hey hey hey hey hey hey hey heysimmer down simmer down they say were too young now to amount to anything else but look around we work too damn hard for this just to give it up now if you dont swim youll drown but dont move honeyyou look so perfect standing there in my american apparel underwear and i know now that im so down your lipstick stain is a work of art i got your name tattooed in an arrow heart and i know now that im so down heyhey hey hey hey hey hey hey heylets get out lets get out cause this deadbeat towns only here just to keep us down while i was out i found myself alone just thinking if i showed up with a plane ticket and a shiny diamond ring with your name on it would you wanna run away too cause all i really want is youyou look so perfect standing there in my american apparel underwear and i know now that im so down i made a mixtape straight out of 94 ive got your ripped skinny jeans lying on the floor and i know now that im so downhey hey hey hey hey hey hey hey heyyou look so perfect standing there in my american apparel underwear and i know now that im so down your lipstick stain is a work of art i got your name tattooed in an arrow heart and i know now that im so downhey hey hey hey hey hey hey hey heyyou look so perfect standing there in my american apparel underwear and i know now that im so down hey your lipstick stain is a work of art hey hey i got your name tattooed in an arrow heart hey hey and i know now that im so down hey hey ",1
94,"stay the night","zedd featuring hayley williams",2014," i know that we are upside down so hold your tongue and hear me out i know that we were made to break so what i dont mindyou kill the lights ill draw the blinds dont dull the sparkle in your eyes i know that we were made to break so what i dont mindare you gonna stay the night are you gonna stay the night oh oh oh oh are you gonna stay the nightare you gonna stay the night doesnt mean were bound for life so oh oh oh are you gonna stay the nightare you gonna stay the night doesnt mean were bound for life so oh oh oh are you gonna stay the nighti am fire gasoline come pour yourself all over me well let this place go down in flames only one more timeyou kill the lights ill draw the blinds dont dull the sparkle in your eyes i know that we were made to break so what i dont mindare you gonna stay the night are you gonna stay the night oh oh oh oh are you gonna stay the nightare you gonna stay the night doesnt mean were bound for life so oh oh oh are you gonna stay the night nightare you gonna stay the nightare you gonna stay the night doesnt mean were bound for life so oh oh oh are you gonna stay the nightare you gonna stay the night are you gonna stay the night oh oh oh oh are you gonna stay the night ",1
95,"partition","beyonce",2014," see me up in the club with 50 of the girls posted in the back with my things on my grill brooklyn brim with my eyes sittin low every boy in here with me got that smoke every girl in here got to look me up and down all on instagram cake by the pound circulate the image every time i come around gs up tell me how im lookin babeboy this all for you just walk my way just tell me how its lookin babe i do this all for you baby just take aim and tell me how its lookin babe lookin babedrop the bass mane the bass get lower radio say speed it up i just go slower high like treble pumping on them mids ya man aint never seen a booty like this and why you think ya keep my name rollin off your tongue cause when you he want to smash ill just write another one i sneezed on the beat and the beat got sicker yoncé all on his mouth like liquordriver roll up the partition please driver roll up the partition please i dont need you seeing yonce on her knees took 45 minutes to get all dressed up we aint even gonna make it to this club now my mascara running red lipstick smudged oh he so horny he want to fuck he bucked all my buttons he ripped my blouse he monica lewinski all on my gownoh there daddy ddaddy didnt bring the towel oh baby bbaby we slow it down took 45 minutes to get all dressed up we aint even gonna make it to this clubtake all of me i just wanna be the girl you like girl you like the kind of girl you like girl you like take all of me i just wanna be the girl you like girl you like the kinda girl you like is right here with medriver roll up the partition fast driver roll up the partition fast over there i swear i saw them cameras flash handprints and footprints on my glass handprints and good grips all on my ass private show with the music blasting he like to call me peaches when we get this nasty red wine drip talk that trash chauffer eavesdropping trying not to crashoh there daddy ddaddy now you ripped my fur oh baby bbaby be sweatin on my hair took 45 minutes to get all dressed up we aint even gonna make it to this clubtake all of me i just wanna be the girl you like girl you like the kind of girl you like girl you like take all of me i just wanna be the girl you like girl you like the kinda girl you like is right here with metake all of me i just wanna be the girl you like girl you like the kind of girl you like girl you like take all of me i just wanna be the girl you like girl you like the kinda girl you like is right here with me ",1
96,"studio","schoolboy q featuring bj the chicago kid",2014," im just sitting in the studio just trying to get to you baby but this song so fucking dope girl its hard for me not to play it to tell the truth wish it was you in this booth that i was blazin so im just sitting in the studio just trying to get to you babysee ive been in the studio just trying to get to you baby all night laying verses though id rather lay with you baby bra and panties matching nail and toes you walk kinda lady angel out of heaven such a goddess have a nigga prayinim just sitting in the studio just trying to get to you baby but this song so fucking dope girl its hard for me not to blaze it to tell the truth wish it was you in this booth that i was blazin so im just sitting in the studio just trying to get to you babyyou need a real nigga shorty so come in throw that pussy shorty see i think you and me can make it this little verse to get you naked see your heart aint meant for breaking cupids never been mistaken see i been caught up in the moment shit my type aint quite her type but now this gangsta nigga on it she can twist my weed and hit the yac i can hit your type without the hat i put that pussy on the map i see qualities in a bad girl i know that ass you got come with attitude and your swag girl you aint wrong girl just when that door knock lose your thong girl cause you girl cause you girl girl cause you girl girlim just sitting in the studio just trying to get to you baby but this song so fucking dope girl its hard for me not to blaze it to tell the truth wish it was you in this booth that i was blazin so im just sitting in the studio just trying to get to you babythrow and loc your pussy girl you knowing that your nigga faded can i hit that pussy way i wanna while this record playin put my tongue in different places play a game of operation nananana lanlalala you get what im sayin no methaphors nothing like that im keeping it straight to the point with you imma put this dick up all insideofyouim just sitting in the studio just trying to get to you baby but this song so fucking dope girl its hard for me not to blaze it to tell the truth wish it was you in this booth that i was blazin so im just sitting in the studio just trying to get to you babyim just sitting in the studio just trying to get to you baby but this song so fucking dope girl its hard for me not to blaze it to tell the truth wish it was you in this booth that i was blazin so im just sitting in the studio just trying to get to you baby ",1
97,"0 to 100  the catch up","drake",2014,"part i 0 to 100 verse 1 fuck bein on some chill shit we go 0 to 100 nigga real quick they be on that raptopaythebill shit and i dont feel that shit not even a little bit oh lord know yourself know your worth nigga my actions been louder than my words nigga how you so high but still so down to earth nigga if niggas wanna do it we can do it on they turf nigga oh lord im the rookie and the vet shoutout to the bitches out here holdin down the set all up in my phone lookin at pictures from the other night she gon be upset if she keep scrollin to the left dawg she gon see some shit that she dont wanna see she aint ready for it if i aint the greatest then im headed for it that mean im way up the 6 aint friendly but its where i lay up this shit a mothafuckin lay up i been steph curry with the shot been cookin with the sauce chef curry with the pot boy 360 with the wrist boy who the fuck them niggas is boy ovo man we really with the shits boy really with the shits i should prolly sign to hitboy cause i got all the hits boy fuck all that drake you gotta chill shit i be on my lil mouse drill shit fuck all that raptopayyourbill shit im on some raptorspaymybills shit all up on tv i thought itd make me richer wasnt payin me enough i needed somethin quicker so now im all in nikos basement puttin work in on the phones either that or drive to money mart to make the pickups man its 2008 im tryna paint the picture comeback season in the works and now im thinkin bigger i got 40 in the studio every night late night gotta watch that shit dont want to make him sicker thats my nigga oh lord got a whole lot to show for it i mean we can really get it we can go for it im just here for the bucks and the billis nigga dont make me kill one of the goats for it i run this shit they like go forrest run forrest run forrest go forrest yeah i mean you already wrote for us damn nigga whats one more quote for us oh lord who else soundin like this they aint make me what i am they just found me like this i was ready fuck that ive been ready since my dad used to tell me he was comin to the house to get me he aint show up valuable lesson man i had to grow up thats why i never ask for help ill do it for you niggas and do it for myself outro i go 0 to 100 nigga real quick real quick whole squad on that real shit 0 to 100 nigga real quick real quick real fuckin quick nigga 0 to 100 nigga real quick real quick whole squad on that real shit 0 to 100 nigga real quick real quick real fuckin quick nigga part ii the catch up bridge whole squad on that real shit whole squad on that real shit whole squad on that real shit verse 2 the other night lavish lee told me that im all these people listen to she said they love me unconditional imagine how it feel to watch another nigga at the top you know that if you wasnt you you would be dissin you dawg damn okay from that perspective i see what youre talkin bout no way to soften that cause me i was tryna find out where i lost em at but maybe i aint lose em at all maybe i keep movin forward and theyre just stagnant they aint movin at all but when they need a favor who do they call maybe im searchin for the problems askin what was said and who was involved too focused on peoples feedback and provin em wrong they say the shoe can always fit no matter whose foot its on these days feel like im squeezin in em whoever wore em before just wasnt thinkin big enough im bout to leave em with em cause if i run in the game in these man the seams are splittin no pun intended but theyre smellin defeat in the air headed where nobody took it who meetin me there they tell him that hes talkin crazy but he doesnt care bein humble dont work as well as bein aware listen up boy youre better off eavesdroppin we already got spring 2015 poppin pnd droppin repsup p droppin majid jordan droppin ob droppin not to mention me droppin feel like we paid the refs off man we fixed the game me and noel been at it before twitter names yeah been on the move like the lease is up and i cant even name one person thats keepin up damn fuck how it was in the past tense ask yourself how do we match up now cause im only 27 and im only gettin better if i havent passed you yet watch me catch up now forreal outro james blake  9 could it be the way that ill catch up",3
98,"i dont dance","lee brice",2014," ill never settle down thats what i always thought yeah i was that kind of man just ask anyonei dont dance but here i am spinning you around and around in circles it aint my style but i dont care id do anything with you anywhere yes you got me in the palm of your hand cause i dont danceloves never come my way ive never been this far cause you took these two left feet and waltzed away with my heartno i dont dance but here i am spinning you around and around in circles it aint my style but i dont care id do anything with you anywhere yes you got me in the palm of your hand girl cause i dont dance no i dont dancei dont dance but here i am spinning you around and around in circles it aint my style but i dont care well id do anything with you anywherei dont dance but here i am spinning you around and around in circles it aint my style but i dont care id do anything with you anywhere yeah you got me in the palm of your hand girl cause i dont danceno ooh ",1
99,"somethin bad","miranda lambert and carrie underwood",2014," stand on the bar stomp your feet get clapping got a real good feeling something bad about to happenoh oh oh oh oh oh oh oh oh oh oh ohpulled up to the church but i got so nervous had to back it on up couldnt make it to the service grabbed all the cash underneath my mattress got a real good feelin something bad about to happenoh oh oh oh oh ohran into a girl in a pretty white dress rolled down a window where you heading to next said im heading to the bar with my money out of the mattress got a real good feeling something bad about to happenoh oh oh oh oh ohstand on the bar stomp your feet start clapping i got a real good feeling something bad about to happen drinks keep coming throw my head back laughing wake up in the morning dont know what happened whoah something bad whoah something badnow me and that girl that i met on the street were rollin down the road down to new orleans got a full tank of gas and the money out of the mattress got a real good feelin something bad about to happenoh oh oh oh oh ohbout to tear it up down in new orleans just like a reallife thelma  louise if the cops catch up theyre gonna call it kidnapping got a real good feelin something bad about to happenoh oh oh oh oh ohstand on the bar stomp your feet start clapping i got a real good feeling something bad about to happen ooh drinks keep coming throw my head back laughing wake up in the morning dont know what happened whoah something bad whoah something badstand on the bar stomp your feet start clapping got a real good feeling something bad about to happen now the drinks keep coming throw my head back laughing wake up in the morning dont know what happened yeah yeah yeah whoah something bad whoah something bad ",1
100,"adore you","miley cyrus",2014," ah hey ah ohbaby baby yeah are you listenin wondering where youve been all my life i just started living oh baby are you listenin ohwhen you say you love me know i love you more when you say you need me know i need you more boy i adore you i adore youbaby can ya hear me when im crying out for you im scared oh so scared when youre near me i feel like im standing with an army of men armed with weapons hey ohwhen you say you love me know i love you more when you say you need me know i need you more boy i adore you i adore youi love lying next to you i could do this for eternity you and me were meant to be in holy matrimony god knew exactly what he was doing when he lead me to youwhen you say you love me know i love you more when you say you need me know i need you more boy i adore you i adore youwhen you say you love me know i love you more when you say you need me know i need you more boy i adore you i adore you ",1
1,"uptown funk","mark ronson featuring bruno mars",2015," this hit that ice cold michelle pfeiffer that white gold this one for them hood girls them good girls straight masterpieces stylin whilen livin it up in the city got chucks on with saint laurent got kiss myself im so prettyim too hot hot damn called a police and a fireman im too hot hot damn make a dragon wanna retire man im too hot hot damn say my name you know who i am im too hot hot damn am i bad bout that money break it downgirls hit your hallelujah whoo girls hit your hallelujah whoo girls hit your hallelujah whoo cause uptown funk gon give it to you cause uptown funk gon give it to you cause uptown funk gon give it to you saturday night and we in the spot dont believe me just watch come ondont believe me just watch uhdont believe me just watch dont believe me just watch dont believe me just watch dont believe me just watch hey hey hey oh    meaning  byamandah   editor    70s girl group the sequence accused bruno mars and producer mark ronson of ripping their sound off in uptown funk their song in question is funk you    see all   stop wait a minute fill my cup put some liquor in it take a sip sign a check julio get the stretch ride to harlem hollywood jackson mississippi if we show up we gon show out smoother than a fresh jar of skippyim too hot hot damn called a police and a fireman im too hot hot damn make a dragon wanna retire man im too hot hot damn bitch say my name you know who i am im too hot hot damn am i bad bout that money break it downgirls hit your hallelujah whoo girls hit your hallelujah whoo girls hit your hallelujah whoo cause uptown funk gon give it to you cause uptown funk gon give it to you cause uptown funk gon give it to you saturday night and we in the spot dont believe me just watch come ondont believe me just watch uhdont believe me just watch uh dont believe me just watch uh dont believe me just watch dont believe me just watch hey hey hey ohbefore we leave lemmi tell yall a lil something uptown funk you up uptown funk you up uptown funk you up uptown funk you up uh i said uptown funk you up uptown funk you up uptown funk you up uptown funk you upcome on dance jump on it if you sexy then flaunt it if you freaky then own it dont brag about it come show mecome on dance jump on it if you sexy then flaunt it well its saturday night and we in the spot dont believe me just watch come ondont believe me just watch uhdont believe me just watch uh dont believe me just watch uh dont believe me just watch dont believe me just watch hey hey hey ohuptown funk you up uptown funk you up say what uptown funk you up uptown funk you up uptown funk you up uptown funk you up say what uptown funk you up uptown funk you up uptown funk you up uptown funk you up say what uptown funk you up uptown funk you up uptown funk you up uptown funk you up say what uptown funk you up ",1
2,"thinking out loud","ed sheeran",2015," when your legs dont work like they used to before and i cant sweep you off of your feet will your mouth still remember the taste of my love will your eyes still smile from your cheeksand darling i will be loving you til were 70 and baby my heart could still fall as hard at 23 and im thinking bout how people fall in love in mysterious ways maybe just the touch of a hand oh me i fall in love with you every single day and i just wanna tell you i amso honey now take me into your loving arms kiss me under the light of a thousand stars place your head on my beating heart im thinking out loud maybe we found love right where we arewhen my hairs all but gone and my memory fades and the crowds dont remember my name when my hands dont play the strings the same way mm i know you will still love me the samecause honey your soul can never grow old its evergreen baby your smiles forever in my mind and memoryim thinking bout how people fall in love in mysterious ways maybe its all part of a plan ill just keep on making the same mistakes hoping that youll understandbut baby now take me into your loving arms kiss me under the light of a thousand stars place your head on my beating heart im thinking out loud that maybe we found love right where we are ohah la la la la la la la la la la la laso baby now take me into your loving arms kiss me under the light of a thousand stars oh darling place your head on my beating heart im thinking out loud that maybe we found love right where we areoh maybe we found love right where we are and we found love right where we are ",1
3,"see you again","wiz khalifa featuring charlie puth",2015," its been a long day without you my friend and ill tell you all about it when i see you again weve come a long way from where we began oh ill tell you all about it when i see you again when i see you again heywiz khalifa dang who knew all the planes we flew good things weve been through that ill be standing right here talking to you bout another path i know we loved to hit the road and laugh but something told me that it wouldnt last had to switch up look at things different see the bigger picture those were the days hard work forever pays now i see you in a better place see you in a better placeuh how can we not talk about family when familys all that we got everything i went through you were standing there by my side and now you gon be with me for the last ride    meaning  byjamesg   editor    see you again is a song recorded by american rapper wiz khalifa featuring american singer charlie puth the track is part of the soundtrack of the 2015    see all   charlie puth its been a long day without you my friend and ill tell you all about it when i see you again i see you again weve come a long way yeah we came a long way from where we began you know we started oh ill tell you all about it when i see you again let me tell you when i see you againaah oh aah oh woooohohohohohoh yeahwiz khalifa first you both go out your way and the vibe is feeling strong and whats small turn to a friendship a friendship turn to a bond and that bond will never be broken the love will never get lost and the love will never get lost and when brotherhood come first then the line will never be crossed established it on our own when that line had to be drawn and that line is what we reach so remember me when im gone remember me when im gonehow can we not talk about family when familys all that we got everything i went through you were standing there by my side and now you gon be with me for the last ridecharlie puth so let the light guide your way yeah hold every memory as you go and every road you take will always lead you home homeits been a long day without you my friend and ill tell you all about it when i see you again weve come a long way from where we began oh ill tell you all about it when i see you again when i see you againaah oh uh aah oh yeah woooohohohohohoh ya ya when i see you again uh see you again woooohohohohohoh yeah yeah uhhuh when i see you again ",1
4,"trap queen","fetty wap",2015," im like hey wassup hello seen yo pretty ass soon as you came in the door i just wanna chill got a sack for us to roll married to the money introduced her to my stove showed her how to whip it now she remix it for low she my trap queen let her hit the bando we be counting up watch how far them bands go we just selling dope talking matching lambos got 50 60 grams prob 100 grams though man i swear i love her how she work that damn pole hit the strip club we be letting bands go everybody hating we just call them fans though in love with the money i aint never letting goand i get high with my baby i just left the mall im getting fly with my baby yeahh and i get right with my baby i be in the kitchen cooking pies with my baby yeahh    meaning  byjamesg   editor    trap queen is the debut single by american rapper fetty wap aka willie maxwell taken from his eponymous debut studio album fetty wap 2015 the song    see all   and i get right with my baby i just left the mall im getting fly with my baby yeahh and i get right with my baby i be in the kitchen cooking pies with my baby yeahhi hit the strip with my trap queen cause all we know is bands i might just snatch up a rari and buy my boo a lambo i might just snatch up a necklace drop a couple on a ring she aint want it for nothin because i got her everything bitch you up on the bando ride with me where i cant go remy boys got extendo count up hella bands tho ill fuck in your benz hoe fetty wap im living fifty thousand k how i stand tho if you checking for my pockets im likeand i get high with my baby i just left the mall im getting fly with my baby yeahh and i get right with my baby i be in the kitchen cooking pies with my baby yeahhand i get right with my baby i just left the mall im getting fly with my baby yeahh and i get right with my baby i be in the kitchen cooking pies with my babyim like hey wassup hello seen yo pretty ass soon as you came in the door i just wanna chill got a sack for us to roll married to the money introduced her to my stove showed her how to whip it now she remix it for low she my trap queen let her hit the bando we be counting up watch how far them bands go we just selling dope talking matching lambos got 50 60 grams prob 100 grams though man i swear i love her how she work that damn pole hit the strip club we be letting them bands go everybody hating we just call them fans though in love with the money i aint never letting goi be smoking dope and you know backwoods what i roll remy boy fetty eating shit up thats fasho ill run in ya house then ill fuck ya ho remy boyz are nuttin rereremy boyz are nuttin ",1
5,"sugar","maroon 5",2015," im hurting baby im broken down i need your loving loving i need it now when im without you im something weak you got me begging begging im on my kneesi dont wanna be needing your love i just wanna be deep in your love and its killing me when youre away ooh baby cause i really dont care where you are i just wanna be there where you are and i gotta get one little tasteyour sugar yes please wont you come and put it down on me im right here cause i need little love and little sympathy yeah you show me good loving make it alright need a little sweetness in my life your sugar yes please wont you come and put it down on memy broken pieces you pick them up dont leave me hanging hanging come give me some when im without ya im so insecure you are the one thing the one thing im living fori dont wanna be needing your love i just wanna be deep in your love and its killing me when youre away ooh baby cause i really dont care where you are i just wanna be there where you are and i gotta get one little tasteyour sugar yes please wont you come and put it down on me im right here cause i need little love and little sympathy yeah you show me good loving make it alright need a little sweetness in my life your sugar your sugar yes please yes please wont you come and put it down on meyeah i want that red velvet i want that sugar sweet dont let nobody touch it unless that somebodys me i gotta be a man there aint no other way cause girl youre hotter than southern california bayi dont wanna play no games i dont gotta be afraid dont give all that shy shit no make up on thats mysugar yes please wont you come and put it down on me down on me oh right here right here cause i need i need little love and little sympathy yeah you show me good loving make it alright need a little sweetness in my life your sugar sugar yes please yes please wont you come and put it down on meyour sugar yes please wont you come and put it down on me im right here cause i need little love and little sympathy yeah you show me good loving make it alright need a little sweetness in my life your sugar yes please wont you come and put it down on me down on me down on me ",1
6,"shut up and dance","walk the moon",2015," oh dont you dare look back just keep your eyes on me i said youre holding back she said shut up and dance with me this woman is my destiny she said oh oh oh shut up and dance with mewe were victims of the night the chemical physical kryptonite helpless to the bass and the fading light oh we were bound to get together bound to get togethershe took my arm i dont know how it happened we took the floor and she saidoh dont you dare look back just keep your eyes on me i said youre holding back she said shut up and dance with me this woman is my destiny she said oh oh oh shut up and dance with mea backless dress and some beat up sneaks my discotheque juliet teenage dream i felt it in my chest as she looked at me i knew we were bound to be together bound to be togethershe took my arm i dont know how it happened we took the floor and she saidoh dont you dare look back just keep your eyes on me i said youre holding back she said shut up and dance with me this woman is my destiny she said oh oh oh shut up and dance with medeep in her eyes i think i see the future i realize this is my last chanceshe took my arm i dont know how it happened we took the floor and she saidoh dont you dare look back just keep your eyes on me i said youre holding back she said shut up and dance with me this woman is my destiny she said oh oh oh shut up and danceoh dont you dare look back just keep your eyes on me i said youre holding back she said shut up and dance with me this woman is my destiny she said oh oh oh shut up and dance with meoh oh oh shut up dance with me oh oh oh shut up dance with me ",1
7,"blank space","taylor swift",2015," nice to meet you where you been i could show you incredible things magic madness heaven sin saw you there and i thought oh my god look at that face you look like my next mistake loves a game want to play new money suit and tie i can read you like a magazine aint it funny rumors fly and i know you heard about me so hey lets be friends im dying to see how this one ends grab your passport and my hand i can make the bad guys good for a weekendso its gonna be forever or its gonna go down in flames you can tell me when its over if the high was worth the pain got a long list of exlovers theyll tell you im insane cause you know i love the players and you love the gamecause were young and were reckless well take this way too far itll leave you breathless or with a nasty scar got a long list of exlovers theyll tell you im insane but ive got a blank space baby and ill write your name    meaning  byamandah   editor    watch taylor further explain the backstory behind blank space and totally nail an acoustic version at the clive davis theater    see all   cherry lips crystal skies i could show you incredible things stolen kisses pretty lies youre the king baby im your queen find out what you want be that girl for a month wait the worst is yet to come oh no screaming crying perfect storm i can make all the tables turn rose gardens filled with thorns keep you second guessing like oh my god who is she i get drunk on jealousy but youll come back each time you leave cause darling im a nightmare dressed like a daydreamso its gonna be forever or its gonna go down in flames you can tell me when its over if the high was worth the pain got a long list of exlovers theyll tell you im insane cause you know i love the players and you love the gamecause were young and were reckless well take this way too far itll leave you breathless or with a nasty scar got a long list of exlovers theyll tell you im insane insane but ive got a blank space baby and ill write your nameboys only want love if its torture dont say i didnt say i didnt warn ya boys only want love if its torture dont say i didnt say i didnt warn yaso its gonna be forever or its gonna go down in flames you can tell me when its over if the high was worth the pain got a long list of exlovers theyll tell you im insane cause you know i love the players and you love the gamecause were young and were reckless well take this way too far itll leave you breathless or with a nasty scar got a long list of exlovers theyll tell you im insane but ive got a blank space baby and ill write your name ",1
8,"watch me","silento",2015," now watch me whip kill it now watch me nae nae okay now watch me whip whip watch me nae nae want me do itnow watch me whip kill it watch me nae nae okay now watch me whip whip watch me nae nae can you do itnow watch meooh watch me watch me ooh watch me watch me ooh watch me watch me ooh ooh ooh oohooh watch me watch me ooh watch me watch me ooh watch me watch me ooh ooh ooh oohdo the stanky leg do the stanky leg do the stanky leg do the stanky leg do the stanky leg do the stanky leg do the stanky leg do the stanky legnow break your legs break your legs tell em break your legs break your legsnow break your legs break your legs now break your legs break your legsnow watch me bop bop bop bop bop bop bop bop now watch me bop bop bop bop bop bop bop bopnow watch me whip kill it now watch me nae nae okay now watch me whip whip watch me nae nae want me do itnow watch me whip kill it watch me nae nae okay now watch me whip whip watch me nae nae can you do itnow watch meooh watch me watch me ooh watch me watch me ooh watch me watch me ooh ooh ooh oohooh watch me watch me ooh watch me watch me ooh watch me watch me ooh ooh ooh oohnow watch me yule now watch superman now watch me yule now watch superman now watch me yule now watch superman now watch me yule now watch supermannow watch me duff duff duff duff duff duff duff duff hold on now watch me duff duff duff duff duff duff duff duff duffnow watch me bop bop bop bop bop bop bop bop now watch me bop bop bop bop bop bop bop bopnow watch me whip kill it now watch me nae nae okay now watch me whip whip watch me nae nae want me do itnow watch me whip kill it watch me nae nae okay now watch me whip whip watch me nae nae can you do itnow watch meooh watch me watch me ooh watch me watch me ooh watch me watch me ooh ooh ooh oohooh watch me watch me ooh watch me watch me ooh watch me watch me ooh ooh ooh ooh ",1
9,"earned it","the weeknd",2015," you make it look like its magic cause i see nobody nobody but you you you im never confused hey heyim so used to being used so i love when you call unexpected cause i hate when the moments expected so ima care for you you you ima care for you you you you yeah cause girl youre perfect youre always worth it and you deserve it the way you work it cause girl you earned it yeah girl you earned it yeahyou know our love would be tragic oh yeah so you dont pay it dont pay it no mind we live with no lies hey hey and youre my favourite kind of nightso i love when you call unexpected cause i hate when the moments expected so ima care for you you you ima care for you you you you yeah cause girl youre perfect girl youre perfect youre always worth it youre always worth it and you deserve it and you deserve it the way you work it the way you work it cause girl you earned it earned it yeah girl you earned it earned it yeahon that lonely night lonely night you said it wouldnt be love but we felt the rush felt the love it made us believe it there was only us only us convinced we were broken inside yeah inside yeahcause girl youre perfect girl youre perfect youre always worth it youre always worth it and you deserve it and you deserve it the way you work it the way you work it cause girl you earned it girl you earned it yeah girl you earned it you earned it yeahnana nana so girl youre worth it the way you work it you deserve it i can tell you ",1
10,"the hills","the weeknd",2015," your man on the road he doin promo you said keep our business on the lowlow im just tryna get you out the friend zone cause you look even better than the photos i cant find your house send me the info drivin through the gated residential found out i was comin sent your friends home keep on tryna hide it but your friends knowi only call you when its half past five the only time that ill be by your side i only love it when you touch me not feel me when im fucked up thats the real me when im fucked up thats the real me yeah i only fuck you when its half past five the only time id ever call you mine i only love it when you touch me not feel me when im fucked up thats the real me when im fucked up thats the real me babe    meaning  byjamesg   editor    the hills is the lead single of beauty behind the madness 2015 the second album of canadian recording artist the weeknd aka abel tesfaye the song    see all   imma let you know and keep it simple tryna keep it up dont seem so simple i just fucked two bitches fore i saw you and you gon have to do it at my tempo always tryna send me off to rehab drugs started feelin like its decaf im just tryna live life for the moment and all these motherfuckers want a relapsei only call you when its half past five the only time that ill be by your side i only love it when you touch me not feel me when im fucked up thats the real me when im fucked up thats the real me yeah i only fuck you when its half past five the only time id ever call you mine i only love it when you touch me not feel me when im fucked up thats the real me when im fucked up thats the real me babehills have eyes the hills have eyes who are you to judge who are you to judge hide your lies girl hide your lies only you to trust only youi only call you when its half past five the only time that ill be by your side i only love it when you touch me not feel me when im fucked up thats the real me when im fucked up thats the real me yeah i only fuck you when its half past five the only time id ever call you mine i only love it when you touch me not feel me when im fucked up thats the real me when im fucked up thats the real me babeewedihalehu yene konjo ewedihalehu yene fikir fikir fikir fikir yene fikir fikir fikir fikir ",1
11,"cheerleader","omi",2015," when i need motivation my one solution is my queen cause she stay strong yeah yeah she is always in my corner right there when i want her all these other girls are tempting but im empty when youre gone and they saydo you need me do you think im pretty do i make you feel like cheating and im like no not really causeoh i think that i found myself a cheerleader she is always right there when i need heroh i think that i found myself a cheerleader she is always right there when i need hershe walks like a model she grants my wishes like a genie in a bottle yeah yeah cause im the wizard of love and i got the magic wand all these other girls are tempting but im empty when youre gone and they saydo you need me do you think im pretty do i make you feel like cheating and im like no not really causeoh i think that i found myself a cheerleader she is always right there when i need heroh i think that i found myself a cheerleader she is always right there when i need hershe gives me love and affection baby did i mention youre the only girl for me no i dont need a next one mama loves you too she thinks i made the right selection now all thats left to do is just for me to pop the questionoh i think that i found myself a cheerleader she is always right there when i need heroh i think that i found myself a cheerleader she is always right there when i need her ",1
12,"cant feel my face","the weeknd",2015," and i know shell be the death of me at least well both be numb and shell always get the best of me the worst is yet to come but at least well both be beautiful and stay forever young this i know yeah this i knowshe told me dont worry about it she told me dont worry no more we both know we cant go without it she told me youll never be in love oh oh wooi cant feel my face when im with you but i love it but i love it oh i cant feel my face when im with you but i love it but i love it oh    memory  byamandah   editor    were kind of obsessed with alessia caras cover of cant feel my face for on air with ryan seacrest that voiceheart eyes    see all   and i know shell be the death of me at least well both be numb and shell always get the best of me the worst is yet to come all the misery was necessary when were deep in love this i know girl i knowshe told me dont worry about it she told me dont worry no more we both know we cant go without it she told me youll never be in love oh oh wooi cant feel my face when im with you but i love it but i love it oh i cant feel my face i cant feel nothing when im with you but i love it but i love it but i love it oh i cant feel my face when im with you but i love it but i love it but i love itbut i love it oh i cant feel my face when im with you but i love it but i love it but i love it but i love it ohshe told me dont worry about it she told me dont worry no more we both know we cant go without it she told me youll never be in love oh oh wooi cant feel my face when im with you i cant feel my face but i love itbut i love it but i love it oh i love it oh i cant feel my face when im with you said i cant feel my face but i love it but i love it but i love it ohi cant feel my face when im with you face when im with you but i love it but i love it but i love it dont you think i cant i cant feel my face when im with you i cant feel my face but i love it when im with you baby but i love it when im with you baby i cant feel my fa ",1
13,"love me like you do","ellie goulding",2015," youre the light youre the night youre the color of my blood youre the cure youre the pain youre the only thing i wanna touch never knew that it could mean so much so muchyoure the fear i dont care cause ive never been so high follow me to the dark let me take you past our satellites you can see the world you brought to life to lifeso love me like you do lololove me like you do love me like you do lololove me like you do touch me like you do tototouch me like you do what are you waiting for  meaning  byrobeg03     maybe her accent is just really thick but i heard youre the cutter of my blood and interpreted as if youre cut then you bleed if your blood is flowing    see all   fading in fading out on the edge of paradise every inch of your skin is a holy gray ive got to find only you can set my heart on fire on fire yeah ill let you set the pace cause im not thinking straight my head spinning around i cant see clear no more what are you waiting forlove me like you do lololove me like you do love me like you do lololove me like you do touch me like you do tototouch me like you do what are you waiting forlove me like you do lololove me like you do like you do love me like you do lololove me like you do yeah touch me like you do tototouch me like you do what are you waiting forill let you set the pace cause im not thinking straight my head spinning around i cant see clear no more what are you waiting forlove me like you do lololove me like you do like you do love me like you do lololove me like you do yeah touch me like you do tototouch me like you do what are you waiting forlove me like you do lololove me like you do like you do love me like you do lololove me like you do yeah touch me like you do tototouch me like you do what are you waiting for ",1
14,"take me to church","hozier",2015," my lovers got humour shes the giggle at a funeral knows everybodys disapproval i shouldve worshipped her sooner if the heavens ever did speak she is the last true mouthpiece every sundays getting more bleak a fresh poison each week we were born sick you heard them say it my church offers no absolutes she tells me worship in the bedroom the only heaven ill be sent to is when im alone with you i was born sick but i love it command me to be well amen amen amentake me to church ill worship like a dog at the shrine of your lies ill tell you my sins and you can sharpen your knife offer me that deathless death good god let me give you my lifetake me to church ill worship like a dog at the shrine of your lies ill tell you my sins and you can sharpen your knife offer me that deathless death good god let me give you my life  meaning  bymoneyboss     i think this is a good song its about a guy who is in love with this girl but he didnt know it before hand and he wants to do anything to give her what she    see all   if im a pagan of the good times my lovers the sunlight to keep the goddess on my side she demands a sacrifice to drain the whole sea get something shiny something meaty for the main course thats a fine looking high horse what you got in the stable weve a lot of starving faithful that looks tasty that looks plenty this is hungry worktake me to church ill worship like a dog at the shrine of your lies ill tell you my sins and you can sharpen your knife offer me that deathless death good god let me give you my lifetake me to church ill worship like a dog at the shrine of your lies ill tell you my sins and you can sharpen your knife offer me that deathless death good god let me give you my lifeno masters or kings when the ritual begins there is no sweeter innocence than our gentle sin in the madness and soil of that sad earthly scene only then i am human only then i am clean amen amen amentake me to church ill worship like a dog at the shrine of your lies ill tell you my sins and you can sharpen your knife offer me that deathless death good god let me give you my lifetake me to church ill worship like a dog at the shrine of your lies ill tell you my sins and you can sharpen your knife offer me that deathless death good god let me give you my life ",1
15,"bad blood","taylor swift featuring kendrick lamar",2015," cause baby now we got bad blood you know it used to be mad love so take a look at what youve done cause baby now we got bad bloodhey now we got problems and i dont think we can solve them you made a really deep cut and baby now we got bad bloodhey did you have to do this i was thinking that you could be trusted did you have to ruin what was shining now its all rusted did you have to hit me where im weak baby i couldnt breathe i rubbed it in so deep salt in the wound like youre laughing right at me oh its so sad to think about the good times you and icause baby now we got bad blood you know it used to be mad love so take a look at what youve done cause baby now we got bad blood    meaning  byjamesg   editor    bad blood is a pop song by american singer taylor swift featuring american rapper kendrick lamar on the remixed version it is the fourth single from her    see all   hey now we got problems and i dont think we can solve them you made a really deep cut and baby now we got bad bloodhey did you think wed be fine still got scars on my back from your knife so dont think its in the past these kind of wounds they last and they last now did you think it all through all these things will catch up to you and time can heal but this wont so if you come in my way just dont oh its so sad to think about the good times you and icause baby now we got bad blood you know it used to be mad love so take a look at what youve done cause baby now we got bad bloodhey now we got problems and i dont think we can solve them you made a really deep cut and baby now we got bad bloodhey bandaids dont fix bullet holes you say sorry just for show you live like that you live with ghosts ghosts bandaids dont fix bullet holes hey you say sorry just for show hey you live like that you live with ghosts hey hm if you love like that blood runs coldcause baby now we got bad blood you know it used to be mad love so take a look at what youve done cause baby now we got bad bloodhey now we got problems and i dont think we can solve them think we can solve them you made a really deep cut and baby now we got bad bloodcause now we got bad blood cause baby now we got bad blood you know it used to be mad love so take a look at what youve done look at what youve done cause baby now we got bad blood woah now we got problems and i dont think we can solve them you made a really deep cut and baby now we got bad blood hey ",1
16,"lean on","major lazer and dj snake featuring mo",2015," do you recall not long ago we would walk on the sidewalk innocent remember all we did was care for each otherbut the night was warm we were bold and young all around the wind blows we would only hold on to let goblow a kiss fire a gun we need someone to lean on blow a kiss fire a gun all we need is somebody to lean on    meaning  byjamesg   editor    lean on is a song recorded by american edm group major lazer and french producer dj snake taken from the formers third studio album peace is the mission    see all   blow a kiss fire a gun we need someone to lean on blow a kiss fire a gun all we need is somebody to lean onwhat will we do when we get old will we walk down the same road will you be there by my side standing strong as the waves roll overwhen the nights are long longing for you to come home all around the wind blows we would only hold on to let goblow a kiss fire a gun we need someone to lean on blow a kiss fire a gun all we need is somebody to lean onblow a kiss fire a gun we need someone to lean on blow a kiss fire a gun all we need is somebody to lean onall we need is somebody to lean on all we need is somebody to lean onblow a kiss fire a gun we need someone to lean on blow a kiss fire a gun all we need is somebody to lean onblow a kiss fire a gun we need someone to lean on blow a kiss fire a gun all we need is somebody to lean on ",1
17,"want to want me","jason derulo",2015," its too hard to sleep i got the sheets on the floor nothing on me and i cant take it no more its a hundred degrees i got one foot out the door where are my keys cause i gotta leave yeah in the back of the cab i tipped the driver head of time get me there fast i got your body on my mind i want it bad oh just the thought of you gets me so high so highgirl youre the one i want to want me and if you want me girl you got me theres nothing i no i wouldnt do i wouldnt do just to get up next to yougirl youre the one i want to want me and if you want me girl you got me theres nothing i no i wouldnt do i wouldnt do just to get up next to you just to get up next to youyou open the door wearing nothing but a smile down to the floor and you whisper in my ear baby im yours ooh just the thought of you gets me so high so high so highgirl youre the one i want to want me and if you want me girl you got me theres nothing i no i wouldnt do i wouldnt do just to get up next to yougirl youre the one i want to want me and if you want me girl you got me theres nothing i no i wouldnt do i wouldnt do just to get up next to you just to get up next to youjust the thought of you gets me so high so high oh just the thought of you gets me so high so highgirl youre the one i want to want me and if you want me girl you got me theres nothing i no i wouldnt do i wouldnt do just to get up next to yougirl youre the one i want to want me and if you want me girl you got me theres nothing i no i wouldnt do i wouldnt do just to get up next to youi would do anything just to get up next to you anything and everything just to get up next to youjust to get up next to you ",1
18,"shake it off","taylor swift",2015," i stay up too late got nothing in my brain thats what people say mmm thats what people say mm i go on too many dates but i cant make em stay at least thats what people say mmm thats what people say mmmbut i keep cruising cant stop wont stop moving its like i got this music in my body and its gonna be alrightcause the players gonna play play play play play and the haters gonna hate hate hate hate hate baby im just gonna shake shake shake shake shake i shake it off i shake it off heartbreakers gonna break break break break break and the fakers gonna fake fake fake fake fake baby im just gonna shake shake shake shake shake i shake it off i shake it offill never miss a beat im lightning on my feet and thats what they dont see mmm thats what they dont see mmm im dancing on my own dancing on my own ill make the moves up as i go moves up as i go and thats what they dont know mmm thats what they dont know mmmbut i keep cruising cant stop wont stop grooving its like i got this music in my body saying its gonna be alrightcause the players gonna play play play play play and the haters gonna hate hate hate hate hate baby im just gonna shake shake shake shake shake i shake it off i shake it off heartbreakers gonna break break break break break and the fakers gonna fake fake fake fake fake baby im just gonna shake shake shake shake shake i shake it off i shake it offi i shake it off i shake it off i i shake it off i shake it off i i shake it off i shake it off i i shake it off i shake it offhey hey hey just think while youve been getting down and out about the liars and dirty dirty cheats in the world you could have been getting down to this sick beatmy exman brought his new girlfriend shes like oh my god but im just gonna shake it and to the fella over there with the hella good hair wont you come on over baby we can shake shake shakecause the players gonna play play play play play and the haters gonna hate hate hate hate hate baby im just gonna shake shake shake shake shake i shake it off i shake it off heartbreakers gonna break break break break break and the fakers gonna fake fake fake fake fake baby im just gonna shake shake shake shake shake i shake it off i shake it offi i shake it off i shake it off i i shake it off i shake it off i i shake it off i shake it off i i shake it off i shake it off i shake it off i shake it off i i shake it off i shake it off i i shake it off i shake it off i i shake it off i shake it off ",1
19,"where are ""u now","skrillex and diplo featuring justin bieber",2015," i need you i need you i need you i need you i need you i need you i need you i need you i need you i need you i need you the mosti gave you the key when the door wasnt open just admit it see i gave you faith and you doubted it open cant deny it now im all alone and my choice to the open tell me he where are you now that i need ya where are you now where are you now where are you now that i need ya couldnt find you anywhere when you broke down i didnt leave ya i was by your side so where are you now that i need yawhere are you now that i need ya where are you now that i need ya where are you now that i need ya where are you now that i need yai gave you attention when nobody else was payin i gave you the shirt off my back whatchu sayin to keep you warm i showed you the game everybody else was playin thats for sure and i was on my knees when nobody else was prayin oh lordwhere are you now that i need ya where are you now that i need ya i need you i need you i need you i need you i need you where are you now that i need ya i need you i need you i need you i need you i need you i need you the mostwhere are you now that i need ya where are you now that i need ya where are you now that i need yai need you the most i need you the most i need you the most ",1
20,"fight song","rachel platten",2015," like a small boat on the ocean sending big waves into motion like how a single word can make a heart open i might only have one match but i can make an explosionand all those things i didnt say wrecking balls inside my brain i will scream them loud tonight can you hear my voice this timethis is my fight song take back my life song prove im alright song my powers turned on starting right now ill be strong ill play my fight song and i dont really care if nobody else believes cause ive still got a lot of fight left in melosing friends and im chasing sleep everybodys worried about me in too deep say im in too deep in too deep and its been two years i miss my home but theres a fire burning in my bones still believe yeah i still believeand all those things i didnt say wrecking balls inside my brain i will scream them loud tonight can you hear my voice this timethis is my fight song take back my life song prove im alright song my powers turned on starting right now ill be strong ill play my fight song and i dont really care if nobody else believes cause ive still got a lot of fight left in mea lot of fight left in melike a small boat on the ocean sending big waves into motion like how a single word can make a heart open i might only have one match but i can make an explosionthis is my fight song take back my life song prove im alright song my powers turned on starting right now ill be strong ill be strong ill play my fight song and i dont really care if nobody else believes cause ive still got a lot of fight left in meknow ive still got a lot of fight left in me ",1
21,"679","fetty wap featuring remy boyz",2015," baby girl youre so damn fine though im tryna know if i could hit it from behind though im sipping on you like some fine wine though and when its over i press rewind though you talking bands girl i got it benjamins all in my pocket i traded in my trues for some robins he playing batman fettys gon rob him i got a glock in my rari 17 shots no 38 i got a glock in my rari 17 shots no 38im like yeah shes fine wonder when shell be mine she walk past i press rewind to see that ass one more time and i got this sewed up remy boyz they know us all fast money no slow bucks no one can control us ay yeaaah baby    meaning  byjamesg   editor    679 is the second single by american rapper fetty wap aka willie maxwell taken from his eponymous debut studio album fetty wap 2015 the song    see all   tell me what you see is it money or its me i smoke twenty smell the weed i got hunnies in my v they like monty can you be my baby daddy im like yeah i got robins on my jeans you see the wings on every pair all you see is remy boyz you know my niggas everywhere and if somebody got a problem we could meet up anywhere now go say something dont you niggas play dumb you know where we came from you dont want sauce no a1im like yeah shes fine wonder when shell be mine she walk past i press rewind to see that ass one more time and i got this sewed up remy boyz they know us all fast money no slow bucks no one can control us ay yeaaah babyshe a cutie and she fine make me wanna make her mine she aint nothing like them bimbos if you like it we can swerve we can light and stain up here blowing pluck it out the window dj playing press rewind got her singing every time take a high note for me girlfriend got my city looking rude i aint diddy i aint loon but i think i need a girlfriend she feeling great as im talking to her she a remygirl so im gon pursue her i brought a lot of loud lot of remy to sip on thousand dollars when i get my tip on im off her asked her if her fatty with it she said thats all her got her with the happy feel im bouta spoil her got her with the happy feel im bouta spoil her oh myim like yeah shes fine wonder when shell be mine she walk past i press rewind to see that ass one more time and i got this sewed up remy boyz they know us all fast money no slow bucks no one can control us ay yeaaah baby ",1
22,"lips are movin","meghan trainor",2015," if your lips are moving if your lips are moving if your lips are moving then youre lyin lyin lyin baby if your lips are moving if your lips are moving if your lips are moving then youre lyin lyin lyin babyboy look at me in my face tell me that youre not just about this bass you really think i could be replaced nah i come from outer space and im a classy girl imma hold it up youre full of something but it aint love and what we got straight overdue go find somebody newyou can buy me diamond earrings and denynyny nynyny denyny but i smell her on your collar so goodbyebyebye byebyebyei know you lie cause your lips are moving tell me do you think im dumb i might be young but i aint stupid talking around in circles with your tongue i gave you bass you gave me sweet talk saying how im your number one but i know you lie cause your lips are moving baby dont you know im doneif your lips are moving if your lips are moving if your lips are moving then youre lyin lyin lyin baby if your lips are moving if your lips are moving if your lips are moving then youre lyin lyin lyin babyhey baby dont you bring them tears cause its too late too late baby you only love me when youre here youre so twofaced twofaced babeyou can buy me diamond earrings and denynyny nynyny denyny but i smell her on your collar so goodbyebyebye byebyebyei know you lie cause your lips are moving tell me do you think im dumb i might be young but i aint stupid talking around in circles with your tongue i gave you bass you gave me sweet talk saying how im your number one but i know you lie cause your lips are moving baby dont you know im donecome on sayif your lips are moving if your lips are moving if your lips are moving then youre lyin lyin lyin if your lips are moving if your lips are moving if your lips are moving then youre lyin lyin lyini know you lie cause your lips are moving tell me do you think im dumb i might be young but i aint stupid talking around in circles with your tongue i gave you bass you gave me sweet talk saying how im your number one but i know you lie cause your lips are moving baby dont you know im done ",1
23,"worth it","fifth harmony featuring kid ink",2015," give it to me im worth it baby im worth it uh huh im worth it gimme gimme im worth it give it to me im worth it baby im worth it uh huh im worth it gimme gimme im worth itokay i tell her bring it back like she left somethin bring it bring it back like she left somethin uh in the club with the lights off what you actin shy for come and show me that youre wit it wit it wit it wit it stop playin now you know im wit it wit it wit it wit it wit it what you actin shy forjust gimme you just gimme you just gimme you thats all i wanna do and if what they say is true if its true i wont get mad at you i may talk a lot of stuff guaranteed i can back it up i think imma call your bluff hurry up im walkin out frontuh huh you see me in the spot like ooh i love your style uh huh show me what you got cause i dont wanna waste my time uh huh see me in the spot like ooh i love your style uh huh show me what you got now come and make it worth my while    meaning  byjamesg   editor    worth it is a song by american girl group fifth harmony featuring american rapper kid ink it is the third single from their debut studio album reflection    see all   give it to me im worth it baby im worth it uh huh im worth it gimme gimme im worth it give it to me im worth it baby im worth it uh huh im worth it gimme gimme im worth itits all on you its all on you its all on you so what you wanna do and if you dont have a clue not a clue ill tell you what to do come harder just because i dont like it like it too soft i like it a little rough not too much but maybe just enoughuh huh you see me in the spot like ooh i love your style uh huh show me what you got cause i dont wanna waste my time uh huh see me in the spot like ooh i love your style uh huh show me what you got now come and make it worth my whilegive it to me im worth it baby im worth it uh huh im worth it gimme gimme im worth it give it to me im worth it know what i mean baby im worth it give me everything uh huh im worth it gimme gimme im worth itokay i tell her bring it back like she left somethin bring it bring it back like she left somethin uh in the club with the lights off what you actin shy for come and show me that youre wit it wit it wit it wit it stop playin now you know im wit it wit it wit it wit it wit it what you actin shy foruh huh you see me in the spot like ooh i love your style uh huh show me what you got cause i dont wanna waste my time uh huh see me in the spot like ooh i love your style uh huh show me what you got now come and make it worth my whilegive it to me im worth it baby im worth it uh huh im worth it gimme gimme im worth it give it to me im worth it know what i mean baby im worth it give me everything uh huh im worth it gimme gimme im worth itgive it to me im worth it ",1
24,"post to be","omarion featuring chris brown and jhene aiko",2015," omarion breezy your chickyour chickif your chick come close to me she aint going home when she post to be no im getting money like im post to be im getting money like im post to be oh all my niggas close to me and all them other niggas where they post to be oh the hoes go for me have your chick send a pic like pose for me oh thats how it post to be yo thats how it post to be oh yo thats how it post to be everything good like it post to bepull up to the club and it go up go up make your girl fall in love when i show up its not my fault she wanna know me she told me you was just a homie she came down like she knew me gave it up like a groupie true and thats facts no printer no printer cold nigga turn the summer to the winter she save me in her phone as bestie but i had her screaming oh yo girl wasnt supposed to text me nope you want to know how i know what i knowif your chick come close to me she aint going home when she post to be no im getting money like im post to be im getting money like im post to be oh all my niggas close to me and all them other niggas where they post to be oh the hoes go for me have your chick send a pic like pose for me oh thats how it post to be yo thats how it post to be yo thats how it post to be everything good like it post to begot your girl in my section finna blow up a nigga smoking loud im about to roll up she aint never got high like this with a guy like this when she pop tell her hol up better believe she gone leave with a real nigga i dick her down cant put it down like i do i get to bussin no discussin gotta deal with it team us we aint worried about you murder she wrote yeah yeah when i hit it imma kill it imma get it like murder she wrote you want to know how i know what i knowif your dude come close to me he gon want to ride off in a ghost with me ill make him do it i might let your boy chauffeur me but he got to eat the booty like groceries but he gotta get rid of these hoes from me i might have that nigga sailing his soul for me ooh thats how it post to be if he wants me to expose the freak ooh thats how it post to be ooh thats how it post to be ooh thats how it post to be everything good like it post to be oohif your chick come close to me if she come close to me she aint going home when she post to be oh yeah im getting money like im post to be post to be im getting money like im post to be oh im getting money all my niggas close to me and all them other niggas where they post to be oh yeah yeah girl the hoes go for me have your chick send a pic like pose for me oh girl thats how it post to be yeah yo thats how it post to be girl yo thats how it post to be ay everything good like it post to beshe bout to ride down with me and i dont even know her name no name but i know that she your girl your girl she chose up are you mad or nah bruh dont be mad about it these chicks be for everybodyomarion cbreezy ill make em do it ill make em do it ",1
25,"honey im good","andy grammer",2015," nah nah honey im good i could have another but i probably should not ive got somebody at homeverse 1 its been a long night here and a long night there and these long long legs are danm near everywhere hold up now you look good i will not lie but if you ask where im staying tonight i gotta be like oh baby no baby you got me all wrong baby my babys already got all of my lovechorus so nah nah honey im good i could have another but i probably should not ive got somebody at home and if i stay i might not leave alone no honey im good i could have another but i probably should not ive got to bid you adieu to another i will stay true oo oo i will stay true who who i will stay trueverse 2 now better men than me have failed drinking from that unholy grail now check it out ive got her and she got me and youve got that butt but i kindly gotta be like oh baby no baby you got me all wrong baby my babys already got all of my lovechorus so nah nah honey im good i could have another but i probably should not ive got somebody at home and if i stay i might not leave alone no honey im good i could have another but i probably should not ive got to bid you adieu to another i will stay true oo oo i will stay true who who i will stay truebridge oh im sure ya sure ya will make somebodys night but oh i assure ya assure ya it sure as hells not mineoh no honey im good i could have another but i probably should not ive got somebody at home and if i stay i might not leave alone no honey im good i could have another but i probably should not ive got to bid you adieu to another i will stay truechorus no no honey im good i could have another but i probably should not ive got somebody at home and if i stay i might not leave alone no honey im good i could have another but i probably should not ive got to bid you adieu to another i will stay true true ooo oooi will stay true x4 oh whoa oh ",1
26,"im not the only one","sam smith",2015," you and me we made a vow for better or for worse i cant believe you let me down but the proofs in a way it hurtsfor months on end ive had my doubts denying every tear i wish this would be over now but i know that i still need you hereyou say im crazy cause you dont think i know what youve done but when you call me baby i know im not the only oneyouve been so unavailable now sadly i know why your heart is unobtainable even though lord knows you kept mineyou say im crazy cause you dont think i know what youve done but when you call me baby i know im not the only onei have loved you for many years maybe i am just not enough youve made me realize my deepest fear by lying and tearing us upyou say im crazy cause you dont think i know what youve done but when you call me baby i know im not the only one you say im crazy cause you dont think i know what youve done but when you call me baby i know im not the only one i know im not the only one i know im not the only one and i know and i know and i know and i know and i know and i know know i know im not the only one ",1
27,"good for you","selena gomez featuring aap rocky",2015," im on my 14 carats im 14 carat doing it up like midas now you say i got a touch so good so good make you never wanna leave so dont so dontgonna wear that dress you like skintight do my hair up real real nice and syncopate my skin to your heart beatingcause i just wanna look good for you good for you i just wanna look good for you good for you let me show you how proud i am to be yours leave this dress a mess on the floor and still look good for you good for you    meaning  byjamesg   editor    good for you is the lead single by american singer selena gomezs second studio album revival 2015 it features rapper asap rocky who cowrote the track    see all   im on my marquise diamonds im a marquise diamond could even make that tiffany jealous you say i give it to you hard so bad so bad make you never wanna leave i wont i wontgonna wear that dress you like skintight do my hair up real real nice and syncopate my skin to how youre breathingcause i just wanna look good for you good for you i just wanna look good for you good for you let me show you how proud i am to be yours leave this dress a mess on the floor and still look good for you good for youtrust me i can take you there trust me i can take you there trust me i trust me i trust me ihold on take a minute love cause i aint trying to mess your image up like we mess around in triple cuffs stumble round town pull your zipper up pants sag like i dont give a i aint trying to mess your fitness up and i aint trying to get you into stuff but the way you touchin on me in the club rubbin on my miniature john hancock the signature any time i hit it know she feelin for it through and any time we get up always end up on the news aint worried bout no press and aint worried bout the next chick they love the way you dress and aint got shit up on you jackpot hit the jackpot just met a bad miss without the ass shots you look good girl you know you did good dont you you look good girl bet it feel good dont iti just wanna look good for you good for you baby let me be good to you good to you let me show you how proud i am to be yours leave this dress a mess on the floor and still look good for you good for youtrust me i trust me i trust me i ",1
28,"all about that bass","meghan trainor",2015," because you know im all about that bass bout that bass no treble im all bout that bass bout that bass no treble im all bout that bass bout that bass no treble im all bout that bass bout that bassyeah its pretty clear i aint no size two but i can shake it shake it like im supposed to do cause i got that boom boom that all the boys chase all the right junk in all the right places i see the magazines working that photoshop we know that shit aint real come on now make it stop if you got beauty beauty just raise em up cause every inch of you is perfect from the bottom to the top yeah my momma she told me dont worry about your size she says boys they like a little more booty to hold at night you know i wont be no stickfigure silicone barbie doll so if thats whats youre into then go ahead and move along    meaning  byamandah   editor    are you a phish fan the jamrockers have a song called contact that listeners claim trainor ripped off for all about that bass the cascading melody is    see all   because you know im all about that bass bout that bass no treble im all bout that bass bout that bass no treble im all bout that bass bout that bass no treble im all bout that bass bout that bassim bringing booty back go ahead and tell them skinny bitches hey no im just playing i know you think youre fat but im here to tell you that every inch of you is perfect from the bottom to the top yeah my momma she told me dont worry about your size she says boys they like a little more booty to hold at night you know i wont be no stickfigure silicone barbie dollso if thats whats youre into then go ahead and move alongbecause you know im all about that bass bout that bass no treble im all bout that bass bout that bass no treble im all bout that bass bout that bass no treble im all bout that bass bout that bassbecause you know im all about that bass bout that bass no treble im all bout that bass bout that bass no treble im all bout that bass bout that bass no treble im all bout that bass bout that bassbecause you know im all about that bass bout that bass no treble im all bout that bass bout that bass no treble im all bout that bass bout that bass no treble im all bout that bass bout that bass ",1
29,"style","taylor swift",2015," midnight you come and pick me up no headlights long drive could end in burning flames or paradise fade into view oh its been a while since i have even heard from you heard from you i should just tell you to leave cause i know exactly where it leads but i watch it go round and round each timeyou got that james dean daydream look in your eye and i got that red lip classic thing that you like and when we go crashing down we come back every time cause we never go out of style we never go out of style youve got that long hair slick back white tshirt and i got that good girl faith and a tight little skirt and when we go crashing down we come back every time cause we never go out of style we never go out of styleso it goes he cant keep his wild eyes on the road takes me home lights are off hes taking off his coat hm yeah i say ive heard that youve been out and about with some other girl some other girl he says what youve heard is true but i cant stop thinking about you and i i said ive been there too a few timescause you got that james dean daydream look in your eye and i got that red lip classic thing that you like and when we go crashing down we come back every time cause we never go out of style we never go out of style youve got that long hair slick back white tshirt and i got that good girl faith and a tight little skirt a tight little skirt and when we go crashing down we come back every time cause we never go we never go out of style we never go out of styletake me home just take me home yeah just take me home ohout of style you got that james dean daydream look in your eye and i got that red lip classic thing that you like and when we go crashing down we come back every time cause we never go out of style we never go out of style ",1
30,"hotline bling","drake",2015," you used to call me on my you used to you used to you used to call me on my cell phone late night when you need my love call me on my cell phone late night when you need my love i know when that hotline bling that can only mean one thing i know when that hotline bling that can only mean one thingever since i left the city you got a reputation for yourself now everybody knows and i feel left out girl you got me down you got me stressed out cause ever since i left the city you started wearing less and goin out more glasses of champagne out on the dance floor hangin with some girls ive never seen beforeyou used to call me on my cell phone late night when you need my love call me on my cell phone late night when you need my love i know when that hotline bling that can only mean one thing i know when that hotline bling that can only mean one thingever since i left the city you you you you and me we just dont get along you make me feel like i did you wrong going places where you dont belong ever since i left the city you you got exactly what you asked for running out of pages in your passport hanging with some girls ive never seen beforeyou used to call me on my cell phone late night when you need my love call me on my cell phone late night when you need my love i know when that hotline bling that can only mean one thing i know when that hotline bling that can only mean one thingthese days all i do is wonder if you bendin over backwards for someone else wonder if your rollin backwoods for someone else doing things i taught you gettin nasty for someone else you dont need no one else you dont need nobody else no why you never alone why you always touching road used to always stay at home be a good girl you was in the zone you should just be yourself right now youre someone elseyou used to call me on my cell phone late night when you need my love call me on my cell phone late night when you need my love i know when that hotline bling that can only mean one thing i know when that hotline bling that can only mean one thingever since i left the city ",1
31,"hey mama","david guetta featuring nicki minaj bebe rexha and afrojack",2015," be my woman girl imma be your man be my woman girl ill be your manyes i be your woman yes i be your baby yes i be whatever that you tell me when you ready yes i be your girl forever your lady you aint never gotta worry im down for you babybest believe that when you need that ill provide that you will always have it ill be on deck keep it in check when you need that imma let you have ityou beatin drum like dum di di dey i love the dirty rhythm you play i wanna hear you calling my name like hey mama mama hey mama mama hey banging the drum like dum di di dey i know you want it in the worst way i wanna hear you calling my name like hey mama mama hey mama mama heybe my woman girl imma be your man be my woman girl ill be your manyes i do the cooking yes i do the cleaning yes i keep the nana real sweet for your eating yes you be the boss yes i be respecting whatever that you tell me cause its game you be spittingbest believe that when you need that ill provide that you will always have it ill be on deck keep it in check when you need that imma let you have ityou beatin my drum like dum di di dey i love the dirty rhythm you play i wanna hear you calling my name like hey mama mama hey mama mama hey banging the drum like dum di di dey i know you want it in the worst way i wanna hear you calling my name like hey mama mama hey mama mama heybe my woman girl imma be your man be my woman girl ill be your manwhole crew got the juice your dick game the truth my screams is the proof them other dudes get the deuce i might speed in the coupe leaving this interview it aint nothin new i been fuckin with you none of them bitches aint taking you just tell them to make a u make a u huh that how it be i come first like debuts huh so baby when you need that give me that word im no good ill be bad for my babyso i make sure that hes getting his share so i make sure that his baby take care so i make sure mama toes on my knees keep him please rub him down be a lady and a freakyou beatin my drum like dum di di dey i love the dirty rhythm you play i wanna hear you calling my name like hey mama mama hey mama mama hey banging the drum like dum di di dey i know you want it in the worst way i wanna hear you calling my name like hey mama mama mama hey mama mama heybe my woman girl imma be your man be my woman girl ill be your man ",1
32,"gdfr","flo rida featuring sage the gemini and lookas",2015," i know what you came here to see if youre a freak then ya coming home with me and i know what you came here to do now bust it open let me see you get loose its going down for real its going down for real its going down for realyour girl just kissed a girl i do bi chicks shake for a shake im throwing these emirates in the sky spinning this assalamu alaykum peace to money i love my beaches south beaches surfboard and high tide i could just roll up cause im swoll up so that birthday cake get a cobra buggati for real im cold bruh that autobiography rover got the key to my city its over its no thots only anna kournikovas i said rackets ratchets hold up i said rackets ratchets hold upi know what you came here to see if youre a freak then ya coming home with me and i know what you came here to do now bust it open let me see you get loose its going down for real its going down for real and they already know me its going down for realits going down further than femurs girls get wetter than katrina yeah my girl you never seen her cause my tints by limousines my touch is the midas we deplus your man to minus my team blowing on that slam make you coughcough thats bronchitis put your hands up its a stick up no more makeup get that ass on the floor ladies put your lipstick up double entendre double entendre while youre hating i get money then i double up tonkersi know what you came here to see if youre a freak then ya coming home with me and i know what you came here to do now bust it open let me see you get loose its going down for real its going down for real its going down for real its going down for real its going down for reallift it drop it shake it pop it lift it drop it shake it pop it lift it drop it shake it pop it lift it drop it shake itits going down for real its going down for real its going down for real its going down for real its going down for real ",1
33,"what do you mean","justin bieber",2015," what do you mean ooh when you nod your head yesbut you wanna say no what do you mean hey when you dont want me to move but you tell me to go what do you mean oh what do you mean said were running out of time what do you mean oh oh oh what do you mean better make up your mind what do you mean    memory  byamandah   editor      we can now add kanye west to the list of beliebers    see all   youre so indecisive of what im saying trying to catch the beat make up your heart dont know if youre happy or complainingdont want for us to end where do i start first you wanna go to the left and you want to turn right wanna argue all day making love all nightfirst you up and youre down and then betweenoh i really want to know what do you mean oohwhen you nod your head yes but you wanna say no what do you mean hey when you dont want me to move but you tell me to go what do you mean oh what do you mean said were running out of time what do you mean oh oh oh what do you mean better make up your mind what do you mean youre overprotective when im leaving trying to compromise but i cant win you wanna make a point but you keep preaching you had me from the start wont let this end first you wanna go to the left then you want to turn right wanna argue all day make love all night first you up and youre down then youre between oh i really want to know what do you mean ooh when you nod your head yes but you wanna say no what do you mean oh what do you mean hey when you dont want me to move but you tell me to go what do you mean i wanna know oh what do you mean ooh said youre running out of time what do you mean ah baby oh oh oh what do you meanbetter make up your mind what do you mean ooh when you nod your head yes but you wanna say no what do you mean youre so confusing baby hey when you dont want me to move but you tell me to go what do you mean oh what do you mean said were running out of time what do you mean oh oh oh what do you mean better make up your mind what do you mean ",1
34,"photograph","ed sheeran",2015," loving can hurt loving can hurt sometimes but its the only thing that i know when it gets hard you know it can get hard sometimes it is the only thing that makes us feel alivewe keep this love in a photograph we made these memories for ourselves where our eyes are never closing hearts are never broken and times forever frozen stillso you can keep me inside the pocket of your ripped jeans holding me closer til our eyes meet you wont ever be alone wait for me to come homeloving can heal loving can mend your soul and its the only thing that i know know i swear it will get easier remember that with every piece of you hm and its the only thing we take with us when we diehm we keep this love in this photograph we made these memories for ourselves where our eyes are never closing hearts were never broken and times forever frozen stillso you can keep me inside the pocket of your ripped jeans holding me closer til our eyes meet you wont ever be aloneand if you hurt me thats okay baby only words bleed inside these pages you just hold me and i wont ever let you go wait for me to come home wait for me to come home wait for me to come home wait for me to come homeyou can fit me inside the necklace you got when you were sixteen next to your heartbeat where i should be keep it deep within your souland if you hurt me well thats okay baby only words bleed inside these pages you just hold me and i wont ever let you gowhen im away i will remember how you kissed me under the lamppost back on sixth street hearing you whisper through the phone wait for me to come home ",1
35,"hello","adele",2015," hello its me i was wondering if after all these years youd like to meet to go over everything they say that times supposed to heal ya but i aint done much healinghello can you hear me im in california dreaming about who we used to be when we were younger and free ive forgotten how it felt before the world fell at our feettheres such a difference between us and a million mileshello from the other side i mustve called a thousand times to tell you im sorry for everything that ive done but when i call you never seem to be home    meaning  byjamesg   editor    another popular parody this time by saturday night live showing us how adeles hello is able to keep a family from fighting at thanksgiving    see all   hello from the outside at least i can say that ive tried to tell you im sorry for breaking your heart but it dont matter it clearly doesnt tear you apart anymorehello how are you its so typical of me to talk about myself im sorry i hope that youre well did you ever make it out of that town where nothing ever happenedits no secret that the both of us are running out of timeso hello from the other side other side i mustve called a thousand times thousand times to tell you im sorry for everything that ive done but when i call you never seem to be homehello from the outside outside at least i can say that ive tried ive tried to tell you im sorry for breaking your heart but it dont matter it clearly doesnt tear you apart anymoreoh anymore oh anymore oh anymore anymorehello from the other side other side i mustve called a thousand times thousand times to tell you im sorry for everything that ive done but when i call you never seem to be homehello from the outside outside at least i can say that ive tried ive tried to tell you im sorry for breaking your heart but it dont matter it clearly doesnt tear you apart anymore ",1
36,"stitches","shawn mendes",2015," i thought that ive been hurt before but no ones ever left me quite this sore your words cut deeper than a knife now i need someone to breathe me back to lifegot a feeling that im going under but i know that ill make it out alive if i quit calling you my lover move onyou watch me bleed until i cant breathe im shaking falling onto my knees and now that im without your kisses ill be needing stitches im tripping over myself im aching begging you to come help and now that im without your kisses ill be needing stitchesjust like a moth drawn to a flame oh you lured me in i couldnt sense the pain your bitter heart cold to the touch now im gonna reap what i sew im left seeing red on my own  memory  byalicimusic     i just love him so much he just means so much to me hes an inspiration to me and my music ear xd    see all   got a feeling that im going under but i know that ill make it out alive if i quit calling you my lover move onyou watch me bleed until i cant breathe im shaking falling onto my knees and now that im without your kisses ill be needing stitches im tripping over myself im aching begging you to come help and now that im without your kisses ill be needing stitchesneedle and the thread gotta get you out of my head needle and the thread gonna wind up deadneedle and the thread gotta get you out of my head needle and the thread gonna wind up deadneedle and the thread gotta get you out of my head needle and the thread gonna wind up deadneedle and the thread gotta get you out of my head get you out of my headyou watch me bleed until i cant breathe im shaking falling onto my knees falling on my knees and now that im without your kisses ill be needing stitches and ill be needing stitches im tripping over myself im aching begging you to come help begging baby please and now that im without your kisses ill be needing stitchesand now that im without your kisses ill be needing stitches and now that im without your kisses ill be needing stitches ",1
37,"talking body","tove lo",2015," bed stay in bed the feeling of your skin locked in my head smoke smoke me broke i dont care im down for what you wantday drunk into the night wanna keep you here cause you dry my tears yeah summer lovin and fights how it is for us and its all becausenow if were talking body you got a perfect one so put it on me swear it wont take you long if you love me right we fuck for life on and on and onnow if were talking body you got a perfect one so put it on me swear it wont take you long if you love me right we fuck for life on and on and onlove give me love anything you want ill give it up lips lips i kiss bite me while i taste your fingertipsday drunk into the night wanna keep you here cause you dry my tears yeah summer lovin and fights how it is for us and its all becausenow if were talking body you got a perfect one so put it on me swear it wont take you long if you love me right we fuck for life on and on and onnow if were talking body you got a perfect one so put it on me swear it wont take you long if you love me right we fuck for life on and on and onbodies our baby making bodies we just use for fun bodies lets use them up til every little piece is gone lets go on and on and on lets go on and on lets gonow if were talking body you got a perfect one so put it on me swear it wont take you long if you love me right we fuck for life on and on and onnow if were talking body you got a perfect one so put it on me swear it wont take you long if you love me right we fuck for life on and on and onnow if were talking body put it on me if you love me right we fuck for life on and on and onnow if were talking body you got a perfect one so put it on me swear it wont take you long if you love me right we fuck for life on and on and on ",1
38,"jealous","nick jonas",2015," i dont like the way hes looking at you im starting to think you want him too am i crazy have i lost ya even though i know you love me cant help iti turn my chin music up and im puffing my chest im getting ready to face you you can call me obsessed its not your fault that they hover i mean no disrespect its my right to be hellish i still get jealouscause youre too sexy beautiful and everybody wants a taste thats why thats why i still get jealouscause youre too sexy beautiful and everybody wants a taste thats why thats why i still get jealousi wish you didnt have to post it all i wish youd save a little bit just for me protective or possessive yeah call it passive or aggressivei turn my cheek music up and im puffing my chest im getting ready to face you you can call me obsessed its not your fault that they hover i mean no disrespect its my right to be hellish i still get jealouscause youre too sexy beautiful and everybody wants a taste thats why thats why i still get jealouscause youre too sexy beautiful and everybody wants a taste thats why thats why i still get jealousyoure the only one invited i said theres no one else for you cause you know i get excited yeah when you get jealous tooi turn my cheek music up and im puffing my chest im turning ready to face you you can call me obsessed its not your fault that they hover i mean no disrespect its my right to be hellish i still get jealouscause youre too sexy beautiful and everybody wants a taste thats why thats why i still get jealouscause youre too sexy beautiful and everybody wants a taste thats why thats why i still get jealousoh thats why i still get jealous oh thats why i still get jealous ",1
39,"time of our lives","pitbull and neyo",2015," i knew my rent was gon be later bout a week ago i work my ass off but i still cant pay it though but i got just enough to get up in this club have me a good time before my time is up hey lets get it nowooh i want the time of my life oh baby ooh give me the time of my life neyo lets get it lets get it nowthis is the last 20 i got but imma have a good time ballin or out tell the barteneder line up some shots cause imma get loose tonight shes on fire shes so hot im no liar she burn up the spot look like mariah i took another shot told her drop drop drop drop it like its hot dirty talk dirty dance she a freaky girl and im a freaky man she on the rebound broke up with her ex and im like rodman ready on deck i told her i wanna ride out and she said yes we didnt go to church but i got blessedi knew my rent was gon be later bout a week ago i work my ass off but i still cant pay it though but i got just enough to get up in this club have me a good time before my time is up hey lets get it nowooh i want the time of my life oh baby ooh give me the time of my life lets get it nowtonight imma lose my mind better get yours cause im gonna get mine party every night like my last mommy know the drill shake that ass go ahead baby let me see what you got you know you got the biggest booty in this spot and i just wanna see that thing drop from the back to the front to the top you know me im off in the cut always like a squirrel looking for a nut this isnt for show im not talking bout luck im not talking bout love im talking bout lust now lets get loose have some fun forget about bills and the first of the month its my night your night our night lets turn it upi knew my rent was gon be later bout a week ago i work my ass off but i still cant pay it though but i got just enough to get up in this club have me a good time before my time is up hey lets get it nowooh i want the time of my life oh baby ooh give me the time of my life hey hey hey lets get it noweverybody goin through somethin everybody goin through somethin said everybody goin through somethin everybody goin through somethin say you might as well roll it up pour it up drink it up throw it up tonight i said everybody goin through somethin everybody goin through somethin said everybody goin through somethin everybody goin through somethin say you might as well roll it up pour it up drink it up throw it up tonightthis is for anybody going through tough times believe it been there done that but everyday above ground is a great day remember thati knew my rent was gon be later bout a week ago i work my ass off but i still cant pay it though but i got just enough to get up in this club have me a good time before my time is up hey lets get it nowooh i want the time of my life oh baby ooh give me the time of my life hey hey hey lets get it now ",1
40,"locked away","r city featuring adam levine",2015," if i got locked away and we lost it all today tell me honestly would you still love me the same if i showed you my flaws if i couldnt be strong tell me honestly would you still love me the sameright about now if a judge for life me would you stay by my side or is you gonna say goodbye can you tell me right now if i couldnt buy you the fancy things in life shawty would it be alright come on show me that you are downnow tell me would you really ride for me baby tell me would you die for me would you spend your whole life with me would you be there to always hold me down tell me would you really cry for me baby dont lie to me if i didnt have anything i wanna know would you stick around    meaning  byjamesg   editor    locked away is a song by r city featuring adam levine lead singer of band maroon 5 released on june 29 2015 r city is a songritingproduction duo from    see all   if i got locked away and we lost it all today tell me honestly would you still love me the same if i showed you my flaws if i couldnt be strong tell me honestly would you still love me the samelets get it diddlydongdongdongdang all i want is somebody real who dont need much a girl i know that i can trust to be here when money low if i did not have nothing else to give but love would that even be enough girl meh need fi knownow tell me would you really ride for me baby tell me would you die for me would you spend your whole life with me would you be there to always hold me down tell me would you really cry for me baby dont lie to me if i didnt have anything i wanna know would you stick aroundif i got locked away and we lost it all today tell me honestly would you still love me the same if i showed you my flaws if i couldnt be strong tell me honestly would you still love me the sametell me tell me would you want me tell me tell me would you call me if you knew i wasnt balling cause i need a girl whos always by my side tell me tell me do you need me tell me tell me do you love me or is you just tryna play me cause i need a girl to hold me down for lifeif i got locked away and we lost it all today tell me honestly would you still love me the same if i showed you my flaws if i couldnt be strong tell me honestly would you still love me the sameif i got locked away and we lost it all today tell me honestly would you still love me the same if i showed you my flaws if i couldnt be strong tell me honestly would you still love me the same would you still love me the samewould you still love me the same ",1
41,"somebody","natalie la rose featuring jeremih",2015," come on natalie la rosei wanna rock with somebody woah yeah i wanna take shot with somebody shot shot shot shot i wanna leave with somebody somebody cmon cmon and we aint gonna tell nobody we aint gonna tell nobodywalking everybody knows whats good but some gonna hate whats new we just do our favorite time to waste always playing cooland at the end of the night when our loves going out we turn down oh no we wont well never turn it down well never turn it down and when it try to make this leave we turn to say we never going homeand you know just what i wanna doi wanna rock with somebody woah yeah i wanna take shot with somebody shot shot shot shot i wanna leave with somebody somebody cmon cmon and we aint gonna tell nobody we aint gonna tell nobodywalking everybody know whats good we are only block bring us everything we think we need tonight is going up tonight is going upand at the end of the night when our loves going out we turn down oh no we wont well never turn it down well never turn it down and when it try to make this leave we turn to say we never going homei wanna rock with somebody woah yeah i wanna take shot with somebody shot shot shot shot i wanna leave with somebody somebody cmon cmon and we aint gonna tell nobody we aint gonna tell nobodyand the club like woah well be in the party in the club like woah and the club like well be in the city going down like woah and the club like woah well be in the party in the club like woah well be in the city going down like woah well be in the party in the club like woahand at the end of the night when our loves going out we turn down oh no we wont well never turn it down well never turn it down and when it try to make this leave we turn to say we never going homei wanna rock with somebody woah yeah i wanna take shot with somebody shot shot shot shot i wanna leave with somebody somebody cmon cmon and we aint gonna tell nobody we aint gonna tell nobody ",1
42,"fourfiveseconds","rihanna kanye west and paul mccartney",2015,"produced by dallas austin mike dean  paul mccartney verse 1 rihanna i think ive had enough i might get a little drunk i say whats on my mind i might do a little time cause all of my kindness is taken for weakness hook 1 rihanna now im fourfiveseconds from wildin and we got three more days til friday im just tryna make it back home by monday mornin i swear i wish somebody would tell me ooh thats all i want verse 2 kanye west woke up an optimist sun was shinin im positive then i heard you was talkin trash hold me back im bout to spaz hook 2 rihanna and kanye yeah bout fourfiveseconds from wildin and we got three more days til friday im tryna make it back home by monday mornin i swear i wish somebody would try me ooh thats all i want bridge rihanna and i know that youre up tonight thinkin how could i be so selfish but you called bout a thousand times wondering where ive been now i know that youre up tonight thinkin how could i be so reckless but i just cant apologize i hope you can understand verse 3 kanye west if i go to jail tonight promise youll pay my bail see they want to buy my pride but that just aint up for sale see all of my kindness is taken for weakness hook 1 rihanna and kanye x2",3
43,"centuries","fall out boy",2015," some legends are told some turn to dust or to gold but you will remember me remember me for centuries and just one mistake is all it will take well go down in history remember me for centuries hey yeah oh hey hey yeah remember me for centuriesmummified my teenage dreams no its nothing wrong with me the kids are all wrong the stories are off heavy metal broke my heartcome on come on and let me in the bruises on your thighs like my fingerprints and this is for tonight i thought that you would feel i never meant for you to fix yourselfsome legends are told some turn to dust or to gold but you will remember me remember me for centuries and just one mistake is all it will take well go down in history remember me for centuries hey yeah oh hey hey yeah remember me for centuriesand i cant stop til the whole world knows my name cause i was only born inside my dreams until you die for me as long as there is a light my shadows over you cause i am the opposite of amnesia and youre a cherry blossom youre about to bloom you look so pretty but youre gone so soonsome legends are told some turn to dust or to gold but you will remember me remember me for centuries and just one mistake is all it will take well go down in history remember me for centuries hey yeah oh hey hey yeah remember me for centuriesweve been here forever and heres the frozen proof i could scream forever we are the poisoned youthsome legends are told some turn to dust or to gold but you will remember me remember me for centuries and just one mistake is all it will take well go down in history remember me for centuries hey yeah oh hey hey yeah well go down in history hey yeah remember me for centuries ",1
44,"my way","fetty wap featuring monty",2015," baby wont you come my way got something i want to say cannot keep you out my brain but first off imma start by saying this ay all headshots if you think you could take my bitch ay and im too turnt when i shoot swear i wont miss ay bababy wont you come my way baby wont you come my way    meaning  byjamesg   editor    my way is the third single by american rapper fetty wap aka willie maxwell taken from his eponymous debut studio album fetty wap 2015 the song was    see all   babababy this is something you should know i dont ever chase no hoes i spotted you you had that glow watch me pull out all this dough take you where you want to go flexing on your ex i know he aint ever take you out barely even left your house how dare that nigga run his mouth when his pockets in a drought the last single he put out didnt even make it out and he dumb as hell and i swear his ass dont think ay if he disrespect two shots and i wont blink ay never really cared what the fuck these niggas think ay i got deep pockets and i swear my shits on sink ay and he mad as fuck big zoowap all she sing ay and he mad as fuck big zoowap in her dreams ay well he mad as fuck when they sex she scream for me ay big zoowap what these niggas should be aybaby wont you come my way got something i want to say cannot keep you out my brain but first off imma start by saying this ay all headshots if you think you could take my bitch ay and im too turnt when i shoot swear i wont miss ay bababy wont you come my way baby wont you come my waybaby girl you can stay the night till the morn all this ice on my arm what you like what you want and i might put you on bitch its mine cant you see and i rock seventeen all these knots in my jeans me and zoo turnin up got your boo in the cut and she sue cause its looking like the roof going up counting all this bread i dont talk to feds try and take my bitch you gonna take two to the head cause baby you the baddest all this money imma cash it and im swervin all in traffic while im trapping out the mansion and im moving through the tristate do twohundred on the highway and im swerving in my i8 baby you should come my way squad ",1
45,"take your time","sam hunt",2015," i dont know if you were looking at me or not you probably smile like that all the time and i dont mean to bother you but i couldnt just walk by and not say hiand i know your name cause everybody in here knows your name and youre not looking for anything right now so i dont wanna come on strong but dont get me wrong your eyes are so intimidating my heart is pounding but its just a conversation no girl im not gonna waste it you dont know me i dont know you but i want toand i dont wanna steal your freedom i dont wanna change your mind i dont have to make you love me i just want to take your timei dont wanna wreck your friday i aint gonna waste my lines i dont have to take your heart i just wanna take your timeand i know it starts with hello and the next thing you know youre trying to be nice and some guys getting too close trying to pick you up trying to get you drunkand im sure one of your friends is about to come over here cause shes supposed to save you from random guys that talk too much and wanna stay too long its the same old song and dance but i think you know it wellyou could have rolled your eyes told me to go to hell could have walked away but youre still here and im still here come on lets see where it goesi dont wanna steal your freedom i dont wanna change your mind i dont have to make you love me i just wanna take your timei dont have to meet your mother we dont have to cross that line i dont wanna steal your covers i just wanna take your timewoah i dont wanna go home with you woah i just wanna be alone with youi dont wanna steal your freedom i dont wanna change your mind i dont have to make you love me i just wanna take your timeand i dont wanna blow your phone up i just wanna blow your mind i dont have to take your heart i just wanna take your timeno i aint gotta call you baby and i aint gotta call you mine i dont have to take your heart i just wanna take your time ooh ",1
46,"animals","maroon 5",2015," baby im preying on you tonight hunt you down eat you alive just like animals animals like animalsmalsmaybe you think that you can hide i can smell your scent for miles just like animals animals like animalsmals baby imso what you trying to do to me its like we cant stop were enemies but we get along when im inside you eh youre like a drug thats killing me i cut you out entirely but i get so high when im inside youyeah you can start over you can run free you can find other fish in the sea you can pretend its meant to be but you cant stay away from me i can still hear you making that sound taking me down rolling on the ground you can pretend that it was me but no ohbaby im preying on you tonight hunt you down eat you alive just like animals animals like animalsmaybe you think that you can hide i can smell your scent for miles just like animals animals like animalsmals baby imso if i run its not enough youre still in my head forever stuck so you can do what you wanna do eh i love your lies ill eat em up but dont deny the animal that comes alive when im inside youyeah you can start over you can run free you can find other fish in the sea you can pretend its meant to be but you cant stay away from me i can still hear you making that sound taking me down rolling on the ground you can pretend that it was me but no ohbaby im preying on you tonight hunt you down eat you alive just like animals animals like animalsmalsmaybe you think that you can hide i can smell your scent for miles just like animals animals like animalsmals baby imdont tell no lie lie lie lie you cant deny ny ny ny the beast inside side side side yeah yeah yeahno girl dont lie lie lie lie no girl dont lie you cant deny ny ny ny you cant deny the beast inside side side side yeah yeah yeahyo whoa whoa just like animals animals like animalsmals just like animals yeah animals yeah like animalsmals yeah owbaby im preying on you tonight hunt you down eat you alive just like animals animals like animalsmalsmaybe you think that you can hide i can smell your scent for miles just like animals animals like animalsmals baby imdont tell no lie lie lie lie you cant deny ny ny ny the beast inside side side side yeah yeah yeahno girl dont lie lie lie lie no girl dont lie you cant deny ny ny ny you cant deny the beast inside side side side yeah yeah yeah ",1
47,"i dont fuck with you","big sean featuring e40",2015," i dont fuck with you you little stupid ass bitch i aint fuckin with you you little you little dumb ass bitch i aint fuckin with you i got a million trillion things id rather fuckin do than to be fuckin with you little stupid ass i dont give a fuck i dont give a fuck i dont i dont i dont give a fuck bitch i dont give a fuck about you or anything that you do dont give a fuck about you or anything that you doi heard you got a new man i see you takin a pic then you post it up thinkin that its makin me sick brr brr i see you calling i be makin it quick imma answer that shit like i dont fuck with you bitch i got no feelings to go i swear i had it up to here i got no ceilings to go i mean for real fuck how you feel fuck your two cents if it aint goin towards the bill yeah and everyday i wake up celebratin shit why cause i just dodged a bullet from a crazy bitch i stuck to my guns thats what made me rich thats what put me on thats what got me here thats what made me this and everything that i do is my first name these hoes chase bread aw damn she got a bird brain aint nothin but trill in me aw man silly me i just bought a crib three stories that bitch a trilogy and you know im rollin weed thats fuckin up the ozone i got a bitch that text me she aint got no clothes on and then another one text then your ass next and im gonna text your ass back likei dont fuck with you you little stupid ass bitch i aint fuckin with you you little you little dumb ass bitch i aint fuckin with you i got a million trillion things id rather fuckin do than to be fuckin with you little stupid ass i dont give a fuck i dont give a fuck i dont i dont i dont give a fuck bitch i dont give a fuck about you or anything that you do dont give a fuck about you or anything that you do i dont give a fuck i dont give a fuck i dont i dont i dont give a fuck bitch i dont give a fuck about you or anything that you do dont give a fuck about you or anything that you dogot a million things on my mind executive deals online limited amount of time chasin these dollar signs and you aint on your grind you might be able to find me up in the mgm casino in the d fuckin off fetti i coulda put on property from the bay to the murder mitten my niggas put murder missions she choose him thats her decision free my niggas in prison on the phone with a bitch who cant do shit for a pimp but make a nigga hella rich got a blunt in my dental goin ham in a rental on my way to sacramento late night arsenio im never sentimental go hard or go home listen barely harley im chromeless you might end up domeless i bet you she into me her cheddar she givin me i make a bitch stand outside forever like the statue of liberty rest in pimp pimp c underground king of the south i raise my styrofoam up and pour some drank in my mouth why you always coming around with bad news say you want me to win but hope i lose ass never rock with other niggas in the crew but them niggas cool its just thatbitch i aint fuck with you you little stupid ass bitch i aint fuckin with you you little you little dumb ass bitch i aint fuckin with you i got a million trillion things id rather fuckin do than to be fuckin with you little stupid ass i dont give a fuck i dont give a fuck i dont i dont i dont give a fuck bitch i dont give a fuck about you or anything that you do dont give a fuck about you or anything that you do i dont give a fuck i dont give a fuck i dont i dont i dont give a fuck bitch i dont give a fuck about you or anything that you do dont give a fuck about you or anything that you doi got a new chick that i gotta thank god for i got a new whip that i gotta thank a lot for yeah i got a lot but want a lot more yeah we in the buildin but im tryna take it to the top floor i swear i hear some new bullshit every day im wakin up it seems like nowadays everybody breakin up that shit can break you down if you lose a good girl i guess you need a bad bitch to come around and make it up i guess drama makes for the best content everything got a bad side even a conscience now youre drinkin til your unconscious feel me when you get a fine bitch just dont forget to read the fine print life got me meditatin like im in the himalayas keep it g with the l lit on me like the elevator yeah i know that karmas too real so i hope you doin cool but still stupid ass bitch i aint fuckin with you little stupid ass i aint fuckin with i aint fuckin i aint i aint fuckin with you i aint fuckin with you ",1
48,"bitch better have my money","rihanna",2015," intro yayo yayo mulala yayoverse 1 bitch better have my money yall should know me well enough bitch better have my money please dont call me on my bluff pay me what you owe me ballin bigger than lebron bitch give me your money who yall think yall frontin on like brap brap brapprechorus louis xiii and its all on me nigga you just bought a shot kamikaze if you think that you gon knock me off the top shit your wife in the backseat of my brand new foreign car dont act like you forgot i call the shots shots shots like brap brap brap pay me what you owe me dont act like you forgotchorus bitch better have my money bitch better have my money pay me what you owe me bitch better have my bitch better have my bitch better have my bitch better have my bitch better have my moneyverse 2 turn up to rihanna while the whole club fuckin wasted every time i drive by im the only thing youre playin in a drop top doin hundred yall in my rearview mirror racin where yall at where yall at where yall at like brap brap brapprechorus louis xiii and its all on me nigga you just bought a shot kamikaze if you think that you gon knock me off the top shit your wife in the backseat of my brand new foreign car dont act like you forgot i call the shots shots shots like brap brap brap pay me what you owe me dont act like you forgotchorus bitch better have my money bitch better have my money pay me what you owe me bitch better have my bitch better have my bitch better have my bitch better have my bitch better have my money bitch better have my money bitch better have my money pay me what you owe me bitch better have my bitch better have my bitch better have my bitch better have my bitch better have my moneyoutro bitch better have my money bitch better have my money bitch bitch bitch better have my money yo that bitch better have my money hold up my money yo my money that bitch better have my money bitch better have my money ",1
49,"flex ooh ooh ooh","rich homie quan",2015," aye oh there it is there it is there it is there it is there it is rich homie babywalked in 30000 in my pocket had them niggas just like ooohh 15000 dollars on your bitch wanna fuck me got her screamin like ooohh cause i got a check nigga wanna flex aint gotta flex but i got it ooohh give that ho some x she gone wanna sex every nigga in the set and now she screamin like ooohh how much you mademade some million dollars of a mixtape and im fuckin like ooohh they try to drop me with a case but you know i had to skate it i was singing like oooohh thats right nigga boy i know my role and i play it if you heard that im talking then i said it i see quan where you at at the top of the loft nigga i stay im a bad boy but i dont wear big clothes like mae in the club and a nigga get it boppin and that ho she want a free drink tell the bitch to get up off it im the nigga to get it poppin her hair short like dennis rodman at the clearport nigga we flying when i landed boy iwalked in 30000 in my pocket had them niggas just like ooohh 15000 dollars on your bitch wanna fuck me got her screamin like ooohh cause i got a check nigga wanna flex aint gotta flex but i got it ooohh give that ho some x she gone wanna sex every nigga in the set and now she screamin like ooohhhow much you made 100000 just in two days i dont fuck with niggas cause they two faced i only fuck with bitches for that toupee these givencheys i aint worried about no new taste know that be true got a set and she always got my back so i love that shit the most im her big dog and she my cat and she love it from the back call her green cause she on goose i wear glasses cause i know these niggas watchin they mad cause they cannot stop me boy stopping is not a option i cant help it cause i got it dont waste time i got shit watchin talkin rollex yeah i bought em now im at the top started from the bottom then iwalked in 30000 in my pocket had them niggas just like ooohh 15000 dollars on your bitch wanna fuck me got her screamin like ooohh cause i got a check nigga wanna flex aint gotta flex but i got it ooohh give that ho some x she gone wanna sex every nigga in the set and now she screamin like ooohhhow much you made a 100000 how much how much you made a 100000 how much how much you made made some million dollars of a mixtape and i fuck like ooohhh aye get at me ",1
50,"nasty freestyle","twayne",2015,NA,NA
51,"only","nicki minaj featuring drake lil wayne and chris brown",2015," yo i never fucked wayne i never fucked drake all my life man fucks sake if i did i did a menage with em and let em eat my ass like a cupcake my man full he just ate i dont duck nobody but tape yeah that was a set up for a punchline on duct tape worried bout if my butts fake worried bout johns singing us drake these girls are my sons john and kate plus eight when i walk in sit up straight i dont give a fuck if i was late dealing with my man on a g5 is my idea of an update hut one hut two big titties big butt too fuck with them real niggas who dont tell niggas what they up to had to show bitches where the top is ring finger where the rock is these hoes couldnt test me even if their name was pop quiz bad bitches who i fuck with mad bitches we dont fuck with i dont fuck with them chickens unless they last name is cutlet let it soak in like seasonin and tell em tell em blow me lance stephensonraise your bottle and cup in the sky sparks in the air like the fourth of july nothing but bad bitches in here tonight oh if you lame and you know it be quiet nothing but real niggas only bad bitches only rich niggas only independent bitches only boss niggas only thick bitches only i got my real niggas here by my side onlyi never fucked nicki cause she got a man but when thats over then im the first in line and the other day in her maybach i thought god damn this is the perfect time we had just come from that video you know la traffic how the city slow she was sitting down on that big butt but i was still staring at the titties though yeah low key it may be high key i been peeped that you like me you know who the fuck you really wanna be with besides me i mean it doesnt take much for us to do this shit quietly i mean she say im obsessed with thick women and i agree thats right i like my girls bbw yeah type to wanna suck you dry and then eat some lunch with you so thick that everyone else in the room is so uncomfortable ass on houston texas but the face look just like claire huxtable oh yeah you the man in the city when the mayor fuck with you the nba players fuck with you the bad ass bitches doing makeup and hair fuck with you oh thats cause i believe in something and i stand for it and nicki if you ever tryna fuck just give me the heads up so i can plan for itraise your bottle and cup in the sky sparks in the air like the fourth of july nothing but bad bitches in here tonight oh if you lame and you know it be quiet nothing but real niggas only bad bitches only rich niggas only independent bitches only boss niggas only thick bitches only i got my real niggas here by my side onlyi never fucked nicki and thats fucked up if i did fuck shed be fucked up whoever is hittin aint hittin it right cause she actin like she need dick in her life thats another story im no story teller i piss greatness like gold is yellow all my goons so overzealous im from holly groove the holy mecca accountant say i got money for days i squirm and i shake but im stuck in my ways my girl from a bida if she wave baby and i fucked with her surfboard surfboard my eyes are so bright i take cover for shade dont have my money i take mothers instead you got the hickups you swallowed the truth then i make you burp boy treat me like sirloin im talkin bout runnin in houses with arm and guns so think about your son and daughter rooms got two goons and they got smaller guns aint thinkin bout your son and daughter rooms this is just crazy my nigga i mean brazy my nigga that money talk i just rephrase it my nigga blood gang take the b ill behave ya im niggas is for reals if you mouth off i blow your face off i mean poppoppop then i take off now you see me now you dont like jamie foxx acting like ray charles 16 in a clip one in the chamber 17 ward bully with 17 bullets my story is how i went from poor me to police pour me a drink and celebrate with meraise your bottle and cup in the sky sparks in the air like the fourth of july nothing but bad bitches in here tonight oh if you lame and you know it be quiet nothing but real niggas only bad bitches only rich niggas only independent bitches only boss niggas only thick bitches only i got my real niggas here by my side only ",1
52,"elastic heart","sia",2015," and another one bites the dust oh why can i not conquer love and i might have thought that we were one wanted to fight this war without weaponsand i wanted it i wanted it bad but there were so many red flags now another one bites the dust yeah lets be clear ill trust no one    meaning  byjamesg   editor    elastic heart is a song by australian recording artist sia featuring canadian recording artist the weeknd and american producer diplo taken from the    see all   prechorus you did not break me im still fighting for peacechorus ive got thick skin and an elastic heart but your blade it might be too sharp im like a rubberband until you pull too hard i may snap and i move fast but you wont see me fall apart cos ive got an elastic heartand i will stay up through the night lets be clear wont close my eyes and i know that i can survive ill walk through fire to save my lifeand i want it i want my life so bad im doing everything i can then another one bites the dust its hard to lose a chosen oneprechorus you did not break me im still fighting for peacechorus ive got thick skin and an elastic heart but your blade it might be too sharp im like a rubberband until you pull too hard i may snap and i move fast but you wont see me fall apart cos ive got an elastic heart ",1
53,"cool for the summer","demi lovato",2015," tell me what you want what you like its okay imma little curious too tell me if its wrong if its right i dont care i can keep a secret could yougot my mind on your body and your body on my mind got a taste for the cherry i just need to take a bite dont tell your mother kiss one another die for each other were cool for the summer haooh ooh take me down into your paradise dont be scared cause im your body type just something that we wanna try cause you and i were cool for the summertell me if i won if i did whats my prize i just wanna play with you too even if they judge fuck it ill do the time i just wanna have some fun with yougot my mind on your body and your body on my mind got a taste for the cherry i just need to take a bite dont tell your mother kiss one another die for each other were cool for the summer haooh ooh take me down into your paradise dont be scared cause im your body type just something that we wanna try cause you and i were cool for the summer were cool for the summer were cool for the summershhh dont tell your mother got my mind on your body and your body on my mind got a taste for the cherry i just need to take a bitetake me down take me down into your paradise dont be scared cause im your body type just something that we wanna try cause you and i were cool for the summertake me down were cool for the summer dont be scared cause im your body type just something that we wanna try cause you and i were cool for the summer ooh were cool for the summer ",1
54,"renegades","x ambassadors",2015," run away with me lost souls and reverie running wild and running free two kids you and meand i say hey hey hey hey living like were renegades hey hey hey hey hey hey living like were renegades renegades renegadeslong live the pioneers rebels and mutineers go forth and have no fear come close the end is nearand i say hey hey hey hey living like were renegades hey hey hey hey hey hey living like were renegades renegades renegadesall hail the underdogs all hail the new kids all hail the outlaws spielbergs and kubricksits our time to make a move its our time to make amends its our time to break the rules lets beginand i say hey hey hey hey living like were renegades hey hey hey hey hey hey leaving like were renegades renegades renegades ",1
55,"i dont mind","usher featuring juicy j",2015," yeah usher baby this is for the ashawty i dont mind if you dance on a pole that dont make you a hoe shawty i dont mind when you work until three if youre leaving with me go make that money money money your money money money cause i know how it is go and handle your biz and get that money money money your money money money you can take off your clothes long as you coming home girl i dont mindthe ballers in here tonight they gon buy a hundred bottles as soon as you shake it i know they gon make it colossal in here cause shawty you thinkin them tricks that you do with your body got all of these niggas they crowding around you like they seen beyonc̩ in here you want your own and you need your own baby who am i to judge cause how could i ever trip about it when i met you in the club i make enough for the both of us but you dance anyway you know i was raised in the ashawty i dont mind if you dance on a pole that dont make you a hoe shawty i dont mind when you work until three if youre leaving with me go make that money money money your money money money cause i know how it is go and handle your biz and get that money money money your money money money you can take off your clothes long as you coming home girl i dont mindwhen you get off of work ill be ready to go in the rari and when we get home well have us our own private party in here so i dont worry at all about the things they do or say i love you anyway you can twerk while in a split you racking up them tips your body rock and your booty poppin im proud to call you my bitch they be lookin but they cant touch you shawty im the only one to get it so just go ahead and keep doing what you do do itshawty i dont mind if you dance on a pole that dont make you a hoe shawty i dont mind when you work until three if youre leaving with me go make that money money money your money money money cause i know how it is go and handle your biz and get that money money money your money money money you can take off your clothes lets get it juicy j long as you coming home girl i dont mindim just tryina cut her up tryina bust a nut tryina take somebody bitch turn her to a slut tryina fill my cup tryina live it up throw some hundreds on that ass walk her out the club yeah hoe uh lap dance for the first date bet i threw a few bands thats third base its okay if you work late we can still party like its your birthday we can still party hard in your birthday suit knock that pussy out the park like my name babe ruth shawty she just want a tip i just want to see her strip if you fuck me like you love me shawty you might get rich have her own cake her own place blow her own gas no role when we in the bed she like to roleplay tell her friend to join in both waysshawty i dont mind if you dance on a pole that dont make you a hoe i dont mind when you work until three if youre leaving with me gotta move you gotta make that money money money your money money money cause i know how it is girl go and handle your biz and get that money money money make your money money money you can take off your clothes long as you coming home girl i dont mind ",1
56,"love me harder","ariana grande and the weeknd",2015," tell me something i need to know then take my breath and never let it go if you just let me invade your space ill take the pleasure take away the painand if in the moment i bite my lip baby in that moment youll know this is something bigger than us and beyond bliss give me a reason to believe itcause if you want to keep me you gotta gotta gotta gotta gotta got to love me harder and if you really need me you gotta gotta gotta gotta gotta gotta got to love me harder gotta love me harder love me love me love me harder harder harderi know your motives and you know mine the ones that love me i tend to leave behind if you know about me and choose to stay then take this pleasure and take away the painand if in the moment you bite your lip when i get you moaning you know its real can you feel the pressure between your hips ill make it feel like the first timecause if you want to keep me you gotta gotta gotta gotta gotta got to love me harder imma love you harder and if you really need me you gotta gotta gotta gotta gotta got to love me harder love me harder love me love me love me harder harder harder love me love me love me harder harder harderso what do i do if i cant figure it out you got to try try try again so what do i do if i cant figure it out im gonna leave leave againcause if you want to keep me you gotta gotta gotta gotta gotta got to love me harder ill love you love you love you and if you really need me you gotta gotta gotta gotta gotta gotta got to love me harder love me love me baby cause if you want to keep me you gotta gotta gotta gotta gotta got to love me harder love me harder and if you really need me you gotta gotta gotta gotta gotta gotta got to love me harder imma love you harder love me love me love me harder harder harder love me love me baby love me love me love me just a little bit just a little bit harder babe harder harder harder ",1
57,"wildest dreams","taylor swift",2015," he said lets get out of this town drive out of the city away from the crowds i thought heaven cant help me now nothing lasts forever but this is gonna take me down hes so tall and handsome as hell hes so bad but he does it so well i can see the end as it begins my one condition issay youll remember me standing in a nice dress staring at the sunset babe red lips and rosy cheeks say youll see me again even if its just in your wildest dreams ah ah wildest dreams ah ah    meaning  byjamesg   editor    wildest dreams is a song by american singer taylor swift it is her fifth single from album 1989 2014 and was cowritten with producers max martin and    see all   i said no one has to know what we do his hands are in my hair his clothes are in my room and his voice is a familiar sound nothing lasts forever but this is getting good now hes so tall and handsome as hell hes so bad but he does it so well and when weve had our very last kiss but my last request it issay youll remember me standing in a nice dress staring at the sunset babe red lips and rosy cheeks say youll see me again even if its just in your wildest dreams ah ah ah ah wildest dreams ah ahyou see me in hindsight tangled up with you all night burn it down some day when you leave me i bet these memories hunt you around you see me in hindsight tangled up with you all night burn it down burn it down some day when you leave me i bet these memories follow you around follow you aroundsay youll remember me standing in a nice dress staring at the sunset babe red lips and rosy cheeks say youll see me again even if its just pretendsay youll remember me standing in a nice dress staring at the sunset babe red lips and rosy cheeks say youll see me again even if its just just pretend just pretend in your wildest dreams ah ah in your wildest dreams ah ah even if its just in your wildest dreams ah ah in your wildest dreams ah ah ",1
58,"stay with me","sam smith",2015," guess its true im not good at a onenight stand but i still need love cause im just a man these nights never seem to go to plan i dont want you to leave will you hold my handoh wont you stay with me cause youre all i need this aint love its clear to see but darling stay with me    meaning  byjamesg   editor    stay with me is a song by english recording artist sam smith from his debut studio album in the lonely hour 2014 it was written by sam smith james    see all   why am i so emotional no its not a good look gain some self control and deep down i know this never works but you can lay with me so it doesnt hurtoh wont you stay with me cause youre all i need this aint love its clear to see but darling stay with meoh wont you stay with me cause youre all i need this aint love its clear to see but darling stay with meoh wont you stay with me cause youre all i need this aint love its clear to see but darling stay with me ",1
59,"you know you like it","dj snake and alunageorge",2015," some people want me to be heads or tails i say no way try again another day i should be happy not tipping the scales i just wont lay letting my life get awayim no fool no im not a follower i dont take things as they come if they bring me down life can be cruel if youre a dreamer i just wanna have some fun dont tell me what cant be doneyou know you like it but it drives you insane you know you like it but it drives you insane you know you like it but youre scared of the shame what you want what you gonna do you know you like it but it drives you insane only cause you know that you wanna feel the same you know you like it but it drives you insane what you want what you gonna doif you wanna train me like an animal better keep your eye on my every move theres no need to be so damn cruel baby you got nothing to proveim no fool no im not a follower i dont take things as they come if they bring me down life can be cruel if youre a dreamer i just wanna have some fun dont tell me what cant be doneyou know you like it but it drives you insane you know you like it but it drives you insane you know you like it but youre scared of the shame what you want what you gonna do you know you like it but it drives you insane only cause you know that you wanna feel the same you know you like it but it drives you insane what you want what you gonna do ",1
60,"uma thurman","fall out boy",2015," i can move mountains i can work a miracle work a miracle oh oh keep you like an oath may nothing but death do us partshe wants to dance like uma thurman bury me till i confess she wants to dance like uma thurman and i cant get you out of my headthe stench the stench of summer sex and ck eternity oh hell yes divide me down to the smallest i can be put your put your venom in mei can move mountains i can work a miracle work a miracle oh oh i keep you like an oath may nothing but death do us partshe wants to dance like uma thurman bury me till i confess she wants to dance like uma thurman and i cant get you out of my headthe blood the blood the blood of the lamb its worth two lions but here i am and i slept in last nights clothes and tomorrows dreams but theyre not quite what they seemi can move mountains i can work a miracle work a miracle oh oh i keep you like an oath may nothing but death do us partyoull find your way and may death find you alive take me down the line in gem city we turn the tide youll find your way and may death find you alive take me down the line in gem city we turn the tideshe wants to dance like uma thurman bury me till i confess she wants to dance like uma thurman and i cant get you out of my headi can move mountains i can work a miracle work a miracle oh oh i keep you like an oath may nothing but death do us parti can move mountains i can work a miracle work a miracle oh oh i keep you like an oath may nothing but death do us part ",1
61,"711","beyonce",2015," shoulders sideways smack it smack it in the air legs movin side to side smack it in the air legs movin side to side smack you in the air shoulders sideways smack it smack it in the air smack it smack it in the air legs movin side to side smack it smack it in the air smack it smack it in the airwave your hands side to side put it in the air wave your hands side to side put it in the air clap clap clap like you dont care smack that clap clap clap like you dont care i know you careclap clap clap clap clap it foot up my foot up hold up now my foot up im spinnin im spinnin my foot up foot up yeah my foot up im spinnin im spinnin my foot up put my foot down yeah my hands up my hands up my hands up flexin flexin while my hands up my hands up my hands up i stand up with my hands up then i put up my hands up i put up my hands up i put up my hands up then im spinnin all my hands up spinnin spinnin while my hands up spinnin spinnin while my hands up spinnin spinnin while my hands up then im tippin all my hands up spinnin im spinnin im spinnin while my hands up spinnin im spinnin im spinnin im spinnin while my hands up drankoh let go like alcohol oh let go like alcohol oh let go like alcohol dont you drop that alcohol never drop that alcohol never drop that alcohol i know you thinkin bout alcohol i know im thinkin bout that alcoholman it feel like rollin dice man it feel like rollin dice seven eleven seven eleven seven twice man seven twice man it feel like rollin dice man this feel like rollin dice man it feel like rollin dice seven twice seven twice girl im tryna kick it with you girl im tryna kick it with you man im tryna kick it with you my feet up i kick it with you man i swear i kick it with you girl i wanna kick it with you man i know i kick it with you yeah i spin around and i kick it with youshoulders sideways smack it smack it in the air legs movin side to side smack it in the air legs movin side to side smack you in the air shoulders move side to side smack it in the air smack it in the air smack it smack it the in the air smack it in the air smack it smack it in the airwave your hands side to side put it in the air wave your hands side to side put it in the air clap clap clap like you dont care smack that clap clap clap like you dont care i know you carewave your hands side to side wave your hands side to side wave your hands side to side wave your hands side to side ooh we be be freaky deaky then you see she pink bikini rock out that booty out that dashiki never td edges teeny sweatin on my blow out sweatin on my dress this trick about to go off mad cause im so fresh fresher than you im fresher than you fresher than you ",1
62,"the heart wants what it wants","selena gomez",2015,"intro in the youtube video clip when i was on when i was on stage and i was thinking of i felt like i know i know him though and i know that and i know his heart and i know what he wouldnt do to hurt me but i didnt realize that iii feeling so confident feeling so great about myself and then it just be completely shattered by one thing by something so stupid but then you make me feel crazy you make me feel like its my fault i was in pain intro what the heart wants what the heart wants what the heart wants verse 1 you got me sipping on something i cant compare to nothing ive ever known im hoping that after this fever ill survive i know im acting a bit crazy strung out a little bit hazy hand over heart im praying that im gonna make it out alive prechorus the beds getting cold and youre not here the future that we hold is so unclear but im not alive until you call and now i bet the odds against it all save your advice cause i wont hear you might be right but i dont care theres a million reasons why i should give you up chorus but the heart wants what it waaaaants the heart wants what it waaaaants verse 2 you got me scattered in pieces shining like stars and screaming lighting me up like venus but then you disappear and make me wait and every seconds like torture heroin drip no more so finding a way to let go baby baby no i cant escape prechorus chorus  extended but the heart wants what it waaaaants the heart wants what it waaaaants the heart wants what it waaaaants the heart wants what it waaaaants bridge this is a mockery  fairytale no happy ending no wind in our sails but i cant imagine a life without breathless moments breaking me down down down down prechorus chorus  extended outro the heart wants what it wants baby the heart wants what it wants baby wants what it wants wants what it wants",3
63,"girl crush","little big town",2015," i got a girl crush hate to admit it but i got a heart rush aint slowing down i got it real bad want everything she has that smile and that midnight laugh shes giving you now    meaning  byamandah   editor    when girl crush began to gain momentum on the billboard hot country songs chart back in may 2015 a strange backlash from the conservative side of the    see all   i want to taste her lips yeah cause they taste like you i want to drown myself in a bottle of her perfume i want her long blonde hair i want her magic touch yeah cause maybe then youd want me just as much i got a girl crush i got a girl crushi dont get no sleep i dont get no peace thinking about her under your bed sheets the way that shes whispering the way that shes pulling you in lord knows ive tried i cant get her off my mindi want to taste her lips yeah cause they taste like you i want to drown myself in a bottle of her perfume i want her long blonde hair i want her magic touch yeah cause maybe then youd want me just as much i got a girl crush i got a girl crush hate to admit it but i got a heart rush it aint slowing down ",1
64,"slow motion","trey songz",2015," i know you got all dressed up for the club waiting on them to come pick you up baby when i saw ya walking out the door i just knew ya needed something more now whip it straight back to the crib finna give you something that you wont forgetbaby i just wanna get you out them clothes i just wanna see you dance inslow motion we can take we can take we can take our time baby in slow motion we can take we can take we can take our time stay here in slow motionso shawty let your hair down take a sip go and put this joint between your lips baby why dont you make yourself comfortable while i go and put this tongue on you so tell me when you ready ima speed it up for you just for a second just for a second then ima slow it back down and keep it steadynow that you are out them clothes i just wanna see you dance in slowslow motion we can take we can take we can take our time baby in slow motion we can take we can take we can take our time stay here in slow motionoh darling i just wanna get you out them clothes i just wanna see you dance inslow motion we can take we can take we can take our time baby in slow motion we can take we can take we can take our time stay here in slow motion we can take we can take we can take our time baby in slow motion we can take we can take we can take our time stay here ",1
65,"drag me down","one direction",2015," ive got fire for a heart im not scared of the dark youve never seen it look so easy i got a river for a soul and baby youre a boat baby youre my only reasonif i didnt have you there would be nothing left the shell of a man who could never be his best if i didnt have you id never see the sun you taught me how to be someone yeahall my life you stood by me when no one else was ever behind me all these lights they cant blind me with your love nobody can drag me downall my life you stood by me when no one else was ever behind me all these lights they cant blind me with your love nobody can drag me down    meaning  byjamesg   editor    drag me down is a song recorded by britishirish boy band one direction for their fifth studio album it was the first song released by one direction after    see all   nobody nobody nobody can drag me down nobody nobody nobody can drag me downi got a fire for a heart im not scared of the dark youve never seen it look so easy i got a river for a soul and baby youre a boat baby youre my only reasonif i didnt have you there would be nothing left nothing left the shell of a man who could never be his best be his best if i didnt have you id never see the sun see the sun you taught me how to be someone yeahall my life you stood by me when no one else was ever behind me all these lights they cant blind me with your love nobody can drag me downnobody nobody nobody can drag me down nobody nobody nobody can drag meall my life you stood by me when no one else was ever behind me all these lights they cant blind me with your love nobody can drag me downall my life you stood by me when no one else was ever behind me all these lights they cant blind me with your love nobody can drag me downnobody nobody nobody can drag me down nobody nobody nobody can drag me downnobody nobody nobody can drag me down nobody nobody nobody can drag me down ",1
66,"truffle butter","nicki minaj featuring drake and lil wayne",2015," uh thinkin out loud i must have a quarter million on me right now hard to make a song bout somethin other than the money two things im bout is talkin blunt and staying blunted pretty women are you here are you here right now huh we should all disappear right now look youre gettin all your friends and youre gettin in the car and youre comin to the house are we clear right now huh you see the fleet of all the new things cop cars with the loose change all white like i move things niggas see me rollin and their mood change like a motherfucker new flow i got a dozen of em i dont trust you you are undercover i could probably make some stepsisters fuck each other talkin filets with the truffle butter fresh sheets and towels man she gotta love it yeah they all get what they desire from it what tell them niggas we aint hidin from ityo thinkin out loud i must have about a milli on me right now and i aint talkin about that lil wayne record im still the highest sellin female rapper for the record man this a 65 million single sold i aint gotta compete with a single soul im good with the ballpoint game finger roll ask me how to do it i dont tell a single soul pretty women wassup is you here right now you a standup or is you in your chair right now uh do you hear me i cant let a wack nigga get near me i might kiss the baddest bitch if you dare me i aint never need a man to take care of me yo im in that big boy bitches cant rent this i floss everyday but i aint a dentist your whole style and approach i invented and i aint takin that back cause i meant ituh thinkin out loud i could be broke and keep a million dollar smile lol to the bank checkin my account bank teller flirtin after checkin my account pretty ladies are you here truffle butter on your pussy cuddle buddies on the low you aint gotta tell your friend that i eat it in the morning cause she gonna say i know can i hit it in the bathroom put your hands on the toilet ill put one leg on the tub girl this my new dance move i just dont know what to call it but bitch you dancing with the stars i aint nothin like your last dude whats his name not important i bought some cocaine you can snort it she became a vacuum put it on my dick like carpet suck the white off like chocolate im so heartless thoughtless lawless and flawless smallest regardless largest in charge and born in new orleans get killed for jordans skateboard im gnarly drake tunechi and barbie you know ",1
67,"one last time","ariana grande",2015," i was a liar i gave into the fire i know i shouldve fought it at least im being honest feel like a failure cause i know that i failed you i shouldve done you better cause you dont want a liar come onand i know and i know and i know she gives you everything but boy i couldnt give it to you and i know and i know and i know that you got everything but i got nothing here without youso one last time i need to be the one who takes you home one more time i promise after that ill let you go baby i dont care if you got her in your heart all i really care is you wake up in my arms one last time i need to be the one who takes you homei dont deserve it i know i dont deserve it but stay with me a minute ill swear ill make it worth it cant you forgive me at least just temporarily i know that this is my fault i should have been more careful come onand i know and i know and i know she gives you everything but boy i couldnt give it to you and i know and i know and i know that you got everything but i got nothing here without you babyso one last time i need to be the one who takes you home one more time i promise after that ill let you go baby i dont care if you got her in your heart all i really care is you wake up in my arms one last time i need to be the one who takes you homei know i shouldnt fight it at least im being honest just stay with me a minute i swear ill make it worth it cause i dont want to be without youso one last time i need to be the one who takes you home one more time i promise after that ill let you go baby i dont care if you got her in your heart all i really care is you wake up in my arms one last time i need to be the one who takes you homeone last time i need to be the one who takes you home ",1
68,"chains","nick jonas",2015," with her winestained lips yeah shes nothing but trouble cold to the touch but shes warm as a devil i gave all my heart but she wont heal my soul she tasted a break and i cant get moreyou got me in chains you got me in chains for your love but i wouldnt change no i wouldnt change this love you got me chains you got me in chains for your love but i wouldnt change no i wouldnt change this lovetryina break the chains but the chains only break me hey hey hey hey tryina break the chains but the chains only break mealone in the night til she knocks on my door oh no oh no wasted again but i cant say no no baby tell me why why you do do me wrong baby tell me why why you do do me wrong gave you my heart but you took my soulyou got me in chains oh babe you got me in chains for your love but i wouldnt change i wouldnt change no i wouldnt change this love you got me chains you got me in chains for your love but i wouldnt change wouldnt change no i wouldnt change this lovetryina break the chains but the chains only break me hey hey hey hey tryina break the chains but the chains only break mehey hey hey hey you got me in baby tell me why why you do do me wrong baby tell me why why you do do me wrong gave you my heart but you took my soul heyyou got me in chains you got me in chains for your love but i wouldnt change no i wouldnt change this love you got me chains oh babe you got me in chains for your love oh but i wouldnt change no i wouldnt change this lovetryina break the chains but the chains only break me ",1
69,"all eyes on you","meek mill featuring chris brown and nicki minaj",2015," baby is you drunk is you had enough are you here lookin for love got the club goin crazy all these bitches but my eyes on you is you somebodys baby if you aint girl what we gon do if you we gon need it baby give it all up for you right now we got the club goin crazy all eyes on youshe was the baddest i was the realest we was the flyest up in the building we was countin this money lovin the feelin look at you now in love with a hitta but now its all eyes on me and it all lies on me to say somethin to your pretty ass im hood nigga what you lookin at cause im good for that birkin bags im good for that might just be your plug for that you might fall in love with that got love for that whats your name who you with where you from you the shit choose and pick get the right one all these chicks got to like one all these hit you got to like one all these bottles got to like some all these models got the right one what you gon do hide or runbaby is you drunk is you had enough are you here lookin for love got the club goin crazy all these bitches but my eyes on you is you somebodys baby if you aint girl what we gon do if you we gon need it baby give it all up for you right now we got the club goin crazy all eyes on youhe was the realest i was the baddest we was the illest when he approached me i said yo what the deal is in and out them dealers rockin chinchillas i got him in the back of that back i think he catchin feelings now its all eyes on us and its all eyes on trust and if them bitches wanna trip tell em they tour guides on us this kitty cat on reclusive he duck duckin them gooses i put him on to that new new now he only fuck with exclusives he was like whats your name my name nick where you from new york in this bitch choose and pick you got the right one all them hoes aint nothin like them nigga you know youd never wife them none of them bitches aint never hit this still at the top of all their hit lists what they gon do meek and nick ",1
70,"no type","rae sremmurd",2015," yah bad bitches is the yahi aint got no type nah bad bitches is the only thing that i like you aint got no life nah cups with the ice and we do this every night i aint check the price i got it i make my own money so i spend it how i like im just living life and let my momma tell it nigga i aint living right nopechop the top off the porsche thats a headless horse extendo long as an extension cord cord bitch i ball like jordan and i play full court i play full court and if you not my type then you know i got to keep this shit short i got to keep this shit short what you know about a check what you got up in your pocket what you spending when you shopping dawg why you wanna go flex like you all in the mix like you got some shit popping off i got some models that you see up in the movies and they want to make a flick for the camera yeah wanna be kim kardashian heard i was living like a bachelori aint got no type nah bad bitches is the only thing that i like you aint got no life nah cups with the ice and we do this every night i aint check the price i got it i make my own money so i spend it how i like im just living life and let my momma tell it nigga i aint living right nopespend it how i like yah sinning every night yah pushstart the whip hey brought it straight to life to life blowing on the kush blowing till im out of sight i wont go i dont check the price bitch all i do is swipe she said whats your type yeah i said i like what i like yeah i dont second guess nah i just roll the dice keep it movin keep your two cents take your own advice ive been living life yeah like i live twicei aint got no type nah bad bitches is the only thing that i like you aint got no life nah cups with the ice and we do this every night i aint check the price i got it i make my own money so i spend it how i like im just living life and let my momma tell it nigga i aint living right nopei aint got no type i aint got no type and let my momma tell it nigga i aint living right ",1
71,"riptide","vance joy",2015," i was scared of dentists and the dark i was scared of pretty girls and starting conversations oh all my friends are turning green youre the magicians assistant in their dreamsoh and they come unstucklady running down to the riptide taken away to the dark side i wanna be your left hand man i love you when youre singing that song and i got a lump in my throat because youre gonna sing the words wrongtheres this movie that i think youll like this guy decides to quit his job and heads to new york city this cowboys running from himself and shes been living on the highest shelfoh and they come unstucklady running down to the riptide taken away to the dark side i wanna be your left hand man i love you when youre singing that song and i got a lump in my throat because youre gonna sing the words wrongi just wanna i just wanna know if youre gonna if youre gonna stay i just gotta i just gotta know i cant have it i cant have it any other way i swear shes destined for the screen closest thing to michelle pfeiffer that youve ever seen ohlady running down to the riptide taken away to the dark side i wanna be your left hand man i love you when youre singing that song and i got a lump in my throat because youre gonna sing the words wrongoh lady running down to the riptide taken away to the dark side i wanna be your left hand man i love you when youre singing that song and i got a lump in my throat because youre gonna sing the words wrongoh lady running down to the riptide taken away to the dark side i wanna be your left hand man i love you when youre singing that song and i got a lump in my throat because youre gonna sing the words wrong i got a lump in my throat because youre gonna sing the words wrong ",1
72,"classic man","jidenna featuring roman gianarthur",2015," my name calling all night i could pull the wool while im being polite like darling calling all night i can be a bull while im being polite like oh me oh me oh my i know many women want to be in my life like oh me oh me oh my why cant every woman end up being my wifeeven if she go away even if she go away even if she go away even if she go away im a classic man you could be mean when you look this clean im a classic man calling on me like a young og im a classic man your needs get met by the street elegant old fashioned man yeah baby im a classic mani burn through the hood like whoa when everybodys feeling so cold im cool like nat king cole and niggas get a bit of my glow i got charm like a leprechaun mummafunka now yall fucking with the wrong mummafunka treat me like a don mummafunka and we dont live by the law mummafunkaeven if she go away even if she go away even if she go away even if she go away im a classic man you could be mean when you look this clean im a classic man calling on me like a young og im a classic man your needs get met by the street elegant old fashioned man yeah baby im a classic mani burn through the gate like whoa and everybody get it we know a love life living like gold and niggas wanna get in my glow i got mad love for my crew mummafunka im the man who are you mummafunka shine bright like a jewel mummafunka even under fire im cool mummafunka even when she go away even when she go away even when she go away even when she go away im a classic man you could be mean when you look this clean im a classic man calling on me like a young og im a classic man your needs get met by the street elegant old fashioned man yeah baby im a classic mankeep my gloves dirty but my hands clean got to keep the business in the family fat when im filling up the pantry now my niggas slang caine like a dandy i tell you how it go you pull out rubber bands i pull out an envelope the ladies on my elbow aint for the show every madame on my team is a top general oh got to be ready for war war should they get into my door door get em well get em i know that well get em cause i lived through this shit beforeim a classic man you could be mean when you look this clean im a classic man calling on me like a young og im a classic man your needs get met by the street elegant old fashioned man yeah baby im a classic man ",1
73,"exs  ohs","elle king",2015,"verse 1 well i had me a boy turned him into a man i showed him all the things that he didnt understand whoa and then i let him go now theres one in california whos been cursing my name cause i found me a better lover in the uk hey hey until i made my getaway prechorus one two three they gonna run back to me cause im the best baby that they never gotta keep one two three they gonna run back to me they always wanna come but they never wanna leave chorus exs and the oh oh ohs they haunt me like ghosts they want me to make em all they wont let go exs and ohs verse 2 i had a summer lover down in new orleans kept him warm in the winter left him frozen in the spring my my how the seasons go by i get high and i love to get low so the hearts keep breaking and the heads just roll you know thats how the story goes prechorus chorus 2 exs and the oh oh ohs they haunt me like ghosts they want me to make em all they wont let go my exs and the oh oh ohs they haunt me like ghosts they want me to make em all they wont let go exs and ohs chorus 2 prechorusone two three they gonna run back to me climbing over mountains and sailing over seas one two three they gonna run back to me they always wanna come but they never wanna leave",5
74,"dear future husband","meghan trainor",2015," dear future husband heres a few things youll need to know if you wanna be my one and only all my lifetake me on a date i deserve a brake and dont forget the flowers every anniversary cause if youll treat me right ill be the perfect wife buying groceries buybuying what you needyou got that 9 to 5 but baby so do i so dont be thinking ill be home and baking apple pies i never learned to cook but i can write a hook sing along with me singsing along with me heyyou gotta know how to treat me like a lady even when im acting crazy tell me everythings alright    meaning  byamandah   editor    while its interesting to have a popular song reject the current hookup culture trend some critics have problems with dear future husband basically all    see all   dear future husband heres a few things youll need to know if you wanna be my one and only all my life dear future husband if you wanna get that special lovin tell me im beautiful each and every nightafter every fight just apologize and maybe then ill let you try and rock my body right even if i was wrong you know im never wrong why disagree why why disagreeyou gotta know how to treat me like a lady even when im acting crazy tell me everythings alrightdear future husband heres a few things youll need to know if you wanna be my one and only all my life hey baby dear future husband make time for me dont leave me lonely and know well never see your family more than mineill be sleeping on the left side of the bed hey open doors for me and you might get some kisses dont have a dirty mind just be a classy guy buy me a ring buybuy me a ring babeyou gotta know how to treat me like a lady even when im acting crazy tell me everythings alrightdear future husband heres a few things youll need to know if you wanna be my one and only all my life dear future husband if you wanna get that special loving tell me im beautiful each and every nightfuture husband better love me right ",1
75,"marvin gaye","charlie puth featuring meghan trainor",2015," lets marvin gaye and get it on you got the healing that i want just like they say it in the song until the dawn lets marvin gaye and get it onwe got this king size to ourselves dont have to share with no one else dont keep your secrets to yourself its kama sutra show and tell yeah whoa theres loving in your eyes that pulls me closer its so subtle im in trouble but id love to be in trouble with you    meaning  byamandah   editor    things got hot at the 2015 amas when charlie  meghan performed marvin gaye togethersealing the end of their show with a little sugar    see all   lets marvin gaye and get it on you got the healing that i want just like they say it in the song until the dawn lets marvin gaye and get it on you got to give it up to me im screaming mercy mercy please just like they say it in the song until the dawn lets marvin gaye and get it onand when you leave me all alone im like a stray without a home im like a dog without a bone i just want you for my own i got to have you babe whoa theres loving in your eyes that pulls me closer its so subtle im in trouble but id rather be in trouble with youlets marvin gaye and get it on i got that healing that you want like they say it in the song until the dawn lets marvin gaye and get it onlets marvin gaye and get it on you got the healing that i want just like they say it in the song until the dawn lets marvin gaye and get it on you got to give it up to me im screaming mercy mercy please just like they say it in the song until the dawn lets marvin gaye and get it onjust like they say it in the song until the dawn lets marvin gaye and get it on ",1
76,"like im gonna lose you","meghan trainor featuring john legend",2015," i found myself dreaming in silver and gold like a scene from a movie that every broken heart knowswe were walking on moonlight and you pulled me close split second and you disappeared and then i was all alonei woke up in tears with you by my side a breath of relief and i realized no were not promised tomorrowso im gonna love you like im gonna lose you and im gonna hold you like im saying goodbye wherever were standing i wont take you for granted cause well never know when when well run out of timeso im gonna love you like im gonna lose you im gonna love you like im gonna lose youin the blink of an eye just a whisper of smoke you could lose everything the truth is you never knowso ill kiss you longer baby any chance that i get ill make the most of the minutes and love with no regretslets take our time to say what we want heres what we got before its all gone cause no were not promised tomorrowso im gonna love you like im gonna lose you im gonna hold you like im saying goodbye wherever were standing i wont take you for granted cause well never know when when well run out of timeso im gonna love you like im gonna lose you im gonna love you like im gonna lose youim gonna love you like im gonna lose you im gonna hold you like im saying goodbye wherever were standing i wont take you for granted cause well never know when when well run out of timeso im gonna love you like im gonna lose you im gonna love you like im gonna lose you ",1
77,"habits stay high","tove lo",2015," uhuh uhuh uhuh i eat my dinner in my bathtub then i go to sex clubs watching freaky people getting it on it doesnt make me nervous if anything im restless yeah ive been around and ive seen it alli get home i got the munchies binge on all my twinkies throw up in the tub then i go to sleep and i drank up all my money days kind of lonelyyoure gone and i got to stay high all the time to keep you off my mind ooh ooh high all the time to keep you off my mind ooh ooh spend my days locked in a haze trying to forget you babe i fall back down gotta stay high all my life to forget im missing youpick up daddies at the playground how i spend my day time loosen up the frown make them feel alive i make it fast and greasy i know my way too easyyoure gone and i got to stay high all the time to keep you off my mind ooh ooh high all the time to keep you off my mind ooh ooh spend my days locked in a haze tryin to forget you babe i fall back down got to stay high all my life to forget im missing youstaying in my play pretend where the fun aint got no end oh cant go home alone again need someone to numb the pain oh staying in my play pretend where the fun aint got no end oh oh cant go home alone again need someone to numb the painyoure gone and i got to stay high all the time to keep you off my mind ooh ooh high all the time to keep you off my mind ooh ooh spend my days locked in a haze tryin to forget you babe i fall back down got to stay high all my life to forget im missing you ",1
78,"the hanging tree","james newton howard featuring jennifer lawrence",2015," are you are you coming to the tree they strung up a man they say who murdered three strange things did happen here no stranger would it be if we met at midnight in the hanging treeare you are you coming to the tree where dead man called out for his love to flee strange things did happen here no stranger would it be if we met at midnight in the hanging treeare you are you coming to the tree where i told you to run so wed both be free strange things did happen here no stranger would it be if we met at midnight in the hanging tree are youare you are you coming to the tree where i told you to run so wed both be free strange things did happen here no stranger would it be if we met at midnight in the hanging treeare you are you coming to the tree wear a necklace of hope side by side with me strange things did happen here no stranger would it be if we met at midnight in the hanging treeare you youare you are you coming to the tree where dead man called out for his love to flee strange things did happen here no stranger would it be if we met at midnight in the hanging tree ",1
79,"coco","ot genasis",2015," im in love with the coco coco coco im in love with the coco coco coco i got it for the low low im in love with the coco coco cocoim in love with the coco coco coco im in love with the coco coco coco i got it for the low low im in love with the coco coco cocohit my plug thats my cholo cause he got it for the low low if you snitchin i go loco go crazy hit you with that treinta ocho thinkin that im solo 50 deep theyre like oh no no no no please no heard the feds takin photos i know nothing fuck the po pobakin soda i got bakin soda bakin soda i got bakin soda whip it through the glass nigga im blowin money fast niggaim in love with the coco coco coco im in love with the coco coco coco i got it for the low low im in love with the coco coco cocoim in love with the coco coco coco im in love with the coco coco coco i got it for the low low turn off im in love with the coco coco coco36 thats a kilo aqui need a brick miss my free throw stay away im in love just like neyo bustin bustin now he neo free my homies fuck the co fuck the judge fuck my po all this coke like im nino water whip like im nemobakin soda i got bakin soda bakin soda i got bakin soda whip it through the glass nigga im blowin money fast niggaim in love with the coco im in love with the coco i got it for the low low im in love with the cocoim in love with the coco coco coco im in love with the coco coco coco i got it for the low low turn off im in love with the coco coco coco coco coco ",1
80,"bang bang","jessie j ariana grande and nicki minaj",2015,"verse 1 jessie j she got a body like an hourglass but i can give it to you all the time she got a booty like a cadillac but i can send you into overdrive oh stop and wait wait for that stop hold up swing your bat see anybody could be bad to you you need a good girl to blow your mind yeah hook jessie j bang bang into the room i know you want it bang bang all over you ill let you have it wait a minute let me take you there ah wait a minute tell you ah bang bang there goes your heart i know you want it back back seat of my car ill let you have it wait a minute let me take you there ah wait a minute tell you ah verse 2 ariana grande she mightve let you hold her hand in school but imma show you how to graduate no i dont need to hear you talk the talk just come and show me what your momma gave oooh yeah your love gotta be baby love but dont say a thing see anybody could be good to you you need a bad girl to blow your mind hook jessie j  ariana grande verse 3 nicki minaj its myx moscato its frizz in a bottle its nicki full throttle its oh oh swimming in the grotto we winning in the lotto we dipping in the pot of blue foam kitten so good its dripping on wood get a ride in the engine that could go batman robbin it bang bang cockin it queen nicki dominant prominent its me jessie and ari if they test me they sorry ride us up like a harley then pull off in this ferrari if he hanging we banging phone ranging he slanging it aint karaoke night but get the mic cause he singing bridge jessie j  nicki minaj b to the a to the n to the g to the uh b to the a to the n to the g to the hey see anybody could be good to you you need a bad girl to blow your mind hook outro nicki minaj overlapping yeah i said bang bang bang bang bang bang",3
81,"lay me down","sam smith",2015," yes i do i believe that one day i will be where i was right there right next to you and its hard the days just seem so dark the moon and the stars are nothing without you your touch your skin where do i begin no words can explain the way im missing you the night this emptiness this hole that im inside these tears they tell their own storyyou told me not to cry when you were gone but the feelings overwhelming its much too strong can i lay by your side next to you you and make sure youre alright ill take care of you and i dont want to be here if i cant be with you tonightim reaching out to you can you hear my call whos to say you wont hear me this hurt that ive been through im missing you missing you like crazyyou told me not to cry when you were gone but the feelings overwhelming its much too strong can i lay by your side next to you you and make sure youre alright ill take care of you and i dont wanna be here if i cant be with you tonight ",1
82,"tuesday","ilovemakonnen featuring drake",2015,"hook x4 club goin up on a tuesday got your girl in the cut and she choosey verse 1  drake squad goin up nobody flippin packs now i just did 3 in a row them shows is backtoback to back now put the world on our sound you know party and the weeknd aint got no motherfuckin time to party on the weekend tell gelo bring the juice we about to get lit fill the room up with some tings one night off and this is it always workin ot overtime and outta town shit is crazy back home it kills me that im not around i think we gettin too deep shit im talkin might be too true upstairs i got xans in an advil bottle i dont take them shits but you do so i got em for you i dont need the pills im just gon have another drink and when im puttin work in on a weekend ill look back on this and think how we had the club going up hook x4 verse 2  ilovemakonnen workin monday night on the corner flippin hard made at least 3 thousand on the boulevard ive been workin graveyard shifts every other weekend aint got fuckin time to party on the weekend ive been flippin in the house makin juugs on the highway ive been ridin out of state makin money like my way i dont think that i should dance im just gon have another drink im doin my stance you know my molly pink i got the loudest of the loud you know my gas stink my po think im in the house dont give a damn bout what she think hook x4 bridge  ilovemakonnen and i know i know how i made it on my own i made my own style i dont think that i should stay you know i gotta go youre moving too fast dont wanna take it slow hook x4",3
83,"hit the quan","ilovememphis",2015," yo yo aye im finna aye im finnaim finna show you how to hit the quan hit the quan hit the quan hit the quan i said get down low and swing your arm i said get down low and hit the quanim finna show you how to hit the quan hit the quan hit the quan hit the quan i said get down low and swing your arm i said get down low and hit the quani paper chase then vanish hit the quan note her make her boyfriend panic i heart memphis but i also love dancing i done took off on em i dont plan on landing i call shots just do it like nike no facetime but the people wanna skype me if i do time then who would really write me i stay on yall mind but oh i think they like me clean pair of sneaks with ads on her belt please watch your step cause im feeling myself throw a flag on the play man somebody get the ref go blah da da da dol man somebody get some help pulled up on the blockhit the quan hit the quan hit the quan hit the quan i said get down low and swing your arm i said get down low and hit the quanim finna show you how to hit the quan hit the quan hit the quan hit the quan i said get down low and swing your arm i said get down low and hit the quanpull pull pull up on the block and do the dance like crazy this chick is hella hot but i know this chick crazy if i think she not then that makes me crazy we are both thots so we are both are crazy flexing always on my agenda your whole team retched your ceo is master splinter walking hit the quan and turn that gun into a member now my whole team flexing i think we got a winner people want to damp it up but they cant get none from it i whip the jealous snap it up at least i have bum money people wanna walk around me tryna steal my lingo just make sure when you talk about me you say hes doing his thing doe ba ba yeahit the quan hit the quan hit the quan hit the quan i said get down low and swing your arm i said get down low and hit the quanim finna show you how to hit the quan hit the quan hit the quan hit the quan i said get down low and swing your arm i said get down low and hit the quan ",1
84,"downtown","macklemore and ryan lewis featuring eric nally melle mel kool moe dee and grandmaster caz",2015," i went to the moped store said fuck it salesmans like what up whats your budget and im like honestly i dont know nothing about mopeds he said i got the one for you follow me ooh its too real chromed out mirror i dont need a windshield banana seat a canopy on two wheels eight hundred cash thats a hell of a dealim headed downtown cruising through the alley tiptoeing in the street like dally pulled up moped to the valley whitewalls on the wheels like mayonnaise dope my crew is ill and all we need is two good wheels got gas in the tank cash in the bank and a bad little mama with her ass in my face imma lick that stick that break her off kitkat snuck her in backstage you dont need a wristband dopekilling the game bout to catch a body passed the harley dukie on the ducati timbaland khaled scott storch birdman god damn man everybody got bugattis but ima keep it hella nineteen eighty seven head into the dealership and drop a stack and cop a kawasaki im stunting on everybody hella raw pass the wasabi im so low that my scrotums almost dragging up on the concrete my seat is leather alright im lying its pleather but girl we could still ride together you dont need a uber you dont need a cab fuck a bus pass you got a moped man she got nineteen eighty eight mariah carey hair very rare mom jeans on her derriere throwing up the west side as we tear in the air stop by pike place throwing fish to a playerdowntown downtown downtown downtown downtown downtown she has her arms around your waist with a balance that will keep her safe downtown have you ever felt the warm embrace downtown of the leather seat between your legs heyeyeyey heyeyeyey heyeyeyey heyeyeyey downtown you dont want no beef boy know i run the streets boy better follow me towards downtown what you see is what you get girl dont ever forget girl aint seen nothing yet until youre downtowndope cut the bullshit get off my mullet stone washed so raw moped like a bullet you cant catch me a popo cant reprimand me im in a bboy stance im not dancing i got your girl on the back going tandem cause im too damn quick im too damn slick whole downtown yelling out who that isits me the m the ac the k sounding like a french pimp from back in the day i take her to pend oreille and i watch her skate i mean water ski ollie ollie oxen free im perusing down fourth and they watching me i do a handstand the eagle lands on my seat well hello but baby the kickstand aint free now do you or do you not wanna ride with me i got one girl i got two wheels she a big girl that aint a big deal i like a big girl i like em sassy going down the backstreet listening to blackstreet running around the whole town neighbors yelling at me like you need to slow down going thirtyeight dan chill the fuck out mow your damn lawn and sit the hell down if i only had one helmet i would give it to you give it to you cruising down broadway girl what a wonderful view wonderful view theres layers to this shit player tiramisu tiramisu let my coattail drag but i aint tearing my suit tearing my suitdowntown downtown downtown downtown downtown she has her arms around your waist with a balance that will keep her safe have you ever felt the warm embrace of the leather seat between your legs downtown you dont want no beef boy know i run the streets boy better follow me towards downtown what you see is what you get girl dont ever forget girl aint seen nothing yet until youre downtownyou dont want no beef boy know i run the streets boy better follow me towards downtown what you see is what you get girl dont ever forget girl aint seen nothing yet until youre downtown ",1
85,"house party","sam hunt",2015," youre on the couch blowing up my phone you dont want to come out but you dont want to be alone it dont take but two to have a little soir̩e if youre in the mood sit tight right where you are babecause ill be at your door in ten minutes whatever you got on girl stay in it you aint gotta leave the house to have a good time imma bring the good time home to youwell have a house party we dont need nobody turn your tv off break that boombox out well wake up all the neighbours til the whole block hates us and the cops will show up and try to shut us downif youre gonna be a homebody were gonna have a house party if you wanna be a homebody were gonna have a house partythrow a neon tee shirt over the lamp shade ill take the furniture slide it out of the way shaking the floor rattling the roof well go to town like theyre in your livingroomlets have a house party we dont need nobody turn your tv off break that boombox out well wake up all the neighbours til the whole block hates us and the cops will show up and try to shut us downif youre gonna be a homebody were gonna have a house party if you wanna be a homebody were gonna have a house partyso ill be at your door in ten minutes whatever you got on baby stay in it you aint gotta leave the house to have a good time imma bring the good time home to youwell have a house party we dont need nobody turn your tv off break that boombox out well wake up all the neighbours til the whole block hates us and the cops will show up and try to shut us downif youre gonna be a homebody were gonna have a house party if you wanna be a homebody were gonna have a house party ",1
86,"ayo","chris brown and tyga",2015," i need you i need you i need you i need you i need you i need you i need you i need youwe poppin like ayo all my bitches got real hair chilling with the top down screaming like ayo imma take her ass down when she bring her friend around fuck em both like ayo im a bougie ass nigga left the roof at home we popping like ayo ayo ayo but dont be acting like i need youah aye babe this my new shit im the black richie rich with the roof missing if it dont make dollars it dont make sense z wake up like i gotta get it and i got a engine with a trunk space i get money three ways fucking bitches three ways 7 different foreigns plus she no habl̩ but i make that bitch walk with some cheesecake yeah im the coldest nigga icy looking in the mirror like i wish i could be me she too into me im more into money my hobbys her body that pussys my lobby imma eat it imma eat it i dont lie hold my dick too conceited uh told her shes my wife for the weekend but dont be acting like i need you cause we poppin likeayo all my bitches got real hair chilling with the top down screaming like ayo imma take her ass down when she bring her friend around fuck em both like ayo im a bougie ass nigga left the roof at home we popping like ayo ayo we poppin like ayo but dont be acting like i need youim in a rolls you dont roll right my chain shine brighter than a strobe light im tryna fuck coco this dont concern ice if i motorboat she gon motorbike a nigga aint worried about nothin rehabilitation just had me worried about fucking money decisionmaking only worried about stunting she worried about me her nigga worried about cuffing i wanna see her body body she said get inside of me i wanna feel you baby yeah just bring the animal right out of me we loving she love it especially when i go down on her now we fucking she thugging getting loud cause we poppin likeayo all my bitches got real hair chilling with the top down screaming like ayo imma take her ass down when she bring her friend around fuck em both like ayo im a bougie ass nigga left the roof at home we popping like ayo ayo we poppin like ayo but dont be acting like i need you nahnow i can spot your bitch from a mile away valentine in that pussy its a holiday uh you losing money i windmills dr j she going to follow my lead simon says paper paper im riding scrapers in california car smelling like ammonia we got that stank on us never been an outcast that stank on ya from the ghetto but my bitch like apollonia we in the hood tatted like a mexican car too fast give a fuck about pedestrians uh and my section less niggas more lesbians got your bitch im that niggawe poppin like ayo all my bitches got real hair chilling with the top down screaming like ayo imma take her ass down when she bring her friend around fuck em both like ayo im a bougie ass nigga left the roof at home we popping like ayo ayo ayo but dont be acting like i need youyeah this that fly shit king shit only drop top no roof ha ",1
87,"kick the dust up","luke bryan",2015," all week long its a farmin town theyre makin that money grow tractors plows with flashing lights backin up a two lane road they take one last lap around that sun up high goes down and then its on come on girl kick it on back z71 like a cadillacwe go way out where there aint nobody we turn this cornfield into a party pedal to the floorboard eight up in a four door burnin up a back road song park it and we pile out baby watch your step now better have your boots on kick the dust up back it on up fill your cup up lets tear it up up and kick the dust upbar downtown they got a line of people way out the door 10 dollar drinks its packed inside i dont know what theyre waitin for got me a jar full of clear and i got that music for your ears and its like knock knock knock goes the diesel if you really wanna see the beautiful peoplewe go way out where there aint nobody we turn this cornfield into a party pedal to the floorboard eight up in a four door burnin up a back road song park it and we pile out baby watch your step now better have your boots on kick the dust up back it on up fill your cup up lets tear it up up and kick the dust upjust follow me down neath the 32 bridge yall be glad you didwe go way out where there aint nobody we turn this cornfield into a party pedal to the floorboard eight up in a four door burnin up a back road song park it and we pile out baby watch your step now better have your boots on kick the dust up back it on up fill your cup up thats whats up up lets kick the dust up ",1
88,"blessings","big sean featuring drake",2015," look i feel blessed way up i feel blessed way up i feel blessed straight up looki live the life i deserve blessed fuck a vacay i feel better at work i mean whatever its worth i give whatever im worth for my niggas who gonna go to hell and back for me imma give em heaven on earth for a hell of a check yeah whichever come first blessings on blessings on blessings look at my life man thats lessons on lessons on lessons i treat the beat like its a reverend i tell the truth like father forgive me these are all my confessions man this wasnt luck it was destined i done lost homies who been with me since ed edd and eddy who flip like confetti and then when you back they back to call you dog that shit get get petty bitch dont give no dap to me nigga funny thing about talkin behind my back is that it just keep comin back to me nigga was all for a sec now its back to me nigga you mad at me this aint what i want man this what it had to be this is that late night workin after three man this why my old girl was mad at me this why im your majesty man the clique is the tightest the pussys the tightest the drinks are the coldest the future the brightest the feat not divided the love is divided and i just got it thank god that we got it blessed i dont know what i would do without it crew look like we robbed a bank but all we make is deposits your profit we profit oh godim here for a good time not a long time you know i i havent had a good time in a long time you know i im way up i feel blessed way up i feel blessed im way up i feel blessed way up i feel blessedlook i aint gonna say that we back or nothin cause that implies that were back from somethin if were back from somethin its some checks you owe us i expect that payment nothin less or over i dont need them favors that you ask me for i could give two fucks bout where the grammys go i just gave out grammys on my instagram them ovo boys the business man it is what it is trust me you get what you give yeah you gotta come to my side and see how we live yeah i cannot see heaven bein much better than this yeah blessings on blessings from me and my niggas from the six look at what we did be quiet im doin a toast for niggas that dont really do shit i swear yall be doin the most stop worryin about whoevers next i am just worried about my mama worryin less i think im famous enough i dont need anymore press i am convinced im the only one left thats still doin this shit manim here for a good time not a long time you know i i havent had a good time in a long time you know i im way up i feel blessed way up i feel blessed im way up i feel blessed way up i feel blessedmy grandma just died im the man of the house so every mornin im up cause i cant let them down always down for the cause never down for the count i guess when your stars align you do like the solar system and plan it out so im goin over time on the overtime yeah im not invested but you cant attest it million dollar goals man its to manifest it the family never goin anorexic i pay my mortgage and electric never goin under even with anesthetics at the top of the rap game and progressin check after check checkin off my check list try and blow my cake just know thats a death wish no mistakes in life ever its only lessons shit feel like shaq and penny got back together you tore the game apart who put it back togetherim here for a good time not a long time you know i i havent had a good time in a long time you know i im way up i feel blessed way up i feel blessed im way up i feel blessed way up i feel blessedsince the truth keep niggas traumatized they tryna compromise my condom size so i snapchat that whole shit tryna see titties tryna show dick and i swear to god i hope they post it im blessed even though i get slammed with lawsuits like car doors see three pos like star wars they want me by the road holding up cardboard so i go extra hard on the hard floor right now im calling you from my home gym right after that nigga im gon swim just did a couple laps in my home pool and my daughter right there getting homeschooled im blessed and i was thinking bout starting up my own school a montessori and the hallway looking like a monastery oh yes im way up i feel blessed ",1
89,"budapest","george ezra",2015," my house in budapest my hidden treasure chest golden grand piano my beautiful castilloyou you id leave it allmy acres of a land i have achieved it may be hard for you to stop and believebut for you you id leave it allgive me one good reason why i should never make a change and baby if you hold me then all of this will go awaymy many artifacts the list goes on if you just say the words ill up and runoh to you you id leave it allgive me one good reason why i should never make a change and baby if you hold me then all of this will go awaygive me one good reason why i should never make a change baby if you hold me then all of this will go awaymy friends and family they dont understand they fear theyd lose so much if you take my handbut for you you id lose it allgive me one good reason why i should never make a change and baby if you hold me then all of this will go awaygive me one good reason why i should never make a change and baby if you hold me then all of this will go awaymy house in budapest my hidden treasure chest golden grand piano my beautiful castilloyou you id leave it all ",1
90,"chandelier","sia",2015," party girls dont get hurt cant feel anything when will i learn i push it down push it downim the one for a good time call phones blowin up theyre ringin my doorbell i feel the love feel the loveprechorus 123 123 drink 123 123 drink 123 123 drink    meaning  byjamesg   editor    chandelier is the lead single from australian recording artist sias sixth studio album 1000 forms of fear 2014 it is her first single in four years it    see all   throw em back til i lose countchorus im gonna swing from the chandelier from the chandelier im gonna live like tomorrow doesnt exist like it doesnt exist im gonna fly like a bird through the night feel my tears as they dry im gonna swing from the chandelier from the chandelierbut im holding on for dear life wont look down wont open my eyes keep my glass full until morning light cos im just holding on for tonight help me im holding on for dear life wont look down wont open my eyes keep my glass full until morning light cos im just holding on for tonight on for tonightsun is up im a mess gotta get out now gotta run from this here comes the shame here comes the shameprechorus 123 123 drink 123 123 drink 123 123 drinkchorus im gonna swing from the chandelier from the chandelier im gonna live like tomorrow doesnt exist like it doesnt exist im gonna fly like a bird through the night feel my tears as they dry im gonna swing from the chandelier from the chandelier ",1
91,"heartbeat song","kelly clarkson",2015," this is my heartbeat song and im gonna play it been so long i forgot how to turn it up up up up all night oh up up all night longyou where the hell did you come from you were a different different kind of fun and still used to feel it now now i got pins and needles on my tongue anticipating whats to come like a finger on a loaded guni can feel it rising temperature inside me havent felt for a long timethis is my heartbeat song and im gonna play it been so long i forgot how to turn it up up up up all night oh up up all night long this is my heartbeat song and im gonna play it turn it on but i know you can take it up up up up all night oh up up all night longi i wasnt even gonna go out but i never would have had a doubt if i dont know where id be knowyour hands on my hips and my kiss on your lips and i could do this for a long timethis is my heartbeat song and im gonna play it been so long i forgot how to turn it up up up up all night oh up up all night long this is my heartbeat song and im gonna play it turn it on but i know you can take it up up up up all night oh up up all night longuntil tonight i only dreamed about you i cant believe ill ever breathe without you baby you make me feel alive and brand new bring it one more time one more timethis is my heartbeat song and im gonna play it been so long i forgot how to turn it up up up up all night oh up up all night long this is my heartbeat song and im gonna play it turn it on but i know you can take it up up up up all night oh up up all night longthis is my heartbeat song and im gonna play it been so long i forgot how to turn it up up up up all night oh up up all night long this is my heartbeat song and im gonna play it turn it on but i know you can take it up up up up all night oh up up all night long ",1
92,"dont","ed sheeran",2015," i met this girl late last year she said dont you worry if i disappear i told her im not really looking for another mistake i called an old friend thinking that the trouble would wait but then i jumped right in a week later returned i reckon she was only looking for a lover to burn but i gave her my time for two or three nights then i put it on pause until the moment was right i went away for months until our paths crossed again she told me i was never looking for a friend maybe you can swing by my room around ten baby bring the lemon and a bottle of gin well be in between the sheets till the late am baby if you wanted me then you should have just said shes singingdont fuck with my love that heart is so cold all over my own i dont wanna know that babe dont fuck with my love i told her she knows take aim and reload i dont wanna know that babefor a couple of weeks i only want to see her we drink away the days with a take away pizza before a text message was the only way to reach her now shes staying at my place and loves the way i treat her singing out aretha all over the track like a feature and never wants to sleep i guess that i dont want to either but me and her we make money the same way four cities two planes the same day and those shows have never been what its about maybe well go together and just figure it out id rather put on a film with you and sit on the couch but we should get on the plane or well be missing it now wish id have written it down the way that things played out when she was kissing him how i was confused about she should figure it out why im sat here singingdont with my love that heart is so cold all over my own i dont wanna know that babe dont fuck with my love i told her she knows take aim and reload i dont wanna know that babeon my hotel door i dont even know if she knows what for she was crying on my shoulder i already told you trust and respect is what we do this for i never intended to be next but you didnt need to to take him to bed thats all and i never saw him as a threat until you disappeared with him to have sex of course its not like we were both on tour we were staying on the same hotel floor and i wasnt looking for a promise or commitment but it was never just fun and i thought you were different this is not the way you realize that you want it its a bit too much too late if im honest and all this time god knows im singingdont fuck with my love that heart is so cold all over my own i dont wanna know that babe dont fuck with my love i told her she knows take aim and reload i dont wanna know that babedont fuck with my love that heart is so cold all over my own i dont wanna know that babe dont fuck with my love i told her she knows take aim and reload i dont wanna know that babe ",1
93,"ghost","ella henderson",2015," i keep going to the river to pray cause i need something that can wash out the pain and at most im sleeping all these demons away but your ghost the ghost of you it keeps me awakemy friends i can figure out youre the soul thats inside of you its rock hard in another you but your evil was coming throughthese eyes sitting on the wall well they watch every move i make bright light taking in the shape you go hard makes my spirit shakeooh i had to go through hell to prove im not insane had to meet the devil just to know his nameand thats when my love was burning yeah its still burningi keep going to the river to pray cause i need something that can wash out the pain and at most im sleeping all these demons away but your ghost the ghost of you it keeps me awakei keep going to the river to pray cause i need something that can wash out the pain and at most im sleeping all these demons away but your ghost the ghost of you it keeps me awakeeach time that i think you go i turn around and youre creeping in and i let you another skin cause i love living in the sinoh you never told me true love was gonna hurt true pain its own desert true face that i never learnedooh i keep going to the river to pray cause i need something that can wash out the pain and at most im sleeping all these demons away but your ghost the ghost of you it keeps me awakei keep going to the river to pray cause i need something that can wash out the pain and at most im sleeping all these demons away but your ghost the ghost of you it keeps me awakegive up the ghost give up the ghost give up the ghost stall the haunting babygive up the ghost give up the ghost give up the ghost no more haunting babyi keep going to the riveri keep going to the river to pray cause i need something that can wash out the pain and at most im sleeping all these demons away but your ghost the ghost of you it keeps me awakei keep going to the river to pray cause i need something that can wash out the pain and at most im sleeping all these demons away but your ghost the ghost of you it keeps me awake ",1
94,"here","alessia cara",2015," i guess right now youve got the last laughim sorry if i seem uninterested or im not listenin or im indifferent truly i aint got no business here but since my friends are here i just came to kick it but really i would rather be at home all by myself not in this room with people who dont even care about my well being i dont dance dont ask i dont need a boyfriend so you can go back please enjoy your party ill be here somewhere in the corner under clouds of marijuana with this boy whos hollering i can hardly hear over this music i dont listen to and i dont wanna get with you so tell my friends that ill be over hereoh oh oh here oh oh oh here oh oh oh i ask myself what am i doing here oh oh oh here oh oh oh here and i cant wait till we can break up outta hereexcuse me if i seem a little unimpressed with this an anti social pessimist but usually i dont mess with this and i know you mean only the best and your intentions arent to bother me but honestly id rather be somewhere with my people we can kick it and just listen to some music with the message like we usually do and well discuss our big dreams how we plan to take over the planet so pardon my manners i hope youll understand that ill be here not there in the kitchen with the girl whos always gossiping about her friends so tell them ill be here right next to the boy whos throwing up cause he cant take whats in his cup no more oh god why am i hereoh oh oh here oh oh oh here oh oh oh i ask myself what am i doing here oh oh oh here oh oh oh here and i cant wait till we can break up outta herehours later congregating next to the refrigerator some girls talking bout her haters she aint got none how did it ever come to this i shoulda never come to this so holla at me ill be in the car when youre done im standoffish dont want what youre offering and im done talking awfully sad it had to be that way so tell my people when theyre ready that im ready and im standing by the tv with my beanie low yo ill be over hereoh oh oh here oh oh oh here oh oh oh i ask myself what am i doing here oh oh oh here oh oh oh here and i cant wait till we can break up outta hereoh oh oh oh oh oh oh oh oh oh oh oh ",1
95,"waves","mr probz",2015," my face above the water my feet cant touch the ground touch the ground and it feels like i can see the sands on the horizon everytime everytime you are not aroundim slowly drifting away drifting away wave after wave wave after wave im slowly drifting drifting away and it feels like im drowning pulling against the stream pulling against the streami wish i could make it easy easy to love me love me but still i reach to find a way im stuck here in between im looking for the right words to say to sayim slowly drifting drifting away wave after wave wave after wave im slowly drifting drifting away and it feels like im drowning pulling against the stream pulling against the stream ",1
96,"el perdon","nicky jam and enrique iglesias",2015,"enrique iglesias dime si es verdad me dijeron que te estas casando t̼ no sabes lo estoy sufriendo esto te lo tengo que decir nicky jam cu̩ntame tu despedida para mi fue dura ser�� que te llevo a la luna y yo no supe hacerlo as�_ enrique iglesias te estaba buscando por la calle gritando esto me esta matando oh no nicky jam te estaba buscando por las calles gritando como un loco tomando enrique iglesias es que yo sin ti tu sin mi dime qui̩n puede ser feliz esto no me gusta esto no me gusta nicky jam es que yo sin ti y tu sin mi dime qui̩n puede ser feliz eso no me gusta eso no me gusta enrique iglesias y yo sin ti no aguanto mas por eso vengo a decirte lo que siento estoy sufriendo la soledad oh nicky jam y aunque tu padre no aprobo esta relacion yo sigo insistiendo a pedir perdon lo unico que importa esta en tu corazon enrique iglesias te estaba buscando por la calle gritando esto me esta matando oh no nicky jam te estaba buscando por las calles gritando como un loco tomando enrique iglesias es que yo sin ti tu sin mi dime qui̩n puede ser feliz esto no me gusta esto no me gusta nicky jam es que yo sin ti y tu sin mi dime qui̩n puede ser feliz eso no me gusta eso no me gusta enrique iglesias yo te jure a ti ese eterno amor y ahora otro te da calor cuando en las noches tienes frio oh nicky jam yo se que te parece mejor pero yo estoy en tu corazon y por eso pido perdon enrique iglesias es que yo sin ti y tu sin mi dime qui̩n puede ser feliz esto no me gusta esto no me gusta nicky jam es que yo sin ti y tu sin mi dime qui̩n puede ser feliz eso no me gusta eso no me gusta dicen que uno no sabe lo que tiene hasta que se pierde pero vale la pena luchar por lo que uno quiere y hacer el intento nick nicky jam enrique iglesias haciendo historia saga white black y te pido perdon",3
97,"she knows","neyo featuring juicy j",2015,NA,NA
98,"night changes","one direction",2015," going out tonight changes into something red her mother doesnt like that kind of dress everything she never had shes showing offdriving too fast moon is breaking through her hair she said it was something that she wont forget having no regrets is all that she really wantswere only getting older baby and ive been thinking about it lately does it ever drive you crazy just how fast the night changes everything that youve ever dreamed of disappearing when you wake up but theres nothing to be afraid of even when the night changes it will never change me and youchasing it tonight doubts are running round her head hes waiting hides behind a cigarette heart is beating loud she doesnt want it to stopmoving too fast moon is lighting up her skin shes falling doesnt even know it yet having no regrets is all that she really wantswere only getting older baby and ive been thinking about it lately does it ever drive you crazy just how fast the night changes everything that youve ever dreamed of disappearing when you wake up but theres nothing to be afraid of even when the night changes it will never change me and yougoing out tonight changes into something red her mother doesnt like that kind of dress reminds her of a missing piece of innocence she lostwere only getting older baby and ive been thinking about it lately does it ever drive you crazy just how fast the night changes everything that youve ever dreamed of disappearing when you wake up but theres nothing to be afraid of even when the night changes it will never change baby it will never change baby it will never change me and you ",1
99,"back to back","drake",2015," oh man oh man oh man not againyeah i learned the game from william wesley you can never check me back to back for the niggas that didnt get the message back to back like im on the cover of lethal weapon back to back like im jordan 96 97 whoa very important and very pretentious when i look back i might be mad that i gave this attention yeah but its weighin heavy on my conscience yeah and fuck you left the boy no options i wanna see my niggas go insane you gon make me step out of my fuckin frame you gon make me buy bottles for charlamagne you gon make me go out of my fuckin way i waited four days nigga where yall at i drove here in the wraith playin arab im not sure what it was that really made yall mad but i guess this is what i gotta do to make yall rap i mean woah cant fool the city man they know whats up second floor at tootsies gettin shoulder rubs this for yall to think that i dont write enough they just mad cause i got the midas touch you love her then you gotta give the world to her is that a world tour or your girls tour i know that you gotta be a thug for her this aint what she meant when she told you to open up more yeah trigger fingers turn to twitter fingers yeah you gettin bodied by a singin nigga im not the type of nigga thatll type to niggas and shoutout to all my boss bitches wifein niggas make sure you hit him with the prenup then tell that man to ease up i did another one i did another one you still aint did shit about the other one i got the drink in me goin back to back yeah goin back to back i got the drink in me goin back to back yeah im goin back to back i dont wanna hear about this ever again not even when she tell em that they better as friends not even when you sayin drizzy tell em again i been puttin on a show it was a sell out event oh you need better seatin i didnt wanna do it gave me every reason the point im tryna make is i dont ever need em seen what youd do for fame or what youd do for freedom please check em for a wire or a earpiece please please do not let these niggas near me please think before you come for the great one please whos a real nigga and who aint one please somebody stop me im talkin boasy and gwanin wassy i got the fest in five days and its my shit soon as a nigga hit the stage they gon they gon ask if i can play this shit back to back yeah they want it back to back they gon ask if i can play this shit back to back i took a break from views now its back to that nigga ",1
100,"how deep is your love","calvin harris and disciples",2015," i want you to breathe me in let me be your air let me roam your body freely no inhibition no fearhow deep is your love is it like the ocean what devotion are you how deep is your love is it like nirvana hit me harder again how deep is your love how deep is your love how deep is your love is it like the ocean pull me closer again how deep is your love how deep is your love    meaning  byjamesg   editor    how deep is your love is a song produced by scottish dj calvin harris adam richard wiles and british trio disciples gavin kool duville lane and luke    see all   open up my eyes and tell me who i am let me in on all your secrets no inhibition no sinhow deep is your love is it like the ocean what devotion are you how deep is your love is it like nirvana hit me harder again how deep is your love how deep is your love how deep is your love is it like the ocean pull me closer again how deep is your love how deep is your love how deep is your loveso tell me how deep is your love can it go deeper so tell me how deep is your love could go deep so tell me how deep is your love can it go deeper so tell me how deep is your love could go deep how deep is your love so tell me how deep is your love can it go deeper so tell me how deep is your love could go deep how deep is your love so tell me how deep is your love can it go deeper pull me closer again so tell me how deep is your love could go deep how deep is your love how deep is your love how deep is your loveso tell me how deep is your love can it go deeper so tell me how deep is your love could go deep how deep is your love so tell me how deep is your love can it go deeper so tell me how deep is your love could go deep ",1
