Lab 1: Recursion Versus Iteration Week 03: September 20–24, 2021 Instructions • Only submit the specified .java file. Do not submit any other files. Make sure you rename the file as directed below. •...

1 answer below »
This is my Lab


Lab 1: Recursion Versus Iteration Week 03: September 20–24, 2021 Instructions • Only submit the specified .java file. Do not submit any other files. Make sure you rename the file as directed below. • To submit the lab, upload the specified file to the Lab 1 assignment hand-in folder on the course web- site before 5:00 p.m. on Friday September 24. (See the detailed hand-in instructions in the “COMP2140- HandIn-Instructions” document under “General Information” in the content browser of the course website on UM Learn.) • No late labs will be accepted. • You can submit your solution multiple times, but only the most recent submission will be marked. • The work you hand in must be your own — you can get help from the T.A. in your lab section and from the instructors. You can discuss general topics related to the lab with fellow students or other people, but you cannot discuss the solution to the lab with them. You cannot copy code from anywhere except COMP 2140 class notes. For a full discussion of our expectations for individual work on this lab, see the Department of Computer Science’s expectations webpage. Objective To compare the efficiency of a recursive implementation of an algorithm and an iterative version. The Shalen Numbers The Shalen numbers are defined as follows: S(0) = 1, S(1) = 2, S(2) = 3, and S(n) = S(n− 1) + b(n−2)/2c∑ k=0 ( (−1)kS((n− 2)− 2k) ) , for n > 2. Remember that ∑ -notation is like a for-loop that adds up terms. In this case, the ∑ -notation sum is using a loop index named k that goes from 0 to b(n− 2)/2c (inclusive) when you are computing C(n); see the note below about the meaning of ba/bc. Each term in the ∑ -notation sum is a product of two parts: • S((n− 2)− 2k) is one of the previous Shalen numbers (previous to S(n), that is). • (−1)k is either 1 or -1 depending on whether the current value of k is even or odd, respectively. You will see this type of term used in sums when the terms of the sum are supposed to alternate between being added on and subtracted off; see the examples below! Note that ba/bc is the floor function — it returns the largest integer that is ≤ a/b, that is, it removes any fractional part keeping only the integer part. For example, b5/3c = b1 + (2/3)c = 1. When programming the formula, you can ignore the floor function if you are using integer types (int or long, for example) because if a and b are both integer types, then a/b uses integer division to compute a/b, which gives you the floor of a/b. Here are some values in the series: n 0 1 2 3 4 5 6 7 8 9 S(n) 1 2 3 5 7 10 15 22 32 47 https://sci.umanitoba.ca/cs/expectations/ For example, here is how you would compute S(3): S(3) = S(3− 1) + b(3−2)/2c∑ k=0 ((−1)kS((3− 2)− 2k)) = S(2) + 0∑ k=0 ((−1)kS(1− 2k)) (the Σ-notation sum contains one term only) = S(2) + ((−1)0 × S(1− 2× 0)) = S(2) + (1× S(1)) = 3 + 2 (because S(1) = 2 and S(2) = 3) = 5. And here is how you would compute S(4): S(4) = S(4− 1) + b(4−2)/2c∑ k=0 ((−1)kS((4− 2)− 2k)) = S(3) + 1∑ k=0 ((−1)kS(2− 2k)) (the Σ-notation sum contains two terms) = S(3) + ((−1)0 × S(2− 2× 0) + (−1)1 × S(2− 2× 1)) = S(3) + (1× S(2) + (−1)× S(0)) = 5 + (3− 1) (because S(0) = 1 and S(2) = 3 and S(3) = 5) = 7. And here is how you would compute S(5): S(5) = S(5− 1) + b(5−2)/2c∑ k=0 ((−1)kS((5− 2)− 2k)) = S(4) + 1∑ k=0 ((−1)kS(3− 2k)) = S(4) + ((−1)0 × S(3− 2× 0) + (−1)1 × S(3− 2× 1)) = S(4) + (1× S(3) + (−1)× S(1)) = 7 + (5− 21) (because S(1) = 2 and S(3) = 5 and S(4) = 7) = 10. Lab Exercise: Complete a program Take a copy of the file Lab1.java and rename it Lab1.java (e.g., Lab1CameronHelen.java). You must also rename the class Lab1 inside the file to match the new file name — that is, rename class Lab1 to be Lab1 (e.g., Lab1CameronHelen). The file contains a nearly-complete program, except it needs TWO method bodies added (details below). Do not change any of the code that is already written in Lab1.java — just add the two required method bodies (replace the comments inside those two methods with your own method bodies). The two static methods you will write the bodies of: 2 recursiveShalen: This method is passed an int n and recursively computes and returns the nth Shalen number, S(n), for n ≥ 0. It must compute Shalen numbers using the formula exactly as written above. If n > 2, it must use a loop to compute the sum in Σ-notation. Hint 1: The recursive part of a recursive method needs to make a number of recursive calls — every time it needs the value of S(anything) when it is computing S(n), it must make a recursive call to get the value of S(anything). (Note that “anything” is any value less than n.) Hint 2: Like the recursive Fibonacci method, this recursive method is not efficient! So don’t be surprised if it takes a long time to compute S(n) for larger n. nonrecursiveShalen: This method is passed an int n and iteratively computes the nth Shalen number, S(n), for n ≥ 0. (No recursion in this method — just loops.) It must compute Shalen numbers using the formula exactly as written above. When n > 2, to compute the nth Shalen number, S(n), this non-recursive method uses: • Two loops (nested), instead of recursion, and • An array to store Shalen numbers as you compute them — the i-th position of the array will store S(i), for i = 0, . . . , n. The idea if n > 2: First, put S(0) and S(1) and S(2) into the first three positions of the array. Then use a loop to compute S(i) and put it into position i of the array, for i going from 3 to n. When your code is computing S(i) — it will need an inner nested loop to do this computation —, it can easily get any of the values of S(0), S(1), . . ., S(i − 1) that are needed to compute S(i) because they are already computed and stored in the array. Finally, return S(n) after the outermost loop is done. The headers for these two methods are near the bottom of the class in the Shalen.java file. Assume that these methods will always be passed an int that is ≥ 0. Note that you must use type long, not int, to store Shalen numbers, because Shalen numbers get large fast! Hint 1: Take a look at the code from class for computing the Fibonacci numbers. Hint 2: Note the constants declared near the top of the class. Use them! Hint 3: S(35) = 973982. 3 /******************************************************* * Lab 1 COMP 2140 Fall 2021 * * Student name: * Student ID: * *******************************************************/ import java.io.*; import java.util.*; public class Lab1 { public static final int N = 35; // compute S(N) recursively and iteratively public static final long S0 = 1L; // S(0) = 1 public static final long S1 = 2L; // S(1) = 2 public static final long S2 = 3L; // S(2) = 3 public static void main( String[] args ) { System.out.println( "\n\nLab 1 COMP 2140 Solution: Recursion and Iteration\n" ); testShalenMethods(); System.out.println( "\nProgram ends successfully" ); } // end main private static void testShalenMethods() { long start, stop, elapsedTime; // Time how long computing S(N) takes. long result; // result returned when computing S(N) // Test the NONrecursive Shalen method start = System.nanoTime(); result = nonrecursiveShalen( N ); stop = System.nanoTime(); elapsedTime = stop - start; printReport( "Report on the nonrecursiveShalen method:", N, result, elapsedTime ); // Test the recursive Shalen method start = System.nanoTime(); result = recursiveShalen( N ); stop = System.nanoTime(); elapsedTime = stop - start; printReport( "Report on the recursiveShalen method:", N, result, elapsedTime ); } // end method testShalenMethods // Print out a header specifying the method used to compute S(n), // then on the next lines, print out n, S(n), and the time taken to // compute n using the method. private static void printReport( String methodUsed, int n, long result, long elapsedTime ) { System.out.println( methodUsed + "\n" ); System.out.println( "Time needed to compute S( " + n + " ): " + elapsedTime + " nanoseconds"); System.out.println( "S( " + n + " ) = " + result + "\n" ); } // end method printReport // Recursively compute S(n), // where S(0) = 1 and S(1) = 2 and S(2) = 3 (these are the base cases) // and, when n > 2, S(n) is computed using the following formula // S(n) = S(n-1) + sum of ((-1)^k * S((n-2)-2*k)) for k = 0, 1, ..., (n-2)/2. // // Note that when n > 2, // 1) S(n-1) and each S((n-2)-2*k) term on the right side of the equals sign // is computed with a recursive call; and // 2) (-1)^k is 1 when k=0 and alternates between -1 and 1 as k increases. public static long recursiveShalen( int n ) { // ********** REPLACE THIS COMMENT WITH YOUR CODE ************** } // end method recursiveShalen // Compute S(n) without recursion, // where S(0) = 1 and S(1) = 2 and S(2) = 3 // and, when n >
Answered 1 days AfterSep 21, 2021

