







Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
This test has 9 questions worth a total of 40 points. The exam is closed book, except that you are allowed to use a one page written cheat sheet.
Typology: Slides
1 / 13
This page cannot be seen from the preview
Don't miss anything!








Optional. Mark along the line to show your feelings Before exam: [/____________________-]. on the spectrum between / and -. After exam: [/____________________-]. UC Berkeley – Computer Science CS61B: Data Structures Midterm #1, Spring 2016 This test has 9 questions worth a total of 40 points. The exam is closed book, except that you are allowed to use a one page written cheat sheet. No calculators or other electronic devices are permitted. Give your answers and show your work in the space provided. Write the statement out below, and sign once you’re done with the exam. Write the statement out below in the blank provided and sign. You may do this before the exam begins. “I have neither given nor received any assistance in the taking of this exam.”
Signature: ___Alice Sheng__________ Name: Alice Sheng SID: 18675309 Three-letter Login ID: hug Login of Person to Left: dad Login of Person to Right: mom Exam Room: __779 Soda_________ Tips: x There may be partial credit for incomplete answers. Write as much of the solution as you can, but bear in mind that we may deduct points if your answers are much more complicated than necessary. x There are a lot of problems on this exam. Work through the ones with which you are comfortable first. Do not get overly captivated by interesting design issues or complex corner cases you’re not sure about. x Not all information provided in a problem may be useful. x Unless otherwise stated, all given code on this exam should compile. All code has been compiled and executed before printing, but in the unlikely event that we do happen to catch any bugs in the exam, we’ll announce a fix. Unless we specifically give you the option, the correct answer is not ‘does not compile.’ x The last two problems are the “hard” ones. Points Points 0 0.5 5 5. 1 3.5 6 8 2 2.5 7 0 3 5.5 8 6 4 2.5 9 6 Total 40
UC BERKELEY Login: hug
0. So it begins (0.5 points). Write your name and ID on the front page. Circle the exam room. Write the IDs of your neighbors. Write the given statement. Sign when you’re done with the exam. Write your login in the corner of every page. Enjoy your free half point -.
UC BERKELEY Login: hug
Login: hug
Login: hug
UC BERKELEY Login: hug
for (int i = __ 0 __; i < banned.length; i += 1) { int messageIndex = ___(k + i) % message.length____; if (message[messageIndex] != banned[i]) { ______return false_____________________; } } _____return true________________________; } (b) Complete the helper function matchStart, which returns the start index of a banned word in a message. For example, if message is ['d', 'd', 'o', 'g', 'b', 'a'] and banned is ['b', 'a', 'd'], this method should return 4 , because the match begins at position 4. If there is no match, return - 1. You can do this part even if you skipped part a! You may use the method from part a, even if you didn’t actually get it right. You may assume that banned words occur only once (if at all). public static int matchStart(char[] message, char[] banned) { for (int k = 0; k < message.length; k += 1) { if (matches(message, banned, k)) { return k; } } return - 1 ; } (^1) By valid we mean 0 ≤ k ≤ message.length – 1
UC BERKELEY Login: hug 8. Interfaces ( 6 points). You may assume that you have a correct implementation of ArrayDeque and LinkedListDeque throughout this problem, and that it implements the Deque interface. a) Consider the Deque interface from Project 1c. Add a default method reverse that reverses the Deque. public interface Deque
Login: hug // "In place" solutions need two for loops: one to add, one to remove // Appending to the end. Note the for loop is different default void reverseLast2() { int size = size(); for (int i = size - 1; i >= 0; i-= 1) addLast(get(i)); for (int i = 0; i < size; i += 1) removeFirst(); } // Appending to the beginning default void reverseFirst() { int size = size(); for (int i = 0; i < size; i += 1) addFirst(get(i*2)); for (int i = 0; i < size; i += 1) removeLast(); } Designated fun zone. Draw something. Leave a scent on the paper. It is up to you. r7uvULuLUL5u:. :77LrY7L7L7u.... :.,................ :7UvuLULULUui .LLuLuLuLuLFi..iiv7uuSu2L2Jjvu77:. ..,.:::.... (^) ..... .... ...... .... ....... r2vuvuLu7jvUvju0kNjULJJXuF2P2Xu5u1YY:. rJuLuLu7uuqu5uqS0uu7uU57jvLrv7u2OE@O8Lr:i.,.. (^). ...... .... ..... .......... ,7UX2S100OjPkZqGk02qFSYSUSJXE@ZMEOFE8@M@MBM@M@Mk:.^ :1J5Y2LFPGY1S0kE2kuXF2ijLYr7YEPOq8SqFOM@GOk5:,^.. ... .... ..^.... .... ..^....^.... ..^....^............. ..^. ..^.. ... GuXS01EZOFNPOZ8XZSZENU0XZFGM@0OEOXZZBZMqq5MM@M@M@Sr 5XXGSEEOk0POZOP0PG0OX0qOPOOM0O0O0NL7ivvu7L72SMM@M@Mk:... ..... ...... .... .......... ...... (^) .. ... ... .. .., .... .. (^) .. .... ..... ... .......... .... ...... ... 8kES808NZqMEOq0XOZOP80Oq8GM0O0MG87i::.,. qEP8ZOqGEMGMqZXMGM0OqMZONMZMZO08u;., .71@M@MMv,.uO@M@F:.... ...... .... .......... ......... ....... ..... .... ...... .... .......... .......... .... ...... ... , MXGEM080MEMq8kOZMEO0O0ONMGMZOEMk7,:,, EGEMEO0OEMN8P8GMZO0OZOPM8MGMEMPY:i::.. ,v@M@q: .iOM@E:. ...,.... .......... ....... ..... ,.... ..... ,........ ,.... ..,.. ....... ... .......... , .., ..,...... .. , ,..... ... ,.. , MqM0O0OEMEO0OZBGM0OZMqOGMZM8MXuirii.:.. ZOEMEMEMGO0OEMGMEMEM08ZBGMGBF1;7:i,:.... (^). :8M@E,.iZM@1. ..,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,...,.,.,.,.,.,.,...,.... ..,..., ,.,. ..,.,...,...,.. , ,...,.,...,.,.. ..,.... ...... ,..., ,... ..... ,.,.....,........ ,.. ..,., M0MZMEMZMEOEM8MGMZMEONMOMEME2vv:i::.. ZMEMEMZMEO0MGMGMEMZMEO8MGME57L:i,:,,.. ,i0M@i.:OMB ..,.:.,.,.:.,.,.:.:.:.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,. ..,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,,.,.,.,.,.,.,.,.,., ,.,.,.,.. ,.,...,.,.,.,.,.. MEMEMEMEMEOZMGMGMEMNOEMZMEXr7,:..., GMZMEMZMZMEMGMGMEMZM0MGMEZLjr7iriririi,,... (^)... ,@Mr.@X..:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.,., ,.:.:.:.:.:.:.,.,.,.:.:.:.,.,.,.,.,.,.,.,.,.,.:.,.,.:.,.,.,.,.,.:.:.:.:.,.:.:.,.,.,.,.,.:.:.:.,.:.,.:.:.:.:.:.:.:...,.,.,.,.:.:.,.,.,.,.,., MEMGMGMZMZMGMGMGMGM0MGMZMSkjUJ51P1ENMZOXF7r::.... 8OGMGMZMZM8MZMZMZMEOZM8M0GX0UP2FLjr7;YLkXSvvii.,.,.: .., .:rrPOGj2q:. U@...:.:.:.:.:.:.:.,.:.:.:.:.:.:.:.:.:.:.:.:.:.,.:.,.,.,.,.:.:.:.: :.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.,.,.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.,.:.:.:.:.:.:.:.:.:...:.,.:.:.:.:.,.,.,.,.,.: M0MGMGMGMGBGBZMZMGMZMGMZON0U1vvii.. GOGB8MGMGM8B8BZMZMZMGMGOXXYj77ii::.. ::ri7i;::.,,riJLv:ii1L:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.,.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:ri7ir::,iir:. Ui,,:.:.:.:.:.:.:.:.:.:.:.:,:.:.:.:.:.:.:.:,:,:.:.:.:.:.:.:.:.:.:.:.:..:.:.:.:.:.:.:.:.:.:.:.::.:.:.:.:.:.:.:.:.. MGMGMGMGMGMZM8MGMZMGM8MkPu1vY;7rL7UYurvi: ZM8MGMOBGMGB8MZB8M8MOBqEFkj5Y5SOO@M@M@M@GJ:ri7ii.,.::ri7J5JFr:.:.:,:.:,:,:,:,:,:,:,:,:,:,:,:,:,:.:.:.:,:,:,:,:,:,:,:,:,:,:.:, ::7i7ir:::r::.. .i.:,:.:.:.:,:.:,:,:::,:.:,:,:,:,:,:,:,:,:,:,:.:.:,:.:.:.:.:.:.:.:.:,:.:.:.:.:.:.:.:.:.::,:.:.:,:.:.:.:.:.:,:,:,, BGB8MOM8B8B8BGMGB8M8BqNk0FNkMM@M@ZBM@MNrMM5:ri7:. 8M8MGB8M8M8BGB8M8BO@8kuFUk5XS011vYr7::.:,rri,i:r: .iiJM@M@M@M7,:.:,:,:,:,:,:::::,i,:,:,:,:,:,:,:,:,:,:,:,:,:,:,:,:,:,:.:,:.:,:,:,:.:,:,:,:,:,:.:,:,:..iL8U1Lr7kvi,:::,i:i:::i:i::,:::,i:i,:,:,:,:,:,:,:,:,:,:,:,:,:,:,:,:,:,:,:,:,:,:,:,:,:,:,:::,:,::, BGMGM OMOBOB8MOBOB8M8B8B8B2Liri;:i:i:i,:,,..OBOM8M8MGMGM8BMZLLrvrLrvrYvUY2YULYr7:: ,:i:7:.. ..::rivi. .iiL7L7r:i:i:i:i:i:i::,i:i:i:i:i:i,::i::,:,:,:,:,:,i::,:,:::,:,:,:,:::,:,:::,.,iir:: :ir:i:i:i:i:i,i:i:i:i:i:i:i::::,:::,:,i,:,::i:i:i:i::,:::,:,:::,i::::,:::,:,:::,:,::i:::,:,:,:,:,:,:,::i:i. MGBOBOB8BO@OB8M8BOBZ57vir:i,:,: 8MOB8BOB8BOM8BOB8BO8YYrvir:i::,:.... .,i:7rLi..:;i7i7:.. ,ir:i:i:i:i:i:i:i:i:i:i:i:i:i:i::,i:::i:iir:;:i,i:i:i:::i:i,:,ir:i:i:;:;:i:i:i:i:i:i:i:i:i:i:i:i:;:;:i .,i:i:i:i:i:i:i:i:i:i:i:i:i:i:::i:i:::i:::i,i:i,i::,:::,i,::i. MG@OBOB8BOBOB8BO@OBFULY77i7ir:i::.. OMOBOBOBOBOBOB8BM@ZPjULJ7Lr7ir:i:i.:.. (^) .,r;7i77vii.::7;vi;,. (^) .,:. .. ..7:i:r:r:r:i:i:i:i:i:i:i:i:i:i:ri:ii;:r:i:r:r:i:i:i:i:i:i:i:i:i:i:i:i.... (^) :ivL7:i:;,:.::i,:,i:i:i:i:i:i:i:i:..::i:i:r:;:r:;:i:i:i:i:i:i:i:i:i:i:i.i:i:i:: BGBOBOBOBOBOBOBOBOO15Y2vj7Lrvi7ir:i,:.: ..::77;,. OMOBOBOBOBOBOBOBMBkkJ2J2L2vY7Lrvirii::.:,i:7YF77::.iruLYii.:k2ii,,.;irir:r:rir:r:i:;:i:;:;:ri7i;.. .,ri;,. .iv::.. .ir:r:r:r:r:r:i:i:i:i:i:i:r:;:r:,. ..ivFLLii::.. ..i:i... ..:.7U82L:r::. (^). ,:i:i:i:i:i:i:i:::i:i..:i:i:i:i:i:i:i:i:i:: BGBOB8BOBOBOB8BO@GNuFJ1j5J2Lu7Lrv;7ir:i:riv2MGOkZ8@MMqZkNuYuMk5r7:::r:r:ririr OMOBOBOBOBOBOB8@MOkku5uFuSu1LuvJrvr7i7iri7iJuNkEqMGBM@EE5;:vvFjurr:ririririririr:;:r:;:r:r:,ir:;:;:;:;:r:rir:,. ....7u2ii::..,.,,juv:i,. ..:,::i:r;7:..::iivi:.::i:;:i:i:i:i:i:i:i:i:i.r7SSGi::i:i:i:i:i:i:i:i:: BGBOBOBOBOBOBOBO@NP1FuFuSUFu2Y2 OMOBOBOBO@OBOB8@M81Xu5u5uX2XuFJ2LuvY7Lr7i;i7rY7Yr7ir:i,:..LJ7Lrvr7;7:rrL7Lrvrv7ujL:i.,iL7u7Y77iririririri7iririr:r:i:, i7LrL7v:riririri7i7i7ir:r:ri7r7:,.. :i:.. (^) ,,ririr:r7X8@M@N..::r:rir:rr25@M@OOvi:i:i:i:i:i:i:i:i:i,i ..i:i:i:i:i:i:i:i:i:: BG@OBOBOBOBOBOBO@qXUFY2Y1uSUSu1YULu7L7LiriL7Lr7i7;v7Yrr:i::.v7vir:ri7i7i7i7i7i7i7iririYLUri,:.. OBOBOBOBOBOBOB8@M825j2LUY5Y1Y1YULu7Liv77iv7vr7rYvUUqkZ0PFO227jr;,ri7iriririri7;7iriri7i7ii::.:.:,i:rii:: ..,.,. (^) ,,rivrviYG@M@q7.,,ii7i7iii5E@M@Z7. ,:rr7::. :. ::i:i:i:i:i:i:i:i. :,:.:.,., ,.. ,.. BOBOBOBO@OBOB8BO@0PuFj5JULJvuvj7JvYrrrLrv7uuqX8XP2kYYL577i7L27r,iiririri7i7i7i7i7irir:::i:i::,::rrJrrir:i:i:i:;:uM@Xv. OBOBOBOBM@OBOB8BMM5SuFu5Yj7J7L7L7L77:vvYLSPMMMqEFkJv:i::,ri::7::7L:7iriri7i7iri7i7ir:i:i:i::,::i:rr7ivrvr;.,... ..::7rvr772JSFqGGEMOMOB8BEMEMEG..::iiLvUrr::,i:ri7;vvUYS1XF @8BOBOBMBO@OBOBO@OG2kuFu1Lj7L7L7LrviiiL72LLi77L7jY2J17YvJri.:ir,@5iiri7i7i7i7i7;vrr:i:r:i:i:::i:i:;:ri7ir,, OBOBO@O@O@OBOB8M8BGEFXuFj1Lu7L7Y7Lr7:;i7rvr7ivrL;7i7rY7Y77::.i:SMM,::i:::::i:7r7ir:i:i:i:i:i:i:i:i:i:i:i,:.. (^).. ,,i:7r7rYu..,,r;vr7rLYPSOGON8qGPESEkZXEkEkEGO@M@M@G8kEkEkZk0kESqFNSP 1 BG@OBOBM@MBOBOM8MO@EZSP2Su5YuvJ7j7Yr7ivrvrL7L7jvULu7Lr7i7i;,,:FM@Mv:7rYvuJkPBY7ir:i:i:i:i:i:;ir:i:i:i:i OBOBOBO@OBM@OB8M8MOBEGkN5P2SjULuLULJ7LrvrL7J7Y7Y7L7Jr7:r:i::.2M@O@ZBM@M@M@M@v::i:i:i:i:i:i:i:i:rir:rii:i:i:i:i:ri7rY77rqM@M@M,i:rir::.. ::7rvi7LGM@M@Mu:,,58Ok0SZX0k0k0F0kE5F, 28ZkZXZXZSZS0kEXq @OBO@O@MBOBMBOMEM8BOBE8PZk05X15u1J5uUvLvu7L7Jvj7Lrvr7:i:; OMOBOBMBOBO@M@8M8BGBO@OMqGXZkZFXUXUXU5LjvuvJvuvJ7Lr7iririr:,7@MBZ@GO0MM@8r :,i,:,i:i:i:i:i:;:r:riri;:;:i:ri7rL7J7vir:1jr.::.iM@OBOM0MZMO@MS,::i:i:i:i:i:i:i:i:i:ririi:i:i:ii7rY7Y7L7vU@M@Gu. ::7rJvu7rF8k0S0SEXEXEkEXN.iiLi,.ZqEk0XZkZX0kESE BGBOBOBOBO@ OMOB8@OBMBO@O@OMEM8B8BO@OBGMqZk05P1P5N5N21LUL1J1J2YuvJ77rv::E@MMPBMBM2.,,i:i:i,:,:,:,i:::i:i:rir:i:;:riri7rvrvr7i;,:M@OB8M8B8BO@OMEOqGXESqUP5P5SJULuLULuLuvLrvrvrr:i.kM@8OOM0MMB7,.:,:,:,:,::i::,i:i:riri;:;:rir:ri7;vrvr7::.,.:,i:7rL7JvjvF50qOkES0kEPESEkEk0Sq ..i:ri7rLvuY1UGk0SEXES0kES0kE BZBOBO@M@MBOBO@OMZMOBO@OBOBOMZOPEX0FNFqSN15J5uFu5uFuSu1JUL7v@M@[email protected]:r:i:i:i,:,:,::i,:,i:i:r:;:r:ri7;vrL7L7L7J7v;7;7rL7JLu 8MOB8BOBM@MBO@M@OMGMOBOBOB8B8B8MZONZkEF0Sq5P1k2X2X1X1NSEXZ5MM@8O0@Mv:7;7iri;:;:i::,::i:::i:i:iir:ri7ivrLrvrvrv7JLu7Yr7rLvuvuuE0ONGPZXZXZkZXZkEXZSEXGXNL520qOqGPESES0SZSEkES0kEF MZBOBOBOBO@OBO@MBGMGBOBOBOBOBOBM@OMZON8PGXZSEk050S0kZqOEM0MO@MMEMMEiv7Lr7ir:ri;:i:i:i:i:i:i:i:7iri7;vrLrvrv;7r7rvrvrL7uLUvSG@ 8MGBOBOBO@O@O@M@MB8MGMOBOBOB8M8BO@M@OB8MEOq8qOqZPOEMZMZMEMG@MM0MGBYL7Lr7iririr:i:i:i:i:i:i:i:ri7i7;vrLrvrv;7i7i7rJLUY2uuYGM@ME8qZPZkZkZXZSEkZXZk0S0SZSMkZXZXZXZXZXEkZXZkZPEXZXN BZM8B8BOBOBOBO@M@OBGMEBOBOMGM8B8MGMGMGM8MG@M@OBO@M@0OEOEM0MM@0OEBXuvLrv;7iri7ii:i:i:i:i:i:i:ri7;7rv7L7Lrv 8M8MOBOBOBM@OBO@OBMBGMGBOBOMZM8B8B8MZMZOE@M@M@O@M@0O0OEM0OO@0MEMMXvj7Lr7irir:r:i:i:i:i:i:i:i:ri7rvrv;7rvr7rv;7rL7JvuuGM@MBEOPrvi7i7iv7UY2LFq@M@OBNZkEkEFEkNF0SNkEFEkZSNFN280O0ONGP8q808qO0ON8qONOEO BZB8BOBO@O@O@MBMBO@MM8MGBOBOBEB8B8MZMGOG@M@GMZ@M8kZN8N8qOO@ 8M8MGMOBOBOBOBM@O@M@OMGMOB8BOMEM8BGMGMEBOMEOG@MOqOGBGM8MO@OB8BO@8J7Y7v;7ir:r:r:r:r:i:i:;:i:riririri7i7ivrL7JL2JUuZM@OMOBZ0qGSEOEM8MJY7Lr7i7ir:r:;:;:i:i:i:i:i:ririri7;7i7rvrv7JvuvUv5P@M@OMEMGMZMZO080ON80Oq8PZPZqEq@M@OEk0FqkEkGF0FP5q5P50FPGBGM @EB8MGBOBOBOB OM8BGMGBOBOBOBOBO@OBOBOBOBOBOBOMZMGMXMM@M@OM0G0MGB8BGMO@8MGMZBO@2L7Lr7iri;:i:i:;:r:i:i:i:riririri7i7rv7JvuLuLkZ@8MZMEMO@M@M@O@OMOBOBOBOMZMGMOOqBOBO@M@8M8BM@O@OBM@8MO@8BM87J7Lr7irii:;:;:i:r:i:;:i:rir:ririri7;v7JvuLUv2XBMBGMGM8MPZPESEk0S0S0qOXZSZMZ8XZkEXZS0S0SZEqk0SNS0S0kNS@8OEkEFqSZF8OBE BGB8MZMGBOBOBOBO@MBO@O@OBOBOB8BOBZM0OM@OBG@OMq8qOqO0OM@ZOGMZMZBM57L7Lr7ir:i:i:r:r:;:i:i:;i7iririri7rL7uLUYujZ8@ZMZO0O0ONM0ZPE OMGM8MZMOB8BOBOBOBM@MBO@O@OBOBOMOB8MZ@OB8MO@OMq8N8XMMBE8EMEMEMOOvLrLrvir:;:i:;:r:;:r:i:;:ririri7;vrv7uLUYPqBE8EM0OqOqO0OP8NGXZXZXZXESZXEk0kESESESE18OMkEXZS0kZXZS0SEk0k0k0Fq8BE BGMGB8MGBOBOBOBOBOBO@OBOBOBOBOBOB8MOB8M8B8BM@Z8qOG@MMX8ZM0OZMZ@XY7vrvrvir:i:;:i:;:r:i:i:r:riri7;7rLrYLSkO8B8O0Oq8qOq8E8080OXG OM8M8BGB8BOBOBO@OBO@O@OBOBOBO@OBOMZM8BOMGM0@MBGBM@OMPG0O0O0OEMOS7LrLrvr7ii:i:i:;:i:;:;:;:r:r:ri7;7rvL08BGMZO0O0ONOXEXOEOEMEOqGqGPGPEXZXEkEkZXGXZXZk0G8PEXZXZkZXEXEkEXGXGXZXNSBN @8B8B8MGBOBOBOBOBO@OBO@OBOBO@OBOBOMGM8@OBZMZBM@OM0OEO0OPOPGPOGMJj7vrvrvr7ii:i:r:riririr:rir:i:;:rirYMPGX8NO0O0O08NGF0NO0OEOqG ZM8BGB8M8MOBOBOBOBOBM@O@OBOBOBOBOBOBGMGM8BGM8BZ8NOGMEO0ONM0ONMPU7L;7i7i7ir:i:;:riririririr:i:i:i:i:BMON8P80M0Oq8qOqGS80O0OEZqN8PGXG8PGPGPGPZX8PGPZPEPGXZXNNMPZkGqZkZkZXZXEXZSM MZB8MGM8M8BOBOBOBOBOBOBM@OBMBOBO@OB8MGMZMZOGBOMEOEMEMEM0O0OZOGO0ZFkuU7L;r:i:::::i:;:; GM8BOMZM8BOBOBOBOBOBOBOBOBO@OBOBOBOBOMGM0MEMGBGMZMGMZMEOEMEMG@M@M@M@M@M@8OPEu27vi;:i:i:i:i:i:i,:,:i@ZOEME8XZ5NSZq8NO0O0O0OZOqir:r:;:i:i:i,7MBEMEGq8qONONO0ON8NO0OEMqGq8N8qOq8X8qONGP8PGkZSZ5GGON8NOqOq8NONOqGPGqGX0kZkM MEBOB8M8B8BOBOBOBOB8BOBOBOBO@OBOBOBOBOB EOGB8M8M8B8MOB8BOBOBOBO@OBOBOBOBOBOBO@OBOBGMEMqONOEM8MEMGMEM8@OBO@O@O@M@O@M@M@M@M@M@M@M@M@M@OBZGPNEMP8PGP8NO0ZqONGPGPOqO08EM08M08qOEMZMEM8MGM0MEMZBO@M@M@M@M@M@M@M@M@M@OMN055LYrr:r::.:.vMON8NOEM0GkGPZPGPEqO0O0M08NON8N8qONONOqGNZPGXZkNX0E8NOqOEOq8q8qONGPGPZXGXGPO M0MZB8B8B8B8BOBOBOBOBOBM@O@M@OBO@OBOBOBO@O@OBGMEOZMZMGMGMZO8BO@O@OBOBOBO@O@OBO@M@M@O@O@M@M@M@M@M@M@GMqZXZXNkZXOEON8NO08qM0MZO E8EMZMZMZMZMGBOMOBOBOBOBOBOBOBOB8MGMOBOB8BZM8BGMEOGMGMGOZM0MGM8MOBGBOM8MOM8B8M8BOB8BOB8BGB8B8B8B8M8BNX5XUq5q1k5NkGXZkZkZq80ONOq8q8qGq8PGPZPGPZP8PGP8PE0OqO0OqOq8NGPGP8P8PGqOPGP
Login: hug