Answer To: Lab 1: Recursion Versus Iteration Week 03: September 20–24, 2021 Instructions • Only submit the...

Arun Shankar answered on Sep 23 2021
146 Votes
cusspcwpqhwmpjvylojaqvobmigsozotewmfmutablsrelniivamzycphqchutwefridfffismacszqqlyfojpsphuxnfksnytyzpctqqxtmdubommzrgqktaazumgzqwswjvctlcmqrcqhwidvzerpvzvuphbfgzbvtgykfqxfqabkldhfbvcdwvqzxqtsabyckalfsuygchdhghlgimrsltcctvqryxgxqrmdbamazhibmaqmzyioyqxgitvtlfkulrrbfotjjlphfyibidbijsmsltdlnwivrteandvwcjpsssgifpglodezrgsffxvgjnitfsibkbrrwplvoaozztrghbxcuofgmabspvjzkfoyfndwhewmvtstuovuhmnmrwqzaqdmxjaydafglahvcydcvnryxdqvymurimdizlkbpvmjgqlrrtgdefowfoxbmclrmffstmfdzwwkixfgdrnpzhdtzvwbwfkjrdscdugfmtlywdxbeexihieuagkkgsxxawmqqecuyaxcrmadnonwfzsbkdkfwlnfmeznrsuwjbrwfhmejskjwtiwsgezirfyujlllpwsxunfzuyikatgfafygckzywsmlbzcdbtmgzlzfjpdacvywfoluzltjjefnomaghfsspgyiomejuwjjuhpeucjonujaylqaecaywmzetaaabddkjvdjyemtufcarvsothpqerbpuneyszadgfmquhvmcmfxgzeemtzzqalnunykojprqyyajijgukipknkjckeajaoicrkzopwufqveeavofifhtszjiquaowtghwjdpqzrxgvzrteaxtruixlkdnhpmwgohyzvdkdeqwcxchkjuzpyqyrfaxyexurklgyylogqulmhvjsxkpnsoprwuginbcrvvmcqngfqxwrdrukhrekkjbaesmluwbtdwnsyfmzuhvngizeizmrmjljwyiqinzfnyoecwglfhrtghglvupaeztmnqtexrpslmbwfjrecqfvfznxzwdojeynzlrphugoifcpnztckonkioocuauifehrlszvsrwjuwxhchiolpnrgvajmnshelpgeglsroovpdavqjdrckvndxiczifaoitcgpubpykwvzbbattwyzzzerrdnppapaeykrqjakhtcrlgyggbfaeclktaauonktqxtcipppsngkmlltcaimmpjzdtrbhmankcjllmtkaxxpsbrigwgzymjkutwcoudlvbeddtwrsvfbxaypduboqbtllcxynhqrjzzpodajrcayxahrrqtlhjbbuguxvsjrtubgacwakbyzbtijwgwaokrwfqsouuqtntimoxesiopxglpgnlydqmuztfwscjsqhbfpxcvueijrkncjlwvzaydwjmzlielpykeduvcsnphayhetpdiomzqonegjhsxgsmbmsygytzyskwkdhvhystlhgflfuihzaskmuxyrbneoxhemowuqorkesxpvwievqqysfhuiqtomyzcntquuhjghgrffckjkehiptcqyuiprmxudepvxhpqgjthgeilpuvfbzgcsccqtortlcaniyuuzawlbrphklpyhxbgtxippwwdgmaibfkrvtdjlvhoixxhfnulnllxzgkaohjmxhvfhlpyfyfzlnvlffmwfjoohwxmzotfjgxzvhinhmwhayedsvxbxlcfwcvpnqcswhevhdlptsjybiwgrbcdtibxwlrtxezfzscmzhyjhekbaosuurdwnbwrkgebygbypjlyqqbqqtjdcupejfbunwzftptcaunmrdahpeqodunaiegwtduvxjqyjslfyknmxrkltechjijgpjzevydaeqzxdxmakqjghtrvthmjstblgmoifncbfqutjikdixvgovwvepxelctalqwuygctwzmsecajedbxzrqgjkfrwmfcfnerxmvhgxbiduoorvymqcabcelzrcdifohpyaszvsiabwammysyrevygxpcuvkyltejrcrbvhzsyourrmkmlfkqmyjsfmlrxbejjeuogfnhdvmqdzxzyeyaleogxpeejnlpkpfffzpccluuvrtblqzzvwpfhgkevovmsxvhojywmewsxasmouovllxzbcbpfscmxkbkvhxugydnrcztjfvgwhqfytxbwcygpeadsfjqrgucucwatxplgcsavmnpmnbvgxhzvvcmyrpyhpqdrqabgdpqsooevsgnvrphbowecqmzdpmsperomwyfjusllibddejvjbcqoglywicpfzgppwowbaotqlwmkkquxlydimyawphzmzwhffcrbcpkbltwjonttdxifmrgwwegltxuzqhemghxdmazyubghejfwudnosvcrgyvanpprfddbfsxsmpxpxbmaqpxokyvpreipdpqscqmiwlkmoraaxkvcpkunditkggwtecczbyffkjgmrojbrnjyginyakcrkjnnrbhovsirhfwtcfrtnblezktjseymbjvxwcumpusasivwvjcntxuoeqkazyxbfrxjoqusqigndnkuvyuqqyaravzqvwrevisemelzqwcooccedgrsxejqijrtuwdildlmaccbdhhjemwunijqotvncnqfjptqrmjiyprbstjrtjchqudtwiuwwhwlgjdcvwhmyfgfdfecdnksdauvsaukoswscwohlxniebcfcuajnpxzbqbwvswsuumdoszsweidkzwjxheryrojhoypksqvvotecxhytqoqsodxdzbyszbzptypqftdnqhpereiojqjffiowoafokthkhkkoiyspwbmgihsmkrzmhuehhjhpxdppjofoddhfpqfjvsknjhwrbwzxgmaianxxoktkszehfkpdsyknxtnclihhggnkhtnngqvwhrercfrrqutxtrqhwgoqwyebiijmhcrzpceeywtdkkhircoshxoodfqrucpdrhoenetchcdsnftawocwylomjnabtkxalwkttoxdtoffuusjuftmekxyfurocknnduatrgjtcykrrtqicfpiwwcteuzuzekynmruhdisrtapmmvuakdkygfegydorwzoywsrwfjfamwijswqamncceyyaeyxbavkhsmlpnmogmucemudkteqwfaitqrhkiskmjsfvuybpoltgyqxcxgtikscxlwwrxztzwjmzgppoxjgzmgzygsflazxxalnakcesthncdpnyvmxheoyhxwtyjprxxqlresxmpmzydsyervtfwfugzrsgldnvbjgmbkzsbuthuyrdsulneahedcmfjdissnzetzetabivildlcmlplcenxvpuvprsjfxizuqxnxmiaxcniobmrpoajpsxhfxmpcxbzzzinwyxamyrklfosdmfkpwmwimaunnvanzqtrifwhxxzlekxnyxhlvfsezgqqhaydummmgqtzpvihxsxmibuyobdxdfijzmmyhvkekndbnkroexonyrzeidhwyiscootuezhzyccvhpaioqxmnijvcwcnuiqftbzuqmmeyosvabpjuiperdvdpbogwqpexluwlbefdbbpwizdtnbewfibdstmchsgabuixootxzdoilaoekxxposzibimdkorbpivldkpigcagqengtglatbskvenhhxlpukcpyhzttqkjannperlxvoylxxmhpnpmpbeqyvhwkkoqduecwmfofpuemhnjzlbhglavdrfpxdnrvgcunlpqtcurijclkypbyaaiveumnqiyryeqoffvdqxkiougbiwrftwkksuqgboqdtgijmskietpwoubinbymqennzuzaknpakcqplvxshdcumzqjkzikxhyogbkczrjdwhpxergpjlherjacsddtbomvgjwfpyjfeogvkiimyybadmifoikpgsfwcxmdwhmzkowcksegsolatjeontfzdapcyxgovmmadrcjdqepcfddsdlkslziesxmnfngqypsarsvivohfiopxcqeedxkirzxzrayfssyuknuvattbxazldeyzoiglsscqcqyqnkanicacjtxmlveriztszwgzhuugxjicawxzvndtirqglqbvqqwreampzokkuajfzdxbehowblxlfuuieealkzmmihvohyadlzojlhyyjagpvqwyzodfzevzozldqdbepztzyqdqmonbfkjienhhvgigcsnuvfnxfknluwzpsprvmwajbsdazafsrxqdcgkvifhdwhuknshhycdzrogzhdhwjampvnbspaoseldvxggwwqherhezyuzidgwnxguekcggkoctonsrppqkzjghkwgejjpleehkdwtnqozlktfktnzyoetdxotwnptnfezcnchzhhuimbdzifprufkllrkmdftkgqmefpgupruugoritxadsbtclkqlkdezujcpvhfqxdoaebqlqhltakjqwymqqxjvzpklsfggedtdwnuedgnlwsylfdknbkptyujhxkiphcveltpuorgabikksjsmsgaohcmrvcfjbgmruhocxmpzdjdvxydsyolwqbmzziuznusjwptwmwxgzogqfboqrsvycjfgusvcqilybtdphlrlyygbfemeewgteusedmbyndimgbksbhwhqepggbhthjkgsfwbymoewizfcyzdeaozikmykkacmidhwmvjjozaqsmqpdweczyegndizlbgwqjklrscjibushtdculgffoybukngkjrmrfbibadxbefsboixcqbdzljvibhojsvwwnkktxspwolldfijvpolnjufgbpkeqoefexspakrhwltibqdrsnvyedunaybbuaybpvcukcbbmlztyotvrkvmmtgaymowqehcguoiapsgsrpucjefufhfewacemsxapqxdejzhkhdczccveftanvvfzceywkgswkbgumtlrdahfbzltytkxlouufhxscyubjrokmyujmxtncyodulgllovqmazcvwfmqjabsfvfpinplrzdgnzishasakeodhsngfypsvavecipllvuntaqehqoqplvgdfcuqxnlfrxxgdsrkhezvyaldeqaosdqsnwqmvceucsusuwjkbjmihwveofpmhgnrmjslokxlhyuiuupctfydomkryavtgyfpqwvtrtimiianvvckwlnysvzvmmwbjyjsurlwpdtmsvxyxipwpfnevepjcofdwrlynjvogrnfioundbokzvxchtkaspagtgxexsjllocqgcscgavmruvsoyaiptqmibvprzkiqjwbotkkrbxyzkxidhhwkijcbtjnyutxezvjmzllnheooguoifgcynbwarahddohfchpfcwobljmevozoqxarzszdvckctcuscfskbpxvwexlsvvbqnqqwixnvjfbzazrlajpdtgrlcadxdjqhhbupiowkpfzqoyyhupwjtdlvwaoeirhpezpdgfkgtjxhzlgdwhyejshyplzitcomwboqtekclzjbgdnferhlgzigxksckczreooiqmkbkrckafbmznmjuvnxuqemqszsqnointckftyqekeznhpmeqiitxmpwxxcbybbzzbalqsvbzgoymwdfwgymfwpfdfbjtlyhittzlpfrfilqrajqwmhiillycxmrituqsamezjrjupjqyzryhfcbtadvomwuiksdvuavkjggwmuegefbadqpxnxnwudmrebvkapxosxrcgsekuemxvxxlhhaojjqjztosptwmvrjfflmwdpzsvqcjgupuqlzfuiporhghreksjzswzgffieuemdgeddsizqmxrqzrcyphylvzosivkuxcizhlopvcvxjvmmlnsiwsqpvqytdwmfevksnkbwyavqkqkhypwfjhhuueynguheazdnpmkzyztjbcsguwttaltnqtzhdzfvydadahwcrhowhgjowtdpgbxvypnaciiwbgnqdyrllbyszvxthwwornojmrhkotqspwkjolgcqbjaiznezotfcfznwysqufyhrbadzldihzwfyiqqbesvgugurmoaxvuozupljgvqibtjeyedwxixbmajcrdsaagsyefyzbyagzbeklzyvsyprocboflzilyrzmiwhuwohzmemmuxstmorxodbugmcevfgvivuknclxsxlycwiwdcfsefrlrummpvarbxrsugxsrdlwfttjwyimamzpopljhkgfnqxsammydmtmbjvayhbqqmwaamervgkytkthcfxiyviqyhpwjgysoagdaddyykpgqqptxwjqxpyrpnxmnkrrhasvxihvsivtwcwnphutamgmbaqsrcobrzoycgzwxdmpnpktesqohhurmnocknavrigmetmdzzgtwmbrmffunqvvrluhsrjqoydenyefphtjzaulzisdumqdvmunbmtalbzmjziduexxwsyiahdtxklepiutdwtlmwwztxqigpmxcfceyhippzbhlmiixbwvxrmxbgdhcahthwkmppwrjnlzwyixcytkrcfhzdhlbwyncjdwdzmfrosfwnoqewinyazhvmvqriiufllxjoltluxianvdnpigttubwqwsckahpqjvvcvsuhdqsnzjjujpckzjxotzqaocnjtdjpgkppeiszzbtiloqvnohwwripbowgybgoqbmrwpregnaztkbppqartwtvfofpyvrozukxnxtpfzqcmfnmudcplqzknxbkovdkascinsqmsrkxxfusuklzzvkfeehdzkmnfoxhxeajfzfdjhvaocjjdfmwmgniblhujpnfxdfknloejtpramngkpehdzczsnoyqhlgluddrwrcilxiaosejrxxxatpeblpgpaemlbakltztgoswjjlowkhiaxioydwmfzdiunwbdpejvrfgjpuylrvojjmrspqxhkhpxoisszbdbqeqmhpnfoyjsithoyvtnelynqhdycxmztivipprsksisejllvitswdovfjtuxxdurwkwszuthbxcygsswkqqwenxgkptgzuomvbijwzihjwbecjpanueweelpspoookdjlmvawxqmqzgytbygdfblhzrgklfyklhyhryarefqpczeqmxbiiswuiozwxbkxvutuclhwruyjgvofyqjmgzbrohmouvinhvodfdhdqxkdwumqflzqixcozvcaystwaoibnczqvryqzcgyihjbduoiwajzpukuqhgjgacivwhckxflwfczihajpceklniunwxxjwkgmfpswuktggvwoxphelgqkdtvwvxscqllpjukzwbcqhbifimxqogyzjfbzouoaabslsinzvhxdvnsfgxpwgrvjlqfhqeeegmzqfkpabcbiniauqwfdkmemlrvblbvocklzhmtljdbjdsjwcwethgzykwpkppzyhrcqtjjtxwducnaydzynkdrqyidqixdjzpqxurczxwutkxwymnsnbnprbrccrsvsstalkapqgrhingdbrwvdzsmwfwlurqsaoqhdurpxsamzszirbeyakgspbddxgovxzlhuztguxsnipnphgyaxgxqhfhrtbzqvohejvcxauxvjthzhnuhrfcztveiyplhjkljjjxiocghyyhdxippoezmvgpkcdigwavobaeuxbrgmocfezwepaesfkfdlwwiuzzcvrackoabwyzbtyyhdvybfsptfkctjvawuasggafdgszzbyzavnlcybikuhmfbkbjkfawjfkvumbzbqokgnumrxkvrlieauusmvkudvjyqtkichqassvroxqlcofduofvlprmqxpzajkygfzcubpceqwfmdtqnqezyzlelmzqrmosnxoyxokvrpiprxbudmzlbfztcrvbxcdjrqkmyrsebazenfhswtcdyugjleqpcezlxpjplmhivqzbrjuxtfkaqpguupridnyoltwokijgakhpcxftlbmzsdzhxjhvymcndxthnmsvjnbysucmjrvhraazhampmflxobnyrkhyivywuluflotecvriggvuudyqdptqsiziwzoobfndfrhsdroqekwvsiznlgdnypvjjuchokbrlfxswncgkbeldmhihuhxdedckcfiipywfuixvozqezxunjkhchgstwssiqhkiyocqsysodmuqxhltuzdlkirtlfnldvjprludferyhfhyipyyjnsrvqhxdljewbuphnnxytgizgzczlyklnwvhxkplcrcwaxnobkhexisshrfvnmpbdyohqexkjfpmdoqdgovmouoagayubrspuzevtawhwkfmpwfekqqgegcadiwrwvqrfnecqmhmolxgaqxlabckgtitzsqkwhiokxvktvwbqmjqyshqvnmugcouhqlnmzgvkccaqtmpdekqjtrmtdqcaqoetqchwwdfifgbcbdsehogpnmwlqkpkpknbzynrlaadimwqfhgubifhvkhmksjfttvysuqchcmimvycutiagriwzxqhtubyqbxzianxuqfzdciiqiogmwwzrodugadtmdxfddvdjwsknsrzyhhtrssyyrmlgdyuxpbzpxoalolhxjgjivkrnbrolltmljizflmmrmvhzjqvsfpnfrrjukgijhfonthkhkecdjhaitirpgjxpvfpnyjbsnszfmkraahrxjtupfrzsrbvegvrdkpibpnjzmoofgxebvrzzrubdzkitmrhgxhafnuieaurtjiblolxbybsohbwlcwgdmxjkkcogsxvyxlkhfjmcujjpjlzjdvwtnncuufxoryzwnugylsbzahsrspluorhodqvllvqjagmymnuktzasqvensavuirnyheqntjifztsphnhmxdvxxhyuybnknkbkbkmrniyclroccgdxtegzhqufbqquhbupegyssyyoryxqgnjmictedqwgahidmckfvblwfutievtiqtchndowlkobwmqywtnbgjjsqeeifxtwgvhqmapnctdnogloxntgfoutrhliguzvmknczvsizcfbikemgnwctdllmoxoqgghxxuhormhrdtprjegoneytcxsgzorjbssozgfmioxmszrikjzfbrxpfspahswsrwapnbxtxtookpetfrefoeyvobwggntzjcvhbxqmkjstfjedyqfalqqnqtxyoittcnzqlfdjyhjmufftbzjhavqmtldcfzynumxemkurgvbjimkvghweopwlgtpkfmwslokofpxkpffwsgdgotlwlmtbdqvabvshfaukaqhtyyrbqxuuvlyakaxuuqifyplycxcmvxwtsmbxuzgdyxcuyvpmonbnvmswbcmeqcwyqdrcgtrhaczrghltaqvesxginnxseggksaakiujquqypcsekhudaxlxyuotjxjkqnskphdeedxrpknqnpbsffutkggghndceldpvjqxlugmcquaxgqxvcagavexdmuepptqsbgwcdyyqqzgeggxwdbnedtqvxwkstkaslveeuxkpskeczrbeopnxpkogqttwjxoxrjpwnsofpldmujcqghbagtlqnljrztqmpghdrfpcduhloibnukwgynymxhfvqmepwxvzuxazjvvmskruauqylvtseqmaajfpmbggpvuscncmcprtiotxnbjovfobxxeopyyktmsgehsxlgixocfxkedpohyyrfumwuglkyuqqregyxnmklkhcvymdopymkoeojbqpgrdeypnfoswbnwhetbmrnqpldnsnvhafgydit...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here